This release adds support for using System.Text.Json as serializer for JSON payloads stored in database via new integration package Quartz.Serialization.SystemTextJson. Please note that there might be small incompatibilities between Newtonsoft and STJ (de)serialization. If you are using only strings as data values, there should be no compatibility issues. Using the new integration package is ideal for new greenfield projects.
A lot of types were sealed and/or internalized, these can be opened later on if needed. We are just trying to minimize API surface that needs to be maintained
netstandard2.0 build no longer reference System.Configuration.ConfigurationManager and thus there's no support for Full Framework style .config files
JobKey and TriggerKey now throw an ArgumentNullException when you specify null for name or group (#1359)
The following properties have been removed from AbstractTrigger as they represent information that is already available through the Key and JobKey properties:
Name
GroupName
JobName
JobGroup
FullName
Triggers can no longer be constructed with a null group name (#1359)
The endUtc argument of SimpleTriggerImpl is no longer nullable.
If a value is explicitly specified for "IdleWaitTime", we will no longer silently ignore the value (and use
a default value of 30 seconds instead) if it's less than or equal to zero.
If you use StdSchedulerFactory to create a scheduler, we will no longer reject an IdleWaitTime that
is greater than zero but less than 1000 milliseconds.
An negative value for IdleWaitTime or BatchTimeWindow will no longer be accepted.
For MaxBatchSize, a value less than or equal to zero will be rejected.
The ctor for QuartzScheduler no longer takes an idleWaitTime argument. This value
is now obtained from a newly introduced IdleWaitTime property on QuartzSchedulerResources.
SystemTime was removed as way to provide "now", you can inject TimeProvider via configuration or SchedulerBuilder.UseTimeProvider<T>()
The Equals(StringOperator? other) method of StringOperator is now also virtual to allow it to be
overridden in pair with Equals(object? obj) and GetHashCode().
The Quartz.Util.DictionaryExtensions type was removed.
The 'Get(TKey key)' method of DirtyFlagMap has been removed. You can instead use the
this[TKey key] indexer or TryGetValue(TKey key, out TValue value) to obtain the value for a given key.
(Logging): LibLog has been removed and replaced with Microsoft.Logging.Abstractions (#1480).
The following properties of DirtyFlagMap are now explicit interface implementations:
IsReadOnly
IsFixedSize
SyncRoot
IsSynchronized
A IJobStore that implements IJobListener no longer automatically receives all events. You should
instead register it as job listener using the ListenerManager of the QuartzScheduler.
QuartzScheduler no longer defines a default protected ctor. You should use ctor((QuartzSchedulerResources resources)
... (truncated)
Commits
6fb577a Add support for System.Text.Json serializer (#2416)
ecc241d Use "newtonsoft" as preferred JSON serializer type alias (#2412)
27bda6d Change NativeJob to use RuntimeInformation.IsOSPlatform instead of env var (#...
c57a005 Fix NativeJob crashing when working directory parameter missing (#2407)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
coverage: 91.489%. remained the same
when pulling 5a5474b516b6fcb427fa5e98dd4c573b530aae74 on dependabot/nuget/src/develop/Quartz-3.10.0
into 848873aa46ea4ea51b57fa0f7ea5b2c16f88f049 on develop.
Bumps Quartz from 3.8.1 to 3.10.0.
Release notes
Sourced from Quartz's releases.
Changelog
Sourced from Quartz's changelog.
... (truncated)
Commits
6fb577a
Add support for System.Text.Json serializer (#2416)ecc241d
Use "newtonsoft" as preferred JSON serializer type alias (#2412)27bda6d
Change NativeJob to use RuntimeInformation.IsOSPlatform instead of env var (#...c57a005
Fix NativeJob crashing when working directory parameter missing (#2407)f7fe6ec
Upgrade vulnerable Npgsql (#2363)ea34051
Update change logb27ce46
Make IJobWrapper public (#2313)f21ed7d
Add support for IAsyncDisposable jobs and MS DI resources (#2335)bf813bc
Add WithDailyTimeIntervalSchedule overload with explicit interval and interva...d27899f
Fix Holiday Calendar with Nested Calendars sometimes crashing when resolving ...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show