These are the release notes for Ziggy. In the change log below, we'll refer to our internal Jira key for our benefit. If the item is associated with a resolved GitHub issue or pull request, we'll add a link to that. Changes that are incompatible with previous versions are marked below. While the major version is 0, we will be making breaking changes when bumping the minor number. However, once we hit version 1.0.0, incompatible changes will only be made when bumping the major number.
This release is coming out just before Halloween, and it's full of tricks and treats. Behind the scenes, we continued to buy down decades of technical debt. Are we finally getting close to paying off that loan? By eliminating the StateFile API (ZIGGY-465) and fixing ZIGGY-432, ZIGGY-454, and ZIGGY-478, the pipeline no longer stalls or crashes for mysterious reasons. We fixed a few UI annoyances like collapsing tree controls and Control-Click not working as expected on the Mac.
- Rename sub-task to subtask (ZIGGY-79)
- Use log4j2 conventions and features (ZIGGY-82)
- Provide means for clients/algorithms to add their software version to Ziggy's data accountability (ZIGGY-430)
- Fix Group design (ZIGGY-431)
- Refactor PipelineTask (ZIGGY-433)
- Limit console to operations (ZIGGY-441)
- Add PipelineInstanceIdOperations methods to PipelineInstanceOperations (ZIGGY-445)
- Support copying files to task directory without datastore (ZIGGY-446)
- Retrieve DatastoreRegexps from the database by name (ZIGGY-447)
- Locate consumed files used to produce a file (ZIGGY-448)
- Ensure importer can add and update module and pipeline definitions (ZIGGY-452)
- Write HDF5 files usable by Zowie (ZIGGY-455)
- Eliminate the need for programmatic appenders (ZIGGY-456)
- TaskMonitor doesn't change processing step from QUEUED to EXECUTING (ZIGGY-457)
- Add parameter retrieval to PipelineTaskOperations (ZIGGY-460)
- Check for new vs existing files in datastore (ZIGGY-461)
- Eliminate StateFile API (ZIGGY-465)
- Double-click resize is lost when table auto-update occurs (ZIGGY-297)
- Collapsing Parameter Library and Pipelines tree controls (ZIGGY-360)
- Can't halt SUBMITTED tasks (ZIGGY-424)
- Resume monitoring can't be stopped (ZIGGY-425)
- Race condition in pipeline workers (ZIGGY-432)
- Ziggy C++ Mex build tools set incorrect install name (ZIGGY-444)
- Warning alert clears error alert status (ZIGGY-450)
- Python distutils module removed from Python 3.12 (ZIGGY-451)
- Local processing crashes sporadically (ZIGGY-454)
- ZiggyQuery chunkedIn doesn't work (ZIGGY-462)
- Remote execution dialog can't parse numbers with commas (ZIGGY-463)
- Parameter API populates empty arrays (ZIGGY-468)
- Module parameter sets in HDF5 have incorrect field order values (ZIGGY-469)
- Worker never exits when subtask errors (ZIGGY-478)
- Control-Click clears selection on the Mac (ZIGGY-479)
- Exceptions when using pipeline instance filters (ZIGGY-489)
We fixed a confusing aspect of the user interface and a ton of bugs while we continued to buy down decades of technical debt. You can now halt tasks or instances from the command-line interface (CLI). We improved pipeline definitions by making datastore definitions more flexible and providing for user-specified data receipt unit of work (UOW) generators.
- Combine task state and p-state on tasks display (ZIGGY-166)
- Review Edit Trigger Validate button for deletion (ZIGGY-224)
- Untangle table hierarchies in pipeline definitions (ZIGGY-268)
- Put back the executableName attribute for pipeline modules (ZIGGY-281)
- Remove DatabaseModelRegistry and ConsoleDatabaseModel (ZIGGY-311)
- Merge CLI cancel and reset commands into a single halt command (ZIGGY-389)
- Replace isEmpty() with isBlank() (ZIGGY-395)
- Add regular expression support to data file type fileNameRegexp (ZIGGY-398)
- Remove last circular dependency in the ui package (ZIGGY-407)
- Support user-specified data receipt UOW generators (ZIGGY-408)
- Clean up CRUD proxies in console (ZIGGY-410)
- Move all database transactions to Operations classes (ZIGGY-419)
- Clean up Parameters namespace (ZIGGY-421)
- Pipeline doesn't error out when no UOWs are generated (ZIGGY-304)
- Remote ComputeNodeMaster instances exit prematurely (ZIGGY-353)
- Fix deprecated use of DefaultExecutor (ZIGGY-399)
- Can't rename a group (ZIGGY-402)
- Alerts panel shows hostname, not localhost (ZIGGY-403)
- A slow data receipt module freezes the console (ZIGGY-411)
- RemoteJob infrastructure doesn't detect failed jobs are finished (ZIGGY-414)
- Restarting local tasks with resubmit hangs (ZIGGY-415)
- Rename creates a copy of the pipeline (ZIGGY-416)
- Averaging module writes results in dataset/L3 (ZIGGY-417)
- Copy command behaves inconsistently (ZIGGY-418)
- Setting debug logging level on messaging package hoses RMI (ZIGGY-422)
v0.5.0: A major overhaul of the datastore, some UI improvements, and documentation for the command-line interface
The title pretty much says it all. There was also a lot of internal refactoring to buy down more technical debt.
- Review javadoc warnings (ZIGGY-126)
- Remove GUI code from ProcessHeartbeatManager (ZIGGY-261)
- Move remote execution configuration from parameters to pipeline node definition (ZIGGY-280)
- Remove timestamp from pipeline instance name when launched by event handler (ZIGGY-299)
- Add architecture and queue information to remote execution dialog (ZIGGY-306)
- Increase number of digits displayed by cost estimate (ZIGGY-352)
- Functionality inherited from Spiffy (ZIGGY-364)
- Create ZiggyCliTest and add documentation to user manual (ZIGGY-370)
- Remove security packages (ZIGGY-371)
- Eliminate default from unit of work machinery (ZIGGY-374)
- Refactor Parameters a bit more (ZIGGY-378)
- Redesign datastore and data file type APIs (ZIGGY-380)
- Implement subqueries in ZiggyQuery (ZIGGY-381)
- Simplify ZiggyConfiguration and reduce test fixtures (ZIGGY-382)
- Max worker count not set correctly (ZIGGY-302)
- Timestamp fields not initialized (ZIGGY-375)
- Reserved queue dialog issues (ZIGGY-377)
- Exceptions running ziggy.pl with missing properties (ZIGGY-391)
- Ziggy supervisor logging no longer goes to supervisor.log (ZIGGY-392)
As promised, the Halt tasks (formerly Kill tasks) and Restart tasks commands have been fixed, along with a handful other buglets.
- Remove option of UOW reuse (Incompatible change, ZIGGY-278)
- Replace == with equals for non-primitives (ZIGGY-287)
- Can't kill (local) tasks (ZIGGY-290)
- Can't restart tasks (ZIGGY-291)
- Incorrect number of downstream tasks (ZIGGY-303)
- Increase pause after starting database (ZIGGY-354)
- Undesired reprocessing (ZIGGY-361)
- Tests sometimes fail in Eclipse (ZIGGY-367)
- Unable to kill or restart tasks for first pipeline instance (ZIGGY-368)
- Close and Cancel buttons in wrong order on resources dialogs (ZIGGY-372)
- No transition after error resume (ZIGGY-373)
Last time we said that our next release will contain the result of replacing our TESS data analysis pipeline infrastructure with Ziggy. That work continues, so we'll try to get back into a regular cadence of releases to avoid astronomically large releases, like this one.
As promised, we reorganized our properties and eliminated the effects of 15 years of entropy. We also updated the version of Hibernate we use and updated the database schema.
The UI witnessed a major facelift, and runjava
was renamed to ziggy
and the --help
option works consistently with ziggy and its commands. The sample pipeline now uses an internal HSQLDB database, so it's even easier to try.
The version generator was redone to avoid rebuilding the world every time. Third-party sources have been moved from buildSrc
to outside,
where they are still safe from gradle clean
.
The Kill tasks
and Restart tasks
commands are broken and will be fixed shortly in 0.4.1.
- Switch to Hibernate 6 (Incompatible change, ZIGGY-5)
- Add additional queue support (ZIGGY-92)
- Review handling of checked exceptions (ZIGGY-149)
- Clean up of StateFile name / path management (ZIGGY-152)
- Respond to requested changes on Ziggy remote execution dialog (ZIGGY-167)
- Reorganization of console tabs and content (ZIGGY-169)
- Clean up properties (Incompatible change, ZIGGY-172)
- Replace ZiggyVersionGenerator / ZiggyVersion classes (ZIGGY-181)
- Implement parameter set groups (ZIGGY-221)
- Revise pipeline priorities (ZIGGY-225)
- Changes needed for TESS-Ziggy (ZIGGY-240)
- Implement subworkers (ZIGGY-242)
- Add per-module thread settings (ZIGGY-243)
- Switch sample pipeline to HSQLDB (ZIGGY-250)
- Second Generation Messaging System (ZIGGY-259)
- Refactor OpsInstancesPanel (ZIGGY-263)
- Remove BeanWrappers class (ZIGGY-301)
- runjava --help should provide help for (ZIGGY-155)
- Incorrect version of wrapper jarfile (ZIGGY-196)
- Configuration is mutable and use of system properties is misleading (ZIGGY-201)
- cluster init --force can't delete write-protected files (ZIGGY-231)
- Fix Remote Execution typical wall time label (ZIGGY-232)
- Remote parameter set not updated by remote execution dialog (ZIGGY-233)
- Ziggy FileUtil.cleanDirectoryTree() fails with symlinks (ZIGGY-236)
- ZiggyTable wrapping text doesn't support text color (ZIGGY-246)
- A little time in the great outdoors, er, outside (ZIGGY-247)
- Improve runjava console user experience (ZIGGY-251)
- Database classes have ambiguous versioning (ZIGGY-256)
- Remove task counts from PipelineInstanceNode (ZIGGY-262)
- Delay task request messages until tasks are committed to database (ZIGGY-269)
- Unable to start pipeline from selected node (ZIGGY-270)
- Allow ZiggyCppPojo to use correct compiler for a given source file (ZIGGY-279)
- Editing a parameter clobbers other parameters in the set (ZIGGY-286)
This release includes a fix to our CITATION.cff courtesy of @dieghernan.
We are now working towards replacing our TESS data analysis pipeline infrastructure with Ziggy. Our next release will contain the result of that work. It's a large effort and we expect it to take at least two months if not longer.
We are still planning to reorganize our properties and eliminate the effects of 15 years of entropy. We'll also be updating the version of Hibernate we use and anticipate updating the database schema as a result. You have been warned! This will occur before the 1.0 release to maximize our chances of stability after that.
- Correct conference section in CITATION.cff (ZIGGY-241, pull #1)
This release includes an update to the Gradle build system and an upgrade of Java to Java 17. It introduces an event manager system so that Ziggy can respond automatically to external events. The user manual was expanded to cover this feature and a few others.
We are planning to reorganize our properties and eliminate the effects of 15 years of entropy. We'll also be updating the version of Hibernate we use and anticipate updating the database schema as a result. You have been warned! This will occur before the 1.0 release to maximize our chances of stability after that.
- Upgrade to Java 17 (Incompatible change, ZIGGY-22)
- Add static analysis to build (ZIGGY-30)
- Create prototype event manager system (ZIGGY-119)
- Clean up unit test execution on Gradle (ZIGGY-180)
- Create user manual, part II (ZIGGY-193)
- Remove Sockets from Subtask Server and Client (ZIGGY-199)
- Update copyright (ZIGGY-220)
- Fix build warnings in both src and buildSrc (ZIGGY-142)
- Delete setPosixPermissionsRecursively with a single permission (ZIGGY-197)
- Ziggy "keep-up" processing fails (ZIGGY-204)
- Correct P1 bugs identified by SpotBugs (ZIGGY-207)
- NAS does not support Java 17 (Incompatible change, ZIGGY-234)
This release adds Previous, Next, and Up buttons to the user manual to make it easier to read cover to cover. We also added a CITATION.cff file to make it easier for you to cite Ziggy in your own work. Finally, we changed some 3-byte quotes to ASCII as these quotes could not be compiled if LANG is C.
We have updated the Gradle build system and Java to Java 17. This change will appear in version 0.3.0.
- Add "Prev", "Next", and "Up" buttons to user manual articles (ZIGGY-160)
- Update GitHub documentation (ZIGGY-200)
- Fix funny quotes in NASA notices (ZIGGY-188)
Once we uploaded our first version to GitHub, we could fill in some documentation TODOs like how to download the code.
We are still in the process of updating the build system Gradle and Java to at least Java 11 and possibly Java 17. We'll take advantage of post-Java 8 versions at that time. This change will appear in version 0.3.0.
- Ziggy reuse (ZIGGY-134)
- Update GitHub info in manual (ZIGGY-192)
This is the first Ziggy release to appear on GitHub. The major number of 0 indicates that we're still refactoring the Kepler and TESS codebases and reserve the right to make breaking changes from time to time as we make the pipeline more widely useful. However, the general pipeline infrastructure has been in production use since Kepler's launch in 2009.
This is the first Ziggy release.
We are in the process of updating the build system Gradle and Java to at least Java 11. It's possible that we will take advantage of post-Java 8 versions at that time. This change will appear in version 0.3.0.
This release was overtaken by events. This release came and went before we got authorization to push our code to GitHub.