chore: release 0.22.0 - #618
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe 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. Changes0.22.0 release
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Comment |
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.
There was a problem hiding this comment.
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
📒 Files selected for processing (2)
sdks/python/tests/core/test_periodic.pysdks/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)
A substring check also fires on an unrelated task whose name contains this one's.
Version bump and changelog for 0.22.0.
node scripts/version.mjs --set 0.22.0rewrote the rootCargo.tomland 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
## Unreleasedsection became## 0.22.0with a lead paragraph. It was then audited against every commit in0.21.0..HEAD— 59 of them — and corrected where it had drifted from the code:EVENT_NAMES(Node),EventNamewire values (Java) andEventType(Python) all count 29; fix: complete the predicate event taxonomy across SDKs #574 added three after that line was written.predicate.cancelledis 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 ispredicate.skipped. The entry said the name itself was Python-only.list_periodic,delete_periodic,pause_periodic,resume_periodic.retryOn—(error) => booleanin Node,Predicate<Throwable>in Java, withRetryableException/NonRetryableExceptionas the exception-typed route.unique_keydedup is not Node-only. It is the sharedenqueue_batch_deduphelper instorage/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.Fifteen merged changes had no entry at all and were added: the standalone
taskito-server(#583, #584, #596), thetaskito executorsubcommand (#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 theNode 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 --workspaceuv 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 skippedpnpm lint && pnpm test— 673 passed, 6 skipped./gradlew build— BUILD SUCCESSFULnode scripts/version.mjs --check— 13 manifests agree on 0.22.0Summary by CodeRabbit