github flamingock/mongock mongock-5.0.28
5.0.28

latest releases: mongock-5.5.1, mongock-5.5.0, mongock-5.4.4...
3 years ago

Mongock 5.0.28 is here! ๐ŸŽ‰

This release brings major new exciting functionalities and many small fixes and improvements.

ย  ๐Ÿ’ก Highlights!

โš™๏ธย  DynamodDB

Mongock now supports DynamoDB as well! Use Mongock to make DDL and data migrations for DynamoDB databases. Documentation

๐Ÿ’ป Mongock CLI

Weโ€™ve released a Mongock CLI (Command Line Interface) to ease up your migration! You can now perform additional operations to perform and manage your migrations. Documentation

โœˆ๏ธ ChangeUnits

ChangeUnits will give you more granular control over your migrations. Documentation

๐Ÿช‚ Before Executions and manual rollbacks

With ChangeUnits Mongock brings:

  • BeforeExecution methods: which allow you to run changes out of the migration - specially useful for environments where DDL operations cannot be part of a migration.
  • Manual rollbacks: useful for non-transactional environments. Documentation

ย  ๐Ÿฅณ What's new

๐Ÿš€ New functionalities

  • DynamoDB: we now support migrations in DynamoDB as your Database!
  • Mongock CLI: to interact with Mongock from a terminal.
  • JDK17 support
  • Before Executions and manual rollbacks: Mongock now supports operations out of the transaction scope and manual rollbacks

๐Ÿค– Improvements

  • MongoDB: Upgraded MongoDB library versions to support latest MongoDB versions!
  • MongoDB: Support of ClientSession to allow transactions in MongoDB standalone drivers.
  • Performance: Improved Lock performance and Improved lock strategy to allow a easier and efficient configuration
  • Observability: We store Migration errors in database for Audit purposes
  • Migration: Non-transactional flag support for changes in transactional environments.
  • Migration: Dependency injections at constructor level in ChangeUnits.
  • Spring: Support to inject Spring MongoTemplate.(MongockTemplate deprecated)
  • New Documentation released! Mongock Docs for more detailed info.
  • And better project examples.

โš ๏ธ Breaking changes

ChangeUnit in favour of ChangeSets / ChangeLogs:

ChangeUnits will give you more granular control over your migrations.

  • Rollbacks for non-transactional environments;
  • Setting up data prior to migration executions with the @BeforeExecution annotations.
    We've maintained ChangeSets and ChangeLogs for backwards compatibility, but from Release 5 - only ChangeUnits should be used.

๐Ÿ› Bug fixes

  • @Configuration annotation on the MongockSpringConfiguration prevent to use spring-native(#417), issued by @olivierboudet
  • Handle long I/O operation that can potentially lose the lock(#403), issued by @miroslavvojtus
  • Fixed case sensitive in mongock.runner-type(#365), issued by @tomolse
  • migrationRepositoryName and LockRepositoryName wasnโ€™t updated with setter(#413), issued by @dieppa
  • FIxed bug that allowed different changeSets having the same id(#390), issued by @dieppa
  • Fixed transaction bug with MongoDB standalone driver(#375), issued by @dhivesh

๐Ÿงน House keeping

  • Upgraded Reflections library(#387) issued by @bpfoster and @altzii
  • Removed ChangeEntry Generic(#408)
  • Replaced change-log-scan-packages by migration-scan-package(#393)
  • Improved Lock proxy
  • Removed MongoDB decorators

๐Ÿ”ข Link and list of issues:

Full Changelog: 4.1.15...mongock-5.0.28

Don't miss a new mongock release

NewReleases is sending notifications on new releases.