Skip to content

chore: release v1.3.0 - #92

Merged
developer0hye merged 2 commits into
mainfrom
chore/release-v1.3.0
May 31, 2026
Merged

chore: release v1.3.0#92
developer0hye merged 2 commits into
mainfrom
chore/release-v1.3.0

Conversation

@developer0hye

Copy link
Copy Markdown
Owner

Summary

Release v1.3.0 (minor) and enable automated publishing via GitHub Actions.

This bundles two related changes needed to cut the release through CI:

  1. chore: release v1.3.0 — bump Cargo.toml/Cargo.lock from 1.2.21.3.0.
  2. ci: add automated crates.io publish on GitHub release — new .github/workflows/release.yml.

Why minor

PR #91 added opt-in comment extraction for DOCX/PPTX: a new public ConversionOptions.extract_comments field and a --extract-comments CLI flag. New, non-breaking public API → SemVer minor.

Automated publishing

release.yml runs cargo publish to crates.io on the release: published event — the same trigger as the existing npm-publish.yml, so one gh release create vX.Y.Z fans out to both crates.io and npm.

  • Leak-class prevention: publishing from a clean CI checkout (not a local working tree) makes the untracked-file leak behind the v1.2.1 incident structurally unreachable — there is no local state for cargo publish to bundle.
  • Version guard: the job fails if the release tag does not match the Cargo.toml version, enforcing the "one version, N places" rule.
  • Reproducible: uses cargo publish --locked.
  • Requires the CARGO_REGISTRY_TOKEN repository secret.

CLAUDE.md's Release Management section is updated to document the new flow.

Key changes

  • Cargo.toml, Cargo.lock: version 1.2.21.3.0
  • .github/workflows/release.yml (new): crates.io publish on release
  • CLAUDE.md: release procedure now triggers automated publish; pre-publish safety checks reframed as a manual-escape-hatch concern

Verification

cargo build --locked passes locally (Cargo.lock consistent with the bumped version). Full matrix + WASM + security checks run in CI on this PR.

🤖 Generated with Claude Code

developer0hye and others added 2 commits May 31, 2026 13:54
Adds `.github/workflows/release.yml`, which runs `cargo publish` to
crates.io on the `release: published` event — the same trigger as the
existing `npm-publish.yml`, so a single `gh release create` fans out to
both registries.

Why automate: publishing from a clean CI checkout (rather than a local
working tree) structurally prevents the untracked-file leak class behind
the v1.2.1 incident — `cargo publish --allow-dirty` can no longer bundle
local state because CI has none. The job also guards the "one version,
N places" rule by failing if the release tag does not match the
`Cargo.toml` version, and uses `--locked` for a reproducible publish.

Requires the `CARGO_REGISTRY_TOKEN` repository secret.

Updates the Release Management section of CLAUDE.md to document the new
flow (the GitHub release is the single publish trigger; do not run
`cargo publish` locally) and reframes the pre-publish safety checks as a
manual-escape-hatch concern now that the normal flow is CI-based.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Yonghye Kwon <developer.0hye@gmail.com>
Minor bump (1.2.2 -> 1.3.0): #91 added opt-in comment extraction for
DOCX and PPTX — a new public `ConversionOptions.extract_comments` field
and a `--extract-comments` CLI flag — which is new, non-breaking public
API per SemVer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Yonghye Kwon <developer.0hye@gmail.com>
@developer0hye
developer0hye merged commit d1ab130 into main May 31, 2026
7 checks passed
@developer0hye
developer0hye deleted the chore/release-v1.3.0 branch May 31, 2026 06:07
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