Skip to content

autoitx 0.1.1

Choose a tag to compare

@iagodpassos iagodpassos released this 28 Jul 12:07
· 2 commits to main since this release

No library changes. Documentation and crates.io metadata only — upgrading from 0.1.0 requires nothing.

[dependencies]
autoitx = "0.1"

Ten dead links on crates.io

crates.io does not serve the README from this repository. It renders the markdown itself and rewrites relative links against a base it derives on its own — and for this workspace that base was wrong twice over.

autoitx/Cargo.toml points at ../README.md, and the rewrite prepends the package directory regardless, so a link to the examples folder shipped as:

https://github.com/iagodpassos/autoitx/blob/HEAD/autoitx/autoitx/examples
                                                 ^^^^^^^ ^^^^^^^

Relative links are also rewritten to /blob/ unconditionally, which cannot address a directory even with the correct base.

Every one of those links resolved correctly on GitHub, which is why 0.1.0 shipped with them. Heading anchors had the mirror-image problem: comrak and GitHub both id headings user-content-<slug>, and only GitHub ships the JavaScript that additionally resolves the bare #<slug>, so #platform-support worked in one place and not the other.

Every link is now absolute and every anchor prefixed. The MSRV badge also pointed at the Rust blog index rather than the 1.85 release post — the URL it used answered 200, but only after redirecting to a stub, the blog having changed its URL scheme.

A check, since none of this was visible before publishing

scripts/check-readme-links.py now runs in the lint job. It rejects relative links, verifies that every link into this repository names a path that actually exists with the right /blob/ or /tree/, requires the portable anchor form, and catches reference-style links that were defined but never used — those render as literal bracketed text instead of failing.

Pointed at the 0.1.0 README, it reports all fourteen.

Its --network mode fetches every outbound URL and is deliberately kept out of CI, where someone else's downtime would fail the build. Two things it needs that are worth knowing if you write something similar: crates.io answers 404 for a crate that plainly exists unless you send Accept: text/html, and 403 if you send no User-Agent at all.

macOS in the metadata

The crate supported macOS natively from 0.1.0, but said so nowhere crates.io indexes. Added macos to the keywords, which cost gui — five is the maximum, and gui is browsed by people building interfaces rather than driving someone else's, while macos next to windows is the one thing separating this from every other AutoIt binding.

Categories gained os::windows-apis and os::macos-apis beside the generic os.

Binaries

diagnose for Windows and both Mac architectures is attached below, unchanged in behaviour from 0.1.0. Run it first when something is wrong: it prints the DLL search order with a mark against each candidate on Windows, and which privacy grants the binary holds on macOS. The macOS builds are ad-hoc signed; verify with SHA256SUMS.txt.


📦 crates.io · 📖 docs.rs · ☕ Buy me a coffee