Repository navigation
Releases: spatialanalyzer/briosa
Release list
Briosa 0.9.2
Briosa 0.9.2 is a compatible correction release for both independent SpatialAnalyzer targets, 2024.1.0508.5 and 2026.1.0529.7. The runtime contract stays at major 2 revision 0, so the 0.4.0 .NET, JavaScript/TypeScript, and Python clients work unchanged. Default operation admission is unchanged.
Corrections
-
Exact SDK step text. 25 SA 2026 operations now send the SDK "View SDK Code" step text instead of installed-documentation text (#283, decision #246):
- 13 punctuation or spacing changes, for example
Save As...,Set SA's Window Poswith a straight apostrophe,(Rx,Ry,Rz), and two spaces before the hyphen inExport IGES File - Entire Model; - 12 letter-case changes.
Both targets now send
Make Pipe Relationship Cut. These steps have no licensed validation yet, so they are at-risk until the licensed probe session (#277) runs. - 13 punctuation or spacing changes, for example
-
SDK exceptions no longer crash the worker. An exception from the SDK during an MP sequence now reports the phase that was proven, with a diagnostic code and no exception text (#282):
- before
ExecuteStep: not started; - during execution or result retrieval: outcome unknown;
- in a getter after MP success: completed, with that output unavailable.
Per-call faults keep the worker. Faults at the STA level still stop it. An SDK call fault before execution currently reports kind
Internal, NotStarted, and DoNotReplay. A dedicated representation is tracked in #248. - before
Reliability and validation
- All supervisor deadlines use the injected time provider: connect, execution watchdog, startup, readiness, heartbeat, shutdown, and cleanup. Production timeouts are unchanged. Timing-sensitive tests now run on virtual time instead of short real-clock budgets (#281).
- A portable test checks every implemented SA 2026 binding against the committed exact-target evidence (MP step, argument labels, setter/getter family, and NOT_SUPPORTED entries). It carries 21 reviewed deviations (#284).
- CI reports protobuf differences between the two exact targets and fails on any new same-number wire-type conflict. The one known conflict,
ConstructObjectsFromSurfaceFacesRuntimeSelectRequestfields 1–2, is allowlisted pending a decision (#280). - An opt-in harness prepares the bounded licensed probe session. It is never run by ordinary builds or CI (#279).
- Dependency updates: Google.Protobuf 3.36.2, Grpc 2.84, OpenTelemetry OTLP 1.19.1, coverlet 10.1.0, and current GitHub Actions.
Validation
Portable CI and the release workflow ran the full server suites, package smoke, and the retained-client gate against the six published major-2 clients and the twelve major-1 clients. 0.9.2 was not run against licensed SpatialAnalyzer; the step-text corrections above remain at-risk.
Full Changelog: v0.9.1...v0.9.2
Briosa 0.9.1
Briosa 0.9.1 is a compatible correction release for both independent SpatialAnalyzer targets, 2024.1.0508.5 and 2026.1.0529.7. The runtime contract stays at major 2 revision 0, so the 0.4.0 .NET, JavaScript/TypeScript, and Python clients work unchanged. Default operation admission is unchanged.
Corrections
- Exact SDK argument labels. 13 labels (2026) and 12 (2024) that #227 changed away from exact-target evidence are restored. Examples:
Object(s)instead ofObjects,Show Toolkit?,Instrument's ID,Z Uncertainty), andGroup To Fit(#256). - Delete Cloud Points by X Y Z Range is restored to its 0.8.0 behavior (#256). In 0.9.0 it sent the wrong MP step and sent omitted bounds as
0. It now sends the exact step and sets each bound only when it is supplied.- Important: this is a destructive, replay-unsafe operation that the default allowlist admits. In 0.9.0 it most likely failed outright; in 0.9.1 it can delete cloud points again.
- The six bound arguments are at-risk: they have no licensed validation on 2024, and only a 2026 setter probe.
- Vector-group reference lists.
MakeCollectionVectorGroupNameRefListRuntimeSelectnow returns its result instead of DataLoss after MP success. A guard test now fails the build if any operation declares an output kind the worker cannot retrieve (#257). - Vector percentages.
GetVectorGroupPropertiesnow reads tolerance percentages as doubles, so fractional values are no longer truncated (#257). - Typed reconnect errors. Reconnecting a connected generation that is not ready for commands, which is the default when no connected-SA attestation is configured, and supervisor state races now return typed lifecycle errors with recovery guidance instead of gRPC
Unknown. Control Center reconnect actions now report the typed diagnostic instead of dropping the reply (#258). - 2024 interop fingerprint. 2024 packages 0.6.0 through 0.9.0 reported the 2026 interop fingerprint in GetServerInfo, offline diagnostics, and support bundles. 0.9.1 reports the 2024 target's own
sha256:98F7CA51…(#255).
Hardening
- The server reads
appsettings.jsonfrom its package directory rather than the caller's working directory. Explicit content-root overrides still apply. - The worker pipe now verifies the OS-reported client process.
- New fault tests cover unexpected response kinds, correlation mismatches, truncated frames, and worker exit on parent death (#259).
Release and CI validation (#254)
- CI verifies committed interop artifacts again and runs the manual server startup tests.
- Releases now require a commit on
mainand a version above every existing stable release. - Before packaging, releases repeat the full restore, interop, protocol (against the previous release), naming, and test gates.
- Signing re-checks each package digest.
Validation
Portable CI and the release workflow ran the full server suites, package smoke, and the retained-client gate against the six published major-2 clients and twelve major-1 clients. 0.9.1 was not run against licensed SpatialAnalyzer. The corrected labels, the restored DeleteCloudPoints bounds, and the new output retrievals have no licensed validation.
Documentation corrections are in #260. Remediation tracking is in #233.
Full Changelog: v0.9.0...v0.9.1
Briosa 0.9.0
Briosa 0.9.0 delivers the reviewed runtime redesign for both independent SpatialAnalyzer targets, 2024.1.0508.5 and 2026.1.0529.7. The host and worker now use explicit typed execution values and outcomes; supported MP RPCs use handwritten typed mappings instead of descriptor-interpreted runtime dispatch. Admission is bounded before mapping, lifecycle cleanup retains ownership until resolved, and normal operation dispatch avoids CLR reflection.
Breaking compatibility change: the runtime contract is major 2. Use the matching 0.4.0 .NET, JavaScript/TypeScript, or Python client. The three robot Machine ID inputs are collection/instrument identifiers on new protobuf field numbers; old fields are reserved. Major-1 clients reject 0.9.0 before MP work.
The two exact-target server packages are built, tested, and signed separately. Portable CI exercises the full server suites and packaged fake-SDK compatibility matrix against the six published major-2 clients and twelve retained major-1 clients. Licensed package validation of the preceding 0.9.0-dev.2 candidate covered external readiness, read-only smoke, two string-setter RPCs, and SDK stop against both matching SA/SDK targets. The final release source received full portable CI; it was not rerun against licensed SA. Fixture-backed reporting, instrument, and robot scenarios were not executed against licensed SA for this release.
The retained-log sink still scans its shared directory per event to preserve strict cross-process limits. A larger logging-performance change is tracked in #228; no logging speedup is claimed.
See the major-2 migration guide and the reviewed server PRs #223, #226, and #227.
Briosa 0.8.0
This release cleans up MP argument and result names for both supported exact SpatialAnalyzer targets. angle_tolerance_0_0_for_none becomes angle_tolerance; setting it to 0.0 still disables angle tolerance. Qualifiers remain documented as units, coordinate systems, sentinels, or conditional behavior.
Source and JSON migration: update named arguments, keyword arguments, input keys, result properties, JSON/TextFormat fields, and reflection lookups. Regenerate raw transport clients from this release's exact-target protocol artifact. Protobuf field numbers, types, presence, defaults, SDK labels, and binary behavior are preserved. Behavioral compatibility remains contract 1.0.
- SA 2024.1.0508.5: 168 renamed fields across 83 commands.
- SA 2026.1.0529.7: 172 renamed fields across 86 commands.
- Evaluate Feature Check, Reset Cloud Bounding Box, Define point of view, and Get point of view parameters retain their complete existing signatures because qualifier removal causes collisions.
See the complete migration table and validation record.
Release gates exercise both exact-target distributions, reproducible protocol and conformance artifacts, portable tests, and retained published client packages. Windows products are signed through the normal publisher workflow. These checks use fake SDK workers and do not establish additional licensed SpatialAnalyzer validation. Existing compatible clients and Installer 0.3.0 remain usable; adopting client 0.3.0 requires the documented source migration.
Briosa 0.7.0
Server 0.7.0 introduces behavioral compatibility contract 1.0 for the independent SA 2024.1.0508.5 and 2026.1.0529.7 products. Contract-aware clients can select a compatible installed distribution independently of the exact protocol artifact used to build the client. Exact SA target, activated SDK identity, connected SA identity, and execution readiness remain mandatory.
The server locates its exact SA application through Windows installation evidence and file-version checks. Ambiguous copies require an explicit per-process path. Briosa does not switch COM registration or make concurrent SA execution safe.
Use Installer 0.3.0 or newer for the new schema-3 packages. Keep older server distributions while existing applications require them: client 0.1.0 retains its exact Server 0.6.0 pin, and client 0.1.1 retains its exact Server 0.6.1 pin. See the selection and compatibility contract and compatibility evidence.
Both target products passed package/protocol/conformance reproducibility checks, packaged fake-SDK scenarios, and Windows signing verification in the release workflow. This initial contract-aware server has an explicit bootstrap exception because its protocol artifacts must precede contract-aware client publication; subsequent server releases require retained published-client compatibility tests. No new licensed-SA validation is claimed.
What's Changed
- Publish the server and Installer runtime patches in the shared catalog by @davidalucas in #206
- Separate behavioral compatibility from server build identity by @davidalucas in #212
Full Changelog: v0.6.1...v0.7.0
Briosa 0.6.1
Briosa 0.6.1 is a security patch for the independently packaged SA 2024.1.0508.5 and SA 2026.1.0529.7 products.
The self-contained server, SDK worker, Control Center and client-conformance bundles now include .NET runtime 10.0.12, built with SDK 10.0.401. This replaces the affected 10.0.10 runtime. There are no new MP operations or public protocol changes in this patch.
Upgrade each installed Briosa server to the 0.6.1 package matching its exact SA target. A system-wide .NET update does not patch an existing self-contained Briosa distribution. SpatialAnalyzer and its license remain separate requirements.
Each target has a server ZIP, protocol ZIP and client-conformance ZIP, with adjacent SHA-256 checksums and source provenance. The server ZIP's first-party Windows binaries carry timestamped signatures from David Lucas. Protocol and client-conformance bundles retain their developer-artifact format.
Validation includes 839 portable tests across the two targets, reproducible unsigned packages, packaged-client scenarios, protocol checks, Windows publisher-signature checks, and four clean CodeQL analyses. This patch does not add licensed-SA runtime evidence or resolve the existing enterprise and protected licensed-validation limitations. It remains a pre-1.0 release.
Briosa 0.6.0
SA 2024.1.0508.5 support
Briosa 0.6.0 introduces an independent Windows x64 server and Control Center for SpatialAnalyzer 2024.1.0508.5, alongside the existing 2026.1.0529.7 product. Choose the package matching your exact installed SA release. SpatialAnalyzer and its license are required separately.
The SA 2024 product implements the 996 operations selected by the completed command review, including Run Crib Sheet, Project Objects, and Stop Projection. Its protobuf contracts preserve the reviewed 2024 argument and choice differences. See the compatibility record for those differences and unavailable SDK mappings.
Downloads for each SA target
briosa-0.6.0-sa-<target>-win-x64.zip: self-contained server, SDK worker, and Control Center. Briosa Windows binaries are signed with the publisher identity David Lucas.briosa-protocol-0.6.0-sa-<target>.zip: the exact-target protocol bundle for client development.briosa-client-conformance-0.6.0-sa-<target>-win-x64.zip: portable client-conformance tooling that does not require SpatialAnalyzer.
Each bundle has an adjacent SHA-256 checksum and provenance record. Protocol and conformance bundles are developer artifacts and do not use the Windows-product signing path. All assets come from source commit a2825dee76cd817ba3fa697449d35bbd3a38eaeb.
Use the SA 2024 protocol for SA 2024 integrations: a 2026 client contract is not interchangeable where signatures differ. First-party .NET, Python, and JavaScript/TypeScript packages for SA 2024 are the next implementation step. Publication to the Installer's signed public download catalog is a separate follow-up; this GitHub release alone does not update that catalog.
Validation and current limits
Both targets passed ordinary CI, including portable tests, package/protocol checks, and generated-client smoke scenarios. The release workflow also checks reproducible unsigned bundles, packaged-client scenarios, and final Windows-package signatures before publication.
For SA 2024, six read-only operations and basic lifecycle behavior passed local licensed checks. The remaining 990 operations do not have SA 2024 runtime validation from this port. The local functional record documents exact-version identity checks, connection, restart, and shutdown. The three instrument operations still require their named hardware fixtures.
This is a pre-1.0 release. Protected licensed CI, broader runtime validation, and enterprise Artifactory verification remain outstanding before v1.0 under the current release criteria. Portable checks do not establish licensed runtime coverage.
Changes
- Add Briosa Server support for SA 2024.1.0508.5: #187.
- Retain the existing Control Center release catalog entries: #185.
Full changelog: v0.5.1...v0.6.0
Briosa 0.5.1
Control Center for Windows
This release includes Briosa Control Center alongside the gRPC server for SpatialAnalyzer 2026.1.0529.7.
- A tray icon provides access to server status, recent logs, and lifecycle controls.
- The desktop app follows the Briosa Installer appearance and helps explain connection and SDK-version problems.
- Briosa Installer 0.2.0 adds Open Control Center for installed packages that include the companion.
- Server installations remain inert until explicitly started. Headless environments can set
Briosa:Desktop:Mode=Disabled.
SpatialAnalyzer must be installed and licensed separately. See the Control Center guide and Briosa Installer 0.2.0.
What's Changed
- Finalize Control Center release checks and package guidance by @davidalucas in #184
Full Changelog: v0.5.0...v0.5.1
Briosa 0.4.0
Briosa 0.4.0 provides the signed Windows x64 gRPC server distribution for SpatialAnalyzer 2026.1.0529.7. SpatialAnalyzer must be installed and licensed separately.
This release adds Azure-backed Windows signing and signed catalog distribution. First-party Windows binaries are Authenticode-signed by David Lucas and timestamped. The server operation surface and runtime behavior are unchanged from 0.3.0; the new version preserves the identity of the earlier unsigned artifacts.
The live R2 package passed installer catalog verification, download, installation, offline file verification, and removal in an isolated store. Catalog signature renewal and credential-free public checks also passed. No live SpatialAnalyzer session was used for these publication checks.
Enterprise mirrors should preserve the paths and exact bytes beneath https://briosa.dev/downloads/, including the catalog's adjacent signature. Maintainer hosting and mirror guide
What's Changed
- Secure Windows releases and catalogs with Azure signing in #170
- Install the pinned SDK in Azure signing jobs in #172
- Set ZIP entry timestamps before writing signed payloads in #174
Full Changelog: v0.3.0...v0.4.0
Briosa 0.3.0
What's Changed
- Fix GitHub Release publication context by @davidalucas in #167
- Implement Wave B MP operations for SA 2026.1.0529.7 by @davidalucas in #168
Full Changelog: v0.2.1...v0.3.0