Quartznet Versions Save

Quartz Enterprise Scheduler .NET

v3.8.1

2 months ago

This release contains small bug fixes and now the NuGet packages have the much-touted package readmes.

What's Changed

New Contributors

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.8.0...v3.8.1

v3.8.0

5 months ago

This most notably tries to improve Quartz API and metadata to handle NET 8 trimming capabilities better, but there's probably still issues to encounter. When using trimming one should use the strongly-typed MS DI integration and SchedulerBuilder APIs.

What's Changed

New Contributors

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.7.0...v3.8.0

v3.7.0

8 months ago

This release has some work pointing people towards more sustainable API usage. Adding .NET 6.0 target for less dependencies.

What's Changed

New Contributors

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.6.3...v3.7.0

v3.6.3

10 months ago

To celebrate my daughter's 8th birthday, let's have a maintenance release. This release brings important fix to scoped job dependency disposal which had regressed in 3.6.1 release.

What's Changed

New Contributors

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.6.2...v3.6.3

v3.6.2

1 year ago

This is fix to a fix release, 3.6.1 introduced a regression to job selection logic when using persistent job store.

FIXES

  • Fix SqlSelectJobDetail to include IS_NONCONCURRENT (#1927)

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.6.1...v3.6.2

v3.6.1

1 year ago
:exclamation: This release had a problem, use 3.6.2 instead

This bug fix release contains an important fix to anyone configuring jobs using job builder's DisallowConcurrentExecution() without having the attribute DisallowConcurrentExecutionAttribute on type itself.

FIXES

  • Add missing "disallow concurrency" materialization for jobs (#1923)
  • Allow accessing the wrapped scoped job instance from job execution context (#1917)
  • JobDiagnosticsWriter can throw error when writing context data (#1191)

New Contributors

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.6.0...v3.6.1

v3.6.0

1 year ago

This release contains new API to reset errored trigger state in job store, some bug fixes and refinement of package dependencies/targets.

NEW FEATURES

  • Add explicit netcoreapp3.1 and net6.0 targets to MS integration projects (#1879)
  • Use IHostApplicationLifetime instead of IApplicationLifetime in >= netcoreapp3.1 Hosting targets (#1593)
  • Add ResetTriggerFromErrorState functionality (#1904)

FIXES

  • Fix named connection string resolution when using MS DI and its configuration system (#1839)
  • Upgrade to System.Configuration.ConfigurationManager 6.0.1 to avoid vulnerable dependency chain (#1792)
  • Fix configuration handling for custom DB provider (#1795)
  • Add extra overloads for registering listeners (#1852)
  • JobDataMap.TryGetGuidValue should return Guid instead of int (#1856)
  • Upgrade to Newtonsoft.Json 13.0.1 (#1859)

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.5.0...v3.6.0

v3.5.0

1 year ago

NEW FEATURES

  • Allow PersistJobDataAfterExecution and ConcurrentExecutionDisallowed to be explicitly set in JobBuilder and pulled up to IJobConfigurator (#1575)
  • Add TryGet functions to JobDataMap and StringKeyDirtyFlagMap (#1592)
  • Add UseMySqlConnector overload for DB configuration (#1621)
  • Validate database schema during scheduler initialization (#1716)
  • Support DataSource name configuration (#1710)
  • Add UsePersistentStore<T> where T : IJobStore in DI Extension (#1715)

FIXES

  • Make RAMJobStore.RemoveJobInternal return true even if job has no triggers (#1580)
  • Configuration property quartz.jobStore.dbRetryInterval will be correctly set when constructing the Scheduler JobStore.
    • If you previously had configuration with the key quartz.scheduler.dbFailureRetryInterval please change to the above mentioned key.
  • DailyCalendar doesn't include first and last millisecond of day in checks (#1665)
  • StdSchedulerFactory and derived factories are not thread-safe (#1587)
  • Change QuartzOptions to inherit from Dictionary<string, string?> instead of NameValueCollection to fix Microsoft.Extensions.Configuration 7 RC integration (#1748)

IMPROVEMENTS

  • Reduce scheduler initialization logging noise (#1752)

New Contributors

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.4.0...v3.5.0

v3.4.0

2 years ago

This release has Quartz jobs start executing only after application startup completes successfully, unless QuartzHostedServiceOptions are used to specify otherwise. By default, this prevents jobs from running while the application is still starting, and it alleviates the need to use arbitrary start delays to achieve the effect manually.

Quartz.OpenTelemetry.Instrumentation has been marked obsolete as there's official contrib project on OpenTelemetry project side.

FIXES

  • Fix for job type loading after version change (#1286)
  • Fix StartDelayed delaying the start of other hosted services (#1314)
  • Set NextFireTime of the replaced trigger relative to the old trigger's StartTime if the old trigger's PreviousFireTime is null (#1519)
  • Include InvertTimeRange property in DailyCalendar.Clone (#1522)
  • QuartzHealthCheck never recovers after detecting failure (#1496)
  • Microsoft DI integration does not working with Microsoft.Extensions.Hosting v7 preview (#1544)

IMPROVEMENTS

  • Jobs now start executing after application startup completes successfully (#1432)
  • Support strongly-typed configuration of IDbProvider (#1312)
  • Add MSSQL Script compatible with SQL 2014 and 2012 (#1337)
  • Added usage of DisallowConcurrentExecutionAttribute for interfaces (#1345)
  • Multiple performance improvements (#1351, #1355, #1354, #1353, #1356, #1358)
  • Increase precision of SimpleTriggerImpl to ticks. (#1360)
  • Switch from FAKE to NUKE (#1413)
  • QuartzHostedService now has jobs start after application startup (#1449)
  • QuartzHostedServiceOptions can let jobs be started as part of application startup, as before this version (#1432)
  • Add helper methods to setup Microsoft.Data.Sqlite (#1275)
  • Quartz will scan job and trigger listeners from MS DI container automatically (#1561)

BREAKING CHANGES

  • Quartz.OpenTelemetry.Instrumentation is now obsolete as there is contrib package OpenTelemetry.Instrumentation.Quartz on OT side
  • .NET Framework minimum version is 4.6.2 (previously 4.6.1) (#1549)

NEW CONTRIBUTORS

Full Changelog: https://github.com/quartznet/quartznet/compare/v3.3.3...v3.4.0

v3.3.3

2 years ago

This is a maintenance release mostly fixing some smaller bugs and improving DI API story.

FIXES

  • Lock 'TRIGGER_ACCESS' attempt to return by: de9325af-3e1c-4ae9-a99b-24be994b75f4 -- but not owner! (#1236)
  • ScheduleJob shorthand: Job name should match trigger name by default (#1211)
  • CronTriggerImpl.WillFireOn returns wrong result when TimeZone is specified (#1187)
  • Race condition in DI scheduler listener initialization (#1117)
  • JobRunShell handle Job CancellationToken (#1183)
  • Restore System.Data.SqlClient support on .NET Core (#1181)

IMPROVEMENTS

  • Replace static loggers with instance-based (#1264)
  • Expose more configuration options via programmatic APIs (#1263)
  • Add ConfigureScope extension point to MicrosoftDependencyInjectionJobFactory (#1189)
  • Update StdAdoConstants.cs (#1186)
  • Use custom InstantiateType for all instantiations in StdSchedulerFactory (#1185)
  • Add support for the ISchedulerFactory.StartDelayed in the QuartzHostedService (#1166)
  • Remove SimpleThreadPool from examples? (#1230)