Skip to content

Instantly share code, notes, and snippets.

@imlucas
Last active March 5, 2020 20:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imlucas/10c6e8d3d9c772cce887a5c42e0588a9 to your computer and use it in GitHub Desktop.
Save imlucas/10c6e8d3d9c772cce887a5c42e0588a9 to your computer and use it in GitHub Desktop.
What version of Compass is using what version of the node mongodb driver and electron? Generated using this script: https://gist.github.com/imlucas/10c6e8d3d9c772cce887a5c42e0588a9#file-generate-compass-version-matrix-sh
[
{
"1.21.0-dev": {
"mongodb": "3.5.4",
"electron": "6.1.7"
}
},
{
"1.20.5": {
"mongodb": "3.4.0",
"electron": "3.1.13",
"published_at": "2020-02-03T16:29:21.000Z"
}
},
{
"1.20.4": {
"mongodb": "3.4.0",
"electron": "3.1.13",
"published_at": "2019-12-26T10:03:53.000Z"
}
},
{
"1.20.3": {
"mongodb": "3.4.0",
"electron": "3.1.13",
"published_at": "2019-12-16T20:15:57.000Z"
}
},
{
"1.20.2": {
"mongodb": "3.4.0",
"electron": "3.1.13",
"published_at": "2019-12-12T10:56:23.000Z"
}
},
{
"1.20.1": {
"mongodb": "3.3.4",
"electron": "3.1.13",
"published_at": "2019-12-06T18:59:47.000Z"
}
},
{
"1.20.0": {
"mongodb": "3.3.4",
"electron": "3.1.13",
"published_at": "2019-12-05T15:30:51.000Z"
}
},
{
"1.20.0-beta.9": {
"mongodb": "3.3.4",
"electron": "3.1.13",
"published_at": "2019-11-13T21:24:42.000Z"
}
},
{
"1.20.0-beta.8": {
"mongodb": "3.3.2",
"electron": "3.1.13",
"published_at": "2019-10-25T06:06:09.000Z"
}
},
{
"1.20.0-beta.7": {
"mongodb": "3.3.2",
"electron": "3.1.13",
"published_at": "2019-10-03T17:06:23.000Z"
}
},
{
"1.20.0-beta.6": {
"mongodb": "3.3.2",
"electron": "3.1.13",
"published_at": "2019-10-03T16:14:40.000Z"
}
},
{
"1.20.0-beta.5": {
"mongodb": "3.2.7",
"electron": "3.1.13",
"published_at": "2019-09-25T19:07:54.000Z"
}
},
{
"1.20.0-beta.4": {
"mongodb": "3.2.7",
"electron": "3.1.13",
"published_at": "2019-09-24T19:40:27.000Z"
}
},
{
"1.20.0-beta.3": {
"mongodb": "3.2.7",
"electron": "3.1.13",
"published_at": "2019-09-24T19:40:00.000Z"
}
},
{
"1.20.0-beta.2": {
"mongodb": "3.2.7",
"electron": "3.1.13",
"published_at": "2019-09-23T12:45:03.000Z"
}
},
{
"1.20.0-beta.1": {
"mongodb": "3.2.7",
"electron": "3.1.13",
"published_at": "2019-09-21T01:12:43.000Z"
}
},
{
"1.20.0-beta.0": {
"mongodb": "3.2.7",
"electron": "3.1.13",
"published_at": "2019-09-21T01:12:33.000Z"
}
},
{
"1.19.12": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-09-10T14:23:22.000Z"
}
},
{
"1.19.6": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-08-20T15:30:02.000Z"
}
},
{
"1.19.5": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-08-20T14:32:19.000Z"
}
},
{
"1.19.4": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-08-19T19:19:36.000Z"
}
},
{
"1.19.3": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-08-14T13:47:09.000Z"
}
},
{
"1.19.2": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-08-13T19:46:34.000Z"
}
},
{
"1.19.1": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-08-12T21:59:36.000Z"
}
},
{
"1.19.0": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-08-12T10:45:14.000Z"
}
},
{
"1.19.0-beta.2": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-08-07T16:05:22.000Z"
}
},
{
"1.19.0-beta.1": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-06-21T08:39:37.000Z"
}
},
{
"1.19.0-beta.0": {
"mongodb": "3.2.7",
"electron": "3.0.6",
"published_at": "2019-06-18T17:34:28.000Z"
}
},
{
"1.18.0": {
"mongodb": "3.1.13",
"electron": "3.0.6",
"published_at": "2019-05-17T13:21:14.000Z"
}
},
{
"1.18.0-beta.3": {
"mongodb": "3.1.13",
"electron": "3.0.6",
"published_at": "2019-04-18T20:51:28.000Z"
}
},
{
"1.18.0-beta.2": {
"mongodb": "3.1.13",
"electron": "3.0.6",
"published_at": "2019-03-15T14:32:27.000Z"
}
}
]
Compass Node Driver Electron Date
master 1.21.0-dev 3.5.4 6.1.7 Unreleased
1.20.5 3.4.0 3.1.13 2020-02-03T16:29:21.000Z
1.20.4 3.4.0 3.1.13 2019-12-26T10:03:53.000Z
1.20.3 3.4.0 3.1.13 2019-12-16T20:15:57.000Z
1.20.2 3.4.0 3.1.13 2019-12-12T10:56:23.000Z
1.20.1 3.3.4 3.1.13 2019-12-06T18:59:47.000Z
1.20.0 3.3.4 3.1.13 2019-12-05T15:30:51.000Z
1.20.0-beta.9 3.3.4 3.1.13 2019-11-13T21:24:42.000Z
1.20.0-beta.8 3.3.2 3.1.13 2019-10-25T06:06:09.000Z
1.20.0-beta.7 3.3.2 3.1.13 2019-10-03T17:06:23.000Z
1.20.0-beta.6 3.3.2 3.1.13 2019-10-03T16:14:40.000Z
1.20.0-beta.5 3.2.7 3.1.13 2019-09-25T19:07:54.000Z
1.20.0-beta.4 3.2.7 3.1.13 2019-09-24T19:40:27.000Z
1.20.0-beta.3 3.2.7 3.1.13 2019-09-24T19:40:00.000Z
1.20.0-beta.2 3.2.7 3.1.13 2019-09-23T12:45:03.000Z
1.20.0-beta.1 3.2.7 3.1.13 2019-09-21T01:12:43.000Z
1.20.0-beta.0 3.2.7 3.1.13 2019-09-21T01:12:33.000Z
1.19.12 3.2.7 3.0.6 2019-09-10T14:23:22.000Z
1.19.6 3.2.7 3.0.6 2019-08-20T15:30:02.000Z
1.19.5 3.2.7 3.0.6 2019-08-20T14:32:19.000Z
1.19.4 3.2.7 3.0.6 2019-08-19T19:19:36.000Z
1.19.3 3.2.7 3.0.6 2019-08-14T13:47:09.000Z
1.19.2 3.2.7 3.0.6 2019-08-13T19:46:34.000Z
1.19.1 3.2.7 3.0.6 2019-08-12T21:59:36.000Z
1.19.0 3.2.7 3.0.6 2019-08-12T10:45:14.000Z
1.19.0-beta.2 3.2.7 3.0.6 2019-08-07T16:05:22.000Z
1.19.0-beta.1 3.2.7 3.0.6 2019-06-21T08:39:37.000Z
1.19.0-beta.0 3.2.7 3.0.6 2019-06-18T17:34:28.000Z
1.18.0 3.1.13 3.0.6 2019-05-17T13:21:14.000Z
1.18.0-beta.3 3.1.13 3.0.6 2019-04-18T20:51:28.000Z
1.18.0-beta.2 3.1.13 3.0.6 2019-03-15T14:32:27.000Z
#! /usr/bin/env bash
# !!! Requirements:
#
# install npm and https://npm.im/json
# npm i -g json;
# Ping the auto update server for list of released versions
curl -X GET https://compass.mongodb.com/api/v1/versions -o compass-releases.json
# curl -X GET http://localhost:8080/api/v1/versions -o compass-releases.json
# To figure out version mappings,
# we'll download Compass's `package-lock.json` for each release
# and generate a markdown table along with a vanilla json.
rm -f package-lock-1.*.json;
echo "" > COMPASS_VERSIONS.md;
echo "| Compass | Node Driver | Electron | Date |" >> COMPASS_VERSIONS.md;
echo "| :------ | :---------- | :---------- | :---------- |" >> COMPASS_VERSIONS.md;
echo "" > COMPASS_VERSIONS.json;
# Plucks values for node driver and electron versions from a package-lock
# and appends them to COMPASS_VERSIONS.md and COMPASS_VERSIONS.json
function __compass_release_row {
FILENAME=$1
COMPASS_VERSION=$2
NODE_DRIVER_VERSION=`json -f $FILENAME dependencies.mongodb.version`;
ELECTRON_VERSION=`json -f $FILENAME dependencies.electron.version`;
PUBLISHED_AT=`json -f compass-releases.json -a -c "this.tag === '$COMPASS_VERSION'" published_at`;
echo "{\"$COMPASS_VERSION\": {\"mongodb\": \"$NODE_DRIVER_VERSION\", \"electron\": \"$ELECTRON_VERSION\", \"published_at\": \"${PUBLISHED_AT:UNRELEASED}\"}}" >> COMPASS_VERSIONS.json;
echo "| [$COMPASS_VERSION](https://github.com/mongodb-js/compass/releases/tag/v$COMPASS_VERSION) | [$NODE_DRIVER_VERSION](https://github.com/mongodb/node-mongodb-native/releases/releases/tag/v$NODE_DRIVER_VERSION) | [$ELECTRON_VERSION](https://github.com/electron/electron/releases/releases/tag/v$ELECTRON_VERSION) | $PUBLISHED_AT |" >> COMPASS_VERSIONS.md;
}
# master
curl --silent "https://raw.githubusercontent.com/mongodb-js/compass/master/package-lock.json" -o package-lock-master.json;
__compass_release_row package-lock-master.json `json -f package-lock-master.json version`
# download package-lock's for all released versions auto update server told us about.
VERSIONS=`json -f compass-releases.json -a tag`;
while IFS= read -r COMPASS_VERSION; do \
curl --silent "https://raw.githubusercontent.com/mongodb-js/compass/v$COMPASS_VERSION/package-lock.json" -o package-lock-$COMPASS_VERSION.json;
__compass_release_row package-lock-$COMPASS_VERSION.json $COMPASS_VERSION
done <<< "$VERSIONS";
# rollup json from newline to an array
json -I -f COMPASS_VERSIONS.json -g;
rm -f package-lock-*.json;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment