;aiu; [VIPM 2026 Q3 f2] Name = VIPM 2026 Q3 f2 Category = VIPM NoGUICommandLineSwitch = /exenoui /qn ProductVersion = 26.3.4056 URL = https://traffic.libsyn.com/secure/jkinc/vipm-26.3.4056-windows-setup.exe Size = 68229992 ReleaseDate = 01/10/2026 SHA256 = FA7B03B4FD6A0BBE955EA6B4E4FBB312A5BCE9B4F9B799CC4BEB43AB62658CDB MD5 = 105781B2933EA094DC1F5D6D81884AA8 ServerFileName = vipm-26.3.4056-windows-setup.exe Flags = Critical|SilentInstall|Sys64|NoCache|Advertises RegistryKey = HKUD\Software\JKI\VIPM\Version Version = 26.3.4056 Description = VIPM 2026 Q3 f2 AutoCloseApplication = [APPDIR]VI Package Manager.exe|;;NoRestart AutoCloseApplication1 = [APPDIR]support\VIPM Service.exe|;;NoRestart AutoCloseApplication2 = [ProgramFilesFolder]JKI\VI Package Manager\VI Package Manager.exe|;;NoRestart AutoCloseApplication3 = [ProgramFilesFolder]JKI\Dragon\JKI Dragon.exe|;;NoRestart Feature1 = CLI/SBOM: SBOM generation with `vipm sbom` - produces CycloneDX 1.5 SBOMs from vipm.toml, .lvproj, .dragon, or .vipc inputs (see https://docs.vipm.io/latest/sbom/) Feature2 = CLI: `vipm sync` reconciles `vipm.toml` from a LabVIEW project (.lvproj) scan, supporting LabVIEW-free SBOM generation downstream Feature3 = CLI: `vipm info` looks up metadata for VIPM and NI packages (use `--nipm` for NI Package Manager packages) Feature4 = NI Package (NIPM) support in `vipm.toml` - declare NIPM feeds and dependencies with `vipm add --nipm`, `vipm remove --nipm`, and `vipm lock` Enhancement1 = CLI: New environment variables for non-interactive/CI use: `VIPM_NONINTERACTIVE`, `VIPM_ASSUME_YES`, `VIPM_COMMUNITY_EDITION`, `VIPM_TIMEOUT`, `VIPM_DEBUG`, and `NO_COLOR` Enhancement2 = CLI/DESKTOP: Automatic CI environment detection (GitHub Actions, GitLab CI, Jenkins, and 9 others) so non-interactive mode activates automatically and commands never hang Enhancement3 = DOCS: Updated Docker and GitHub Actions CI/CD guides with environment-variable configuration, `-y` flag examples, and SBOM workflow steps Enhancement4 = CLI: `vipm sync` and `vipm sbom` now fail by default on missing project file references (exit 18); pass `--allow-missing-files` to restore the prior warn-and-continue behavior Enhancement5 = CLI: `vipm sbom` now fails by default on installed-package drift vs `vipm.toml` / `vipm.lock` (exit 17); pass `--allow-package-drift` to override Enhancement6 = CLI: `vipm install` now preserves dev-dependencies in `vipm.lock` even without `--dev`, matching other lock-file-based package managers; the `vipm lock --dev`/`--no-dev` flags have been removed and should be removed from scripts Enhancement7 = CLI: Long-running `vipm sbom` and `vipm sync` commands now respond to Ctrl+C and accept `--timeout` so they cannot hang indefinitely in CI Enhancement8 = CLI: LabVIEW project linker scans run faster on large projects Enhancement9 = CLI: vipm cli commands now respond better to Ctrl+C so they can be safely interrupted in interactive sessions and CI BugFix1 = SBOM/CLI: SBOMs generated for packages with dotted version numbers now produce a stable, correct root reference Feature5 = Workspace-local LabVIEW version override - set the LabVIEW version for a single workspace via `vipm.toml` without affecting the global default Enhancement10 = CLI: `vipm build` now fails by default on installed-package drift vs `vipm.toml` / `vipm.lock` (exit 17); pass `--allow-package-drift` to override Enhancement11 = CLI: `vipm about` shows one combined line when Desktop and CLI versions match, and warns when they differ BugFix2 = CLI: `vipm search`, `vipm build`, and `vipm sbom` now reliably find and use the active `vipm.toml` BugFix3 = CLI: LabVIEW bitness preferences set via `--labview-bitness` or `vipm.toml` are now consistently respected when selecting the LabVIEW version to use BugFix4 = CLI: `vipm sbom` on `.dragon` files supports both VIPM and NI Package Manager packages again BugFix5 = CLI: Passing `--vipm` or `--nipm` to a command that doesn't accept them now produces a clear, consistent error BugFix6 = A non-VIPM TOML file named `vipm.toml` is now rejected with a clear error rather than partially parsed BugFix7 = `vipm.lock` package ordering is now stable across machines and platforms, so `vipm lock` no longer produces spurious diffs Enhancement12 = CLI: `vipm search` now finds NIPM packages alongside VIPM packages (filter with `--vipm` / `--nipm`) Enhancement13 = CLI: `vipm refresh` is now the explicit way to refresh package indexes before running another command; stale-index error hints now point to `vipm refresh` Enhancement14 = CLI: Preview CLI builds can show their activation expiration in `vipm about`, and `VIPM_COMMUNITY_EDITION=false` / `0` no longer enables Community Edition Enhancement15 = CLI: `vipm refresh` can now target a specific package manager (`--vipm` or `--nipm`) for faster, scoped index updates BugFix8 = CLI: `vipm install` now displays the correctly resolved LabVIEW version name instead of a raw version identifier BugFix9 = CLI: Headless `vipm install` failures now surface the underlying error output, making CI/CD troubleshooting easier Feature6 = CLI: `vipm labview list` (Experimental, Professional Edition) lists installed LabVIEW versions on Windows from the command line Enhancement16 = CLI: Free Edition users can now run `vipm uninstall`, matching `vipm install` so basic package workflows can be undone from the command line Enhancement17 = CLI/DESKTOP: Commands that use VIPM Desktop, such as `vipm install`, `vipm uninstall`, and `vipm refresh`, now show startup progress while VIPM Desktop opens Enhancement18 = CLI/DESKTOP: Commands that need VIPM Desktop or LabVIEW can now open them automatically, then wait until they are ready before continuing Enhancement19 = CLI/DESKTOP: `vipm refresh` now updates the CLI package cache before refreshing VIPM Desktop, reducing stale package results Enhancement20 = CLI: Interactive cache updates now show progress automatically, and `vipm refresh` uses quieter default output BugFix10 = CLI: Interactive `login` can continue when the system keyring is unavailable BugFix11 = CLI: `vipm refresh` now reports actionable errors when a package spec fails to download, and keeps default output quieter by showing full per-spec failure detail only with `--verbose` BugFix12 = CLI: Custom package repositories are now reliably saved in LabVIEW's configuration where VIPM Desktop reads them, so they appear correctly in Desktop BugFix13 = CLI: `vipm info` and package search now display a clean vendor name instead of a raw vendor identifier BugFix14 = CLI: Generated SBOMs now record the package supplier's name and email as separate structured fields BugFix15 = DESKTOP: Upgrading LabVIEW from a Q1 to a Q3 release (e.g. 2025 Q1 to 2025 Q3) could cause installed packages to disappear from VIPM's package list; VIPM now detects and automatically repairs the package installation database (see https://github.com/vipm-io/vipm-desktop-issues/issues/130) BugFix16 = CLI/DESKTOP: Checking for package updates no longer fails with error -124100 when a package's .spec file is missing from the repository server (seen with some NI Tools Network packages); VIPM now recovers the spec from the package file itself (see https://github.com/vipm-io/vipm-desktop-issues/issues/81) Enhancement21 = CLI: `vipm help --json` now includes a machine-readable catalog of every CLI exit code (number, stable name, and description) so scripts and tools can interpret results without scraping docs Enhancement22 = CLI: Creating `vipm.lock` is now opt-in: only `vipm lock` creates it; `vipm install` refreshes an existing lock without creating one, and `vipm add`/`vipm remove` leave it untouched Enhancement23 = CLI: `vipm install` from a `vipm.toml` with many already-installed dependencies now reports them as a single summary line instead of one notice per package; use `--verbose` for the full per-package plan Enhancement24 = CLI: `vipm install`, `vipm uninstall`, and package downloads now stay alive as long as they keep making progress (and honor `--timeout`), instead of aborting at a fixed time limit Enhancement25 = CLI: `vipm sbom` and `vipm sync` now refuse to run (exit 23) when the LabVIEW project has unsaved changes, so generated output never reflects a stale on-disk state Enhancement26 = CLI: `vipm install` now honors an in-sync `vipm.lock`, so installs are reproducible across machines and CI runs Enhancement27 = CLI: `vipm sbom` output is now byte-reproducible: components are emitted in a stable order (sorted by package URL), and `--document-timestamp` (or `SOURCE_DATE_EPOCH`) pins the document timestamp, so a project with no changes produces an identical SBOM Enhancement28 = CLI: `vipm sbom` adds `--product-supplier` to record the software producer in the generated SBOM BugFix17 = CLI: `vipm init` now reports errors when importing a `.dragon` file fails, instead of continuing silently BugFix18 = CLI: `vipm sbom` and `vipm sync` no longer fail when VIPM Desktop has never been run; an absent VIPM package database is now treated as "no installed packages" instead of a hard error BugFix19 = [2026.3.1] DESKTOP: Building VI packages on Linux now handles file paths correctly, including .vipb files created on Windows (see https://github.com/vipm-io/vipm-desktop-issues/issues/132) BugFix20 = [2026.3.1] CLI: `vipm sbom` now attributes LabVIEW library VIs to the correct NIPM package and bitness; previously it could attribute them to the wrong package or architecture (32-bit vs 64-bit) (see https://github.com/vipm-io/vipm-desktop-issues/issues/133) BugFix21 = [2026.3.1] DESKTOP: The VI Package Builder "Save Version" preview feature is now available in Community and Professional Edition; previously it always reported a Professional-Edition-only error regardless of your edition (see https://github.com/vipm-io/vipm-desktop-issues/issues/136) Enhancement29 = [2026.3.1] CLI: LabVIEW, NI Package Manager, and VIPM Desktop versions now show in SBOMs generated by `vipm sbom` (recorded in the CycloneDX `metadata.tools.components` section), so each SBOM captures exactly which tool versions produced it BugFix22 = [2026.3.1] CLI: `vipm sbom` now creates missing `--output` folders automatically, validates the output location before scanning begins, and reports file errors with the actual path and cause; previously a bad output path failed only after the full project scan, with a misleading disk-space/permissions hint BugFix23 = [2026.3.1] CLI: SBOMs now include every LabVIEW addon (LVAddons) that LabVIEW activates, attributing files to the addon version LabVIEW actually loads; previously some NI addons were silently missing from SBOMs, and addons with multiple installed version directories could be attributed to a stale version Enhancement30 = [2026.3.1] CLI: The NI package cache build in `vipm sbom` and `vipm sync` is now quiet by default, printing a heading and summary instead of one line per installed NI package Enhancement31 = [2026.3.1] CLI: `vipm sbom` and `vipm sync` now report errors first, ahead of progress and status output, so failures are easy to spot; previously an error could land at the bottom of a long run of output BugFix24 = [2026.3.1] CLI: `vipm build` now lets long-running VI package builds run to completion; previously a healthy build could be stopped after 60 seconds without visible progress and wrongly reported as VIPM Desktop being stuck BugFix25 = [2026.3.1] DESKTOP: The palette browser tree now displays correctly on Linux; previously it could report errors and fail to show the palette hierarchy BugFix26 = [2026.3.2] CLI/DESKTOP: Generating an SBOM now refuses only real unsaved edits to the project (.lvproj), and the message says what differs; previously it sometimes failed with "unsaved changes" (exit code 23) on a project that had not been edited, often in projects with NI driver dependencies (see https://github.com/vipm-io/vipm-desktop-issues/issues/146) BugFix27 = [2026.3.2] CLI/DESKTOP: Generating an SBOM now succeeds on projects that call a .NET assembly by name, such as `System.Windows.Forms` from the Global Assembly Cache; previously it failed with a "missing file" error (exit code 18) (see https://github.com/vipm-io/vipm-desktop-issues/issues/149) BugFix28 = [2026.3.2] CLI/DESKTOP: Generating an SBOM now resolves a shared library that a Call Library Function Node names with LabVIEW's wildcard pattern, such as `lvzlib*.*`, to the library LabVIEW actually loads, and attributes that library to its package in the SBOM; previously it failed with a "missing file" error (exit code 18) or silently left the library out of the SBOM (see https://github.com/vipm-io/vipm-desktop-issues/issues/150) BugFix29 = [2026.3.2] CLI/DESKTOP: Generating an SBOM now reads packages correctly when they use the OpenG package format or have a version with a release suffix, such as `oglib_lvzip 5.0.9-1`, and lists them in the SBOM with license, supplier, and hashes; previously it reported them as not installed or as a version mismatch and could leave them out of the SBOM (see https://github.com/vipm-io/vipm-desktop-issues/issues/151) BugFix30 = [2026.3.2] CLI: Packages whose version carries a release suffix (like the "-1" in "oglib_lvzip-5.0.9-1") are now handled correctly by the commands `vipm sbom`, `vipm uninstall`, `vipm info`, `vipm search`, and when working with `.dragon`/`.vipc` files; previously they caused problems in some cases Enhancement32 = [2026.3.2] CLI: `vipm refresh` now builds a fresh package cache faster; some minor performance issues were fixed when working with packages containing a release suffix BugFix31 = [2026.3.2] CLI: `vipm search` and `vipm list` now order versions numerically, and search shows each package's latest matching version; previously they could show an older version of a package as the latest, because versions were compared as text (so `5.0.9` ranked above `5.0.10`) Enhancement33 = [2026.3.2] CLI: Pre-release versions (like `1.0.0beta01-1`) now sort below their release version (`1.0.0`) and no longer satisfy a constraint such as `>= 1.0.0`; pre-release tags are ordered by letters, then by number (in order: `1.0.0alpha2`, `1.0.0alpha12`, `1.0.0beta01`, `1.0.0`) BugFix32 = [2026.3.2] CLI/DESKTOP: Commands that start LabVIEW now wait up to 120 seconds for it to start, and the `VIPM_LABVIEW_LAUNCH_TIMEOUT` environment variable (in seconds) allows a longer wait; previously they failed when LabVIEW took more than 30 seconds to start, which is common on VMs and CI runners (see https://github.com/vipm-io/vipm-desktop-issues/issues/100) Enhancement34 = [2026.3.2] CLI: When LabVIEW takes too long to start, the command now reports a timeout (exit code 124), and the message names the limit that was reached and how to increase the timeout value; previously this was reported as a different error (exit code 24 or 11) BugFix33 = [2026.3.2] CLI: `vipm install` from a package file now works for packages whose version carries a release suffix (like the "-1" in "oglib_msgqueue-3.0-1"); previously it failed with "No Package Info found" or "Missing Name in Package section"