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 defaultgetUri
'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)