Release Notes: Difference between revisions

From Obsidian Scheduler
Jump to navigationJump to search
No edit summary
Tag: Manual revert
 
(50 intermediate revisions by the same user not shown)
Line 6: Line 6:


<div class="toclimit-2">__TOC__</div>
<div class="toclimit-2">__TOC__</div>
== Obsidian 6.4.0 ==
Released December 2025
=== Enhancements ===
* New [[Built-in_Jobs#Obsidian_Execution_Statistics_Job|Execution Statistics Job]] and built in [[Admin_Job_Stats|UI]] and [[Embedded_API#List_Stats|Embedded API]] and [[REST_Endpoints#GET_a_list_of_job_execution_statistics|REST API]]
=== Bug Fixes ===
* Fixed issue preventing [[Admin_Jobs#Deleting|job deletion]] when resubmissions of failed executions existed. Bug existed in UI and APIs.
* Fixed UI styling issue for [[Admin_Jobs#Deleting|job deletion]] where checkbox label did not appear.
== Obsidian 6.3.3 ==
Released November 2025
=== Enhancements ===
* [https://web.obsidianscheduler.com/obsidianapi/com/carfey/suite/security/LdapAuthenticator.html LDAPAuthenticator] supports configurable check user active override - com.carfey.suite.security.LdapAuthenticator.checkActiveAttribute
* [https://web.obsidianscheduler.com/obsidianapi/com/carfey/suite/security/LdapAuthenticator.html#isUserActive(javax.naming.directory.DirContext,java.lang.String) LDAPAuthenticator.isUserActive(DirContext,String)] visibility increased to protected to allow for functionality override in subclasses.
=== Bug Fixes ===
* Correct LdapAuthenticator case with delimited configuration where active check wasn't applied.
* [https://web.obsidianscheduler.com/obsidianapi/com/carfey/suite/security/LdapAuthenticator.html#isUserActive(javax.naming.directory.DirContext,java.lang.String) LDAPAuthenticator.isUserActive(DirContext,String)] javadoc added for isUserActive fully detailing the implementation.
== Obsidian 6.3.2 ==
Released October 2025
=== Enhancements ===
* Notification failures now trigger Dispatch category Error level event on first failure. For use in log alerts and Event Hooks.
=== Bug Fixes ===
* Notification failures no longer log on every failure reducing chatty failure logs.
* No-arg constructors added to multiple JSON serializable candidate POJOs missing them. Addresses GSON's workaround use of sun.misc.Unsafe.
== Obsidian 6.3.1 ==
Released August 2025
=== Bug Fixes ===
* Fix failure response codes on [[REST_Endpoints#GET_health_details_on_an_existing_scheduling_host|REST health endpoint]]
* Fix automatic upgrade issue from 6.1.0 to any of 6.2.0, 6.2.1, 6.3.0
* Fix auth issue when [[Admin_User_Management#Multi-Factor_Authentication_.28MFA.29|MFA]] is enabled that allows REST access when account has been locked out due to MFA not being setup.  [[Contact_the_Obsidian_Scheduler_Team|Contact us]] if you need workaround details for earlier versions.
* Fix native auth issue that allows REST access when account has been flagged as inactive.
== Obsidian 6.3.0 ==
Released July 2025
=== Features / Enhancements ===
* Cron day of month expansion for [[Cron#Special_Character_Usage|day of week proximity]] using [[Cron#Examples|~]]
* Annotation based job and chain configuration [[Initializing_and_Restoring#Annotation_Initialization|initialization]]
* Health endpoint with details for Job Queuer and Job Spawner - [[REST_Endpoints#GET_health_details_on_an_existing_scheduling_host|REST API]] or Embedded API [https://web.obsidianscheduler.com/obsidianapi/com/carfey/ops/api/embedded/HostManager.html#getHealth(java.lang.String) by hostname] or [https://web.obsidianscheduler.com/obsidianapi/com/carfey/ops/api/embedded/HostManager.html#getHealth(long) by host id]
* JDBC URL construction from parts [[Advanced_Configuration#Database_Properties|host/port/databaseName/dbType/oracleSid]]
== Obsidian 6.2.1 ==
Released June 2025
=== Bug Fixes ===
* Certain recoveries greater than 24 hours using new day of month proximity patterns introduced in 6.2.0 would result in no jobs spawning.
* Migrations targeting 6.0.0 and greater that start earlier than 5.0.0 skip the 5.0.0 migration. Migrating to any 5.x version first and then to 6.0.0 or later works around this issue.
== Obsidian 6.2.0 ==
Released May 2025
=== Features / Enhancements ===
* Cron day of month expansion for [[Cron#Special_Character_Usage|day of week proximity]] using [[Cron#Examples|< > ≥ ≤]]
* Cron day of month expansion for [[Cron#Special_Character_Usage|weekday proximity]] using [[Cron#Examples|< > ≥ ≤]]
* [[Admin_Global_Parameters#Using_Global_Parameters_in_Jobs|Global Parameters]] reference in job edit page support mouseover/title display of actual value when permissions allow
* Host time displayed in [[Admin_Host_Status|hosts status]] in UI
* [[Admin_Job_Runtime_Preview|Runtime Preview]] optimizations for large date ranges in both UI and APIs.
=== Bug Fixes ===
* Combination of table prefix, sorting by clob column and Oracle metadata load failure no longer results in sql error. This occurred in the UI when viewing raw job history results and in API calls for job runtime results.
== Obsidian 6.1.1 ==
Released March 2025
=== Features / Enhancements ===
* [[Authenticator#Implementation_of_a_Custom_Authenticator|Authenticator]] supports optional <code>authenticateREST()</code> method.
=== Bug Fixes ===
* Native authentication REST logins do not apply 'last login' timestamps. Avoids noisy error that was appearing in logs.
== Obsidian 6.1.0 ==
Released March 2025
=== Features / Enhancements ===
* Native authentication now disables users after 4 invalid login attempts, either password or MFA code if applicable. Invalid attempts threshold is configurable.
* Native authentication last login datetime displayed on list user screen.
* Stronger licensing controls. Site and hardware licenses as of this version must be regenerated by Carfey Software and every 2 years. Contact us at licensing [[Image:atSymbol.png]] obsidianscheduler.com.
=== Bug Fixes ===
* Native authentication password complexity pattern properly created and no longer overwritten on restart.
== Obsidian 6.0.1 ==
Released February 2025
=== Features / Enhancements ===
* [[Built-in_Jobs#File_Archive_Job|File Archive Job]] and [[Built-in_Jobs#File_Scanner_Job|File Scanner Job]] both now support min/max file sizes and minimum age.
=== Bug Fixes ===
* Native authentication user updates now support long passwords.


== Obsidian 6.0.0 ==
== Obsidian 6.0.0 ==
To Be Released December 2024
Released December 27, 2024


=== Features / Enhancements ===
=== Features / Enhancements ===
Line 14: Line 126:
* Jakarta Servlet 5.0
* Jakarta Servlet 5.0
** Servlet container for Web Admin must support Jakarta Servlet 5.0 (e.g. Tomcat 10, Jetty 11)
** Servlet container for Web Admin must support Jakarta Servlet 5.0 (e.g. Tomcat 10, Jetty 11)
* [[Advanced_Configuration#Properties.2FYaml_File|Yaml]] configuration support -
* [[Micronaut_Integration|Micronaut]] integration support
* Native authentication supports customizable password complexity requirements
* [[Advanced_Configuration#Dependent_Libraries|Groovy 4]] support
* Groovy 4 support
* [[Advanced_Configuration#Properties.2FYaml_File|Yaml]] configuration support<ref>
 
If you are using automated installer files from previous releases, you will need to add an additional configuration item to choose between yaml and properties formats in UserInputPanel.0.
<pre>
<com.izforge.izpack.panels.UserInputPanel id="UserInputPanel.0">
        <userInput>
......snip......
            <entry key="config.format" value="yaml" />
OR
            <entry key="config.format" value="properties" />
......snip......
        </userInput>
    </com.izforge.izpack.panels.UserInputPanel>
</pre></ref>
* Native authentication supports customizable [[Admin_Login#Password_Complexity|password complexity]] requirements
* XML support deprecated across the product including XML UI downloads, XML runner configurations and XML license leases.
* XML support deprecated across the product including XML UI downloads, XML runner configurations and XML license leases.
** '''Starting January 1st 2027, XML license lease requests will stop being processed. All Obsidian instances running using internet-verified licenses will be required to use release 6.0.0 or later as of January 1st 2027.'''
** '''Starting January 1st 2027, XML license lease requests will stop being processed. All Obsidian instances running using internet-verified licenses (including licence key proxies) will be required to use release 6.0.0 or later as of January 1st 2027.'''
** Above noted XML support will be removed in the first Obsidian version released in 2027.
* License leases use JSON payloads.
* License leases use JSON payloads.
* Micronaut support


== Obsidian 5.5.1 ==
== Obsidian 5.5.1 ==
Released December 2024
Released December 16, 2024


=== Bug Fixes ===
=== Bug Fixes ===
Line 220: Line 346:
* Many [[Advanced_Configuration#Dependent_Libraries|library upgrades]].
* Many [[Advanced_Configuration#Dependent_Libraries|library upgrades]].
* UI javascript library updates.
* UI javascript library updates.
== Obsidian 4.10.6 ==
Released April 2021.
=== Bug Fixes ===
* Correct issue where PostgreSQL database connection validation exceptions are masked.
* Fix UI styling issues in Firefox browser.
== Obsidian 4.10.5 ==
Released October 2020.
=== Features / Enhancements ===
* New ''LW'' instruction for day-of-month field in [[Cron#Special_Character_Usage|Cron]] to indicate last weekday of month.
=== Bug Fixes ===
* Fix for ''W'' day-of-month field in [[Cron#Special_Character_Usage|Cron]] skipping months where ordinal is last ordinal of the month and falls on the last Sunday of the month.
== Obsidian 4.10.4 ==
Released July 2020.
=== Bug Fixes ===
* Fix UTF-8 handling in [[REST_API|REST API]] calls.
== Obsidian 4.10.3 ==
Released March 2020.
=== Features / Enhancements ===
* Introduce better handling for edge case where a long running job that loses connectivity to the Obsidian database gets marked as Died while it is still running and then eventually reconnects to the database and its heartbeat updates resume. Heartbeat updates will now be prevented and new special events are triggered when this case is detected and when the job finally terminates.
=== Bug Fixes ===
* Fix JobIds parameter in [[Embedded_API#List_Job_Dashboard_.28Latest_Scheduled_Runtime_by_Job.29|Embedded]] API for Job Dashboard (Last Occurrence of Jobs)
== Obsidian 4.10.2 ==
Released October 2019.
=== Features / Enhancements ===
* [[REST_Endpoints#GET_a_list_of_the_latest_scheduled_runtime_by_job_.28supports_multiple_jobs.29|REST]] and [[Embedded_API#List_Job_Dashboard_.28Latest_Scheduled_Runtime_by_Job.29|Embedded]] API for Job Dashboard (Last Occurrence of Jobs)
* Timezone now included when dates are in event messages.
== Obsidian 4.10.1 ==
Released June 2019.
==== Bug Fixes ====
* [[Recovery_%26_Failover#Startup_.2F_Shutdown_Mode|Startup/Shutdown]] configuration of jobs not being applied in UI.
* [[Admin_Scheduler_Settings|Scheduler setting]] jobShutdownWaitTimeSeconds in Job category could not be set to -1 in the UI.
== Obsidian 4.10.0 ==
Released April 2019.
=== Features / Enhancements ===
* Support for automated [[Recovery_%26_Failover#Startup_.2F_Shutdown_Mode|Startup/Shutdown]] invocation of jobs.
* [[Implementing_Jobs#Parameterization|Parameters]] now have optional support for validation of list values to be unique.
* Formalized support for [[Scripting_Jobs|Ruby Script jobs]] via JRuby.
* Enhanced [[Installation_Guide#Selecting_Script_Libraries|installer]] to allow selectivity of desired script libraries/jobs. '''Breaking change to automated installer files.''' <ref>
If you are using automated installer files from previous releases, you will need to add a new section of xml as of Obsidian 4.10.0 to handle a new UserInputPanel. Immediately after the UserInputPanel.15 closing brace, add the following:<pre>
<com.izforge.izpack.panels.UserInputPanel id="UserInputPanel.16">
<userInput>
<entry key="script.beanshell" value="true"/>
<entry key="script.jruby" value="false"/>
<entry key="script.groovy" value="true"/>
<entry key="script.jython" value="true"/>
</userInput>
</com.izforge.izpack.panels.UserInputPanel>
</pre>
You can change the parameter values as desired. The above reflects the options for all versions prior to Obsidian 4.10.0.
</ref>
* Formalized support for [[Getting_Started#Supported_Platforms|MS SQL 2016 & 2017]]
== Obsidian 4.9.1 ==
Released March 2019.
==== Bug Fixes ====
* ClasspathJobScanner fails on job classes with no [[Implementing_Jobs#SchedulableJob_Interface|@Description]] annotation
* In some cases, [[Built-in_Jobs#Job_History_Cleanup_Job|Job History Cleanup Job]] was not deleting certain history and related records.
== Obsidian 4.9.0 ==
Released February 2019.
=== Features / Enhancements ===
* [[Implementing_Jobs#SchedulableJob_Interface|Description]]/[[Implementing_Jobs#Parameterization|Parameter]] annotation support optional URLs arrays
* New built-in maintenance job [[Built-in_Jobs#Notification_Cleanup_Job|Delete Notifications Job]]
* New subscribable event for first occurrence of a host not running a job due to not being one of the fixed hosts.
* [https://web.obsidianscheduler.com/obsidianapi/com/carfey/ops/job/Context.html Context] class expanded to include some additional helpful attributes.
==== Bug Fixes ====
* [[Admin_Jobs#Nickname.2C_Class_and_Folder|Folder]] Selection in UI fixed to allow intermediary folders selections
* [[Event_Hooks#Slack_Notifier|SlackEventHook]] fixed to include ERROR level
* Logout from My User page fixed to redirect to Login page
* Fixed an issue with PostgreSQL DDL that could report wrong exception on execution failures.


== Footnotes ==
== Footnotes ==
<references/>
<references/>

Latest revision as of 21:36, 21 January 2026

Please review our Upgrade Instructions.

Read about our Planned Releases.

Looking for old release notes? See Release Notes - Older Releases.

Obsidian 6.4.0

Released December 2025

Enhancements

Bug Fixes

  • Fixed issue preventing job deletion when resubmissions of failed executions existed. Bug existed in UI and APIs.
  • Fixed UI styling issue for job deletion where checkbox label did not appear.

Obsidian 6.3.3

Released November 2025

Enhancements

Bug Fixes

Obsidian 6.3.2

Released October 2025

Enhancements

  • Notification failures now trigger Dispatch category Error level event on first failure. For use in log alerts and Event Hooks.

Bug Fixes

  • Notification failures no longer log on every failure reducing chatty failure logs.
  • No-arg constructors added to multiple JSON serializable candidate POJOs missing them. Addresses GSON's workaround use of sun.misc.Unsafe.

Obsidian 6.3.1

Released August 2025

Bug Fixes

  • Fix failure response codes on REST health endpoint
  • Fix automatic upgrade issue from 6.1.0 to any of 6.2.0, 6.2.1, 6.3.0
  • Fix auth issue when MFA is enabled that allows REST access when account has been locked out due to MFA not being setup. Contact us if you need workaround details for earlier versions.
  • Fix native auth issue that allows REST access when account has been flagged as inactive.

Obsidian 6.3.0

Released July 2025

Features / Enhancements

Obsidian 6.2.1

Released June 2025

Bug Fixes

  • Certain recoveries greater than 24 hours using new day of month proximity patterns introduced in 6.2.0 would result in no jobs spawning.
  • Migrations targeting 6.0.0 and greater that start earlier than 5.0.0 skip the 5.0.0 migration. Migrating to any 5.x version first and then to 6.0.0 or later works around this issue.

Obsidian 6.2.0

Released May 2025

Features / Enhancements

Bug Fixes

  • Combination of table prefix, sorting by clob column and Oracle metadata load failure no longer results in sql error. This occurred in the UI when viewing raw job history results and in API calls for job runtime results.

Obsidian 6.1.1

Released March 2025

Features / Enhancements

Bug Fixes

  • Native authentication REST logins do not apply 'last login' timestamps. Avoids noisy error that was appearing in logs.

Obsidian 6.1.0

Released March 2025

Features / Enhancements

  • Native authentication now disables users after 4 invalid login attempts, either password or MFA code if applicable. Invalid attempts threshold is configurable.
  • Native authentication last login datetime displayed on list user screen.
  • Stronger licensing controls. Site and hardware licenses as of this version must be regenerated by Carfey Software and every 2 years. Contact us at licensing obsidianscheduler.com.

Bug Fixes

  • Native authentication password complexity pattern properly created and no longer overwritten on restart.

Obsidian 6.0.1

Released February 2025

Features / Enhancements

Bug Fixes

  • Native authentication user updates now support long passwords.

Obsidian 6.0.0

Released December 27, 2024

Features / Enhancements

  • Jakarta Servlet 5.0
    • Servlet container for Web Admin must support Jakarta Servlet 5.0 (e.g. Tomcat 10, Jetty 11)
  • Micronaut integration support
  • Groovy 4 support
  • Yaml configuration support[1]
  • Native authentication supports customizable password complexity requirements
  • XML support deprecated across the product including XML UI downloads, XML runner configurations and XML license leases.
    • Starting January 1st 2027, XML license lease requests will stop being processed. All Obsidian instances running using internet-verified licenses (including licence key proxies) will be required to use release 6.0.0 or later as of January 1st 2027.
    • Above noted XML support will be removed in the first Obsidian version released in 2027.
  • License leases use JSON payloads.

Obsidian 5.5.1

Released December 16, 2024

Bug Fixes

  • Admin only (no scheduler) UI no longer generates event hook errors while running nor during shutdown
  • Quick start installer file no longer generates errors during installation
  • A few small web UI enhancements

Obsidian 5.5.0

Released October 2024

Features / Enhancements

  • Event Hooks management available in UI, Embedded API and REST API.
  • Installer supports custom add on configurations Potential breaking change to automated installer files. [2]

Bug Fixes

  • Certain Cron expressions that fail to generate text descriptions no longer impact scheduling.
  • Text database columns were previously restricted to maximum length of MySQL implementation. Corrected to validate length via DB implementation.

Obsidian 5.4.0

Released June 2024

Features / Enhancements

Bug Fixes

  • Oracle identifier no longer too long when using prefixes.

Obsidian 5.3.0

Released March 2024

Features / Enhancements

Bug Fixes

Obsidian 5.2.1

Released January 2024

Features / Enhancements

Bug Fixes

  • Schedule descriptions are now updated after edits are applied in all UI screens and APIs.

Obsidian 5.2.0

Released December 2023

Features / Enhancements

Bug Fixes

  • Time picker buttons (hour, minute, AM/PM) in Job Activity filtering no longer change other elements of the selected time.
  • Cron pattern with LW and any other non-L value in day position no longer also incorrectly evaluates to last day.

Obsidian 5.1.1

Released June 2023

Bug Fixes

  • Native authentication no longer fails when user deletes are attempted from the UI.
  • Built in maintenance job Job History Cleanup no longer leaves deletion candidate CHAIN SKIPPED records in the JOB_HISTORY table in rare circumstances.

Obsidian 5.1.0

Released April 2023

Features / Enhancements

  • Schedule Aliases now support fragments for configuration-time substitutions.
  • New convenience job Database File Export Job for generating basic file extracts from database queries.
  • New convenience job REST Invocation Job for making simple REST calls and storing results.
  • Performance improvements in job failure handling.

Obsidian 5.0.4

Released February 2022

Features / Enhancements

  • Log4j2 2.17.1 as fix for RCE vulnerability where attackers can modify log4j configuration.
  • Restore missing default log4j2 configuration in installation artifacts.

Obsidian 5.0.3

Released December 2021

Features / Enhancements

  • Log4j2 2.17.0 as fix for DOS vulnerability
  • Fix native login issue showing as inactive on some databases.

Obsidian 5.0.2

Released December 2021

Features / Enhancements

Obsidian 5.0.1

Released December 2021

Features / Enhancements

Bug Fixes

  • Fix sporadic native login issue on some databases.
  • Formatting fix in quick installer file

Obsidian 5.0.0

Released August 2021.

Features / Enhancements

Footnotes

  1. If you are using automated installer files from previous releases, you will need to add an additional configuration item to choose between yaml and properties formats in UserInputPanel.0.
    <com.izforge.izpack.panels.UserInputPanel id="UserInputPanel.0">
            <userInput>
    ......snip......
                <entry key="config.format" value="yaml" />
    OR
                <entry key="config.format" value="properties" />
    ......snip......
            </userInput>
        </com.izforge.izpack.panels.UserInputPanel>
    
  2. If you are using automated installer files from previous releases, you will need to add a new section of xml as of Obsidian 5.5.0 to handle a new UserInputPanel. Immediately after the UserInputPanel.17 closing brace, add the following:
    <com.izforge.izpack.panels.UserInputPanel id="UserInputPanel.18">
    	<userInput>
    		<entry key="extra.log4j2.properties.1" value=""/>
    		<entry key="extra.log4j2.properties.2" value=""/>
    		<entry key="extra.log4j2.properties.3" value=""/>
    		<entry key="extra.log4j2.properties.4" value=""/>
    		<entry key="extra.log4j2.properties.5" value=""/>
    		<entry key="extra.log4j2.properties.6" value=""/>
    		<entry key="extra.log4j2.properties.7" value=""/>
    		<entry key="extra.log4j2.properties.8" value=""/>
    		<entry key="extra.log4j2.properties.9" value=""/>
    		<entry key="extra.log4j2.properties.10" value=""/>
    		<entry key="extra.log4j2.properties.11" value=""/>
    		<entry key="extra.log4j2.properties.12" value=""/>
    		<entry key="extra.log4j2.properties.13" value=""/>
    		<entry key="extra.log4j2.properties.14" value=""/>
    		<entry key="extra.log4j2.properties.15" value=""/>
    		<entry key="extra.log4j2.properties.16" value=""/>
    		<entry key="extra.log4j2.properties.17" value=""/>
    		<entry key="extra.log4j2.properties.18" value=""/>
    		<entry key="extra.log4j2.properties.19" value=""/>
    		<entry key="extra.log4j2.properties.20" value=""/>
    		<entry key="extra.carfey.properties.1" value=""/>
    		<entry key="extra.carfey.properties.2" value=""/>
    		<entry key="extra.carfey.properties.3" value=""/>
    		<entry key="extra.carfey.properties.4" value=""/>
    		<entry key="extra.carfey.properties.5" value=""/>
    		<entry key="extra.carfey.properties.6" value=""/>
    		<entry key="extra.carfey.properties.7" value=""/>
    		<entry key="extra.carfey.properties.8" value=""/>
    		<entry key="extra.carfey.properties.9" value=""/>
    		<entry key="extra.carfey.properties.11" value=""/>
    		<entry key="extra.carfey.properties.10" value=""/>
    		<entry key="extra.carfey.properties.12" value=""/>
    		<entry key="extra.carfey.properties.13" value=""/>
    		<entry key="extra.carfey.properties.14" value=""/>
    		<entry key="extra.carfey.properties.15" value=""/>
    		<entry key="extra.carfey.properties.16" value=""/>
    		<entry key="extra.carfey.properties.17" value=""/>
    		<entry key="extra.carfey.properties.18" value=""/>
    		<entry key="extra.carfey.properties.19" value=""/>
    		<entry key="extra.carfey.properties.20" value=""/>
    	</userInput>
    </com.izforge.izpack.panels.UserInputPanel>
    
  3. If you are using automated installer files from previous releases and had email configured, you will need to add a new section of xml as of Obsidian 5.2.0 to handle a new UserInputPanel. Immediately after the UserInputPanel.16 closing brace, add the following:
    <com.izforge.izpack.panels.UserInputPanel id="UserInputPanel.17">
        <userInput>
            <entry key="mail.type.selection" value="javax"/>
        </userInput>
    </com.izforge.izpack.panels.UserInputPanel>
    
  4. There is a possibility of a breaking change to Embedded or REST API use due to the need to change the User Role enumeration from a Java enum to an enum-style class to support this feature. Bringing in the upgraded Obsidian library and compiling should reveal any such broken use of these enumerations. Needed changes should be minor and self-explanatory.