All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- dev: some dev dependencies were updated (remark to 14.0.2, remark-cli to 10.0.1, remark-changelog to 1.2.1, c8 to 7.10.0)
- dev: ci config updated: current lts is Node.js 16 and current is Node.js 17 now
2.0.3 - 2021-11-20
- dev: Travis CI replaced with GitHub actions
- dev: Coveralls dev dependency is removed (Coveralls GitHub Action is used instead)
- dev: update some dev dependencies (lodash, hosted-git-info, glob-parent, path-parse) to get rid of some vulnerabilities
- dev: add more test cases for config in different formats
- ES Modules format support for config file has been fixed
2.0.2 - 2021-03-30
- Update underscore to 1.12.1
- dev: update tap to 14.11.0
- dev: calculate code coverage with c8 (instead of tap and istanbul)
- dev: replace
makeCodeCoverageSummaryReport
andmakeCodeCoverageDetailReport
package.json scripts withcoverage
script
- Minimum required Node.js version updated from 10.0.0 to 10.17.0 (it's a
minimum version for proper usage (without warnings about using
fs.promises
, etc))
2.0.1 - 2020-06-19
- Auto exit migration feature (completed migration will exit even if there are some timers in nodejs event loop) which was accidentally broken in 2.0.0
2.0.0 - 2020-06-18
- Support ES Modules for config, migrations, adapter and plugins via
--es-modules
flag - Support for transpiled languages via
--source-dir
,--source-migration-extension
,--migration-extension
(should also work withts-node
) - TypeScript type declarations for all exposed entities (
Adapter
interface andMigrationManager
class) - Builtin TypeScript migration template file
- Breaking change: Default migration template now uses
async
functions - Breaking change:
MigrationManager
onSkipMigration
event reasons are renamed: canNotMigrateAlreadyExecuted -> cannotMigrateAlreadyExecuted, canNotRollbackNotExecuted -> cannotRollbackNotExecuted, canNotMigrateAlreadyExecuted -> cannotMigrateAlreadyExecuted - Breaking change: Output text messages changed - now quotes used in consistent way (double quotes in most cases). This can only breaks if you parse east text messages (errors, log messages, etc).
- Adapter/plugin path resolves by it's shape (earlier tried to load migrator related path first then cwd related) to cwd related path, abs path or module name - should behave same way as before for most cases
Adapter.getTemplatePath()
now gets passed the migration file extension so now adapters may create multiple templates for different languages (e.g separate tempalte forjs
andts
)MigrationManager.isInitialized()
now additionally checks that thesourceDir
existsMigrationManager.getMigrationPath()
now accepts a second optional parametermigrationFileType
to let take apartsource
andexecutable
files.- cli arguments parsing rewrite using updated commander 5.1, in most cases cli behaves same way as before
- bin/east renamed to bin/east.js but exposed as earlier - east
- dev: drop p-each-series dependency (replaced with p-map)
- dev: drop pify dependency (replaced with util.promisify)
- dev: drop fs extra dependency (replaced with builtin fs module and pathExists helper)
- dev: update dependencies (p-map -> 4.0.0, p-props -> 4.0.0, p-timeout -> 3.2.0)
- dev: update dev dependencies (eslint -> 6.8.0, eslint-config-airbnb-base -> 14.1.0, eslint-plugin-import -> 2.20.2, remark-lint-maximum-line-length -> 2.0.0, coveralls -> 3.1.0, remark -> 12.0.0, remark-cli -> 8.0.0, remark-preset-lint-consistent -> 3.0.0, remark-preset-lint-recommended -> 4.0.0, ts-node -> 8.9.1)
- Comma separated target migrations support
- Migration
createBar
helper, use migration progress indicator helper instead - Callback migrator interface support
- Nodejs 4, 6, 8 support, node.js >= 10 is required
1.3.0 - 2019-12-10
MigrationManager
class is exposed for library usage
- dev: update tap to 12.7.0
1.2.0 - 2019-09-09
- Plugins API introduced
- Links to migration duration plugin, progress indicator plugin added to readme
- dev: integration testing for cli program added
- dev: code coverage reporting added
- dev: mocha test runner replaced with tap
- dev: migrator module turned to many nested modules
- dev: test file turned to many test files
- dev: node.js versions in CI configuration updated
- dev: eslint, underscore, progress, commander dependencies updated
1.1.1 - 2019-09-08
- Add eslint and eastrc file to npmignore, publish npm package without ignored files
- Promisify adapter when constructor is provided
1.1.0 - 2019-07-26
- Allow creation of migration files with timestamp-derived prefixes
1.0.2 - 2019-09-08
- Add eslint and eastrc file to npmignore, publish npm package without ignored files
1.0.1 - 2019-07-22
- dev: eslint updated to 4.18.2
- Fixed undefined instead of migrations dir at bin init command logging
1.0.0 - 2018-04-25
- Async configuration support added (config can export function with callback or function which returns promise)
- dev: jshint source code linter replaced with eslint
- dev: source code updated to use es 6 syntax
- dev: promises used for control flow instead of callbacks
- dev: part of local utils replaced by underscore
- dropped node.js 0.10 support, node.js >= 4 is required