Skip to content

v7.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 01 Jul 11:22
· 1104 commits to master since this release

7.0.0 (2021-07-01)

⚠ BREAKING CHANGES

  • Lowest supported NodeJS version is now 12.22
  • getUri's parameter got changed to use ""(empty) by default
  • getUri's parameter got changed to what the actual definition is, and uses "admin" by default
  • MongoMemoryServer: "MongoMemoryServer" now implements "ManagerAdvanced"
  • MongoInstance: "MongoInstance" now implements "ManagerBase"
  • MongoInstance: renaming "MongoInstance.childProcess" to "MongoInstance.mongodProcess" can break some api's
  • utils: Default-export from "utils" got removed, import it now with "{ generateDbName }"
  • MongoInstance: MongoInstance's functions got renamed to make more clear what they do
    (create,start,stop - instead of run,run,kill)
  • getos: All "USE*" and "SKIP*" Environment Variables got removed in favor of an better handling
  • MongoInstance: remove function "MongoInstance.getPid", replace with "MongoInstance.childProcess?.pid"
  • MongoBinary: remove function "MongoBinary.getCachePath", replace with "MongoBinary.cache.get"
  • MongoBinaryDownload: remove "MongoBinaryDownload.locationExists", replace with "utils.pathExists"
  • MongoBinary: remove value "LATEST_VERSION" in favor of using resolveConfig Value "VERSION"
  • resolveConfig: removing alias "reInitializePackageJson", replace with "findPackageJson"
  • MongoMemoryReplSet: not resetting "servers" after calling "stop" on an replSet can be breaking for some cases
  • MongoMemoryServer: allow the re-use of instances & dbPath's meant to change some things internally, which could be breaking
  • MongoMemoryReplSet: change "getUri" to be sync (dosnt wait until running anymore)
  • MongoMemoryReplSet: remove option "oplogSize", replace with ".replSetOpts.args.push('--oplogSize', '1')"
  • MongoMemoryReplSet: remove function "getDbName", replace with ".opts.replSet.dbName"
  • MongoMemoryReplSet: removing function "getConnectionString" could break some code
  • MongoMemoryReplSet: removing "async" / modifing return type "Promise" can break code
  • MongoMemoryServer: remove function "getDbName", can be replaced with "instanceInfo.dbName"
  • MongoMemoryServer: remove function "getDbPath", can be replaced with "instanceInfo.dbPath"
  • MongoMemoryServer: remove function "getPort", can be replaced with "instanceInfo.port"
  • MongoInstance: change "start" to not reset "port" to "undefined"
  • MongoInstance: change "instanceOpts" to be readonly and Readonly
    change "binaryOpts" to be readonly and Readonly
    change "spawnOpts" to be readonly and Readonly
  • MongoMemoryServer: removing ".uri" because of function "getUri"
  • MongoMemoryServer: removing ".childProcess" because it is an alias for ".instance.childProcess"
  • MongoMemoryServer: remove option "autoStart"
    change "MongoMemoryServer.create" to always call "MongoMemoryServer.start"
  • MongoMemoryServer: change "MongoMemoryServer.getInstanceInfo" to return "undefined" instead of "false"
  • MongoMemoryServer: change "MongoMemoryServer.getUri" to be sync
  • MongoMemoryServer: remove deprecated function "getConnectionString" (replace with "getUri")
  • MongoMemoryServer: change "MongoMemoryServer.getDbName" to be sync
  • MongoMemoryServer: change "MongoMemoryServer.getDbPath" to be sync
  • MongoMemoryServer: change "MongoMemoryServer.getPort" to be sync
  • MongoMemoryServer: change "MongoMemoryServer.runningInstance" to be "undefined" instead of "null"
    change "MongoMemoryServer.instanceInfoSync" to be "undefined" instead of "null"
  • MongoInstance: changing "null" to "undefined" can break some code
  • MongoInstance: throwing an error if 2 values are now undefined/null can break some code
  • MongoInstance: removing the possibility to overwrite 2 functions this can break some use-cases
  • MongoInstance: removing an function can break some use-cases
  • MongoMemoryReplSet: "_waitForPrimary" now uses events instead of calling function "waitPrimaryReady"
  • MongoInstance: because of changing values to "required" this can break some use-cases
  • MongoInstance: removing the "dynamic" part can break some code with custom debug-logging
  • MongoInstance: because of the rename it can break some use-cases

Features

  • set lowest supported nodejs version to 12.22 (7d6d018)
  • db_util: add function "assertion" (c059500)
  • db_util: add function "ensureAsync" (971b02d)
  • db_util: rename function "getUriBase" to "uriTemplate" (c888b95), closes #404
  • DryMongoBinary: add new "DryMongoBinary" (3841312)
  • DryMongoBinary: add new function "generateOptions" (2d89ba1)
  • DryMongoBinary: combineBinaryName: remove unused parameter (edee483)
  • errors: add error "StateError" (e582407)
  • errors: add error "UnknownArchitecture" (e2c39d6)
  • errors: add error "UnknownLockfileStatus" (186df5b)
  • errors: add error "UnknownPlatform" (747d893)
  • getos: remove all "USE*" and "SKIP*" environment variables (e389c3e)
  • getos: simplify reading an release file (e5e6521)
  • lockfile: add custom lockfile implementation (e6a2237)
  • lockfile: replace custom errors with "UnknownLockfileStatus" (5ea5662)
  • MongoBinary: add option to disable automatic download (2c0639b)
  • MongoBinary: implement usage of "DryMongoBinary" (4a13cea)
  • MongoBinary: remove function "getCachePath" (af164c1)
  • MongoBinary: remove value "LATEST_VERSION" (22c6dfd)
  • MongoBinaryDownload: add option to use "http" over "https" (b178a97), closes #172
  • MongoBinaryDownload: remove function "locationExists" (0ba071a)
  • MongoBinaryDownload: startDownload: add check that the downloadDir has sufficient permissions (310cdae)
  • MongoBinaryDownloadUrl: add support for "arch/manjaro" (ubuntu workaround) (21449d6)
  • MongoBinaryDownloadUrl: add support for ubuntu-arm64 (5733a0f), closes #443
  • MongoBinaryDownloadUrl: allow overwrite of archiveName (c19d216), closes #295
  • MongoBinaryDownloadUrl: refactor getUbuntuVersionString (fc08c25)
  • MongoBinaryDownloadUrl: remove function "getMintVersionString" (d66e28a)
  • MongoBinaryDownloadUrl: replace custom errors with "UnknownArchitecture" (6755554)
  • MongoBinaryDownloadUrl: replace custom errors with "UnknownPlatform" (86aac73)
  • MongoBinaryDownloadUrl: support more arm64 (aarch64) versions (8b5434c), closes #482
  • MongoInstance: add value "isReplSet" (3ba31e2)
  • MongoInstance: change options to be readonly (e599372)
  • MongoInstance: change root values of "MongodOpts" to be required (9779721)
  • MongoInstance: extend EventEmitter (10965c7), closes #365
  • MongoInstance: graceful ReplSet shutdown (017239c)
  • MongoInstance: implement "ManagerBase" (e6e4e6b)
  • MongoInstance: make "port" and "dbPath" required (749c3e3)
  • MongoInstance: outsource "MongodOpts.instance" (d9dd6f8)
  • MongoInstance: remove function "getPid" (f40da9a)
  • MongoInstance: remove function "waitPrimaryReady" (1536dc2)
  • MongoInstance: rename functions to unify all classes (655d295)
  • MongoInstance: rename interface "MongodOps" to "MongodOpts" (edd4d39)
  • MongoInstance: rename property "childProcess" to "mongodProcess" (46c56d8)
  • MongoInstance: run: add check that the mongoBinary has sufficient permissions (d9c1019)
  • MongoMemoryReplSet: add basic "createAuth" support (6c118a9)
  • MongoMemoryReplSet: add error if replSet count is 0 or lower (0202e8f)
  • MongoMemoryReplSet: add getter "state" (65135a8)
  • MongoMemoryReplSet: allow re-use of instances & dbPath (3d64705)
  • MongoMemoryReplSet: change more errors to "StateError" & more consistent logs (64780ee)
  • MongoMemoryReplSet: getUri: allow executing while state is "init" (b3ebac2)
  • MongoMemoryReplSet: remove function "getConnectionString" (dbe844e)
  • MongoMemoryReplSet: remove function "getDbName" (6ebafbd)
  • MongoMemoryReplSet: remove option "autoStart" (90ed578)
  • MongoMemoryReplSet: remove option "oplogSize" (07937e2)
  • MongoMemoryReplSet: rename "opts.*" to "*Opts" & add getters & setters (c701f09)
  • MongoMemoryReplSet: replace custom errors with "StateError" (f49d7a1)
  • MongoMemoryServer: add (protected) function "getNewPort" (662a69b)
  • MongoMemoryServer: add ability to automatically create auth (d5bf77a), closes #299
  • MongoMemoryServer: add ability to force same port on restart (18c77e2)
  • MongoMemoryServer: add function "create" (6dcb12a)
  • MongoMemoryServer: add function "getStartOptions" (f057ea7)
  • MongoMemoryServer: add getter function "state" (c19493f)
  • MongoMemoryServer: allow re-use of instances & dbPath (e2ae879)
  • MongoMemoryServer: change more errors to "StateError" & more consistent logs (b05ec44)
  • MongoMemoryServer: extend EventEmitter (04ca3d7)
  • MongoMemoryServer: implement "ManagerAdvanced" (709f733)
  • MongoMemoryServer: remove "MongoInstanceDataT.childProcess" (c71d8d4)
  • MongoMemoryServer: remove "StartupInstanceData.uri" (dec17a4)
  • MongoMemoryServer: remove deprecated function "getConnectionString" (198f4c0)
  • MongoMemoryServer: remove function "getDbPath" (2343771)
  • MongoMemoryServer: remove function "getPort" (5eb7017)
  • MongoMemoryServer: remove option "autoStart" (347085f)
  • MongoMemoryServer: rename function "getInstanceInfo" into "get instanceInfo" (ae8a9f8)
  • MongoMemoryServer: replace custom error with "StateError" (e965ef5)
  • resolveConfig: add enum for all resolveConfig Variables (7bd9160)
  • resolveConfig: remove alias "reInitializePackageJson" (acc4b0a)
  • utils: add "ManagerBase" and "ManagerAdvanced" classes (40190ef)
  • utils: uriTemplate: allow "port" to be undefined so that "host" can be an list of hosts (e101162)
  • change binary from "base/version/mongod" to "base/mongod-arch-dist-version" (2682704), closes #256
  • change package "mongodb" to be non-optional (2b14552)
  • remove cross-spawn (c67ee8f)
  • MongoMemoryServer: remove function "getDbName" (e2fc23f)
  • utils: add function "pathExists" (4114d27)

Reverts

  • Revert "dependencies(semantic-release): upgrade to 17.4.4 (and related)" (9825c63)
  • "chore: remove unused file "tsconfig.test"" (cc053c7)
  • "chore(codecov): add codecov config" (1e66e8c)
  • "fix(MongoMemoryReplSet): add extra fail-save to the timout" (b2d63d9)
  • "test(replset-single): add in-detail error printing on error" (7989082)

Refactor

  • *index: use "tslib.__exportStar" (2e9faec)
  • db_util: uriTemplate: change "query" to be an string-array (8dffa64)
  • getos: replace "promisify" with "fs.promises" (60e184b)
  • index: directly export instead of import-export (ee2e62b)
  • MongoBinary: change "cache" to be an Map (74d30a0), closes #374
  • MongoBinary: getSystemPath: return "undefined" instead of empty string (10039f9)
  • MongoBinary: remove unused interface "MongoBinaryCache" (025df2e)
  • MongoBinary: replace "promisify" with "fs.promises" (5a769f3)
  • MongoBinary: use "DryMongoBinary.generateOptions" (0e7e73f)
  • MongoBinaryDownload: enhance md5 regex (becac06)
  • MongoBinaryDownload: extract: combine win32 and linux regex (702eaa9)
  • MongoBinaryDownload: extract: combine win32 filter regex (28cfc7c)
  • MongoBinaryDownload: replace "existsSync" with "utils.pathExists" (d8de1cc)
  • MongoBinaryDownload: replace "promisify" with "fs.promises" (911a922)
  • MongoBinaryDownload: unify path resolving (4258eb7)
  • MongoBinaryDownloadUrl: add helper function for regex de-duplication (3d96e5e)
  • MongoBinaryDownloadUrl: change "translateArch" to be static (ba87378)
  • MongoBinaryDownloadUrl: minify "getUbuntuVersionString" (04b0ee9)
  • MongoBinaryDownloadUrl: remove "async" where not needed (7970fbb)
  • MongoBinaryDownloadUrl: translatePlatform: change default error (61685e0)
  • MongoInstance: add debug log to "prepareCommandArgs" (64e2304)
  • MongoInstance: change "null" to "undefined" for "childProcess" & "killerProcess" (232b812)
  • MongoInstance: kill_internal: rename "process" to "childProcess" (1af3db2)
  • MongoInstance: move "debug" into an private function (3d23d5b)
  • MongoInstance: remove case for "shutting down with code" (a7e7874)
  • MongoInstance: remove redundant "debug.enabled" check (104cf42)
  • MongoInstance: remove splitting of value "this.instanceOpts" (6bd1b98)
  • MongoInstance: remove unused return value (96cd1d9)
  • MongoInstance: remove value "childProcessList" (207263b)
  • MongoInstance: rename event "instanceState" to "instanceReplState" (f9aed77)
  • MongoInstance: replace "instanceReady" and "instanceFailed" with events (6925c45)
  • MongoInstance: shorten "constructor" (efb31d9)
  • MongoInstance: split value "opts" (91edfa3)
  • MongoMemoryReplSet: _initReplSet: directly use db "admin" (a335500)
  • MongoMemoryReplSet: _initReplSet: reassign "adminDb" (19ae688)
  • MongoMemoryReplSet: _initReplSet: remove redundant object assignment (8e6e312)
  • MongoMemoryReplSet: _initReplSet: rename "conn" to "con" (335780e)
  • MongoMemoryReplSet: _waitForPrimary: remove value "timeoutPromise" (18b9a58)
  • MongoMemoryReplSet: "_waitForPrimary" use new events (ed4b9e9)
  • MongoMemoryReplSet: add function "stateChange" (3c3d6fb)
  • MongoMemoryReplSet: change "_initReplSet" to be "protected" (f46d113)
  • MongoMemoryReplSet: change "_initServer" to be "protected" (4c32f45)
  • MongoMemoryReplSet: change "_state" to be "protected" (415fc8f)
  • MongoMemoryReplSet: change "_waitForPrimary" to be "protected" (d0d62e2)
  • MongoMemoryReplSet: change "getInstanceOpts" to be "protected" (e954806)
  • MongoMemoryReplSet: change "getUri" to be sync (13f3f1d)
  • MongoMemoryReplSet: change "if not state 'stopped'" to switch (df1af0c)
  • MongoMemoryReplSet: change if-error to "assertion" (179bdbb)
  • MongoMemoryReplSet: improve "start" (c2311cb)
  • MongoMemoryReplSet: refactor "_state" into an enum (e3d4678)
  • MongoMemoryReplSet: refactor multiple "if" into one switch (8b8a609)
  • MongoMemoryReplSet: remove "?" from "MongoMemoryReplSetOptsT" (138e21d)
  • MongoMemoryReplSet: remove "async" from "getDbName" (2775b4f)
  • MongoMemoryReplSet: remove commented out HACK (1ad5bdc)
  • MongoMemoryReplSet: remove dynamic import "mongodb" (fb958ae)
  • MongoMemoryReplSet: rename "MongoMemoryReplSetEventEnum" to "MongoMemoryReplSetEvents" (bfd5441)
  • MongoMemoryReplSet: rename "MongoMemoryReplSetStateEnum" to "MongoMemoryReplSetStates" (c02e21d)
  • MongoMemoryReplSet: setup proper events (644a335)
  • MongoMemoryReplSet: shorten constructor (e17762d)
  • MongoMemoryReplSet: small improvements (9b17925)
  • MongoMemoryReplSet: stop: reset "servers" after stopping them (0aa2293)
  • MongoMemoryReplSet: waitUntilRunning: shorten function (0fc27d6)
  • MongoMemoryServer: add sanity check to "stop" (8aff4ef)
  • MongoMemoryServer: always reset "port" to "undefined" (8ca0729)
  • MongoMemoryServer: change "_state" to be "protected" (b716c2c)
  • MongoMemoryServer: change "getDbName" to be sync (85a97e0)
  • MongoMemoryServer: change "getDbPath" to be sync (281fa1c)
  • MongoMemoryServer: change "getInstanceInfo" to return undefined (27349a3)
  • MongoMemoryServer: change "getPort" to be sync (e849f2c)
  • MongoMemoryServer: change "getUri" to be sync (5b53f03)
  • MongoMemoryServer: change "instanceInfo" to be "protected" (7390eee)
  • MongoMemoryServer: ensureInstance: move "return instanceInfo" into case "running" (4214aa5)
  • MongoMemoryServer: merge "runningInstance" and "instanceInfoSync" into "instanceInfo" (7642c75)
  • MongoMemoryServer: refactor "start" to be more readable (7fb31c1)
  • MongoMemoryServer: remove "await" from "getUriBase" call (ca536b6)
  • MongoMemoryServer: remove "null" use "undefined" (086abef)
  • MongoMemoryServer: remove call to "ensureInstance" inside "stop" (57801cf)
  • MongoMemoryServer: remove destructuring of "promises" (a828506)
  • MongoMemoryServer: rename "instanceInfo" to "_instanceInfo" (d3ddcb4)
  • MongoMemoryServer: rename "MongoMemoryServerEventEnum" to "MongoMemoryServerEvents" (251c7ed)
  • MongoMemoryServer: rename "MongoMemoryServerStateEnum" to "MongoMemoryServerStates" (139d3fd)
  • MongoMemoryServer: rename function "assertionInstanceInfoSync" to "assertionInstanceInfo" (03c8343)
  • MongoMemoryServer: start: check "state" instead of "instanceInfo" (4fd1ede)
  • postinstall: rename function "postInstall" to "postInstallEnsureBinary" (aca8262)
  • resolveConfig: remove unnecessary optional chain (1c6578d)
  • utils: assertion: remove error code from default error (bbad7c4)
  • apply suggested changes (2a9aab7)
  • remove file "types.ts" (23cdc65), closes #406
  • rename "-test.ts" to ".test.ts" (deb0098)
  • rename file "db_util" to "utils" (f3df9c8)
  • rename file "postinstall-helper" to "postinstallHelper" (fdf2d09)
  • rename file "resolve-config" to "resolveConfig" (7ee646c)
  • unify interface names (remove "T") (78a78cd), closes #395
  • MongoMemoryServer: shorten "getUri" (f1024e5)
  • MongoMemoryServer: start: remove first ".catch" (fafaa29)
  • postinstall: change all packages to depend on "core" (de41060), closes #378 #174
  • replset-single: shorten "state errors" (2559117)
  • tsconfig.test: extend "core" tsconfig (a8081a6)
  • move function "kill_internal" to "db_util" (fd27986), closes /github.com/nodkz/mongodb-memory-server/pull/389#discussion_r496997760
  • normal export and default export classes & functions (33bb12c)

Style

  • db_util: add link on why "ensureAsync" is needed (412e615)
  • DryMongoBinary: locateBinary: simplify "if-condition" (3219315)
  • DryMongoBinary: remove unused optional chaning (06cfccb)
  • eslintrc: add environment "node" (8f3ed19)
  • eslintrc: add rule "padding-line-between-statements" for "function" & "class" (6a0ebd4)
  • eslintrc: add rule "padding-line-between-statements" for "if" (3efdb47)
  • eslintrc: add rule "padding-line-between-statements" for "import" (3bfc4ef)
  • eslintrc: add rule "padding-line-between-statements" for "return" (05b02d2)
  • eslintrc: comma-dangle: change "functions" to "never" (0bf9c3e)
  • eslintrc: set rule "no-else-return" to "warn" (cb242e9)
  • eslintrc: set rule "no-unused-expressions" to warn (d08b293)
  • lockfile: add log when "readout" is for not for self (1b669ad)
  • lockfile: add more commentation (6d4576a)
  • lockfile.test: increase timeouts (c541b0e)
  • MongoBinary: add tsdoc to describe what the class is for (36f1118)
  • MongoBinary: getPath: combine "defaultOptions" & "options" into single assignment (b107d54)
  • MongoBinary: getPath: simplify "if-condition" (7584b56)
  • MongoBinary: remove duplicated definitions from interface (87a3ca8)
  • MongoBinaryDownload: makeMD5check: add more tsdoc (911a09a)
  • MongoBinaryDownload: rename interface "DownloadProgress" to "MongoBinaryDownloadProgress" (2bad87c)
  • MongoBinaryDownloadUrl: "Debain" to "Debian" (1879e4b), closes #424
  • MongoBinaryDownloadUrl: getArchiveNameLinux: combine "name" assignments (50878b3)
  • MongoBinaryDownloadUrl: getArchiveNameOsx: combine "name" assignments (c4bbf79)
  • MongoBinaryDownloadUrl: getArchiveNameWin: combine "name" assignments (258a6a1)
  • MongoInstance: _launchKiller: remove commented-out code (132917f)
  • MongoInstance: add "@fires" to all functions that emit an event (0e2ede3)
  • MongoInstance: add TODO comments (5e320ca)
  • MongoInstance: add tsdoc (9896641)
  • MongoInstance: add tsdoc to the variables in "Mongoinstance" (7ac9728)
  • MongoInstance: change comments into tsdoc (278619c)
  • MongoInstance: improve tsdoc for "waitPrimaryReady" (f3475b5)
  • MongoInstance: move comment into tsdoc (d749abb)
  • MongoInstance: move some comments (9832760)
  • MongoInstance: overwrite EventEmitter functions to use enum (999f5e2)
  • MongoInstance: remove "null" from "port" (75d805f)
  • MongoInstance: rename interface to have an better name (60858b1)
  • MongoInstance: rename interface to have an better name (916aa11)
  • MongoInstance: simplify imports (5621da9)
  • MongoInstance: unify promise variable names (73691da)
  • MongoMemoryReplSet: _initReplSet: change logs to be more clear (561c883)
  • MongoMemoryReplSet: _initReplSet: remove "await" from non-Promise functions (846f969)
  • MongoMemoryReplSet: _waitForPrimary: add log that function got called (c5f66a3)
  • MongoMemoryReplSet: add log to "stop" (d3dff26)
  • MongoMemoryReplSet: add more logs (a3a911f)
  • MongoMemoryReplSet: add more tsdoc (6b60a71)
  • MongoMemoryReplSet: add tsdoc to "initAllServers" (ba46aee)
  • MongoMemoryReplSet: remove commented-out case (8e3ae46)
  • MongoMemoryReplSet: remove TODO (5645a87), closes #392
  • MongoMemoryReplSet: replace templating string with normal (9add2bc)
  • MongoMemoryReplSet: trim error message & add "_" to unused parameter (6be0c00)
  • MongoMemoryServer: change "StartupInstanceData" to depend on "MongoMemoryInstanceOpts" (26af098)
  • MongoMemoryServer: getStartOptions: use "spread" instead of many lines (9a01529)
  • MongoMemoryServer: inherit type instead of redefining (eb41f81)
  • MongoMemoryServer: remove comment & change log (b098941)
  • README: environment variables: add legend for booleans (17b1937)
  • README: fix missing "MONGOMS_" on "SKIP_OS_RELEASE" (e352495)
  • resolveConfig: add "filename" to logs (7809fcd)
  • resolveConfig: update tsdoc (4e5469c)
  • utils: add more tsdoc to "statPath" & "pathExists" (3b36143)
  • utils: authDefault: add tsdoc (aab1647)
  • remove "uri" value when only used once (150494e)
  • rename import "promises" (from fs) to "fspromises" everywhere (f876670)

Fixes

  • DryMongoBinary: generatePaths: this function should now not hit the filesystem anymore (8aefba5)
  • DryMongoBinary: only use global path when not empty (9d176b2), closes #478
  • DryMongoBinary: use "INIT_CWD" when available (cc2da32), closes #478
  • errors: StateError: fix type for "wantedStates" (6297275)
  • MongoBinary: add information about "RUNTIME_DOWNLOAD" to no binary found error (94ee82d)
  • MongoBinary: change to match with regex instead of string splitting (ab1cd36)
  • MongoBinary: enhance systemBinary version regex (0d990d3)
  • MongoBinary: remove using "binaryVersion" for version, because "version" cannot be undefined (72c8199)
  • MongoBinary: use ".stdout.toString" for command output parsing (d8d6749), closes #487
  • MongoBinary: use less variables & extend error (8b448db)
  • MongoBinary: use semver for version comparison (d1f181a)
  • MongoBinaryDownload: clear line before writing progress (db3796a)
  • MongoBinaryDownload: download: escape paths in log & errors (5d2703e)
  • MongoBinaryDownload: enhance progress message (ada4f2a)
  • MongoBinaryDownload: extract: remove only once used variable & escape paths in errors (3d5e9cb)
  • MongoBinaryDownload: getMongodPath: add more logging & escape path in error (962cc9f)
  • MongoBinaryDownload: getPath: reduce some calls (43b746a)
  • MongoBinaryDownload: httpDownload: open filestream only on successful response (57f3c7c)
  • MongoBinaryDownload: makeMD5check: unlink md5 file after check (c0b707d)
  • MongoBinaryDownload: unify how the downloadUrl is represented (23f057e)
  • MongoBinaryDownloadUrl: add fedora version 34+ handling (8f33ef4), closes #304
  • MongoBinaryDownloadUrl: change interface to actual needs (a906acb)
  • MongoBinaryDownloadUrl: getArchiveName: change tsdoc & simplify "if-condition" (aaab616)
  • MongoBinaryDownloadUrl: getDownloadUrl: try "DOWNLOAD_URL" before getArchiveName (7a8a4c3)
  • MongoBinaryDownloadUrl: use debian92 for versions <4.2.0 (79306c5), closes #448
  • MongoBinaryUrl: getDownloadUrl: try to create an "URL" to check if the url is valid (25c865c)
  • MongoInstance: change logs to be more up-to-date (d421e01)
  • MongoInstance: debug: change to be "protected" instead of "private" (633a35e)
  • MongoInstance: remove interface "MongoInstanceOpts" in favor of "MongoMemoryInstanceProp" (7efb4ff)
  • MongoInstance: start: update logs to reflect actual function name (1e5a2d7)
  • MongoInstance: stdoutHandler: dont use "else if" (03184d4)
  • MongoInstance: stop: fix log & remove double "con.close" (bb2697c)
  • MongoInstance: update tsdoc & enhance logging (2d9e8f5)
  • MongoMemoryReplSet: _initReplSet: add more logs (952fbf5)
  • MongoMemoryReplSet: dont generate an "otherDb" if "othereDb" is false (63497c0)
  • MongoMemoryReplSet: getUri: loop over less arrays (dec9bac)
  • MongoMemoryReplSet: getUri: use "uriTemplate" instead of re-doing (c6c9321)
  • MongoMemoryReplSet: implement "ManagerAdvanced" & add logging to "create" (94e3092)
  • MongoMemoryReplSet: start: change state on error (20433b5)
  • MongoMemoryReplSet: start: move "beforeExit" listener setup before starting instances (d1cc648)
  • MongoMemoryServer: add some tsdoc & change an if-throw to assertion (5c7acb4)
  • MongoMemoryServer: change options instead of creating new instance for auth creation (171f1fb)
  • MongoMemoryServer: change state to stopped when start fails (e9134a7)
  • MongoMemoryServer: createAuth: fix typo in "customData" & add "customData" to extra users (31c98c9)
  • MongoMemoryServer: dont trigger "otherDb" if "otherDbName" is false (ffb096d)
  • MongoMemoryServer: ensureInstance: change logs to be consistent with others (3d430c1)
  • MongoMemoryServer: fix typo in warning (532bc09)
  • MongoMemoryServer: resolve nodejs warning "DEP0147" (c498e22)
  • MongoMemoryServer: start: dont add "beforeExit" listener if being in an replset (f9c555d)
  • MongoMemoryServer: stop: change log to be better sounding (a009693)
  • postinstallHelper: reduce variables (b42bac3)
  • resolveConfig: envToBool: return "false" if input is somehow not an string (6d78971)
  • resolveConfig: move executing "findPackageJson" after enabling debug (7e4c8dc)
  • resolveConfig: resolveConfig: always convert any value to string (27f1f5c)
  • change "generateDbName" to return an empty string by default (840be19), closes #141
  • change default version to "4.0.25" (ffe2875)
  • fix description & usage of "dbName" in mongo URI (7b986e1), closes #141
  • -global: change "mongodb_version" to latest patch version (adcbdcf)
  • db_util: killProcess: fix "SIGINT"-"SIGKILL" warn condition (4113d94)
  • DryBinary: use "modulesCache/version/binary" instead of "modulesCache/mongodb-binaries/version/binary" (072abde)
  • DryMongoBinary: only use "resolveConfigValue" when not empty (08e71cf)
  • getos: add lsb-release file pattern to regex (0cc7dd5)
  • getos: add tests for "parseOS" and "parseLSB" (6cdf482)
  • getos: replace "not undefined" with "envToBool" (7fde8be)
  • getos: tryFirstReleaseFile: simplify file match (7a46fac)
  • global: use an absolute module path to core in global index scripts (2428fd8)
  • lockfile: add uuid to lock instance (75574a1)
  • lockfile: checkLock: handle ENOENT (7d3e998)
  • lockfile: ignore lockfile unlink fail (ceea1a7)
  • MongoBinary: add more logs (e980a79), closes #434
  • MongoBinary: change "LATEST_VERSION" to latest patch version "4.0.20" (23e6eaa)
  • MongoBinary: ensure lockfile gets unlocked in case of error (e81db43)
  • MongoBinary: getSystemPath: also check for execute permission (a501842)
  • MongoBinaryDownload: add more logging (b63f629)
  • MongoBinaryDownload: change "downloadDir" to be required (d2f2e30)
  • MongoBinaryDownload: force an status print on download finish (62337fd)
  • MongoBinaryDownload: use "mkdirp" over "fs.mkdir" (c64a321)
  • MongoBinaryDownload: use "MongoBinaryOpts" over "MongoBinaryDownloadOpts" (ce193ce)
  • MongoBinaryDownload: use new "URL" class instead of deprecated "url.parse" (70af5d2)
  • MongoBinaryDownloadUrl: getArchiveName: throw error if platform is unkown (9fc358b)
  • MongoBinaryDownloadUrl: handle Debian "testing" release (#430) (9c2c834)
  • MongoBinaryDownloadUrl: remove unused parameter (d72ed42)
  • MongoBinaryDownloadUrl: support macos arm64 to x64 archive translation (2aa9b38)
  • MongoBinaryDownloadUrl: use DryBinary.generateOptions's "os" instead of calling "getOS" directly (ac025d9)
  • MongoInstance: add more logs (e8d2d4b), closes #434
  • MongoInstance: give better error reporting when library file is missing (692455a), closes #408
  • MongoInstance: handle code "12" on windows (718aed7), closes #411
  • MongoInstance: kill: ensure only error ignored is the actual error to be ignored (5e377fa)
  • MongoInstance: remove resetting "port" inside "start" (7861a6f), closes #393
  • MongoInstance: reset "childProcess" and "killerProcess" after "kill" (49c710d)
  • MongoInstance: run: reset all booleans on (188d333)
  • MongoMemoryReplSet: _initReplSet: check if there is already an PRIMARY (a1c9264)
  • MongoMemoryReplSet: _initReplSet: throw error if "this.servers.length" is "<= 0" (019b118)
  • MongoMemoryReplSet: _waitForPrimary: check if instance is already primary (8f65696)
  • MongoMemoryReplSet: "getUri" now uses "waitUntilRunning" (18428d5)
  • MongoMemoryReplSet: add more logs (41a0be0), closes #434
  • MongoMemoryReplSet: change "_waitForPrimary" timout message to be an error (89c8af6)
  • MongoMemoryReplSet: ensure "start" is async (765b5b1)
  • MongoMemoryReplSet: initAllServers: execute "stateChange" with "init" (28bcf5b)
  • MongoMemoryReplSet: move "removeListener" before "_state" check (60646eb)
  • MongoMemoryReplSet: register listener for event "beforeExit" inside "start" (7859d6c)
  • MongoMemoryReplSet: remove unnecessary default to empty array (2035845)
  • MongoMemoryReplSet: throw error if state is not "running" or "init" (27f6215)
  • MongoMemoryReplSet: update when "cleanup" is run and added (836dc9c)
  • MongoMemoryServer: add more logs (9d12b04), closes #434
  • MongoMemoryServer: stop: return "false" if already stopped (b3c868e)
  • postinstall: use an absolute module path to core in postinstall scripts (d71ea48)
  • resolveConfig: add helper function to add the prefix to an variable name (8334c45)
  • resolveConfig: change to use the first found package.json with an non-empty config field (4d9de37), closes #439
  • resolveConfig: findPackageJson: resolve file paths directly (0bec0bf), closes #440
  • resolveConfig: resolve download dir and system binary relative to found package.json (bc6ee8e)
  • resolveConfig: simplify packageJson type (fac363d)
  • "infomation" to "information" (da6c89d), closes #424
  • "unkown" to "unknown" (798b0db), closes #424
  • broken build (Cannot find module 'mongodb-memory-server') (3c7d102)
  • types: remove alias "SpawnOptions" (8b963c5)
  • types: remove unused types (ab2944b)
  • utils: ensureAsync: change from "setImmediate" to "process.nextTick" (3da59cc)
  • utils: getHost: reduce calls by combining regex (1b46769)
  • utils: killProcess: check if the childProcess PID is still alive (96c30de)
  • utils: killProcess: unify log and variable names with other code (5605ea0)
  • utils: remove default export (102e4b0)
  • remove unused file "deprecate" (bb3e0f4)

Dependencies

  • @types/debug: upgrade to 4.1.6 (dd112af)
  • @types/dedent: remove unused dependency (1cb479d)
  • @types/find-package-json: upgrade to 1.2.0 (d2dc5c6)
  • @types/find-package-json: upgrade to 1.2.1 (8103713)
  • @types/jest: upgrade to 26.0.23 (f804224)
  • @types/lockfile: remove unused dependency (fa3d6c8)
  • @types/md5-file: remove stub types package (ad8aec4)
  • @types/mongodb: upgrade to 3.6.18 (2adc43e)
  • @types/mongodb: upgrade to 3.6.19 (a539022)
  • @types/node: change from "^" to "~" (000d601)
  • @types/semver: upgrade to 7.3.6 (754c565)
  • @typescript-eslint/*: upgrade to 4.28.1 (87e98e6)
  • commitlint: upgrade to 12.1.4 (and related) (935e460)
  • conventional-changelog-conventionalcommits: upgrade to 4.6.0 (d8a22a4)
  • cross-env: upgrade to 7.0.3 (b412ce2)
  • doctoc: upgrade to 2.0.0 (8e1a091)
  • doctoc: upgrade to 2.0.1 (b40dfdc)
  • eslint: upgrade to 7.18.0 (6dc0b75)
  • eslint: upgrade to 7.20.0 (and related) (715fdbd)
  • eslint: upgrade to 7.29.0 (and related) (e118e7d)
  • eslint-config-prettier: upgrade to 6.15.0 (7bbcc33)
  • husky: upgrade to 5.1.1 (4e93d29)
  • husky: upgrade to 6.0.0 (3fdf792)
  • husky: upgrade to 7.0.0 (c58a9ec)
  • jest: upgrade to 26.6.3 (8adf360)
  • jest: upgrade to 27.0.5 (and related) (e7f43a3)
  • jest: upgrade to 27.0.6 (7a6e051)
  • lerna: upgrade to 4.0.0 (9176e50)
  • lint-staged: upgrade to 10.5.1 (6339aaa)
  • lint-staged: upgrade to 11.0.0 (3429e69)
  • mongodb: upgrade to 3.6.5 (d0eabf6)
  • mongodb: upgrade to 3.6.9 (bfc4b5e)
  • os: remove unused dependency (ab027c7)
  • prettier: upgrade to 2.3.1 (abff587)
  • prettier: upgrade to 2.3.2 (21efc3d)
  • semantic-release: upgrade to 17.2.2 (1cb1fec)
  • semantic-release: upgrade to 17.3.9 (and related) (d433278)
  • semantic-release: upgrade to 17.4.4 (and related) (16ccef1)
  • semver: upgrade to 7.3.5 (b4d30a4)
  • ts-jest: upgrade to 26.4.4 (b8f1fae)
  • ts-jest: upgrade to 26.5.2 (5c07ee7)
  • tslib: include tslib dependency in non-core packages (6125d2f)
  • tslib: upgrade to 2.3.0 (2dccb71)
  • typescript: upgrade to 4.1.3 (30ea057)
  • typescript: upgrade to 4.3.4 (efebaa8)
  • typescript: upgrade to 4.3.5 (b778965)
  • allow "^" range for all type packages (37c01d8)
  • pin all non-types devDependencies (b647153)
  • remove devDependency "mongodb" (dbd82a7)
  • update lockfile (7ca52da)
  • upgrade subdependencies (yarn upgrade) (b7030ae)
  • uuid: add "^" (e12396e)