Repository navigation
Releases: BrenKenna/TaskTide
Release list
TaskTide - v1.0.0
TaskTide Release
Overview
Release: version 1 release
Date: 2026-10-05
Release type: launch
Summary
Release acts as the milestone for TaskTide as its official launch 🌊🎉🎊. These exciting times close out the refactoring of TaskTide from production scale-outs of our use-cases.tasktide.org. Which lead to an array of architectural, operational, and security improvements.
Insights from the use-cases.tasktide.org production use-cases lead to refinements such as ManagerCommand interface for providing the TUI and WebUI with an expressive and approachable CQRS interface structure for interacting with TaskTide backend. De-centralized leader election driven mutex to enqueue the read/write requests of distributed compute resources to shared storage resource. Lets TaskTide to support database services (Postgres, Microsoft, MongoDB), and embedded databases (RocksDB, SQLite) , enabling it's heterogeneous deployments.
A much more intuitive division of labour for parallellism of the TaskTide-Engine. Which uses an EngineWorker entrypoint to expose parallel/serial processing capabilities, Traverser as the intermediary unit that dispatches work acquired by EngineWorker into clean use of EngineObserver lifecycle points and transitions. Further explores the concepts of WorkloadAcquisitions using a simple policy driven approach, allowing users to simply "punch-card" their requirements, and take full advantage of how Engine instances can ride along sets of workload collections (Sequential, Round Robin), and how it consumes the elements of that work (Exhaustive, Scanner). Integrating these features with additional WorkItem lifecycle phases of Hault, and Hold to provide additional operational parameters to how production workloads are processed. As well as providing workload introspection capabilities to the execution environments by passing down job & task identitifiers to them. Along with an array of other system updates, these elements act harmoniously to make a stable release, from an expansive CI that relies on an expressive test taxonomy.
Specific to this release is a broad structural refactoring and clean architectural refinements to the ItemStore and code cleans around expception handling and representation. Where a LockStrategy, and ConnectionStrategy are introduced to own their respective ItemStore mutex and connection lifecycle. So that the AbstractItemStore can orchestrate ItemStore operations through this interface, through a "single place".
Much needed TUI refinements were also brought in for data representation & build-release operational hygiene. Where the TaskTide splash text is compiled into the app, adds version to the client app through its build jar manifest configuration, and tidies up the TUI help text.
Highlights
- Accepts version bumps for Jakarta-NoSQL (v1.18), DaniloPianni Maven Publishing Lib.
- Broad code clean on exception handling particuarly for the mutex lid. Which were useful at the time for developing algorithm, but maturity requires exception clarity.
- Normalizes use of common mutex helper methods to utils, improving use of TimeUnit and appropriate interrupted exception.
- Clears ex.printStackTrace()/System.out.println from production src/main branches, test is fine.
- Refactors ItemStore packaging structure, and introduces Strategies to better organize responsibilities.
- Separate ItemStore strategies each now own lock and connection, allowing the AbstractItemStore to simply orchestrate operations through a central locked-connection lifecycle. Greatly improved clarity of the package, and testability for future versions.
- Normalizes concrete ItemStoreExceptions to ItemStoreChecked/Unchecked exceptions.
- Cleans and organizes ItemStore directory through the AbstractItemStore construction, deprecating old method.
- Makes the master/protoDB path fields accessible to children, incombination with clean directory use resolved infinite loop detected in GH-actions tests. As lock fails to create on non-existent thing.
- SQLiteStore open/close connections define database file under master/protoDB path fields.
- Organizes use of ItemStoreSession through AbstractItemStore locked-connection lifecycle for further exploration in v2. Which may introduce an intmediary abstract class between AIS and concrete stores, so that the concrete stores are solely a wrapper for reading/writing Items to their DB (which will likely bring a third concrete store for verification/refinement).
- CoreLib ItemStoreRepository fetch store map uses new refactored, greatly improved ItemStore config and helped debug use of refactored ItemStore design released here for v1.
- Compiles the splash text into terminal UI.
- Adds version and client info into jar manifest configuration.
- Cleans the TUI help message
Notes for next version
- ItemStoreSession
- Further explore ManagerCommand interface for simpler REST endpoints
- WebUI + Authentication scheme
- Hateoas test code
Release Versions
| Module | Version From | Version To | Released? |
|---|---|---|---|
mutex |
v0.9.5 l |
v1.0.0 |
✅ |
parser |
v0.9.5 l |
v1.0.0 |
✅ |
itemstore |
v0.9.5 l |
v1.0.0 |
✅ |
core |
v0.9.5 l |
`v1.0.0`` | ✅ |
engine |
v0.9.5 l |
v1.0.0 |
✅ |
api |
v0.9.5 l |
v1.0.0 |
✅ |
tasktide |
v0.9.5 l |
v1.0.0 |
✅ |
Only modules whose versions change need to be released. Unchanged modules should retain their existing versions.
Relevant Modules
List the modules affected by this release and briefly explain their involvement.
mutex— cleaner use of exceptions and loggingparser— print versionitemstore— introduced locked-connection lifecycle strategycore— minor exception handling etcengine— minor exception handling etcapi— minor exception handling etctasktide— embeds version+splash text, cleans TUI help test
Module Releases
mutex
Version: 1.0.0
Previous version: v0.9.5
Changes
- Cleaner use of exceptions and logging
Breaking Changes
NA
Migration Notes
NA
parser
Version: v1.0.0 **Previous version:** v0.9.5`
Changes
- Adds version scan
Breaking Changes
NA
Migration Notes
NA
itemstore
Version: v1.0.0
Previous version: v0.9.5
Changes
- Introduces locked connection strategy (ItemStoreLockStrategy & ItemStoreConnectionStrategy).
- Refines AbstractItemStore to orchestrate passing ItemStore operations through this managed locked-connection lifecycle.
- Organizes ItemStoreSession through AbstractItemStore locked-connection lifecycle.
- Uses dedicated ItemStoreOperation and ThrowableItemStoreOperation to note these methods.
- Structural refactoring moves DbTarget and ItemStoreType to types,
Breaking Changes
- Structural refactoring moves DbTarget and ItemStoreType to types.
Migration Notes
- Minor and picked up by IDE
core
Version: v1.0.0
Previous version: v0.9.5
Changes
- Cleaner use of exceptions and logging.
- ItemStore map initialized through single locked-connection lifecycle to optimize configuration.
Breaking Changes
- NA
Migration Notes
NA
engine
Version: v1.0.0
Previous version: v0.9.5
Changes
- Cleaner use of exceptions and logging
Breaking Changes
- NA
Migration Notes
NA
api
Version: v1.0.0
Previous version: v0.9.5
Changes
- Cleaner use of exceptions and logging
Breaking Changes
- NA
Migration Notes
NA
tasktide
Version: v1.0.0
Previous version: v0.9.5
Changes
- Cleaner use of exceptions and logging.
- Embeds TaskTide splash text into app.
- Adds project version to manifest JAR through build.
- Cleans the help text display.
- Adds version argument.
Breaking Changes
- NA
Migration Notes
NA
Compatibility / Dependencies
Document important version relationships between components.
| Component | Depends On | Required Version |
|---|---|---|
Compatibility Notes
NA
Breaking Changes
- MetricData, and MetricProfile class field changed to metricType
Migration Notes
- Not with this version, future versions past v1 will include a full announcement suite.
Publication
Pre-release
- [ ✅ ] Clean build completed.
- [ ✅ ] All tests pass.
- [ ✅ ] Javadocs generated successfully.
- [ ✅ ] No unexpected dependency resolution changes.
- [ ✅ ] Published artifacts verified locally.
Module Verification
- [ ✅ ]
mutex. - [ ✅ ]
parser. - [ ✅ ]
itemstore. - [ ✅ ]
core. - [ ✅ ]
engine. - [ ✅ ]
api. - [ ✅ ]
tasktide.
Runtime / Integration Verification
- [ ✅ ] CLI/application starts successfully.
- [ ✅ ] Core workflows verified.
- [ ✅ ] API verified.
Publication
Pre-release
- [ ✅ ] Versions updated in
gradle.properties. - [ ✅ ] Release notes completed.
Publish
- [ ✅ ] Component artifacts published.
- [ ✅ ] Aggregate
tasktideartifact published. - [ ✅ ] OM dependencies verified.
- [ ✅ ] Signatures verified.
- [ NA ] This version is not published to Maven Central, because v1.0.0 is next week.
- [ ✅ ] Published artifacts available from docker hub.
Post-release
- [ ✅ ] Git tag pushed.
- [ ✅ ] GitHub release created.
- [ ✅ ] Documentation updated.
- [ ✅ ] Next development versions/configuration prepared.
Release Notes
- Accepts version bumps for Jakarta-NoSQL (v1.18), DaniloPianni Maven Publishing Lib...
TaskTide - v0.9.5
TaskTide Release
Overview
Release: v0.9.5 - vulnerability patches
Date: 24/09/2026
Release type: breaking and maintenance, no maven central
Summary
The release comes with breaking changes that greatly improves the security posture of the TaskTide-WebAPI, and libraries that use the TaskTide-CoreLib.
Starting with the core lib, the JsonRepository is officially dropped. The library was very useful for developing out the the TaskTide-Repository, and TaskTideService interfaces. So that the rest of the code base could be built while specifics around the ItemStore, or using the Jakarta-NoSQL Template and JPA stacks could be figured. Since they are robustly so, this non thread safe package is dropped entirely.
Additionally, CodeQL picked up non-sanitized use of query fields which could introduce CWE-89 and CWE-564. Rather than target the JpaRepository specifically. A standardized validation method is implemented onto the AbstractRepository which resolves to it being applied across repository instances, so it's a better security and general use improvement. Additionally, in keeping with CWE motivation, suspicious query fields as input are dropped (too long based on TaskTideModel average, letters only etc).
Tightening some general practice elements too such as standardizing the use TimeUnit for ThreadSleeps, as well as using one method that is well defined. Clipping any trailing Exception.printTrace(), or too broad exception handling. Mutex library was particular perpetrator here, which helped debugging the nuances of the algorithm when there was a number of simultaneous plates spinning. It greatly helped then, but not anymore as its maturity "grows".
Another security vulnerability was evaluated on the WebAPI for XCS, Web-API explicitly declares JSON as it REST contract via JSON-B and handled that way. The specific CWE-79 alert is currently felt as a false positive because JSON-B is used to serialize json string, and no HTML is generated at all (no is it planned to). That said v2 plans to deliver a full website, so that TaskTide can run as a deployable platform, so these issues are big targets for future releases. But again, it's not intended that a REST-API will generate anything other than JSON for the frontend. But such malicious behaviors are planned to examined within their appropriate context.
Deprecates the old TaskTracker interface on TaskTide-Engine, as the Traverser & WorkloadAcquisitionPolicy is much more stable, mature, and improved design.
Highlights
- Evaluates and addresses CWE-89, and CWE-564 alerts
- Evaluates and addresses CWE-79 alerts
- Drops the JsonRepository
- Adds query field eval to AbstractRepository.
- General code clean
- Deprecates the old TaskTracker interface on TaskTide-Engine. Keeping one big removal per release atm.
Notes for next version
- Continues code clean around ex.printStack trace
- Tidies up the help print.
- Adds a version argument to TaskTide.
- Tidies the TaskTide splash, would prefer a more explicit tie.
- Remove TaskTide-Engine-TaskTracker.
Release Versions
| Module | Version From | Version To | Released? |
|---|---|---|---|
mutex |
v0.9.2 l |
v0.9.5 |
✅ |
parser |
v0.9.2 l |
v0.9.5 |
✅ |
itemstore |
v0.9.2 l |
v0.9.5 |
✅ |
core |
v0.9.2 l |
`v0.9.5`` | ✅ |
engine |
v0.9.2 l |
v0.9.5 |
✅ |
api |
v0.9.2 l |
v0.9.5 |
✅ |
tasktide |
v0.9.2 l |
v0.9.5 |
✅ |
Only modules whose versions change need to be released. Unchanged modules should retain their existing versions.
Relevant Modules
List the modules affected by this release and briefly explain their involvement.
mutex— Java hygieneparser— Consistency for v1itemstore— Consistency for v1core— CWE patchesengine— Java hygiene, TaskTracker deprecationapi— CWE patchestasktide— CWE patches, and java hygiene
Module Releases
mutex
Version: v0.9.5
Previous version: 0.9.2
Changes
- Java hygiene dropping ex.printStackTraces, or too broad exception handling etc
Breaking Changes
NA
Migration Notes
NA
parser
Version: v0.9.5
Previous version: v0.9.2
Changes
- Consistency for v1
Breaking Changes
NA
Migration Notes
NA
itemstore
Version: v0.9.5
Previous version: v0.9.2
Changes
- Consistency for v1
Breaking Changes
NA
Migration Notes
NA
core
Version: v0.9.5
Previous version: v0.9.2
Changes
- AbstractRepository query field is sanitized
- JobEnvironment class field changed to jobType
- MetricData, and MetricProfile class field changed to metricType
Breaking Changes
- MetricData, and MetricProfile class field changed to metricType
Migration Notes
- Not with this version, future versions past v1 will include a full announcement suite.
engine
Version: v0.9.5
Previous version: v0.9.2
Changes
- Java hygiene dropping ex.printStackTraces, or too broad exception handling etc.
- Deprecates the old TaskTracker interface on TaskTide-Engine, as the Traverser & WorkloadAcquisitionPolicy is much more stable, mature, and improved design.
Breaking Changes
- <None / description>
Migration Notes
<Migration instructions, if applicable.>
api
Version: v0.9.5
Previous version: v0.9.2
Changes
- Explicitly declares JSON via JSON-B is the contract for REST resources
Breaking Changes
NA
Migration Notes
NA
tasktide
Version: v0.9.5
Previous version: v0.9.2
Changes
- Evaluates and addresses CWE-89, and CWE-564 alerts
- Evaluates and addresses CWE-79 alerts
- Drops the JsonRepository
- Adds query field eval to AbstractRepository.
- General code clean
Breaking Changes
- MetricData, and MetricProfile class field changed to metricType
Migration Notes
- Not with this version, future versions past v1 will include a full announcement suite.
Compatibility / Dependencies
Document important version relationships between components.
| Component | Depends On | Required Version |
|---|---|---|
Compatibility Notes
NA
Breaking Changes
- MetricData, and MetricProfile class field changed to metricType
Migration Notes
- Not with this version, future versions past v1 will include a full announcement suite.
Publication
Pre-release
- [ ✅ ] Clean build completed.
- [ ✅ ] All tests pass.
- [ ✅ ] Javadocs generated successfully.
- [ ✅ ] No unexpected dependency resolution changes.
- [ ✅ ] Published artifacts verified locally.
Module Verification
- [ ✅ ]
mutex. - [ ✅ ]
parser. - [ ✅ ]
itemstore. - [ ✅ ]
core. - [ ✅ ]
engine. - [ ✅ ]
api. - [ ✅ ]
tasktide.
Runtime / Integration Verification
- [ ✅ ] CLI/application starts successfully.
- [ ✅ ] Core workflows verified.
- [ ✅ ] API verified.
Publication
Pre-release
- [ ✅ ] Versions updated in
gradle.properties. - [ ✅ ] Release notes completed.
Publish
- [ ✅ ] Component artifacts published.
- [ ✅ ] Aggregate
tasktideartifact published. - [ ✅ ] OM dependencies verified.
- [ ✅ ] Signatures verified.
- [ NA ] This version is not published to Maven Central, because v1.0.0 is next week.
- [ ✅ ] Published artifacts available from docker hub.
Post-release
- [ ✅ ] Git tag pushed.
- [ ✅ ] GitHub release created.
- [ ✅ ] Documentation updated.
- [ ✅ ] Next development versions/configuration prepared.
Release Notes
- No Maven Central publication because TaskTide-v1.0.0 is planned for next week
- Adds TaskTideModelType as an attribute on the AbstractRepository.
- Drops JsonRepository breaking changes.
- Deprecates the Engine-TaskTracker
- Explicitly declares JSON as contract for REST resources.
- Refines and standardizes the use and handling of thread sleep.
- Sanitizes query by field on AbstractRepository level for use across all instances. Improving security profile of JPA, and SQLite-ItemStore.
- Tidies up "too broad exception" bugs, and system.out print statements.
- Adds test code assembly to CI. So that it's included with the already present src assembly. Blocks future issues where test matrix start, but fail because the JsonRepository, or some other removed/adjusted dependency is missed by IDE.
- Deprecates the old TaskTracker interface on TaskTide-Engine, as the Traverser & WorkloadAcquisitionPolicy is much more stable, mature, and improved design.
Added
- NA
Breaking Changes
-
MetricData, and MetricProfile class field changed to metricType
-
No migration with this version, but future versions past v1 will include a full announcement suite.
Address CWE Vulnerabilities
- CWE-79, CWE-89, and CWE-564
Removed
- JsonRepository
Deprecating
- Deprecates the old TaskTracker interface on TaskTide-Engine, as the Traverser & WorkloadAcquisitionPolicy is much more stable, mature, and improved design.
- Wanted to keep versions to one big removal/
TaskTide - v0.9.2
TaskTide-v0.9.2 Release
Overview
Release: v0.9.2 - version bumps
Date: 22/09/2026
Release type: maintenance and bug fixes
Summary
The release comes with establishing an official CI/CD pipeline for TaskTide, and git ops practices for efficacy aided by OpenSSF scorecard, dependabot, and CodeQL The release organises TaskTide versioning, resolves versions flagged as stable, and formalizes the test taxonomy of TaskTide. All libraries are being incremented for convenience sake until v1, which becomes more strict.
Resolves a system breaking version bump of Jersey, which pulled down a later version of yasson that did not support old TaskTide-StateSummary JSON SerDe whose key was a generic. After trialing different versions to avoid patching. Refactored the StateStateSummary into a much cleaner and test expressive design. JerseyBOM Bump PR = #15. While the library hitting this in its system test was the TaskTide-WebAPI. The actual library hitting this was the TaskTide-Core Lib whose test suite was passing. While yasson bump was flagged by dependabot, the Jersey bump was applied first, only relevant to the Web-API. Meaning that the core lib would not detect it until its own yasson bump.
Brings in non-breaking features like passing down ItemTask annotations, WorkItemId, and ItemTaskId as environmental variables to Process Builder. So that info is accessible to active task facilitating actions like equeuing a future task or backend DB ops/introspection & coordination. Which plays well with v9.0.0 adding Hault and Hold States, allowing users more flexibility in graceful engine tear downs, and pipelining. Result set size repository configuration to prevent whole table scans. Adds an AbstractRepository, and transaction operator for JPA. Noted for competing threads on tatic singleton TaskTideService, non-normal use. Patches StateSummary interface with a cleaner, and more stable design following yasson version bump error.
Breaking change: Moves Hateoa to test base. Holding ItemStore-Session because of it’s use a inner class. Simiarlly for OIDC on request filter.
Highlights
- Formalizing TaskTides test taxonomy and CI/CD pipeline.
- Version bumps and required patches.
- Breaking change: Moves Hateoa to test base. Holding ItemStore-Session because of it’s use a inner class. Simiarlly for OIDC on request filter.
Release Versions
| Module | Version From | Version To | Released? |
|---|---|---|---|
mutex |
v0.9.1-historical | v0.9.2 |
✅ |
parser |
v0.9.1-historical | v0.9.2 |
✅ |
itemstore |
v0.9.1-historical | v0.9.2 |
✅ |
core |
v0.9.1-historical | v0.9.2 |
✅ |
engine |
v0.9.1-historical | v0.9.2 |
✅ |
api |
v0.9.1-historical | v0.9.2 |
✅ |
tasktide |
v0.9.1-historical | v0.9.2 |
✅ |
Relevant Modules
List the modules affected by this release and briefly explain their involvement.
mutex— Accepts a set of version updates from project central dependency list like log4j, JUnit etc.parser— Accepts a set of version updates from project central dependency list like log4j, JUnit etc.itemstore— Accepts a set of version updates from project central dependency list like log4j, JUnit etc.core— Broader set of version bumps, and StateSummary refactor.engine— Accepts a set of version updates from project central dependency list like log4j, JUnit etc.api— Broader set of version bumps.tasktide— Broader set of version bumps.
Module Releases
mutex
Version: 0.9.2
Previous version: 0.9.1-historical
Changes
- Accepts version bumps from central project gradle.build.
Breaking Changes
NA
Migration Notes
NA
parser
Version: 0.9.2
Previous version: 0.9.1-historical
Changes
- Accepts version bumps from central project gradle.build.
Breaking Changes
NA
Migration Notes
NA
itemstore
Version: 0.9.2
Previous version: 0.9.1-historical
Changes
- Accepts version bumps from central project gradle.build.
- Updates RocksDB and SQLite driver versions.
Breaking Changes
NA
Migration Notes
NA
core
Version: 0.9.2
Previous version: 0.9.1-historical
Changes
- Broader set of version bumps to Hibernate, HikariCP, Jakarta-NoSQL.
- StateSummary refactored for yasson-4.
Breaking Changes
NA
Migration Notes
NA
engine
Version: 0.9.2
Previous version: 0.9.1-historical
Changes
- Accepts version bumps from central project gradle.build.
Breaking Changes
NA
Migration Notes
NA
api
Version: 0.9.2
Previous version: 0.9.1-historical
Changes
- Broader set of version bumps to Hibernate, HikariCP, Jakarta-NoSQL, Jersey, Jakarta-WS, Jetty, Nimbus Smallry for OIDC and JWT.
- StateSummary refactored for yasson-4.
Breaking Changes
NA
Migration Notes
NA
tasktide
Version: 0.9.2
Previous version: 0.9.1-historical
Changes
- Accepts version bumps from central project gradle.build.
- Applies version bumps for Jakarta-NoSQL, Hibernate etc for utility methods that fetch these from CDI containers.
- Applies version bumps for Arc, and Weld.
Breaking Changes
NA
Migration Notes
NA
Compatibility / Dependencies
Document important version relationships between components.
| Component | Depends On | Required Version |
|---|---|---|
Compatibility Notes
NA
Breaking Changes
List breaking changes across the release.
api: Moves hateoas, manager cmd resource, and OIDC to test code base.
Migration Notes
No migration required.
Verification
Build
- [ ✅ ] Clean build completed.
- [ ✅ ] All tests pass.
- [ ✅ ] Javadocs generated successfully.
- [ ✅ ] No unexpected dependency resolution changes.
- [ ✅ ] Published artifacts verified locally.
Module Verification
- [ ✅ ]
mutex. - [ ✅ ]
parser. - [ ✅ ]
itemstore. - [ ✅ ]
core. - [ ✅ ]
engine. - [ ✅ ]
api. - [ ✅ ]
tasktide.
Runtime / Integration Verification
- [ ✅ ] CLI/application starts successfully.
- [ ✅ ] Core workflows verified.
- [ ✅ ] API verified.
Publication
Pre-release
- [ ✅ ] Versions updated in
gradle.properties. - [ ✅ ] Release notes completed.
Publish
- [ ✅ ] Component artifacts published.
- [ ✅ ] Aggregate
tasktideartifact published. - [ ✅ ] OM dependencies verified.
- [ ✅ ] Signatures verified.
- [ ✅ ] Published artifacts available from Maven Central.
- [ ✅ ] Published artifacts available from docker hub.
Post-release
- [ ✅ ] Git tag pushed.
- [ ✅ ] GitHub release created.
- [ ✅ ] Documentation updated.
- [ ✅ ] Next development versions/configuration prepared.
Release Notes
Release formalizes TaskTides test taxonomy and CI/CD pipeline, applies version bumps and required patches.
Release includes Breaking change: Moves Hateoa to test base. Holding ItemStore-Session because of it’s use a inner class. Simiarlly for OIDC on request filter.
Added
- ItemTask Custom Annotations and Id attributes are passed down to the ProcessBuilder as environmental variables.
Changed
- Applies version bumps.
Fixed
- StateSummary JSON SerDe for yasson >= 4.
Removed
Breaking
- Moves Hateoas and OIDC to test code base.
v0.9.1-historical
Aggregates the buggey but relevant landmark historical commits coming from observations of using TaskTide in different production settings
3f0b538 covers the first Bioinformatic workflow use-case. Where MVP was simply registering tasks via ItemStore into SQLiteDB, Workflow/Step definitions at this point, while present were not as heavily used. As a clear processing a list of WorkItem collections was preference here. Use-case while successful allowed to see areas where user-facing operations are weak, as well as what sort of wrangling goes into using. So the measurable components are move qualitative as getting a grasp on usability was priority. Use-case lead to massive development bringing in the Manager-CQRS interface, laid foundation for ItemStore-Semaphore noting utility in ItemStore session, as well noting that there is a neater implementation route that the engine can take.
e51273c after replicating the Bioinformatic workflow use-case, this covers the task-binding semantics and taking some of the low hanging fruit notes of the engine. Production use noticed that the original FileChannelLock was not sufficient to ensure thread safety for file share on HPC. This is because the NFS does not hold the FileChannelLock as originally thought. Instead the FileChannelLock is owned by the node that job is running on. So this commit verified that some form of de-centralized database locking algorithm or a side car process would be needed. Preference was highly against side car job, because of the effort it places on user. So a decentralized leader election workflow was designed, in addition to noting that each read/write requires a mutex. Looked at the notion of creating sessions through which an operation on a TaskTide database could be taken, and various forms here like a set of operations, over a map of databases. In addition to separate elements such as TestContainers framework for unit-testing.
239a7c2 commit brought semaphore MVP to TaskTide. Noting that the contributions since this version and now were, Engine Refactoring (Engine Worker, Traverser etc), WebAPI, Formalizing the Test Taxonomy for CI, Maven publication, tasktide.org community and https://use-cases.tasktide.org/ registry etc
Release variables
REPO="https://github.com/BrenKenna/TaskTide.git"
COMMIT="239a7c2bf04ff0a0907b6bd3ad649aa9649f62d6 e51273c 3f0b538"
DATE="26/02/19 25/10/24 25/08/18"
VERSION="v0.9.1"
CI_WORKFLOW=https://github.com/BrenKenna/TaskTide/actions/runs/34994163358
Please Note
Given CI ignore the source code for this version, instead use the zip or maven artifacts.
Tightening of future versions to a docker hub, and maven central artifcact come v0.9.2+
v0.9.1 is a historical release. Bascially takes an old version of TaskTide that did work, but had some issues. This release version takes a snapshot under current CI framework, but notes how later commits had resolved some of the bugs. So it's a way to acknowledge development effort.
Where v0.9.2 puts versioning back ontrack and future focused. Where it applies and resolves dependabot versioning increments and debugs any trailing dockerHub publishing and maven publishing.
v0.9.3 applies and resolves CodeQL security flag possible one at a time
v0.9.4 takes the other security flags from DH but these all seem to be from having used temurin and not strictly TaskTide it seems.
v1.0.0 completes these trailing aspects under CI framework & formailzed test taxonomy
v0.9.0
Completes Containerized AI Deployment Use-Case and Maven Central Publication:
Collection of updates optimizing how the engine processes workflows. Allowing users more granular control mechanisms for targeting specific task collection, and loosens engine runtime workflow definition to user-defined step sequence. Configurations for log streams and Mutex configs. Integrating these updates with Manager Command interface for Step, and Workflow interactions. Updating the micro-profile config to latest version
Adds Hault and Hold States, allowing users more flexibility in graceful engine tear downs, and pipelining. Result set size repoistory configuration to prevent whole table scans.
Packages TaskTide, and TaskTide + Apptainer into deployable images. Verified with AI Mario Train and Play Agent.
Release variables
REPO="https://github.com/BrenKenna/TaskTide.git"
COMMIT="e354bbf3c47f28654b80cbc8b85904d1765b9698"
DATE="2026-08-19"
VERSION="v0.9.0"
CI_WORKFLOW=https://github.com/BrenKenna/TaskTide/actions/runs/34994163358
Please Note
Given CI ignore the source code for this version, instead use the zip or maven artifacts.
Tightening of future versions to a docker hub, and maven central artifcact come v0.9.2+
v0.9.1 is a historical release. Bascially takes an old version of TaskTide that did work, but had some issues. This release version takes a snapshot under current CI framework, but notes how later commits had resolved some of the bugs. So it's a way to acknowledge development effort.
Where v0.9.2 puts versioning back ontrack and future focused. Where it applies and resolves dependabot versioning increments and debugs any trailing dockerHub publishing and maven publishing.
v0.9.3 applies and resolves CodeQL security flag possible one at a time
v0.9.4 takes the other security flags from DH but these all seem to be from having used temurin and not strictly TaskTide it seems.
v1.0.0 completes these trailing aspects under CI framework & formailzed test taxonomy