Repository navigation
InferBridge 0.9.1-beta.1
Pre-releaseInferBridge 0.9.1-beta.1
This is a beta pre-release and its artifacts are unsigned. Windows will report an
unknown publisher. Install it only if you accept that. Nothing in this release has been
Authenticode signed, and no signing claim is made anywhere in its metadata.
It is a maintenance pre-release on top of 0.9.0-beta.1. No new feature
areas were added. The changes are a repaired release and update browser panel, valid
browser-client markup, a packaged windowed-startup fix, Windows model-recovery cleanup
resilience, packaged Optimum CLI discovery validation, completion of the InferBridge
rename on three surfaces the 0.7.0 rename missed, and a corrected release-status section
in the README.
Fixes
- The release and update panel never worked. A missing closing parenthesis in the
injected release script meant the browser refused to parse that entire<script>
element, so the About and update surface silently did nothing: no version or build
detail, no update check, no download link, and no signature statement. The expression is
now balanced and the panel renders. - The packaged launcher aborted its own native validation when started without a
console. The frozen runtime hook gave up silently when it could not duplicate a
standard descriptor, leavingsys.stdoutandsys.stderrasNone. Packaged
third-party code writes to and flushes those streams unconditionally, so the new
packaged Optimum check raisedAttributeErrorand exited with the runtime-failure code.
The hook now falls back to a discard stream, so a windowed process never carries a
Nonestandard stream. - The browser client shipped invalid markup. The custom-model modal was missing one
closing</div>, so every injected script and style element — 38 of them — was nested
inside a hidden,aria-hiddenmodal overlay instead of the document body. Scripts and
styles still executed, but any injected visible markup would have been silently hidden.
The composed page now parses with balanced tags and no duplicate element ids. - Continuous integration syntax-checked a hand-maintained list of ten injected browser
scripts, and the release script was never added to it, which is why the first defect
above shipped. The check now parses every inline script in the fully composed page, so a
newly injected surface is covered automatically. Companion tests assert the composed
page's tag balance, unique element ids, and that injected surfaces attach to the body. - The Windows system tray tooltip still rendered the former product name. It now uses the
canonical display name, matching every other desktop surface and the identity inventory. - The private
/desktop/instancepayload and the model-library definition export both
reported"application": "OpenVINO Windows LLM". Both now report the current product
name. No consumer matches on that field; the launcher's duplicate-instance check uses
the instance nonce. - The external API contract validator titled its generated report with the former product
name. README.mdadvertised0.6.1as the current stable release and0.7.0as an
unpublished development version, which had been wrong sincev0.7.0shipped. It now
records0.8.0as the current stable release, links the current beta artifacts, states
that no published InferBridge artifact is signed, and indexes the release notes.
Hardening carried in this pre-release
These landed after the v0.9.0-beta.1 tag was cut and appear in a published artifact for
the first time here.
Model recovery cleanup on Windows
- Retries transient
rmtreefailures with a bounded backoff, so a Hugging Face cache or an
incomplete OpenVINO output directory briefly held by Windows Search, antivirus, or a
recently exited converter is removed instead of surfacing a raw filesystem error. - Clears the Windows read-only attribute before retrying a failed removal, with fallbacks
for the Windows/Python combinations that do not implementfollow_symlinksforchmod
orstat. - Checks for symbolic links before existence, so a dangling link is refused rather than
silently treated as an absent model directory. - Raises a bounded, actionable conflict that names no local path when cleanup cannot
complete, and preserves the recovery record so the operation stays retryable.
Packaged Optimum CLI discovery
- Bundles the
optimum.commands.registernamespace modules and gates the release build on
the packaged Optimum CLI actually discovering the OpenVINO export command through the
same namespace scan thatoptimum-cli export openvinouses. Bundling the registration
module is not sufficient on its own if PyInstaller leaves it outside that filesystem
scan, and the failure would previously have appeared only on a user's first conversion. - This gate had never run in a packaged build before this release. Its first execution is
what exposed the windowed standard-stream defect fixed above.
Repository hygiene
- Removed a dead private watchdog helper and applied the project's own lint and formatting
rules to the files that had drifted.
Validation performed for this pre-release
Ruff lint and formatting, the full Python test suite, and the composed-page JavaScript
syntax check all pass. The external mock API contract validator passes against a
source-run server in the full profile with embeddings, benchmarks, and lifecycle
exercised. Packaged installed-mode and portable-mode mock smoke tests run as part of the
release build. Release provenance and SHA-256 checksums are verified independently of the
build.
The repaired release panel is verified by parsing, not by a browser interaction test. Its
rendered content on real update metadata has not been exercised end to end.
Not verified
Authenticode signing (these artifacts are unsigned), installer upgrade and downgrade on a
real Windows installation, real Intel CPU, GPU, or NPU execution, tokenizer behavior for
every converted model, and recovery behavior with every Hugging Face cache and checkpoint
layout. Those checks require the documented Windows release and hardware certification
procedures. A signed stable build must advance the version; see 0.9.0 for the
planned stable release record.