Repository navigation
RepoDNA 1.4.2
A stability-focused release that improves Windows CLI startup, updates a
vulnerable archive dependency, strengthens validation of untrusted archives,
and adds checks for packaged Windows executables and installer artifacts.
Fixed
- Launching the portable
repodnaCLI without arguments now prints the full
command reference and exits successfully instead of returning usage error 2.
Invalid options and subcommands continue to return usage error 2. This may
improve package-manager executable validation; Microsoft's v1.4.1 CLI
validation warning is not yet confirmed to have this cause.
Security
- Upgrade the core and desktop lockfiles to
zip 9.0.4to address
published archive-extraction security advisories affectingzip 8.6.0.
ZIP entry-name decoding is now treated as fallible; malformed names are
rejected instead of being passed to the extraction path sanitizer.
Packaging
-
Validate all four Windows release artifacts before writing any WinGet
manifests; a missing or invalid later artifact no longer leaves partial YAML
files that could be mistaken for submission-ready packages. -
The portable ZIP preflight now rejects out-of-package entries and symbolic
links and verifies archive payload integrity, in addition to existing
traversal, duplicate-name and executable-path checks. -
Harden WinGet manifest generation: hash large release installers in fixed-size
chunks and reject portable ZIP archives with unsafe or duplicate entry paths,
missing executable paths, or empty installer files. -
Add a Windows portable ZIP smoke verifier: check the nested binary layout,
PE machine architecture, and CLI startup, help, version and usage exit codes.
ARM64 cross-compiled archives undergo static validation until a native
Windows-on-Arm execution test is available.
Tests
- New WinGet regression tests exercise missing executables, ZIP path traversal,
and zero-byte MSI assets. Windows CI now packages and executes the CLI from a
clean temporary ZIP extraction, and the release workflow rechecks both x64
and ARM64 archives before they can be uploaded. - Regression coverage checks the no-argument launch, help output, and
--versionexit status. CI and the release pipeline smoke-test the
no-argument startup on supported build runners before publishing artifacts.
Release validation
- The release workflow now runs actual Windows ZIP smoke tests inside the CLI
matrix, rather than leaving an inapplicable check in the WebAssembly job. - Windows x64 and ARM64 builds must each produce nonempty MSI and setup EXE
artifacts before the desktop job succeeds. - GitHub release downloads and WinGet catalog publication remain separate:
Microsoft's review of the v1.4.1 desktop and CLI package submissions was
still pending when this release was prepared. Do not describe WinGet
installation of v1.4.2 as available until it is independently indexed.
Downloads
repodna-1.4.2-<target>: therepodnacommand line, with the web interface of
repodna servebuilt in. The Linux builds are static and run on any distribution.repodna-1.4.2-wasm32-wasip1.zip: RepoDNA's analysis, reports, and cards as
WebAssembly, the program the web version runs, for WASI runtimes:
wasmtime run --dir .::/my-project repodna.wasm analyze /my-project(without Git
history).RepoDNA_1.4.2_amd64.deb,RepoDNA-1.4.2-1.x86_64.rpm,
RepoDNA_1.4.2_universal.dmg,RepoDNA_1.4.2_x64_en-US.msi,
RepoDNA_1.4.2_x64-setup.exe, and for Windows on Arm
RepoDNA_1.4.2_arm64_en-US.msiandRepoDNA_1.4.2_arm64-setup.exe: the
desktop app.ghcr.io/sanskarin/repodna:1.4.2: a container image with the command line and
Git, for CI jobs:docker run --rm -v "$PWD:/work" ghcr.io/sanskarin/repodna analyze .ghcr.io/sanskarin/repodna-web:1.4.2: the web interface, served on port 8080, for
your own network:docker run --rm -p 8080:8080 ghcr.io/sanskarin/repodna-web- npm packages on npmjs.com and GitHub Packages:
npm install --global @sanskarin/repodna
installs the command line, with one package per platform;
npx @sanskarin/repodna-webruns the web interface on this machine;
npx @sanskarin/repodna-wasm analyze .analyzes with the WebAssembly program, on any
system Node.js runs on, and runs it in browsers too;
@sanskarin/repodna-schemaand@sanskarin/repodna-visualizationare the TypeScript
libraries. repodna-1.4.2-winget-manifests.zip: WinGet community manifests for
the Windows desktop app (Sanskar.RepoDNA) and CLI (Sanskar.RepoDNA.CLI).
After Microsoft accepts the manifests, install and upgrade throughwinget.SHA256SUMS.txt: checksums of every file.- Web version: https://sanskarin.github.io/RepoDNA/ — analyze a folder or an archive, or open analyses and the demo, in your browser: nothing to install, nothing uploaded.
The binaries are not code-signed, so macOS and Windows ask for confirmation the first time they start; see the installation guide.
More open-source projects by Sanskar, the creator of RepoDNA: https://sanskarin.github.io