Repository navigation
InferBridge 0.9.3-beta.2
Pre-releaseInferBridge 0.9.3-beta.2
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 fixes a defect that made the installed and portable builds unable to prepare any model.
Every conversion failed with Conversion failed: could not get source code a few seconds
in, before a single byte was downloaded, while the same conversion succeeded from a source
checkout. If you installed 0.9.3-beta.1 or earlier and no model would download, this is
that bug.
Packaged model conversion works again
optimum-cli export openvino imports optimum.intel.openvino before it downloads
anything. Importing it applies a Transformers decorator that reads the source of the
function it decorates with inspect.getsource, and import torch tokenizes its own
configuration modules the same way. The packaged build shipped only bytecode for Optimum,
Optimum Intel, NNCF, and Hugging Face Hub, so linecache found no lines for those modules
and Python raised OSError: could not get source code during the import. That is why the
failure was invisible from a source checkout, where the .py files exist on disk.
- The bundle now ships Python sources for the conversion packages, and for torch's
configuration modules explicitly rather than relying on a third-party PyInstaller hook to
keep collecting them. This adds roughly 9 MB. - Release validation now imports the export chain. The packaged smoke test previously
only walked Optimum's CLI registration namespace, which never imports Optimum Intel, so
the build passed while every conversion was broken. It now imports
optimum.exporters.openvinoandoptimum.intel.openvinoinside the frozen bundle, and a
missing source file fails the build instead of the user's first model download.
Long packaged downloads no longer fail mid-flight
A packaged conversion runs Optimum inside the helper process, so tqdm and the Transformers
loader redrew directly on the helper's stderr using carriage returns and no newline. The
server reads that pipe with asyncio.StreamReader.readline, which raises once its 64 KiB
buffer fills without a separator, so a large download would have failed while healthy. This
was unreachable until the import failure above was fixed.
- In-process Optimum output is now split into whole lines through the same emitter the
source subprocess path already used. - Packaged conversions report real progress. Download and quantization percentages now
reach the UI instead of one static "Running packaged OpenVINO conversion…" message for the
entire export. - Standard output stays a pure JSON Lines progress channel in packaged mode, matching
the documented converter protocol.
Frozen helper failures name their origin
A windowed helper cannot show a traceback, and the server surfaces only the tail of its
output, so could not get source code arrived with no exception type and no indication of
which module raised it. Helper failures now report the exception type and the file name and
line they came from, with no bundle path included.
Validation performed for this pre-release
This build was produced with -SkipTests. Lint, the Python test suite, the source mock
API contract validator, and the packaged mock smoke tests were not run as part of the
release build.
The fix was verified against a real packaged build before this release was cut. Driving the
installed application's own HTTP API, with no mock, tinyllama-1.1b-chat-int4 downloaded,
converted to INT4 OpenVINO IR, loaded, and generated a completion. The packaged native and
conversion-import smoke test passes, and the failure was confirmed to reproduce on the
0.9.3-beta.1 binary before the change.
Release provenance, the model library manifest, and SHA-256 checksums are verified
independently of the build.
The two pre-existing red items recorded in 0.9.3-beta.1 are unchanged and
still present: the unsorted import block in tests/test_lifecycle_delete_safety.py, and
tests/test_model_recovery_cleanup.py::test_incomplete_output_rejects_a_dangling_link_before_exists_check,
whose fixture fakes is_symlink() on a path it never creates. Neither is affected by this
release.
Not verified
Authenticode signing (these artifacts are unsigned), real Intel GPU or NPU execution of a
packaged conversion, installer upgrade and downgrade on a real Windows installation, and
conversion of models other than the one exercised above. A signed stable build must advance
the version; see 0.9.0 for the planned stable release record.