Skip to content

chore: release 0.22.0 - #618

Merged
kartikeya-27 merged 4 commits into
masterfrom
chore/release-0.22.0
Aug 3, 2026
Merged

chore: release 0.22.0#618
kartikeya-27 merged 4 commits into
masterfrom
chore/release-0.22.0

Conversation

@pratyush618

@pratyush618 pratyush618 commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Version bump and changelog for 0.22.0. node scripts/version.mjs --set 0.22.0 rewrote the root Cargo.toml and every mirror; Cargo.lock, the docs changelog page and the landing-page version badge were regenerated rather than hand-edited.

No tags are pushed by this PR. Tagging (0.22.0, node-v0.22.0, java-v0.22.0) is a separate step once this merges.

Changelog

The ## Unreleased section became ## 0.22.0 with a lead paragraph. It was then audited against every commit in 0.21.0..HEAD — 59 of them — and corrected where it had drifted from the code:

  • Event taxonomy is 29 names, not 26. EVENT_NAMES (Node), EventName wire values (Java) and EventType (Python) all count 29; fix: complete the predicate event taxonomy across SDKs #574 added three after that line was written.
  • predicate.cancelled is no longer Python-only. Since fix: complete the predicate event taxonomy across SDKs #574 it is reserved in all three — subscribable, typed, webhook-matchable — but only Python emits it, because Node and Java gate at enqueue where a terminal skip is predicate.skipped. The entry said the name itself was Python-only.
  • The Python periodic catalog has no add or update. The shipped surface is list_periodic,
    delete_periodic, pause_periodic, resume_periodic.
  • The retry predicate is named retryOn(error) => boolean in Node, Predicate<Throwable> in Java, with RetryableException / NonRetryableException as the exception-typed route.
  • Batch unique_key dedup is not Node-only. It is the shared enqueue_batch_dedup helper in storage/mod.rs, used by both the Node and Java batch enqueues; a keyless batch keeps the chunked insert and Python still batch-inserts without dedup.
  • The predicate taxonomy fix is about recognition, not emission. All three SDKs now carry the same set of names; what each emits still differs.

Fifteen merged changes had no entry at all and were added: the standalone taskito-server (#583, #584, #596), the taskito executor subcommand (#595), the executor side-channel (#599#604), namespace scoping of the id-addressed storage APIs (#606, #614), dashboard settings compare-and-set (#605), the napi 3 upgrade (#581), the Java null-safety contract and platform coverage (#572, #569, #598), the predicate taxonomy fix (#574), retention dry-run and the dashboard's live-window echo (#509, #499), retry predicates (#498, #500), push-dispatch in the
Node and Java shells (#497), Node standalone health helpers (#545), Python periodic-catalog management (#502), Java classifier jars and GraalVM metadata (#510), the batched Redis metric purge (#617), and the Node CLI / Java install-doc version drift (#568).

Dependabot bumps, docs-only commits, one test-only fix (#609), one CI change (#616) and one internal refactor (#573) are omitted, matching how 0.21.0 was written.

Verification

  • cargo fmt --all --check; cargo clippy --all-targets --all-features -- -D warnings; cargo test --workspace
  • uv run ruff check taskito/ tests/; uv run mypy taskito/ tests/ --no-incremental (317 files); uv run python -m pytest tests/ -x -q — 1393 passed, 14 skipped
  • pnpm lint && pnpm test — 673 passed, 6 skipped
  • ./gradlew build — BUILD SUCCESSFUL
  • node scripts/version.mjs --check — 13 manifests agree on 0.22.0

Summary by CodeRabbit

  • New Features
    • Added standalone server and executor workflows with attach support.
    • Expanded cross-SDK executor controls, event types, webhook options, retries, push dispatch, health checks, and retention management.
    • Added namespace-scoped storage and Node napi 3 support.
  • Bug Fixes
    • Improved namespace isolation, dashboard settings updates, event consistency, Java safety, Redis retention cleanup, and batch deduplication.
  • Documentation
    • Updated release notes, installation examples, and SDK references for version 0.22.0.
  • Chores
    • Bumped platform, SDK, and deployment package versions to 0.22.0.

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 406857fc-8d05-4040-bf47-13f5a5bd6350

📥 Commits

Reviewing files that changed from the base of the PR and between d6f1bd1 and 5929ce5.

📒 Files selected for processing (1)
  • sdks/python/tests/observability/test_task_lifecycle_logs.py
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • ByteVeda/taskito (manual)
🚧 Files skipped from review as they are similar to previous changes (1)
  • sdks/python/tests/observability/test_task_lifecycle_logs.py

📝 Walkthrough

Walkthrough

The project is released as version 0.22.0. Changelogs document the release features and fixes. Package metadata, Java dependency examples, and Python test behavior now reflect the release updates.

Changes

0.22.0 release

Layer / File(s) Summary
Release notes and feature documentation
CHANGELOG.md, docs/content/docs/resources/changelog.mdx
The changelogs add the 0.22.0 release and document architecture, SDK, event, webhook, storage, retention, packaging, and deduplication changes.
Package and deployment version metadata
Cargo.toml, deploy/helm/taskito-server/Chart.yaml, docs/app/lib/version.ts, sdks/node/package.json, sdks/python/taskito/__init__.py, sdks/java/gradle.properties
Project, chart, application, package, fallback, and documentation versions change from 0.21.0 to 0.22.0.
Java dependency documentation
docs/content/docs/java/..., docs/content/docs/shared/guides/operations/testing.mdx, sdks/java/README.md
Java SDK, runtime, processor, Spring, and test dependency examples now use version 0.22.0.
Python test cleanup and log matching
sdks/python/tests/core/test_periodic.py, sdks/python/tests/observability/test_task_lifecycle_logs.py
Periodic tests now shut down queues and join worker threads. Lifecycle-log assertions now match the target task by name, pattern, and level.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: kartikeya-27

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the primary change: releasing version 0.22.0.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands.

@pratyush618 pratyush618 self-assigned this Aug 3, 2026
A once-a-second schedule left running kept firing for the rest of the session, and its lifecycle logs landed in every later test's caplog.
caplog captures the whole process, so an unscoped record count depends on test order and on whatever worker another test left running.
@github-actions github-actions Bot added the tests label Aug 3, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@sdks/python/tests/observability/test_task_lifecycle_logs.py`:
- Around line 130-140: Update the error filtering in the cancellation test to
match errors using the exact task-name capture from the _RAISED lifecycle
record, rather than checking whether stoppable.name appears in the message.
Preserve the existing taskito record and ERROR-level scoping, and assert that no
matching cancellation error records exist.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 78f672bc-c94d-4a67-9c5b-78fd5b3715f7

📥 Commits

Reviewing files that changed from the base of the PR and between 1147efa and d6f1bd1.

📒 Files selected for processing (2)
  • sdks/python/tests/core/test_periodic.py
  • sdks/python/tests/observability/test_task_lifecycle_logs.py
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • ByteVeda/taskito (manual)

Comment thread sdks/python/tests/observability/test_task_lifecycle_logs.py Outdated
A substring check also fires on an unrelated task whose name contains this one's.
@kartikeya-27
kartikeya-27 merged commit 913d533 into master Aug 3, 2026
38 checks passed
@kartikeya-27
kartikeya-27 deleted the chore/release-0.22.0 branch August 3, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants