Hide internal plumbing and drop the build-stamp scripts before publishing #190
No reviewers
Labels
No labels
Area/ci
Area/cli
Area/client
Area/client-core
Area/daemon
Area/deps
Area/docs
Area/grid
Area/manual
Area/nix
Area/protocol
Area/pty
Area/render
Area/shaping
Area/skills
Area/transport
Area/vt
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Performance
Kind/Security
Kind/Testing
perf-regression-accepted
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Blocked
Status
Need More Info
Status
Upstream
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
felis-terminal/felis!190
Loading…
Reference in a new issue
No description provided.
Delete branch "api/hidden-internals"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pre-publish refactor for #160. Each commit is one step:
#[doc(hidden)]on pub items that are pub only because another workspace crate reaches them. They stay usable, but they leave the rendered docs, and cargo-semver-checks stops treating them as public API.serve_unix,SessionPool::new,ServeError,TERMINFO_SOURCE,serve::DaemonCaps, and the types its fields name (HandshakeDeadlines,IdlePolicy,ConnectionAdmission,Shutdown,AgentLink,UpgradeState).ClusterTable,LinkTableandLinkTextvisible, because visible signatures and sibling consumers name them. The*_CAPconstants are hidden.docs/reference/names, stays visible.testingandtest-utilkeep their names. The manifests state they are test-only and outside semver, and the items they gate are#[doc(hidden)].build.rsfiles andcrates/build-common.rsare deleted. The build scriptsinclude!a file outside every package, so no published tarball could build. Their git fallback would also stamp an unrelated repository's revision when the crate is built from the registry.FELIS_GIT_HASHviaoption_env!. Nix and the Windows CI jobs already set it, so release artifacts are unchanged. A barecargo buildreportsunknown.tools/bench/envinfo.pynow flags anunknownstamp as drift. Before, it credited the checkout's revision to the binary.Verification:
just checkpasses.nix build .#felisbinaries report the real revision.docs/reference/workspace.md(stamping paragraph),nix/package.nixand thecargo-envaction comment are updated.