quartznet

Quartz Enterprise Scheduler .NET

APACHE-2.0 License

Stars
6.3K
Committers
187

Bot releases are visible (Hide)

quartznet - Quartz.NET 2.5

Published by lahma over 7 years ago

This release contains mainly bug fixes but because there's a behavioural change in
DST handling (for the better) that warrants for a minor version number increment.

See https://github.com/quartznet/quartznet/pull/317 for details.

FIXES

  • Jobs get stuck in the Blocked state after the DB connection is lost in NotifyJobListenersComplete (#282)
  • Oracle rownum based queries can work wrong after Oracle SQL tuning task has ran (#413)
  • Handle DST better (#317)
  • RAMJobStore fails to resume when paused without triggers (#433)
  • CronExpression doesn't properly check the range when an "/interval" is specified (#432)
  • Fix JobDataMap dirty flag when constructing from existing map (#431)
  • Store triggers by job in RAMJobStore for better performance (#430)
  • Create WorkerThread in virtual method (#426)
  • SqlSelectJobForTrigger is not using primary key join and causes index scan (#407)
quartznet - Quartz.NET 3.0 Alpha 2

Published by lahma about 8 years ago

This is the second alpha of v3. This release fixes problems with schedule signaling when AdoJobStore is in use.
This release removes the last bits of Quartz's usage of thread local storage and thus makes async-based operations a lot safer.

FIXES

  • fix scheduler signaling not working with AdoJobStore due to thread local storage
  • thread local state removed altogether
  • quartz.serializer.type was required even though non-serializing RAMJobStore was in use
  • JSON serialization incorrectly called serialization callbacks

BREAKING CHANGES

  • IStatefulJob was removed, been obsolete since 2.x
  • ISemaphore interface now passes Guid requestorId that defines lock owner instead of implicit thread name

KNOWN ISSUES

  • Issues with time zone ids between Windows and Linux, they use different ids for the same zone
  • No remoting support
  • Documentation lacking
quartznet - Quartz.NET 2.4.1

Published by lahma about 8 years ago

Minor release that just makes Common.Logging 3.3.1 bound by compilation process
and not just by NuGet version reference.

FIXES

  • Fix Common.Logging version 3.3.1 to be a true binary reference instead of just NuGet dependency
quartznet - Quartz.NET 3.0 Alpha 1

Published by lahma about 8 years ago

First alpha release. There will be dragons.

quartznet - Quartz.NET 2.4

Published by lahma about 8 years ago

NEW FEATURE

  • Add SQL limit support for MySQLDelegate
  • Removed dbFailureRetryInterval since it is no longer used
  • Update Common Logging to v3.3.1

FIXES

  • Batch acquisition can cause early firing of triggers
  • Should not rely on C5.TreeSet on HolidayCalendar field serialization
quartznet - Quartz.NET 2.3.3

Published by lahma over 9 years ago

This is a minor release containing mostly bug fixes.

NEW FEATURE

  • Support generic job types with AdoJobStore

FIXES

  • AdoJobStore doesn't notify about removing orphaned job
  • Store null JobData in JobDetails if it's empty
  • Documentation error in SimpleTriggerImpl UpdateAfterMisfire
  • Ensure IDriverDelegate members in StdAdoDelegate are virtual
quartznet - Quartz.NET 2.3.2

Published by lahma over 9 years ago

This is a minor release containing mostly bug fixes.

NEW FEATURE

  • Add mysql 6.9.5 provider support

FIXES

  • Avoid unnecessary object allocations in CronExpression
  • CalendarIntervalTrigger and DailyTimeIntervalTrigger produce incorrect schedule builders
  • Incorrect multiplication factor in DailyTimeIntervalScheduleBuilder.EndingDailyAfterCount()
  • AnnualCalendar SetDayExcluded does not update internal data structures if base calendar excludes date
  • Ensure IDriverDelegate members in StdAdoDelegate are virtual
  • Several XML documentation spelling error fixes
quartznet - Quartz.NET 2.3.1

Published by lahma almost 10 years ago

This is a bug fix release with upgraded Common.Logging dependency, also problems running
under .NET 4.0 should now be finally fixed.

NEW FEATURE

  • Upgrade to Common.Logging 3.0.0

FIXES

  • JobDetailImpl members should be virtual
  • Triggers do not transition to error state in AdoJobStore when job retrieval fails during trigger acquisition
  • Quartz.Server.exe.config refers to wrong Common.Logging.Log4Net assembly
  • Incorrect NextFireTime when 'schedule-trigger-relative-to-replaced-trigger' = 'true'
  • Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly mscorlib
  • TriggerBuilder.UsingJobData(JobDataMap newJobDataMap) should ovewrite existing data
quartznet - Quartz.NET 2.3

Published by lahma almost 10 years ago

This is a bug fix release with some changes that warrant a minor version increment.

NEW FEATURE

  • Upgrade to Common.Logging 2.3.1
  • Add ability to check if calendar exists in job store
  • Add FirebirdDelegate and update Firebird driver

FIXES

  • DailyTimeIntervalTriggerImpl fires twice during daylight saving time day
  • No wait time between db connection failures with AcquireNextTriggers causes excessive logging
  • Configure the quartz server in the section fails
  • CronExpression ctor incorrectly uses the non-uppercased string
  • Triggers fired milliseconds too early
  • Loading of Quartz 4.0 DLL fails on systems with no .NET 4.5 installed
quartznet - Quartz.NET 2.2.4

Published by lahma about 10 years ago

This is a bug fix release addressing some minor issues.

FIXES

  • Cannot register trigger persistence delegates with assembly qualified names
  • Set example server's current directory to the one where server.exe is
  • Fix TimeZoneInfo.GetUtcOffset(DateTimeOffset dateTimeOffset) not implemented in Mono
  • Gracefully handle mixed useProperties usage when reading from DB when useproperties value has changed
  • FindSystemTimeZoneById should work with both 'Coordinated Universal Time' and 'UTC'
  • Latest release (2.3) didn't include Dbprovider constant string in StdSchedulerFactory - running examples fails
quartznet - Quartz.NET 2.2.3

Published by lahma over 10 years ago

This is a bug fix release which has some critical fixes, especially for CalendarIntevalTrigger
future date calculation and trigger's next fires not being processed in a timely fashion when AdoJobStore is used
with DisallowConcurrentExecutionAttribute and trigger has short repeat interval.

FIXES

  • StdAdoConstants.SqlSelectSchedulerStates does not filter on the SCHED_NAME column
  • CalendarIntervalTrigger produces incorrect schedule
  • Trigger completion signaling from AdoJobStore does not work properly when DisallowConcurrentExecution is set

NEW FEATURE

  • IDisposable jobs should be disposed after execution
  • Support for defining DbMetadata via App.config's quartz section
quartznet - Quartz.NET 2.2.2

Published by lahma over 10 years ago

This is a minor release fixing couple of minor bugs

FIXES

  • long properties incorrectly read as int in SimplePropertiesTriggerPersistenceDelegateSupport
  • RecoveringTriggerKey in JobExecutionContext has group and name wrong way around
  • Make SQL Server table create script Azure SQL compliant
  • Add missing clustered index for QRTZ_BLOB_TRIGGERS table
    ** You need to manually add this to existing installation (tables created with old script),
    see ALTER TABLE [dbo].QRTZ_BLOB_TRIGGERS WITH NOCHECK ADD... in script
quartznet - Quartz.NET 2.2.1

Published by lahma almost 11 years ago

This is a minor release containing mostly bug fixes.

NEW FEATURES

  • GroupMatcher.AnyGroup() support
  • Add network credential and SMTP port definition support to SendMailJob

FIXES

  • SchedulerException constructor unnecessarily uses Exception.ToString as message
  • Thread name prefix for thread pool is not set
  • Triggers should not be excluded based on the fire time of the first selected trigger
  • Quarts server does not properly log possible exception when starting the service
  • DailyTimeIntervalTrigger GetFireTimeAfter produces incorrect result when date is in the past
  • batchTriggerAcquisitionMaxCount acquires one trigger unless batchTriggerAcquisitionFireAheadTimeWindow is also set
  • Oracle ODP Managed provider should set BindByName to true for OracleCommands
quartznet - Quartz.NET 2.0 beta 1

Published by lahma almost 11 years ago

BREAKING CHANGES

  • .NET 1.1 and 2.0 support is dropped
  • Quartz.NET now needs .NET version 3.5 SP1 or later to run due to use of new language features and classes
  • Many public interface methods have changed from returning arrays to generic IList or ISet interfaces
  • TriggerBuilder implementations and JobBuilder should now be used to create different job and trigger definitions
  • Introduced IJobDetail, IContrigger, ISimpleTrigger, ICalendarIntervalTrigger have far less members and especially mutators
  • When C5 collections were introduced as set-based implementation provider, ISet and ISortedSet interfaces were narrowed (IList inheritance removed)
  • string triggerName, string triggerGroup are now encapsulated in TriggerKey (has the same fields)
  • string jobName, string jobGroup are now encapsulated in JobKey (has the same fields)
  • JobInitializationPlugin is now deprecated in favor of XMLSchedulingDataProcessorPlugin, JobInitializationPlugin no longer included
  • Microsoft's Oracle drivers are no longer supported, use 10g or 11g ODP.NET drivers
  • Database schema has changed, you need to convert your 1.x schema to new version, sample migration script available in database folder

OTHER NOTABLE CHANGES

  • XMLSchedulingDataProcessorPlugin uses new XML format that allows more control over triggers but no support for calendars
  • There are extension methods for the new trigger builder that allow you to set trigger specifics
  • Client Profile is now supported and there are separate DLLs for client profile
  • PropertySettingJobFactory is now the default JobFactory
quartznet - Quartz.NET 2.0 beta 2

Published by lahma almost 11 years ago

This release contains some bug fixes and some compile time breaking changes.

BREAKING CHANGES (since 2.0 beta 1)

  • DateBuilder TranslateTime method was removed as it's better done with TimeZoneInfo's ConvertTime
  • DateBuilder.IntervalUnit enumeration was replaced by usage of generic IntervalUnit enumeration in root namespace
  • DateBuilder now creates all dates in local time zone by default
  • ICommandAccessor was renamed IDbAccessor, this interface should normally not be used from client code
  • DailyTimeIntervalTrigger was changed to correctly assume start and end times are UTC times (calculation is based on local time)
  • DailyTimeIntervalTrigger properties StartTimeOfDayUtc and EndTimeOfDayUtc were renamed to StartTimeOfDay and EndTimeOfDay as they are local times without UTC notion

FIXES

Bug

* DailyTimeIntervalTriggerPersistenceDelegate does not store weekdays in correct format
* DisallowConcurrentExecution decorated triggers not being updated after TriggerCompleted
* DailyTimeIntervalTrigger does not work as expected

Improvement

* ADO.NET job store: force UTC ticks when storing datetimes
quartznet - Quartz.NET 2.0.1

Published by lahma almost 11 years ago

This release contains some bug fixes.

FIXES

  • Oracle database support broken
  • Incorrect .NET 4.5 requirement in 4.0 build (only NuGet affected)
  • XML validation fails as schema not embedded (only NuGet affected)
  • ObjectUtils.SetPropertyValue fails with explicitly implemented interface members
quartznet - Quartz.NET 2.0

Published by lahma almost 11 years ago

This release contains some bug fixes.

POSSIBLE BREAKING CHANGES (since 2.0 beta 2)

  • DateBuilder now uses the UTC offset that is active for the date constructed (earlier it was always offset of DateOffset.Now)

FIXES

  • Possible bug with triggers left/stuck in ACQUIRED state (QTZ-179)
  • More checks to CalendarIntevalTrigger for daylight savings
quartznet - Quartz.NET 2.1

Published by lahma almost 11 years ago

This release contains important bug fixes, new functionality and minor breaking changes.
Custom IJobFactory implementations now need to implement new method void ReturnJob(IJob job) for container managed cleanup.
NthIncludedDayTrigger was removed as it was accidentally left behind even though being legacy and replaced by DailyTimeIntervalTrigger.

NEW FEATURES

  • TimeZone support for calendars / Andrew Smith
  • Allow scheduling relative to replaced trigger with XML configuration
  • Add method to IJobFactory to destroy a job instance created by the factory breaking / minor breaking, added new required method
  • Internalize C5 dependency
  • Support for Oracle ODP 11.2 Release 4
  • Upgrade SQLite dependency to version 1.0.83
  • Upgrade to Common.Logging 2.1.2

FIXES

  • Scheduled Shutdown blocked even if waitForJobsToComplete is false
  • DailyTimeIntervalTriggerImpl should be serializable
  • InstanceID = "AUTO" may cause "String or binary data would be truncated" error on qrtz_fired_triggers.entry_id
  • PlugInExample doesn't execute any jobs
  • Recovering triggers have empty/incorrect JobDataMap
  • Make Quartz.NET work under medium trust when running .NET 3.5
  • tables_oracle.sql uses deprecated VARCHAR type
  • Improve error reporting for database connection failure
  • Scheduler Shutdown Freezes when There are Jobs Still Running
  • Use System.Version instead of FileVersionInfo to retive current Quartz version
  • DailyTimeIntervalTriggerImpl Validate broken

BREAKING CHANGES

  • Remove NthIncludedDayTrigger that was supposed to be removed in 2.0 breaking
  • Remove Visual Studio 2008 solutions and projects breaking
  • Add support for DateTimeOffset and TimeSpan to JobDataMap / minor breaking - cleanup of API

Special thanks to Andrew Smith for working hard on TimeZone support.
Credits go also to our vibrant community actively helping on mailing list and reportings issues and creating pull requests.

quartznet - Quartz.NET 2.1.1

Published by lahma almost 11 years ago

This is a maintenance release containing strongly singed dlls.

Fixes

  • assemblies are missing strong name due to error in ilmerge parameters
quartznet - Quartz.NET 2.2

Published by lahma almost 11 years ago

This release contains important bug fixes, new functionality and minor breaking changes.

UPGRADING

Database schema upgrade is needed from 2.x series to 2.2:

  • SQL Server: alter table QRTZ_FIRED_TRIGGERS add SCHED_TIME [BIGINT] NOT NULL;
  • MySQL: alter table QRTZ_FIRED_TRIGGERS add SCHED_TIME BIGINT(19) NOT NULL
  • Oracle: alter table QRTZ_FIRED_TRIGGERS add SCHED_TIME NUMBER(19) NOT NULL
  • this adds a new column SCHED_TIME to table QRTZ_FIRED_TRIGGERS

BREAKING CHANGES

  • database schema needs upgrade
  • add SchedulerStarting() method to ISchedulerListener interface
  • make the scheduler's TypeLoadHelper available to plugins when they are initialized
  • dbFailureRetryInterval parameter was removed from DirectSchedulerFactory APIs

NEW FEATURES

  • ability to override worker thread names (when using SimpleThreadPool)
  • add new IScheduler method: ScheduleJob(IJobDetail job, ISet trigger) to schedule multiple triggers for a job all at once
  • allow 'triggerless' initial storing of non-durable jobs.
  • improvements for job recovery information
  • package job_scheduling_data_2_0.xsd to nuget package's content folder
  • allow scheduler exported with remoting to be used from local machine only
  • support for Oracle managed ODP driver

FIXES

  • job ending with exception and trigger not going to fire again, trigger is incorrectly not removed from job store
  • XML schema supports multiple schedule elements but processor does not
  • DailyTimeIntervalTriggerPersistenceDelegate does not handle empty time interval properly
  • DailyTimeIntervalScheduleBuilder.EndingDailyAfterCount(...) doesn't pass validation
  • trace throwing exception
  • bug in QuartzSchedulerThread.GetRandomizedIdleWaitTime()
  • can't delete or replace job without the referenced class

MISC

  • Performance improvements, including improvements to some select statements in AdoJobStore
Package Rankings
Top 3.94% on Proxy.golang.org
Badges
Extracted from project README
Downloads Build status NuGet NuGet pre-release MyGet pre-release Join the chat at https://gitter.im/quartznet/quartznet
Related Projects