Skip to content

Release 0.8.5: migrate to ATRAPS LLC, ship the licence, update dependencies - #262

Merged
BinFlip merged 6 commits into
mainfrom
chore/llc-migration
Aug 10, 2026
Merged

Release 0.8.5: migrate to ATRAPS LLC, ship the licence, update dependencies#262
BinFlip merged 6 commits into
mainfrom
chore/llc-migration

Conversation

@BinFlip

@BinFlip BinFlip commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Migration of this workspace to ATRAPS LLC ownership, per TRANSFER.md. Two real packaging defects surfaced along the way.

chore: assign copyright and ship the licence

  • No licence text has ever shipped with this crate. LICENSE and NOTICE live at the workspace root, but the package root is dotscope/, and cargo only packages files under the package directory. Every published version declares license = "Apache-2.0" while shipping neither — verified by unpacking dotscope 0.8.4 from crates.io: 1,002 files, no licence among them. Both files now exist inside each member and are included in the packaged crate.
  • LICENSE was a symlink to LICENSE-APACHE, not a duplicate. Symlinks do not survive packaging cleanly, so LICENSE is now a regular file and LICENSE-APACHE is removed. The README badge, README link, and the crate-level doc badge were repointed at it — that doc badge also pointed at a main branch that did not exist yet, so it was already dead.
  • Copyright 2025-2026 ATRAPS LLC — the year range this history actually spans. authors dropped from both members; workspace repository/homepage repointed; README badges and links repointed.

ci: retarget workflows from master to mainmaster appeared in eight places in ci.yml: not just the triggers, but the job conditions gating fuzzing and the security audit, which compare refs/heads/master and the PR base ref. Renaming without these would leave those jobs silently never running.

build: update dependencies

  • analyssa 0.4.1 → 0.5.0, which fixes SSA rebuild and phi-transform correctness upstream (pass rollbacks 6,094 → 0, undefined uses ~28,960 → 0 on a 125 MB reference binary). No API changes needed here.
  • comfy-table 7.2.2 → 8.0.0. v8 removed the preset-string API; load_preset(presets::NOTHING) becomes load_style(presets::NOTHING), presets now being TableStyle constants. NOTHING is still an empty style, so rendering is unchanged.
  • Everything else refreshed via cargo update.

ci: trusted publishing — grafted into the existing publish job rather than replacing release.yml, since that workflow also resolves the version, runs tests, and uploads binaries. The containment check uses git rev-parse HEAD rather than $GITHUB_SHA, because this job checks out the release tag explicitly.

chore: release 0.8.5 — both members move to 0.8.5. Only dotscope is published; dotscope-cli has never been on crates.io and stays that way.

Verified locally with this repo’s own CI commands: cargo fmt --all -- --check, cargo check --workspace --all-features, cargo clippy --workspace --all-features --all-targets -- -D warnings, cargo doc -p dotscope --all-features --no-deps — all clean. cargo package -p dotscope --list now includes LICENSE and NOTICE.

CODECOV_TOKEN is retained; only CARGO_REGISTRY_TOKEN becomes redundant.

BinFlip added 6 commits August 9, 2026 18:26
Record ATRAPS LLC as copyright holder following the executed IP
assignment. Two packaging defects surfaced while doing it.

No licence text has ever shipped with this crate. LICENSE and NOTICE
live at the workspace root, but the package root is dotscope/, and cargo
only packages files under the package directory — so every published
version declares `license = "Apache-2.0"` while shipping neither the
licence nor the NOTICE. Both files now exist inside each member and are
included in the packaged crate.

LICENSE was also a symlink to LICENSE-APACHE rather than a file.
Symlinks do not survive packaging cleanly, so LICENSE is now a regular
file and the duplicate LICENSE-APACHE is removed. The README badge, the
README link, and the crate-level doc badge in dotscope/src/lib.rs are
repointed at it — that doc badge additionally pointed at a `main` branch
that did not exist, so it was already dead.

- LICENSE / NOTICE: "Copyright 2025-2026 ATRAPS LLC", the year range the
  commit history actually spans
- Cargo.toml: drop `authors` from both members; point workspace
  `repository` / `homepage` at the org
- README: name the holder and repoint badges and links at the org
Prepares for the default-branch rename. `master` appeared in eight
places in ci.yml — not only the push and pull_request triggers, but the
job conditions gating fuzzing and the security audit, which compare
against `refs/heads/master` and the PR base ref. Renaming the branch
without these would leave those jobs silently never running.
Upgrade `analyssa` 0.4.1 -> 0.5.0. That release fixes SSA rebuild and
phi-transform correctness upstream: on a 125 MB reference binary its
pass rollbacks went from 6,094 to 0 and verifier-reported undefined uses
from ~28,960 to 0. No API changes were needed here.

Upgrade `comfy-table` 7.2.2 -> 8.0.0. v8 removed the preset-string API
entirely, so `Table::load_preset(presets::NOTHING)` becomes
`Table::load_style(presets::NOTHING)`; presets are now `TableStyle`
constants. `NOTHING` is still an empty style, so rendering is unchanged.

Refresh everything else with `cargo update`.
Replace the long-lived CARGO_REGISTRY_TOKEN repo secret with a
short-lived OIDC token minted per run by crates-io-auth-action and
revoked when the job ends.

Grafted into the existing publish job rather than replacing the
workflow, since release.yml also resolves the version, runs tests, and
uploads binary artifacts. The containment check uses `git rev-parse
HEAD` rather than $GITHUB_SHA because this job checks out the release
tag explicitly.
0.8.4 is already published and its metadata is immutable, so the shipped
licence text, corrected copyright holder, dropped `authors` field, and
organisation URLs only reach crates.io in a new version.

Both workspace members move to 0.8.5. Only `dotscope` is published;
`dotscope-cli` has never been on crates.io and stays that way.
@BinFlip
BinFlip merged commit 43574f8 into main Aug 10, 2026
7 checks passed
@BinFlip
BinFlip deleted the chore/llc-migration branch August 10, 2026 02:39
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