Skip to content

chore: release v0.4.2#59

Merged
jdx merged 2 commits intomainfrom
release-plz-2026-04-26T20-58-52Z
Apr 26, 2026
Merged

chore: release v0.4.2#59
jdx merged 2 commits intomainfrom
release-plz-2026-04-26T20-58-52Z

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Apr 26, 2026

🤖 Release

  • pklr: 0.4.1 → 0.4.2

The deprecated field added in #58 is scoped to pub(crate) (#61) so ObjectSource no longer exposes new public surface. cargo-semver-checks still flags the struct as no-longer-externally-constructible-via-literal, but in practice nothing downstream constructs ObjectSource literally — 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

  • (eval) make @deprecated lazy — only warn on access (#58)
  • (value) scope ObjectSource.deprecated field to pub(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.2 by bumping the crate version from 0.4.1 to 0.4.2 in Cargo.toml/Cargo.lock.

Updates CHANGELOG.md with the 0.4.2 entry noting the fix to make @Deprecated warnings 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.

@gemini-code-assist
Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 26, 2026

Greptile Summary

This PR bumps the crate version and adds a changelog entry, but the actual changes set 0.4.2 while the PR title, description, and breaking-change notice all reference v0.5.0.

  • Version mismatch: Cargo.toml, Cargo.lock, and CHANGELOG.md are all set to 0.4.2, not 0.5.0 as stated in the PR title and description.
  • SemVer violation: The PR description explicitly documents an API-breaking change (ObjectSource gains a new pub field), which requires at least a minor version bump — 0.4.2 (patch) is incorrect regardless of the title discrepancy.

Confidence Score: 3/5

Not 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

Filename Overview
Cargo.toml Version bumped to 0.4.2, but PR title claims v0.5.0 and describes breaking changes requiring at least a minor bump
Cargo.lock Lock file updated to 0.4.2, inconsistent with the claimed v0.5.0 release
CHANGELOG.md Changelog entry added for 0.4.2, contradicting the PR's stated v0.5.0 release

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
Loading

Fix All in Claude Code

Reviews (2): Last reviewed commit: "chore: ship as 0.4.2 (override release-p..." | Re-trigger Greptile

@jdx jdx changed the title chore: release v0.5.0 chore: release v0.4.2 Apr 26, 2026
jdx added a commit that referenced this pull request Apr 26, 2026
## 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 -->
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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.

Comment thread Cargo.toml
[package]
name = "pklr"
version = "0.4.1"
version = "0.4.2"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 5ebfa23. Configure here.

@jdx jdx merged commit d2181c5 into main Apr 26, 2026
8 checks passed
@jdx jdx deleted the release-plz-2026-04-26T20-58-52Z branch April 26, 2026 22:01
Comment thread Cargo.toml
[package]
name = "pklr"
version = "0.4.1"
version = "0.4.2"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 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.

Fix in Claude Code

Comment thread CHANGELOG.md

## [Unreleased]

## [0.4.2](https://github.com/jdx/pklr/compare/v0.4.1...v0.4.2) - 2026-04-26
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Changelog entry version doesn't match PR title

The new changelog entry is headed [0.4.2], while the PR is titled "chore: release v0.5.0" and the description lists breaking changes under 0.5.0. The changelog, Cargo.toml, and Cargo.lock are all inconsistent with the stated release version.

Fix in Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant