Releases: kagkarlsson/db-scheduler
v14.0.1
Changelog
๐ Fixes
- 04692f7 Mention exception in log message on failures (#497), closes #497
- f243d5e always set task_data via JdbcCustomization method (#495), closes #452 #495
- 1ff9ff4 Try to fix flaky new test 'DetectStaleHeartbeatTest'
- 21f250f Eagerly load DBSchedulerStarter (491) (#492), closes #491 #492
- b0e981b Respect always-persist-timestamp-in-utc in Spring Starter (#487) (#490), closes #487 #490
- de44763 Add Automatic-Module-Name attribute to jar manifests for better Java 9+ JPMS compatibility (#477), closes #477
๐ Build
- 2537135 validate javadoc and sources steps in CI
- 6e7a657 temporarily disable 'Automatic-Module-Name' config for spring-boot-starter, need debug
- ff6695b remove unused profile
- 3bd4745 set jreleaser releaseRepository=true to let it release new artifacts to sonatype
- 1749238 deps: Updates the spring-boot-compatibility workflow with the latest spring boot versions. (#478), closes #478
- d62bb51 deps-dev: bump org.postgresql:postgresql from 42.5.1 to 42.5.5 in /db-scheduler (#482), closes #482
- 15d2be8 deps: bump org.postgresql:postgresql from 42.5.1 to 42.5.5 in /test/benchmark (#483), closes #483
Contributors
We'd like to thank the following people for their contributions:
- Georg Echterling (@GeorgEchterling)
- Gustav Karlsson (@kagkarlsson)
- NicklasWallgren (@NicklasWallgren)
- Peter (@peter277)
- Rune Flobakk
- dependabot[bot] (@dependabot[bot])
v14.0.0
Changelog
๐ Features
- 823c9d2 Add tracking of heartbeat results and executions with stale heartbeat (#432), closes #402 #432. Generally making heartbeating more robust. See PR description for details.
- d422cfb Introduces setting
alwaysPersistTimestampInUTC()
for MySQL and MariaDB users (#471), closes #471. This PR changed the default behavior, which was later reverted in #481. See PR description for details. - bb17380 Remove Java 8 support (#456), closes #456
๐ Fixes
- b5578ef Revert change in behavior for MariaDB and MySQL with regards to time zone assumptions for persisted timestamps (#481), closes #481
- 4d3b5bb Update Oracle schema to use timezone-aware type (#457), closes #457. Oracle users are encouraged to change type for timestamp-columns to
TIMESTAMP(6) WITH TIME ZONE
. - a27383a use varchar instead of (deprecated) text column type for MSSQL schema (#455), closes #454 #455
- 7798c35 Fix bug that causes cronpatterns with no next execution-time to fail. (#435), closes #361 #435
- cadf433 logging improvement and readme
Contributors
We'd like to thank the following people for their contributions:
- Auke van Leeuwen
- Gustav Karlsson (@kagkarlsson)
v13.0.0
Changelog
Disclaimer: This is a major release in the sense that the changes in this release affects a larger part of the codebase. In particular, polling logic and per-database customizations (like LIMIT
). There is good test-coverage for all of these changes, but I would still advice to let it sit in a test-environment for a while before promoting to production, to verify it is working as expected and does not produce any noise in the logs. Se PR #371 for more details.
๐ Features
- PR #371 (31c4bab). Recommended to see PR description and code for more details. Closes #264 #273 #337 #348
- Adds explicit LIMIT to polling for most databases (SqlServer, Mysql, MariaDB, Oracle). This might improve query-plans.
- Lays groundwork to support lock-and-fetch for more dialects than PostgreSQL
- JdbcRunner transaction and batch-update support (micro-jdbc)
๐ Documentation
- bbe25d7 Add Swan to the list of users (#426)
- a47057d Update README with new Lightyear link (#421)
- e098bd2 Improve Examples (#420)
- ff6c39f Add links to third-party extensions, in particular
- bekk/db-scheduler-ui is admin-ui for the scheduler. It shows scheduled executions and supplies simple admin-operations such as "rerun failed execution now" and "delete execution".
- rocketbase-io/db-scheduler-log is an extention providing a history of executions, including failures and exceptions.
Contributors
We'd like to thank the following people for their contributions:
- Christian Seewald (@cseewald)
- David Le Bouquin
- Ekans
- Gustav Karlsson (@kagkarlsson)
- Hasnain Bukhari (@BukhariH)
v12.5.0
Changelog
๐ Fixes
- c43024e getScheduledExecutions(...) should be able to return executions with unresolved tasks (#418), closes #418
โ ๏ธ Behavior changes
SchedulerClient.getScheduledExecution()
will now also return executions with an unresolved taskSchedulerClient.getScheduledExecutions()
will now also by default return executions with unresolved tasks- The filter
ScheduledExecutionsFilter.all()
will now indicate that also executions with unresolved tasks should be returned
Contributors
We'd like to thank the following people for their contributions:
- Gustav Karlsson (@kagkarlsson)
v12.4.0
Changelog
๐ Features
๐ Build
๐ Documentation
Contributors
We'd like to thank the following people for their contributions:
- Adam Anderson
- Agorguy (@Agorguy)
- Gustav Karlsson (@kagkarlsson)
v12.3.0
v12.2.0
Changelog
๐ Features
๐ Build
- 0e9f2a8 license header
- 5b51b8e Let JReleaser close related issues
- ddad008 Forbid JReleaser to overwrite old releases to avoid mistakes
Contributors
We'd like to thank the following people for their contributions:
- Gustav Karlsson (@kagkarlsson)
- tom-mckenzie-nuix (@tom-mckenzie-nuix)
Release v12.1.0
Changelog
๐๏ธ Changes
- f480910 Refactor dependency-management for better spring-boot compatibility (#383), closes #383
- 10859d5 replace opentable embedded postgres with zonky (#382), closes #382
Contributors
We'd like to thank the following people for their contributions:
- Gustav Karlsson (@kagkarlsson)
Release v12.0.1
Changelog
๐ Fixes
- 431f162 Use Spring v5.3+ cron-style (#378)
- aa41837 Reformat source code using spotless plugin and google java-format. (PR #375)
- c03aadd FailureHandlers should use timeDone Instant to calculate next try (#379)
๐ Build
๐ Contributors & Sponsorship
We'd like to thank the following people for their contributions:
- Gustav Karlsson (@kagkarlsson)
Additionally, a big thanks to our two new sponsors, matt-snider and robinheghan ๐.
12.0.0
- Changing to semantic versioning.
- It is now possible to sponsor work on db-scheduler and so contributing to sustainable open-source development. Many thanks to rocketbase-io and gauthamchandra, our first sponsors ๐
- PR #368 changes shutdown sequence to avoid executions that are slow to stop will be detected as dead since the heartbeat-thread already has stopped. Fixes #365.
- PR 357 adds support for specifying
JdbcCustomizer
in spring boot viaDbSchedulerCustomizer
. The same PR also fixes missingserialVersionUID
for Serializable classes. This will be a breaking change for everyone already using dynamic recurring tasks, i.ePersistentCronSchedule
and friends. See notes below.
Breaking changes
Unfortunately a couple of Serializable
classes missing serialVersionUID
was added in previous releases (releated to dynamic recurring tasks). This was a mistake, as that will break Java serialization for all changes to the classes, even if they are backwards compatible. This is addressed in this release, but means that anyone already serializing these classes will get a InvalidClassException
after upgrading to this version or later. The workaround is to migrate away from these classes before upgrading, and then optionally migrating back to fixed classes after upgrade (or not).
See section on migrating serializers in README and SerializerWithFallbackDeserializers
for hints on how to migrate serialization.
This only affects Java serialization.