First stable public release: a security and CI hardening pass plus feature, refactor, and documentation work over the v0.1.0 baseline.
Added
tools/scenario-benchcapacity/benchmark tool with pluggable CV/VLM task strategies, multi-task workloads, capacity reporting, VLM inference metrics, a 30s VLM warmup delay, and a workload design doc.- Sophon BM1688 safety-helmet detection algorithm and models.
- x86 preset algorithm pack with ONNX models.
- Error-message i18n infrastructure for the web console.
- Gitee mirror workflow, dual-repo README, and
MIRRORING.md. - Default-password forced-change flow.
- Nightly Sophon build/test workflow and an x86
cosmo-testsCI job.
Changed
- Hardened all GitHub Actions workflows (job timeouts, least-privilege permissions, SHA-pinned actions); pinned the Rust toolchain and frontend Node 22; rewrote
mirror-to-giteeto direct git push with an ssh-keyscan retry. - Renamed
PlatformConstants.htoNnBackendConstants.h; alignedDinoDetectorwithCODING_STYLE.md. - Build: removed redundant wrapper scripts, switched the Sophon compose flow to
run --rm, moved Windows Sophon cross-compilation onto a Docker named volume, correctedCMAKE_BUILD_TYPEcase, fixed vitenode_modules/.binpermissions, switched x86 to a pre-built builder image, and excluded the test video from packages. - Disabled the stdout log callback in production to avoid syslog flooding.
- Localized traffic-statistics dates, the onboarding channel-type hint, and task-run process name/status/algorithm fields; rendered alarm, face, and body-match similarity with consistent decimals.
- Added autocomplete and hidden username fields on auth inputs for accessibility.
- Clarified the public release roadmap in the English and Simplified Chinese README files.
Fixed
- Hardened
util/Execagainst shell injection via an argv-basedexecvpAPI, migrated call sites, and added regression tests. - Guarded
inferAi*Interfacedestructors against nullreuse_obj_. - Checked
bm_dev_requestreturn values in themem::DeviceContextconstructor. - Guarded
nn::HungarianAlgorithm::Solveagainst an empty cost matrix. - Removed a dead null check in the
service::EventNotifierWebSocket close callback and a dead mutex inAlarmRecordServiceImpl. - Reset
SIGPIPEtoSIG_DFLin the child process beforeexecvp. - Fixed the auth handler test by mocking
IsDefaultPassword.
Security
- Pre-release hardening pass: shell-injection guards, null-safety and lifecycle fixes across
infer/mem/nn/service, default-password enforcement, and child-process signal hygiene. - Updated
SECURITY.mdwith supported versions, response SLA, and hardening notes, and unified the vulnerability contact tohello@cosmowander.ai.
Docs
SECURITY.mdsupported-versions table, response SLA, and hardening notes.- Interface HTML docs synced with the staticfile i18n versions.
- Sophon build/test CI badge and README badge layout refresh; test video added.
Source code: build from this tag using docker compose -f docker-compose.x86.yml up -d --build (x86 dev) or docker-compose -f docker-compose.sophon.yml run --rm cosmo-sophon-package (Sophon BM1688). See the Build Guide.
Full changelog: CHANGELOG.md.