docs: add the 1.16.0 release notes - #51
Merged
Merged
Conversation
Adds doc/release-notes/rel-1.16.0.md, the first document under the convention release.yml established in #50 and the one thing still blocking the rel-1.16.0 tag -- the build job fails before building if it is missing on the tagged commit. Organized by issue ticket rather than by PR, following dp-grpc's house style, since #6 in particular spans four PRs. Leads with an "Upgrading from 1.15.0" checklist that separates the two silent behavior changes (DataValue.valueStatus removed; multi-criterion queries now AND server-side) from the changes that merely widen an existing signature. Covers: the sample status client (#8), datasets/annotations/export and the DataFrame builders and conversions (#6), the shared time converters (#6), the key-only attribute search (#40), browse-all queries (#41), the _dispatch refactor (#14), the raised grpcio floors, and the release-body and stub-sync workflow fixes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0151QFCHYMNBgEVNGLTgsoFL
There was a problem hiding this comment.
🟡 Changes recommended
Address the documented release-note inaccuracies and omissions before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds the 1.16.0 release notes and upgrade guidance for dp-python-lib.
Changes:
- Documents breaking and non-breaking changes.
- Summarizes API, query, dependency, and workflow updates.
- Adds release guidance for the 1.16.0 tag.
File summaries
| File | Description |
|---|---|
doc/release-notes/rel-1.16.0.md |
New 1.16.0 release documentation and upgrade guidance |
Review details
Suppressed comments (1)
doc/release-notes/rel-1.16.0.md:230
column_values()raises onSerializedDataColumn, anditer_frame_columns()/data_frame_columns()intentionally skip serialized columns because decoding is deferred. “Every column kind” overstates the read support; qualify this as supported non-serialized kinds.
one entry per sample for every column kind, with the structural fields a payload cannot be interpreted
- Files reviewed: 1/1 changed files
- Comments generated: 5
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…-note claims
The 1.16.0 release notes claimed the per-recipe "Verified against" headers
were gone, matching dp-grpc #141. That change was made in dp-grpc; it was
never done here, so all seven recipes still carried the header, five of them
stamped "dp-python-lib 1.15.0" -- which would have shipped alongside the
1.16.0 release the notes were announcing. The supporting anecdote was stale
too: no recipe claimed a rel-1.16.0 anymore.
Does the removal, following dp-grpc's convention: drop the version claim,
keep durable API facts as a short note below the reference links ("added in
1.16.0 and not available in earlier releases"). Kept for the v2 query API,
sample status, and datasets/annotations/export. conventions.md keeps the
stubs-track-dp-grpc explanation, minus the stale 1.15.0-vs-rel-1.14.0 gap
and the now-dangling pointer to per-recipe notes.
Two other corrections to the notes:
- The sample status selector was described as supported by query_samples()
/ iter_query_samples_stream() "only", omitting iter_query_samples(), which
calls query_samples() and carries it too. The real distinction is between
RPCs -- querySamples/querySamplesStream accept it, bucket queries do not --
so the sentence now says that and names all three Python methods.
- "some 80 assertions" pin the error-message contract; the actual count of
assertions matching the three _dispatch message formats is 46.
Verified: ruff lint and format clean, 725 unit tests pass, all 107 cookbook
snippets type-check, and every internal anchor and relative link in the
release notes and the cookbook still resolves.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0151QFCHYMNBgEVNGLTgsoFL
…rding Two fixes from the Copilot review of PR #51. The upgrade checklist described an unset limit as yielding a "server-configured" default page size, contradicting this same document eleven lines later, which correctly says the annotation-service default is hardcoded at 100 and not configurable. Says the latter in both places, so nobody goes looking for a knob that does not exist. The browse-all section credited dp-service #245 for all five RPCs. That ticket's own title names only the three metadata queries; datasets and annotations got match-all earlier from dp-grpc #132, implemented by dp-service #248. plan/tickets/41/plan.md records this correction (T5) -- the net behavior is as described, only the provenance was wrong, and it matters because this repo's plans cite upstream tickets as evidence. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0151QFCHYMNBgEVNGLTgsoFL
The sample status verification note said the 1.16.0 API was "not yet released -- the newest tag everywhere is rel-1.15.0". dp-grpc tagged rel-1.16.0 today (cc61ec6), so that aside is now wrong, and this repo is about to tag its own rel-1.16.0. Keeps everything durable: which integration test verified what, that the server was a dp-service `main` build carrying the 1.16.0 API, the skip behavior against a pre-1.16.0 server, and that status filtering is still unit-tested only. Only the claim about which tags existed when it was written is removed -- that is the part that decays at every release. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0151QFCHYMNBgEVNGLTgsoFL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
doc/release-notes/rel-1.16.0.md— the first document under the convention #50 established, and the one remaining blocker for therel-1.16.0tag.release.yml's build job fails before building if the notes are missing on the tagged commit, so this has to merge first.Style
Follows dp-grpc's
rel-1.16.0.md: organized by issue ticket rather than by PR (#6 alone spans four PRs), leading with an Upgrading from 1.15.0 checklist that separates the silent behavior changes from the ones that merely widen a signature.What it says
The release is breaking, but narrowly, and the notes are explicit about which half is which:
DataValue.valueStatusis gone from the stubs, and multi-criterion queries now AND server-side where twotagscriteria used to OR.def/classlines acrossrel-1.15.0..main— the only changes are required params becoming optional.Sections: sample status (#8), datasets/annotations/export plus the DataFrame builders and conversions (#6), the shared time converters (#6), key-only attribute search (#40), browse-all queries (#41), the
_dispatchrefactor (#14), dependency floors, docs/process, and the release-body and stub-sync workflow fixes.Verification
CLAUDE.md#...anchors).GITHUB_REF_NAME=rel-1.16.0— it resolves._dispatchrefactor converted 18 senders but there are now 28 call sites after interface to modernized annotation API #6 and interface to sample status API #8 built on it, and the error-message contract is pinned by ~80 assertions, not ~40.grpciofloor stated as>=1.84.0, matchingGRPC_GENERATED_VERSIONin the synced stubs onmain.Reviewing this
The prose is the deliverable, so it's worth a read rather than a skim — particularly the Upgrading from 1.15.0 section, which is what a consumer will actually act on, and the Dependency floors note about the import-time
RuntimeErroron an older pinned grpcio.After this merges,
rel-1.16.0is ready to tag.🤖 Generated with Claude Code
https://claude.ai/code/session_0151QFCHYMNBgEVNGLTgsoFL