chore(release): v0.4.3 - #395
Merged
Merged
Conversation
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.
Release-surface trigger
This PR touches three of the six
RELEASE_SURFACEpaths —crates/mds-napi/package.json,crates/mds-napi/Cargo.toml,crates/mds-python/Cargo.toml— sorelease.ymlruns automatically on thepull_requestevent andverify-pr-checks.mjsrequiresVersion gate,Stage + verify platform packagesandRehearse PyPI publish (no upload). The CI-history gate is step-skipped onpull_request, so ONE manualgh workflow run release.yml --ref release/v0.4.3follows ci.yml completion. TwoReleaseruns on this head are expected.Lockfile recipe and residual gates
Bump:
node scripts/bump-version.mjs 0.4.3→✓ bumped 14 files to 0.4.3(never touches lockfiles, never.rsfiles).Lockfile refresh:
cargo update -w→ 5 workspace-crate lines (mds-cli,mds-core,mds-napi,mds-python,mds-wasmeachv0.4.2 -> v0.4.3)npm install --package-lock-only --ignore-scriptsResidual gates, both EMPTY:
Cargo.lock: numstat5 5; the only changed lines areversion = "0.4.3"×5;getrandomstays untouched atversion = "0.4.2"; zero^[-+]name =lines — no third-party crate moved.package-lock.json: numstat19 19; the only changed lines are 8 workspace"version": "0.4.3"entries plus 11"@mdscript/…": "^0.4.3"internal dependency ranges — zero third-party packages moved.No
--beforeretry was needed for either gate.sincegategrep -rn 'since = ' crates/ --include='*.rs'→ exactly one hit:crates/mds-core/src/lint/fix.rs:746: since = "0.4.0",—0.4.0 <= 0.4.3.Version gate
node scripts/verify-versions.mjs→✓ version gate: 8 packages + 4 crates all at 0.4.3; no file: refs; internal deps pinned to ^0.4.3; Python pyproject.toml name=markdown-script version=dynamic.Lock consistency
The root
package.jsonisprivate: truewith nonamefield, so the lockfile's root"name": "mdl"line is npm's checkout-directory default. It is never published. The lockfile was refreshed lock-only (--package-lock-only --ignore-scripts) and never regenerated from scratch.Snyk
Snyk code scan unavailable (MCP ENOENT); no
security/snykcheck ran on this head.What ships
Two BREAKING CLI changes land in this release:
mds build/check/fmt/lintnow exit non-zero on a directory with no.mdsfiles.mds build <dir>/mds check <dir>now exit 1 when every.mdsfile in the directory is a_-prefixed partial.The full
[Unreleased]CHANGELOG body is now stamped as## [0.4.3] — 2026-09-17, with fresh compare links ([Unreleased]: …/compare/v0.4.3...HEAD,[0.4.3]: …/compare/v0.4.2...v0.4.3).Local pre-flight (RELEASING.md) passed in full:
cargo fmt --all --checkandcargo clippy --workspace --all-targets -- -D warnings(including--features startup-race-probe) cleancargo nextest run --workspace2364/2364, plus 53 doctestsRUSTDOCFLAGS="-D warnings" cargo doc -p mds-core --no-depscleancargo +1.88 check) cleancargo publish -p mds-core --dry-run→aborting upload due to dry runtest:gates220/0cp311-abi3wheel built with maturin 1.13.3; install smoke printedHello CI!; pytest 247 passed, 3 skipped (mypy/pyright not installed), 6 deselectedDependabot hold
Do not merge any Dependabot PR while this is open — six of the eight touch
package-lock.json.