v0.5.0-rc2
Pre-releaseEverything the first real v0.5.0-rc1 run turned up, plus what reviewing those fixes turned up in turn. Six release-blockers — and one theme: almost every defect was a check measuring a proxy instead of the thing it claimed to measure.
Still a pre-release. Nothing on the stable alp-sdk-vscode channel upgrades onto this. Delivery is unchanged from rc1: the extension's odd-minor pre-release channel, prerelease: true / make_latest: false, and both installers resolve latest, which excludes prereleases.
Highlights
tan buildandtan flashcould not findweston a host that had bootstrapped successfully (#289) — every GUI-launched VS Code, which is the extension's normal environment. New sharedtan/core/venv.pyresolver; five scattered private copies deleted.- A bootstrapped venv could be invisible to build and flash (#291) — creation picked the executable directory from disk, resolution picked it from the host, so a Git Bash
Scripts/venv was created and then not found. typer>=0.12was unbounded across a change in what typer is (#293) — now>=0.26,<0.28, both ends measured by wheel inspection.tan initpinned a relative SDK root later invocations could not resolve (#263).tan bootstrapmoved the alp-sdk checkout before it could refuse (#284), and reportedcomplete.after a step had already failed (#285).doctorhad silently dropped six checks the oracle emits (#286, #290, #294), each reintroducing a closed defect — found by one audit rather than one field at a time.tan buildreportedok: truewhen every slice was skipped (#283), and sat silent for 234 s during CMake configure (#287).
Fixed
- Flow D could write the wrong file to a board's MRAM.
flash_args.atocwas the one input never resolved against the build root, so a relativeatoc:— which the repo's own fixtures use — silently changed which file was flashed.- Root cause worth naming:
grep -rn "FLOW_D" crates/returns nothing. Flow D is Python-only, so the Rust oracle's cwd-safety audit was inherited without ever covering the one backend that writes on-die MRAM.
- Root cause worth naming:
tan bootstrapemitted relative paths a consumer could not resolve —data.sdkRoot,workspaceDir,venvDirandzephyrBaseall came back relative from--sdk-root ./alp-sdk, reintroducing #217.--print-envwas emittingexport ZEPHYR_BASE="./zephyr"under a heading reading "Add to your shell profile" — and a profile is sourced from$HOME.tan bootstrap --print-envwrote to stderr, sotan bootstrap --print-env > env.shleft the file empty while the block still appeared on the terminal.doctorrefused hosts that work — a bootstrapped host with noboard.yamlin cwd exited 4; an inconclusive venv probe failed closed where the oracle fails open; an Apple-silicon Mac on an x86_64 Python was told to build on Linux.NO_COLORwas checked two different ways andfaultdecodediverged from the spec and the oracle (#288).tan bootstrap --non-interactiveexited 2 — the literal first-blink command in the docs.- Smaller: the published asset filename leaking into
--help(#280);python_repron nested mappings (#277); theTBDsentinel (#276); avenv_has_usable_pipflake (#250);zephyr_board.pyescapingPINNED_HASHES(#279); andgetting-started.ymlsmoke-testing the Rusttanwhile the release ships a PyInstaller freeze (#278).
Changed
doctor --buildis accepted and inert. The check set is unconditional now, so there is no build-gated half.doctorgainedsdkProvenanceanddata.missingPrerequisites— two envelope keys that did not exist in rc1. The latter restores the extension's one-click dependency install.--fixis still not accepted (#295).alp-sdk-vscodecallstan bootstrapinstead — accepting the flag as a no-op would give users a Fix button that reports success having repaired nothing.
Requires
alp-sdk v0.15.0-rc1. Pairs with alp-sdk-vscode on the pre-release channel.
Full detail: CHANGELOG.md · full diff
Release assets
Four binaries, each a single-file freeze of the Python tan:
tan-x86_64-pc-windows-msvc.exe-- Windows x64tan-x86_64-apple-darwin/tan-aarch64-apple-darwin-- macOStan-x86_64-unknown-linux-gnu-- Linux x64, frozen on Debian 11.
It requires GLIBC_2.30 or newer -- measured from the
binary's own bundled payload at build time, not assumed from the
build image. Debian 11+ / Ubuntu 20.04+ / RHEL 9+ are comfortably
above it.
There is no arm64 Windows and no arm64 Linux asset in this release,
and no -musl asset. A frozen binary has to be built on the
architecture it runs on, and this release builds on four runners; if
you need an arm64 Linux or arm64 Windows tan, install from source
(pip install ./python) and say so on the issue tracker.
- Every binary +
checksums.txtcarries a GitHub build-provenance
attestation. Verify with:
gh attestation verify <downloaded-file> --repo alplabai/tan-cli