Release v0.2.1
v0.2.1 Patch Release
This patch improves Neat Library packaging, installation reliability, and graph runtime stability for the 0.2.x release line.
What changed
Neat runtime and development artifacts are now handled as separate packages. Runtime installs focus on the libraries and components needed to run Neat applications, while development installs include the headers and build-time pieces needed to compile against Neat.
The DevKit installer is also more robust on freshly flashed systems. When APT package indexes have not been populated yet, the installer now refreshes APT metadata before installing local DEB packages. This avoids misleading dependency errors such as packages being reported as “not installable” simply because the board has not run apt update yet.
This release also preserves graph-internal zero-copy transport under queue pressure. Public output fallback behavior remains available where users expect CPU-readable output, but internal graph transport edges now keep device-visible tensor storage intact for downstream EV74, DMS, and MLA routes.
Why this matters
The runtime/dev package split makes installs easier to reason about and improves package validation. Users installing Neat to run applications do not need the same artifact set as users building against Neat headers and CMake targets.
Freshly netboot-flashed DevKits can start with only minimal APT state under /var/lib/apt/lists. Without an index refresh, local package installation can fail even when the required dependencies are available from the configured repositories. The guarded refresh makes first install attempts more reliable while still allowing advanced users to disable or force the behavior.
For graph execution, internal appsink/appsrc handoff paths are transport boundaries, not user-facing CPU-read boundaries. Preserving zero-copy tensors across those internal paths prevents device-visible routes from receiving CPU-backed tensors after fallback behavior is triggered elsewhere.
User benefit
- Cleaner runtime vs development package layout.
- More predictable install and status reporting for core/dev package pairs.
- Better first-install behavior on freshly flashed Modalix DevKits.
- Fewer false “dependency not installable” failures caused by missing APT package indexes.
- More reliable hybrid graph execution when internal zero-copy transport is under pressure.
Configuration
APT metadata refresh is controlled by NEAT_INSTALLER_APT_UPDATE:
AUTO(default): runapt-get updateonly when APT package indexes are missing.ON: always runapt-get updatebefore local DEB installation.OFF: skip the metadata refresh.
If apt-get update fails, the installer logs the failure and continues so apt-get install can report the authoritative dependency error.
Compatibility
This is intended to be a patch-level update for the 0.2.x line. Public Neat APIs are unchanged.
Users and automation should expect both runtime/core and development package artifacts in package publishing and validation flows. Existing runtime users should not need code changes.
Validation
The included changes were validated through focused shell checks, package/install smoke coverage, CLI status tests, and graph-runtime regression coverage before promotion through main, integration/0.2.1, and release-0.2.
Included changes
- Preserve graph-internal zero-copy transport in #394 and #395
- Split Neat runtime and development packages in #416
- Add guarded APT metadata refresh for fresh DevKit installs in #421
- Promote the patch contents through
integration/0.2.1andrelease-0.2in #417 and #422
Full Changelog: v0.2.0...v0.2.1