Skip to content

Release v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Jun 20:05
cab6831

Neat Library v0.2.0

Neat Library v0.2.0 brings the application-facing Neat runtime and APIs onto the Platform 2.1.2 generation. This release focuses on a more reliable development experience: safer installation, clearer SDK and DevKit setup, stronger runtime measurement, improved live-video graph behavior, and better alignment across the Neat Library, LLiMa, Internals, Insight, and the Neat Development Environment.

Neat Library is the recommended starting point for building Modalix applications. It provides the higher-level C++ and Python APIs for models, graphs, pipelines, media, runtime diagnostics, and DevKit deployment, while lower-level components such as LLiMa and Internals remain packaged underneath the same Neat ecosystem.

Highlights

Built For Platform 2.1.2

This release updates Neat Library for the Platform 2.1.2 line:

  • Package version moves to 0.2.0.
  • Platform compatibility moves to 2.1.2.
  • Package metadata is aligned with the current Vulcan artifact flow.
  • LLiMa package handling now includes the CLI Debian package in the install bundle so GenAI runtime tooling is available alongside the core and development packages.

Safer Install And Update Flow

Neat Library now includes a secondary platform compatibility guard in the installer. Before modifying Python packages, apt packages, or SDK sysroot contents, the installer verifies that the package platform version matches the target environment:

  • In the Neat Development Environment, it checks /etc/sdk-release.
  • On Modalix DevKits, it checks /etc/buildinfo and DISTRO_VERSION.
  • If versions do not match, install stops before changing the system.

This complements the compatibility checks already performed by sima-cli and protects workflows where the installer is run directly, including DevKit Sync from inside the SDK.

Better Runtime Measurement And Graph Diagnostics

v0.2.0 improves the runtime visibility needed to tune real applications:

  • End-to-end latency and throughput measurement are available through production-safe defaults.
  • Deeper plugin latency tracing remains opt-in for focused profiling.
  • Graph run export and metric schemas are expanded for more consistent benchmark and runtime reports.
  • Benchmark reporting is hardened so incomplete, dropped, or unreliable measurements fail clearly instead of producing misleading results.
  • Prepared runtime bridge ABI checks catch incompatible runtime assumptions earlier.

These updates make it easier to move from “the pipeline runs” to “the pipeline is measurable, explainable, and ready to optimize.”

Stronger Live Video And Multi-Stream Behavior

This release improves graph behavior for live media workloads:

  • Adds realtime graph-link policy support for live multi-stream fan-in, keeping the latest frame per stream without unnecessary upstream blocking.
  • Preserves FPS metadata through Input::output_spec() and graph boundary input conversion.
  • Updates raw VideoSender graph construction to add explicit raw and NV12 caps before hardware H.264 encoding.
  • Stabilizes RTSP and decoder-related validation, including decoder quality comparison against a shared captured input stream.

The result is more predictable media negotiation and better behavior in graph-based video applications.

SDK, PyNeat, And Cross-Build Improvements

The 0.2.0 release includes SDK-focused build and packaging updates:

  • Improves eLxr SDK cross-build behavior by selecting a host-runnable Python while using target Python headers from the SDK sysroot.
  • Retags PyNeat wheels for the target Python ABI in SDK builds.
  • Pins nanobind for more reproducible Python extension builds.
  • Keeps exported Core CMake packages relocatable and tightens installed CMake dependency handling.
  • Improves stale package repair handling during install retries.

These changes reduce friction when building and consuming Neat Library from the SDK across host architectures.

Clearer Documentation And Setup Guidance

The documentation has been reorganized around the way developers actually get started:

  • A dedicated Neat Development Environment section covers installing the SDK, pairing with a DevKit, and running on hardware.
  • A dedicated Neat Library section covers installing or updating Core, using PyNeat, and inspecting an environment with the Neat CLI.
  • SDK install examples now use the correct GHCR tag syntax, such as ghcr:sima-neat/sdk:v2.1.2.
  • Neat Library release examples use the correct tag form, such as core@v0.1.0.
  • Insight documentation is assembled through autodoc so the Insight repository remains the source of truth.
  • Model Zoo and getting-started navigation were refreshed for the current developer flow.

Install

Install or update Neat Library with sima-cli:

sima-cli neat install core@v0.2.0

To download only the PyNeat wheel:

sima-cli neat install core@v0.2.0 -t pyneat

Use this release with the matching Platform 2.1.2 / Neat Development Environment 2.1.2 line.

Compatibility Notes

  • Compatible platform release: 2.1.2.
  • Recommended SDK line: Neat Development Environment 2.1.2.
  • This release should not be mixed with the Platform 2.0.0 / Neat Library 0.1.x line except for explicit compatibility testing.
  • Codec service lifecycle handling has been updated for the Internals change where neat-runtime owns the Linux encoder and decoder services. When those services are present on a DevKit, the installer stops them before replacement and restarts/verifies them after install.

Known Issues

Issue Impact Workaround / Recommendation Status
#392 Native C++ application builds can fail on DevKit because some public development dependencies may be missing. DevKit-native C++ app builds may fail when consuming the installed sima-neat CMake package. Use Neat Development Environment 2.1.2 for C++ application builds. It is more performant and provides the integrated SDK/sysroot workflow. Planned for the next release. See the linked issue for technical details.

Validation

Release readiness was based on the successful develop, documentation, metadata, and release-promotion CI runs referenced in the release PRs. Validation covered package metadata generation, docs build, runtime/NV12 fixes, benchmark/test updates, and release hygiene checks.

Included PRs

  • #375 - Add Insight autodoc source
  • #376 - Merge 2.1.x preparation work into develop
  • #378 - Refresh and restructure getting-started docs
  • #379 - Port NV12 runtime, benchmark, graph-link, and decoder fixes
  • #380 - Guard Neat installs against incompatible SDK/platform versions
  • #381 - Include package manifest in Core package metadata
  • #382 - Promote Neat Library develop for v0.2.0
  • #385 - Include the LLiMa CLI package in the install bundle
  • #388 - Update DevKit installer behavior for Internals codec services
  • #389 - Fix SDK GHCR install examples
  • #390 - Fix Neat Library release tag examples
  • #393 - Prepare the final v0.2.0 release promotion

Full Changelog: v0.1.0...v0.2.0