1.5.4 (2026-05-15)
-
Fixed issue with force lock, not resetting the name to
null -
Add a space for buffered log banners to make it easier to read
1.5.3 (2026-05-08)
-
Fixed issue to prefer the name in the manifest to the one in the lockfile
1.5.2 (2026-05-07)
1.5.1 (2026-05-07)
-
Store name now also derived on inputs missing from lockfile too such as newly-added inputs (which was the intended behavior)
-
Better handling of
nixtamal tweakfor editors with whitespace & filenames being unquoted (technically this could have been a security risk if this was for arbitrary files, but as it was only calling Nixtamal’s file names the quoting isn’t ‘required’, but it’s better to be safer).
1.5.0 (2026-05-01)
-
NEW: Schema 1.1.0
-
name=…property on Input nodes which sets the path name for the Nix store which helps with Unicode & other limitations to the tiny/strict/unsufficient allowed characters by Nix -
default
nameis now$INPUT_NAME-srcwhich should also help for identifying these fetched sources in the/nix/storeas prior they were named like$HASH-fetchdarcswhich is used by all inputs fetched by that kind.
-
-
Add default
fresh-cmdfor File & Archive kinds which peeks the HTTP headers for ETags orLink rel="immutable"(see Lockable HTTP Tarball Protocol). Do note that this will not follow that link like flakes but is just used as a canary; you can write your ownfresh-cmdto follow it -
Added cURL & GNU AWK to the Nix closure to be able to have defaults for tarballs. As many of the
nix-prefetch-scriptsalready were using these dependencies, this shouldn’t meaningfully change the total disk usage / closure size -
Input & Patch key names have their own newtype-like wrappers to get better type safety as it was too easy to accidentally mix them up since inputs & patches are often juggled in the same functions
-
Buffer logs during the TUI experience to show logs after the main processes are complete
-
Error when versions aren’t latest prompting users to upgrade
-
nixtamal check-soundnessnow errors when Darcs context files are missing -
Fixed
nixtamal lock --force $INPUT(S)where unchosen inputs were dropped instead of melded with the manifest using their old lockfile data -
nixtamal lock --forcewill warn on lockfile corruption but press onward -
open lockfile after encoding the JSON — if it errors, it truncated a perfectly cromulent file that if you were lucky, you could restore with your VCS
1.4.1 (2026-04-04)
-
Don’t just
failwithon mismatched inputs but provide a proper error & message to help user recover (thanks to rhelmot for reporting) -
lock --forcenow ignore the lockfile when trying to meld manifest × lockfile inputs since the idea is to always override the input; for this reason, it also helps with the input mismatch issue
1.4.0 (2026-04-01)
-
Revert the VCS ignore patch for checking feature support in favor using XDG base directory at the user level (thanks to Shahar “Dawn” Or for the idea)
1.3.0 (2026-03-29)
-
BREAKING:
--nixpkgs-branchon setup has been renamed--nixpkgs-channel -
add
--use-channelsflag to use channels from channels.nixos.org which are community-owned & more efficient (LZMA compression) — however, unlike the default of using the Git archive, the channels option doesn’t provide as good of a template for users to remix, so it won’t be the default (thanks WeetHet for the idea) -
Fix bug where VCS files were getting clobbered instead of appending
1.2.0 (2026-03-26)
-
Fix bug in Git’s default
ls-rematecommand for branches (thanks tetov) -
Truly split the Nixpkg + set
outputsToInstall -
nixtamal.defaultin overlay usessymlinkJoinon those outputs -
Add a check for BLAKE3 hash support if used — which touches a file to avoid running the tests on each invocation…
-
…Add ignore file updates on
set-up(assumes you set up the VCS first) with files you don’t want in your history
1.1.5 (2026-03-20)
-
Split bin/lib in the Nix package, which when using
nixtamal.binsignificantly reduces size (thanks to vbgl for the upstream fix) -
Fix bug where errors were handing back the result of stdout instead of stderr
1.1.4 (2026-03-09)
-
Fix bug using old version of Nix where
fetchGitdid not havelfs
1.1.3 (2026-03-06)
-
Typos & documentation cleanup
1.1.2 (2026-02-19)
-
Actually make Cmdliner 2.x build
1.1.1 (2026-02-16)
-
Fix manifest’s default version wasn’t the current one, but an older version
1.1.0 (2026-02-15)
-
Make changes to be compatible with Cmdliner 2.x (in NixOS staging)
-
Fix manifest file errors should provide better context
-
Fix bug where missing lockfile would errors instead of write a new one
-
Fix TUI output with UTF-8
1.0.0 (2026-02-13)
-
1.0.0’d the schema
-
Add
nixtamal upgradeto upgrade schema versions -
Add Fossil support
-
Fix some bugs in how the TUI was handled
0.3.1-beta (2026-02-07)
-
Fix refactor oversight where locking wasn’t getting the fresh command/value
0.3.0-beta (2026-02-07)
-
Add TUI
-
Fix missing lockfile loader semicolon on no local patches
0.2.1-beta (2026-02-03)
-
Add
fetch-timetonixtamal show
0.2.0-beta (2026-02-02)
-
Update schema from 0.4.0 → 0.5.0 (will require manual migration [beta_man_migr])
-
New feature: fetch time
-
Git: now uses the ref in the lockfile to properly get the rev when fetching
-
Git: supports tags (convenience, previously used
revoverloaded like Nix) -
Loader: renaming for clarity
nixpkgs→bootstrap-nixpkgs
-
-
Fetch at either eval or build time (
builtins.fetch*vs.pkgs.fetch*) -
Fix typo in fetch-git block which prevented Git usage
-
Fix nix builds to work on Darwin (thanks WeeHet)
-
Remove that Nix code to remove stray OCaml references (as it doesn’t work as is does in other OCaml projects, & upstream Nix OCaml builds need to be looked at)
0.1.1-beta (2026-01-27)
-
Add CHANGELOG.rst
-
Add {CHANGELOG,README}.rst to Nixtamal’s source filter
-
Move nixtamal-manifest.schema → nitxtamal/schema/manifest.kdl
-
Tweak Nix code to wrap the binary with the
$PATHfor prefetchers -
Tweak Nix code to remove stray OCaml references
-
rm ${NIXTAMAL_DIRECTORY:-nix/tamal}/{lock.json,default.nix} -
nitamal tweakto bump version inmanifest.kdl -
re-run
nixtamal lockto generate a new lockfile