# zit 0.14.2

zit 0.14.2 stops `addremove` and `extras` from silently leaving out the
files zit itself reads from the tree.

This release is from trunk. Stores, caches and the wire are unchanged from
0.14.1; nothing is rebuilt on upgrade.

## Control files are always included

`addremove`, `extras` and `status --extra` skip names that begin with a dot
unless `--dotfiles` is given or the `dotfiles` setting is on, as Fossil's
`dotfiles` setting does. That also skipped the project's own control files,
so a new repository could be committed without its `.zitignore`, and
nothing said so.

They now always include the files zit reads from the tree, whatever
`dotfiles` says: a root `.zitignore`, everything under `.fossil-settings/`
and `.zit-settings/`, and `.zit-modules`. An ignore rule still keeps one out
if you name it. This goes beyond Fossil, whose `dotfiles` setting skips
`.fossil-settings/` too.

Other dot entries, such as `.github/` or `.gitignore`, are still skipped by
default, but `addremove` and `extras` now say once how many they left out,
on stderr:

    zit extras: 2 dot-paths not shown (--dotfiles to include)

The count covers only entries `--dotfiles` would actually list, so a tracked
dotfile or a fully ignored `.git` does not trigger it.

`clean` is unchanged: it still leaves control files alone unless
`--dotfiles` is given, so `clean --force` never deletes an untracked
`.zitignore` or `.fossil-settings/` file.

## Qualification

The release manifest records native qualification against the exact tagged
source archive on macOS ARM64, Linux x86-64 and Linux ARM64, using the pinned
Zig 0.17.0 toolchain. Publication is gated on unit and end-to-end tests, Git
differentials, deterministic simulation, seeded fuzzing, and Fossil
interoperability checks on every distributed target.

For the basis of the conformance claim, see
[the 0.1.0 release notes](RELEASE-NOTES-0.1.0.md).
