What changed, release by release.
One line per commit, in the plain English the commits were written in. Each release is a tag in the repository, and this page is generated from the tags, so it can only ever tell the truth about what shipped.
Vigilance checks its own release: every new build is diffed against the one before it, and the report is published beside it. See what the latest release gained.
next release
1d14503changelog: a release with no commits shows its version and date, blank below613d059changelog: one live fragment, no commit links (private repo), regenerated on every release6799fb3changelog: generator from the tags, and each release ships its own page56ed36breplay: forge transcript folds the expected-powers field into the seal id0ea2bd8vigi: snapshots lists what the OS already keeps and names the path for diff3fd30e1vigi: report a signed file that lost its signature, PE and Mach-O, thin or universal735d9f4docs: the golden-image M2M check is the diff pointed at a baselinef9bb68dvigi: time budget on every walk with a could-not-finish clause, 20 MB build gate31fd9c6vigi: dpkg reads the package manager's own record and checks the files it installed3d34c27docs: document whatis, fleet, hook, sbom, diff --json, expected.txtadf5d35vigi: sbom checks a manifest's file list against the folder4821dc3vigi: expected-powers list, the whitelist flip, bound into the sealcddaa49ci: vigi checks its own release and publishes the diffd06f6c9vigi: hook npm brackets every install with a snapshot and a check7b20bbbvigi: fleet merge with static page, findings digest in the witness line3fcd020vigi: timeline --dir walks a folder of old versions in version order53a92efvigi: add whatis, diff --json, and profile coverage
0.1.23
90a8217vigi: add `activate` to get a license without phoning home
0.1.22
0.1.21
9e25094Release publishes to R2 only; the site reads it live511ec0dMake releases a manual button, drop auto-release on push2f5c18dServe downloads from vigihq.com and add a one-step release
0.1.20
d08cbe4inv: add a walk benchmark across folder sizes37d7407schedule: offer 15 and 30 minute checks
0.1.19
8115745billing: issue free from a one-time $0 checkout, no card99b2a64billing: free tier is one device and never expiresd5dd7b1billing: read the paid-through date from the subscription item057827fbilling: send the license email from a Freeform template967ff0bbilling: branded HTML license email
0.1.18
22a4348billing: move package out of internal for Vercelbcdeceabilling: run the webhook on Vercel06ee322vigi: license auto-renewal and signed binary auto-update
0.1.17
0.1.16
8804b37billing: pay in Stripe, auto-sign and mail a license
0.1.15
a18b9efci: release jobs must obfuscate or fail0fd3bfbDocument how to rotate the signing key
0.1.14
18429b3Make the parallel scan test robust to folder-clock driftac4106eScan files across the machine's cores
0.1.13
97399a1Licensing: offline signed files, killswitch by expiry
0.1.12
bd58cb7Fix the OpenBSD build, and compile every platform on every push2997a4bWindows closes the check gap by looking often and reading nothing459d900Run on change as well as on the clock, and never two runs at oncee384014Catch the payload that puts the folder's timestamp back5aa027aREADME: put the re-stamp defence back in catch 14
0.1.11
b49af2bUpdate README for clarity and detail103d473Catch a record that was rewritten in place and re-stampedbd8e4c4Docs: a maths change is a job for a code scanner7b9a04cDocs: stop calling a maths change a backdoorb73d73dDocs: say where the rules stop, not just where they fire
0.1.10
758eb22Read container images, pair versioned archives, and make the first look fast
0.1.9
75419dbSay when a Windows disk keeps no journal, and prove the reader in CI
0.1.8
8ec8043Either witness passes on Windows, and the runner says which one answered251d96eThe machine's record is for the scheduled job, not every elevated rund3a583fWindows reads the disk's own journal for what came and went2b3f0c0The Windows job belongs to the machine, not the account
0.1.7
ccb9f64The come-and-went rule is a macOS and Linux signal0251e80Close three holes found by a full pressure test2b6780dREADME: say when it reports, and what plain logic hidese91448dState the starting position, and notice what came and went
0.1.6
4dcac3dWalk the whole supply chain, and two things fall out
0.1.5
50ae2faThe record belongs to the machine too, and you can point it anywhere
0.1.4
a9d3aaeThe timer belongs to the machine now, not to your account
0.1.3
b7c4344Install into the administrator's folder by default
0.1.2
6f2281cWindows answers no for every file, and the test now says so75b5746CI: a wiped record is an alarm now, not a first lookb66fd4fA deleted record is an alarm, and six defects a full pressure test found
0.1.1
89fc02cEvery change that passes the gates ships, and the version moves on its ownefc3004Count the calls, not just the powers6375ff7README: twenty powers, and name the four other things that shouta06beb5README: the thesis is a gain of power, not a change of hashb6eb749README: back to the old wording, cut to the pitch4522210README: say what a supply chain attack is, in Marcello's words8c2d986README is the pitch. Everything else moves to DOCS.md
0.1.0
92f7e91Rename to Vigilance. The command is vigi2820c8bA private repo cannot be installed from by URL, so say that instead of failingcccc176A tag push never started the workflow, so a release could never be builtd81dda6Take the first picture in this process, not a child one2a2a165Say what the job can touch, and stop the record forgetting its own folder487a264The wizard installs the schedule instead of printing a command11ab7e9Record the decision on the last narrow caseb4fe992The Windows test passed and the step still went redd94f82bBuild scw before the Windows hidden-stream tests runf847d4fRead the bytes hidden on a Windows filename81e4b3fSay the two limits accurately1976fdbA second review pass: twelve more holes35fdd08Note the NTFS stream gap, and stop a replay hiding an exit code153a256DESIGN: the four decisions this review settled22cd82bThe record itself could be edited to explain the payload2834831GAPS: record the two install bugs and the six commits CI did not run362d965An edited seal passed when no file changed2bfe13cFix the install path, and the CI file that was silently not running7ab796aAdversarial review: nine more holes, and one comparison instead of twof76aeefThree critical holes found by adversarial review1b604a5Fuzz every parser entry point, on every pushca97980Fix a crash on hostile WebAssembly bytes3c944b3Add an installer for every platform, and a wizard that says where to run itf702d61Windows is green. Close that gap.e79ce68Windows found two real problems, and my test script had a third4fd5f8bTest on Windows, and reject seal signing0152457The tool now says what it is, and ships as a binarya1e92d7Read Java, .NET and WebAssembly binariesd9791a5Close the language coverage gap: 26 of 26 now, was 18 of 26ab59151A first run never exits 06ccd4e2Record the gate decision, and say what a gate cannot cover9ace188Add GAPS.md: the six known gaps, ranked40d61d0README: say what to run when you already suspect a compromise55f04adREADME: lead with the thesis and cut it in halff8c7172README: rewrite in Simplified Englishcf96ed7README: add a plain-English 'How it works' after the thesis16b85d7README: state the real thesis and name every attack the lab reproduced86028a7scw: detect files an update cannot explain