Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
Greptile SummaryThis PR bumps the crate version and adds a changelog entry, but the actual changes set
Confidence Score: 3/5Not safe to merge — the version being published does not match the intended release and does not reflect the documented breaking changes. Two P1 findings: the version in all three changed files (0.4.2) contradicts the PR's stated release target (0.5.0), and a patch-level bump is being used for a breaking-change release. This would result in a mislabelled published crate. Cargo.toml and CHANGELOG.md both need their version corrected to 0.5.0 Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[PR Title: release v0.5.0] --> B{Actual diff}
B --> C[Cargo.toml: 0.4.1 → 0.4.2]
B --> D[Cargo.lock: 0.4.1 → 0.4.2]
B --> E[CHANGELOG.md: entry for 0.4.2]
C --> F[⚠ Mismatch with stated v0.5.0]
D --> F
E --> F
G[PR Description: breaking change\nObjectSource adds pub field] --> H{SemVer rule}
H --> I[Breaking change → minor bump required\ne.g. 0.5.0, not patch 0.4.2]
F --> J[❌ Published crate would be mislabelled]
I --> J
Reviews (2): Last reviewed commit: "chore: ship as 0.4.2 (override release-p..." | Re-trigger Greptile |
## Summary The `deprecated` map added in [#58](#58) is only read by the evaluator's private field-access helper. Marking the field `pub(crate)` keeps that working and removes it from pklr's public API. cargo-semver-checks will still flag this as a break in the strict sense (`constructible_struct_adds_private_field` — `ObjectSource` is no longer externally constructible via a struct literal). In practice no one downstream constructs `ObjectSource` literally — it's an internal-ish struct describing evaluator state — so the plan is to override the release-plz auto-bump and ship 0.4.2 manually instead of 0.5.0 from [#59](#59). ## Test plan - `cargo test`: 238 passed. - `cargo clippy --all-targets -- -D warnings`: clean. - The lazy-on-access warning behavior added in #58 is unchanged (the helper is in the same crate). 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk, single-field visibility change with no runtime behavior impact; only potential risk is breaking external code that constructed or accessed `ObjectSource` directly. > > **Overview** > Makes `ObjectSource.deprecated` `pub(crate)` so deprecation metadata remains usable by the evaluator but is no longer part of the public API (and can’t be read/constructed via struct literals outside the crate). > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit e960737. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5ebfa23. Configure here.
| [package] | ||
| name = "pklr" | ||
| version = "0.4.1" | ||
| version = "0.4.2" |
There was a problem hiding this comment.
Version set to 0.4.2 instead of 0.5.0
High Severity
The PR title and description explicitly state this is a v0.5.0 release with breaking API changes (a new deprecated field on ObjectSource), but the version in Cargo.toml, Cargo.lock, and CHANGELOG.md is set to 0.4.2. Since the project adheres to Semantic Versioning and this includes a breaking change to a public struct, the version must be a minor bump (0.5.0), not a patch bump (0.4.2). Publishing as 0.4.2 would violate semver and break downstream consumers.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 5ebfa23. Configure here.
| [package] | ||
| name = "pklr" | ||
| version = "0.4.1" | ||
| version = "0.4.2" |
There was a problem hiding this comment.
Version mismatch: PR title says v0.5.0 but diff sets v0.4.2
The PR title, description, and the breaking-change notice all reference v0.5.0, but Cargo.toml (and Cargo.lock) are being bumped to 0.4.2. Additionally, the PR description explicitly flags an API-breaking change (ObjectSource gains a new pub field), which per SemVer requires at least a minor-version bump — making 0.4.2 (a patch release) incorrect regardless of the title mismatch. The published crate version will not match the intended release.
|
|
||
| ## [Unreleased] | ||
|
|
||
| ## [0.4.2](https://github.com/jdx/pklr/compare/v0.4.1...v0.4.2) - 2026-04-26 |
There was a problem hiding this comment.


🤖 Release
pklr: 0.4.1 → 0.4.2The
deprecatedfield added in #58 is scoped topub(crate)(#61) soObjectSourceno longer exposes new public surface. cargo-semver-checks still flags the struct as no-longer-externally-constructible-via-literal, but in practice nothing downstream constructsObjectSourceliterally — it's an internal-ish struct describing evaluator state — so this ships as a patch release. The release-plz auto-detected major bump is overridden here manually.Changelog
Fixed
ObjectSource.deprecatedfield topub(crate)(#61)This PR was originally opened by release-plz as 0.5.0; manually retargeted to 0.4.2.
Note
Low Risk
Low risk: this PR only updates release metadata (version numbers and changelog) with no functional code changes.
Overview
Publishes release
v0.4.2by bumping the crate version from0.4.1to0.4.2inCargo.toml/Cargo.lock.Updates
CHANGELOG.mdwith the0.4.2entry noting the fix to make@Deprecatedwarnings lazy (warn only on access).Reviewed by Cursor Bugbot for commit 5ebfa23. Bugbot is set up for automated code reviews on this repo. Configure here.