Repository navigation
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/