Release Notes

From Obsidian Scheduler
Jump to: navigation, search

Please review our Upgrade Instructions.

Contents

Obsidian 2.9.0

Released November 2014.

Features / Enhancements

Bug Fixes

  • Ensure licence check multiple is at least 2 in System tab.
  • When recovering jobs which had died, new jobs were flagged as Overlapped instead of Missed.
  • All recovery type resulting in Abandoned jobs incorrectly.
  • Breadcrumbs incorrect when cloning a job.
  • JNDI cannot be used when the key does not start with "java:" prefix. [1]
  • Database connections not rolled back just before close when removed from the pool, resulting in warning log messages.
  • Sanitize HTTP headers, email subjects, etc. to prevent injection issues.

Obsidian 2.8.1

Released September 2014.

Features / Enhancements

  • New connection pool reaper to draw down pool size if usage allows.

Bug Fixes

  • More explicit handling of connection pool emptying on Obsidian shutdown.

Obsidian 2.8.0

Released September 2014.

Features / Enhancements

  • Login popup when session expires in admin web application. Users can now log back in without losing their changes.
  • Support for using context classloader via configuration property com.carfey.jdk.useContextClassLoader.
  • Reduced number of connections required for normal operation. Previously, up to 1 connection per job per minute was required.
  • Minor user interface improvements.
  • Support for re-queuing jobs rejected from the job thread pool (via parameter queueJobsOnPoolRejection).
  • Improved default log4j rolling file appender configuration.

Bug Fixes

  • Fix NullPointerException on job recovery when last job was rejected by the thread pool.
  • Fix rare instances of licences not being released due to token file issues
  • Fix poor validation message on saving if invalid boolean system parameter.

Obsidian 2.7.1

Released August 2014.

Features / Enhancements

  • REST authentication can be configured to be optional.
  • Cron pattern expansion. Support range increments (e.g. 3-20/5)

Bug Fixes

  • Fix NullPointerException in handling min/max setting of Abandoned jobs.
  • Obsidian lease verifications gracefully handle IP changes.
  • Upgraded to TLD 2.0 fixing Obsidian WAR deployment in JBoss 6.

Obsidian 2.7.0

Released July 2014.

Features / Enhancements

Bug Fixes

  • Fix page jumping when modifying job chain conditions on long pages.

Obsidian 2.6.1

Released June 2014.

Features / Enhancements

  • Cygwin support in startup/shutdown scripts.
  • Run parameters override configured parameters.

Bug Fixes

  • Oracle CLOB field storage fix.
  • Fix single-node mode on host with no recognizable NIC.
  • Prevent currently or soon to be running jobs from being deleted.
  • Fix multiple job history parameters failing on H2.

Obsidian 2.6.0

Released May 2014.

Features / Enhancements

Bug Fixes

  • Fixed Classpath Scanning to work in WebLogic 12c.
  • Fixed chain recovery date ranges being overly broad.
  • Ensure any stale timezone records are cleaned up.
  • Removed some libraries stored multiple times in installer.

Obsidian 2.5.1

Released April 2014.

Features / Enhancements

  • Expose convenience JobId and Nickname getters in Context.
  • Improved performance of chaining recovery.
  • JarJar bytecode modification support now includes gson.[2]
  • Introduced support for having a scheduler and non-scheduler instance running in same class-space.

Bug Fixes

  • Improved failure messaging when a scheduler node is started in a different time zone than the current nodes in the cluster.
  • Chain search filters aren't saved.
  • Exclude unneeded web jars from standalone installations.

Obsidian 2.5.0

Released March 2014.

Features / Enhancements

  • Retry Interval support for Auto Retry of failed jobs.
  • Global Job Parameter support.
  • JNDI Support for Database Connections and Email Sessions.
  • MariaDB 5.5 support.
  • JBoss AS 7 support.
  • Text filter on Job Chain View.
  • JarJar bytecode modification support during installation to avoid dependency conflicts.
  • Embedded API Javadoc artifact included in installation.

Bug Fixes

  • Support */2 cron expressions, Schedule Inputs extended to 255 characters.
  • REST API - JobListing.getJobs() was returning List<Job> instead of List<JobState>.
  • Support multiple keys in key server proxy.
  • Support VFS URLs in Classpath Scanner for JBoss.
  • Postgres failed on blank schema.
  • Job resubmission validates that job isn't disabled for next minute instead of current minute.
  • Embedded API - Delete Job would fail if job class has since been removed from classpath.
  • Job Listing schedule/state defaults to next minute.
  • Filters aren't saved consistently on search screens and never saved for runtime preview.
  • Table settings aren't saved on Job Listing.

Obsidian 2.4.1

Released February 2014.

Bug Fixes

  • Fix installer not working in console mode.
  • Ensure that defined job parameters and their values are returned in the original configured order.

Obsidian 2.4.0

Released February 2014.

Features / Enhancements

Bug Fixes

  • Fixed job execution recovery not working in some cases when the database is temporarily unavailable.
  • Fix PostgreSQL connections not released from pool properly when connection is invalid.
  • Fix Classpath Scanning on WebSphere.
  • Fix UI rendering issue on Jobs screen on WebSphere.

Obsidian 2.3.1

Released December 2013.

Features / Enhancements

  • New Script File Job
  • Improved responsiveness of job interrupts for built-in jobs.
  • UI tweak to Jobs screen to avoid displaying custom calendars when not in use.

Bug Fixes

  • Update default log configuration for Tomcat to use catalina.base, which works consistently on *nix platforms.
  • Remove redundant event logging for job success and failure in the Job Spawner category.
  • Handle releasing licences even when temp directory is not writable, and attempt to use working directory as a fallback.
  • Job names containing ampersands did not work as filters in search screens.
  • Host designator assigned earlier in startup to ensure logging accurately reports the host.

Obsidian 2.3.0

Released November 2013.

Features / Enhancements

  • Fully unified Embedded API which contains same operations and has same semantics as the REST API. The previous API is now deprecated.
  • REST API bean classes bundled in obsidian.jar for simplified Java integration.
  • Submission of one-time job runs via the UI now allows specifying exact minutes instead of 5 minute intervals.
  • Chaining evaluation is now fully recoverable. Processing of chaining now processed independently of job execution.
  • Dozens of UI tweaks and improvements.
  • Stale hosts in Systems tab now are pruned after about an hour of inactivity. Host disabling is preserved if the node is restored.
  • Graceful shutdown in Winstone for quick start method.
  • Custom Calendars can now be specified with multiple delimiters, including new lines and spaces.
  • Email Templates can now include the event category.
  • Track most recent upgraded version in the database.
  • Job runtime REST endpoint now defaults to a more useful previous 24-hour window.

Bug Fixes

  • Chain All setting not shown correctly when editing existing Jobs.
  • Abandoned, Missed and Conflict Missed chaining never fires.
  • Current scheduled state not shown correctly for existing jobs in Jobs in Winstone.
  • Export on Logs contained extra text in ID column.
  • Chained jobs now respect host restrictions.
  • Correct custom calendar reversed PUT/POST for REST API, and implement standardized date formatting.
  • UI table listings no longer flash error message when quickly navigating away during a request.
  • Legacy API calls no longer incorrectly start non-daemon threads for notifications and event logging.
  • Lock issues when evaluating many chained jobs.

Older releases

Obsidian 2.2.1

Released October 2013.

Features / Enhancements

Bug Fixes

  • Corrected issue where classpath scanning configuration values were being overridden back to default on each restart (introducted in 2.1).
  • Fix SchedulerStarter shutting down JVM in embedded mode.

Obsidian 2.2.0

Released October 2013.

Features / Enhancements

  • Spring Dependency Injection support.
  • File scanner job.
  • Python and Groovy libs updated. Python from jython.jar (version 2.5.2rc2) to jython-standalone-2.5.3.jar. Groovy from groovy-all-1.7.6.jar to groovy-all-2.1.8.jar.

Bug Fixes

  • DBAuthenticator is now defaulted configuration. Improved handling of bad configuration on startup.
  • Obsidian web app startup no longer attempts to start the scheduler with certain types of unrecoverable bad configuration.
  • Fixed issue where classpath scanner only worked in Admin Web Application if running with an embedded scheduler.
  • Fixed issue where Auto Failure Retry combined with triggered Job Chaining resulted in chaining failure.
  • Cleaned up Job History Search Results File Export that could contain garbage characters.
  • Fixed issue where job runtime preview fails when only disabled job state exists.
  • Fixed TRACE logging level - No logging output if level explicitly set to TRACE.
  • Remove unnecessary JAR files bundled with the installation package.

Obsidian 2.1.1

Released September 2013.

Features / Enhancements

Bug Fixes

  • Postgres schema support - only supported public schema.
  • LogCleanupJob does not validate specified LEVEL attribute.
  • LDAPAuthenticator assumed cn in building dn for authentication. Now configurable - see Advanced Configuration.
  • LDAPAuthenticator assumed only uniqueMember for group membership. Now also checks other common attributes, supporting ActiveDirectory. See LDAP Authenticator.
  • run.obsidian target execution classpath included in Obsidian bundle includes non-jar/non-resource files.
  • Site licence verification runs once on startup instead of every lease cycle.
  • Date parsing issue related to Locales on retrieving and refreshing licence. Fixed in release 1.2 of carfey-date.
  • In rare cases, job results in Job History listing could be mangled.
  • Proxy key server would fail on requests when run from time zones different from the master key server.
  • Oracle job results limited to 2000 characters - now unlimited on all platforms.

Obsidian 2.1

Released July 2013.

Features / Enhancements

Bug Fixes

  • Ensure all Event Log messaging to always use Display Name for enums.
  • Expand script job disabling to disable all potentially dangerous jobs.
  • Ensure internal class AnnotatedSchedulableJob is always excluded from available class listing in Job Admin.
  • Upgraded to more recent Oracle JDBC driver (11.2.0.3)
  • Various database metadata optimizations
  • Classpath scanner rescans on parameter changes.

Obsidian 2.0

Released June 2013.

Features / Enhancements

Bug Fixes

  • Improve logging of some trapped exceptions.
  • Improve handling of spawn locks to reduce contention.
  • Fix standalone execution from Ant script.

Obsidian 1.5.2

Released May 2013.

Features / Enhancements

  • Job nickname lengthened from 50 to 255 characters to allow more specific nicknames.
  • Database metadata loading restricted to known Obsidian application tables.
  • Add support in job listing endpoint for nickname and job custom parameter tag search.

Bug Fixes

  • Fixed JobHistoryCleanupJob failures that occurred when a record to be cleaned up had been interrupted.
  • Disallow failed job resubmission if the job is currently running. This prevents these resubmissions from potentially being ABANDONED due to execution duration exceeding pickup buffer minutes specified on the job. Job is available for resubmission once currently running job completes.

Obsidian 1.5.1

Released February 2013.

Features / Enhancements

  • Interruptable Jobs, including new REST API endpoint.
  • Spawning improvements to seek minute boundaries more consistently.
  • Runtime preview now defaults to start time to current time.
  • Improved licence handling for paid licences to increase reliability in case of outages.
  • A handful of minor UI tweaks and additions.

Bug Fixes

  • Fix connection handling when database connectivity is lost in spawner or queuer threads.
  • Fix criteria causing some running conflicts to be not found resulting in conflicted jobs running concurrently.
  • Improve messaging and details when failing to connect to MySQL.
  • Various UI fixes.
  • Events for jobs would sometimes be dispatched for the wrong target.

Obsidian 1.5

Released January 2013.

Features / Enhancements

  • REST API for a complete range of job, scheduling and host management features.
  • Export support in Excel, CSV and XML in Job History, Job, Job Runtimes, Log and Sent Notifications views.
  • Expected job run time parameters - See Expected Length. Events trigger in cases where execution duration is outside of defined threshold.
  • Display actual run duration in job history view
  • Enhance run once future date pattern to match actual future date. Contributes to consistency in job state absorption in new overlapping state ranges.
  • Allow single node to run without valid lease
  • Add 90/120 minutes pickup buffer option

Bug Fixes

  • Ad hoc submission validation text inconsistent
  • Job set to ad hoc active state would not allow one-time immediate submissions.
  • Workaround String indexoutofbounds issue with winstone server
  • Read-only users can submit one-time job runs.
  • Can't save unscheduled active job in postgresql
  • After saving new user, help icon disappears
  • MySQL - Audit columns hit truncation error when registered user is too long
  • Various display bugs

Obsidian 1.4.2

Bug Fixes

  • Lock wait timeout fix

Obsidian 1.4.1

Features / Enhancements

  • Conditional Chaining support.
  • Delete job support.
  • Job view filter inclusivity those with only future states.

Bug Fixes

  • Default initial sorts case insenstive
  • Status scheduling allowed for gaps
  • Failed conditional chain prevents scheduling of job
  • Schedule preview isn't ordered by effective date
  • JobHistory order by clause sometimes ignored

Obsidian 1.4

Features / Enhancements

  • View of saved job history results.
  • Add schedule shortcut link on Job view

Bug Fixes

  • Various display bugs


Footnotes

  1. If you are using automated installer files from previous releases and are using JNDI, you may add
    <entry key="database.jndi.name" value="yourJNDIPath"/>
    anywhere under the userInput element of UserInputPanel.3 and empty out the value for database.url. For example,
     <com.izforge.izpack.panels.UserInputPanel id="UserInputPanel.3">
       <userInput>
           <entry key="db.schema" value=""/>
           <entry key="database.url" value=""/>
           <entry key="database.password" value=""/>
           <entry key="database.table.prefix" value=""/>
           <entry key="database.connection.timeout" value="2000"/>
           <entry key="database.username" value=""/>
           <entry key="database.jndi.name" value="java:comp/env/jdbc/obsidianJNDI"/>
           <entry key="database.max.connections" value="40"/>
           <entry key="include.all.jdbc" value="false"/>
       </userInput>
     </com.izforge.izpack.panels.UserInputPanel>
    
  2. If you are using automated installer files from previous releases, you may add
    <entry key="jarjar.gson" value="true"/>
    or
    <entry key="jarjar.gson" value="false"/>
    according to your desired usage anywhere under the userInput element of UserInputPanel.14. For example,
    <com.izforge.izpack.panels.UserInputPanel id="UserInputPanel.14">
       <userInput>
           <entry key="jarjar.gson" value="false"/>
           <entry key="jarjar.jxl" value="false"/>
           <entry key="jarjar.dom4j" value="false"/>
           <entry key="jarjar.jmustache" value="false"/>
           <entry key="jarjar.opencsv" value="false"/>
           <entry key="jarjar.h2" value="false"/>
       </userInput>
    </com.izforge.izpack.panels.UserInputPanel>