Skip to content

v1.29.0

Choose a tag to compare

@kibae kibae released this 19 Aug 00:19
· 14 commits to main since this release
a507f1c

Aligns with upstream ONNX Runtime v1.29.0.

A version-sync release. Upstream 1.29.0 changes nothing the server has to adapt to at the API level — the tensor element type enum, GraphOptimizationLevel and ExecutionMode are all unchanged, and the new session-option config keys are already reachable through the existing config_entries passthrough. The one thing worth knowing about this release comes from upstream rather than from the server: 1.29.0 adds POSIX telemetry, and it is enabled by default in the official Linux binaries these images are built against.

📖 Telemetry is on by default in the upstream Linux build — documented, not overridden

ONNX Runtime 1.29.0 landed POSIX telemetry (#27379). The official linux-x64 binaries this project ships against are built with it compiled in, and it is active unless you opt out. Verified against the shipped library rather than assumed:

  • the 1DS collector URL https://mobile.events.data.microsoft.com/OneCollector/1.0 and its ingestion token are present as literals in libonnxruntime.so;
  • PosixTelemetry::enabled_ defaults to true;
  • it is suppressed only by ORT_DISABLE_TELEMETRY, ORT_RUNNING_UNIT_TESTS, or a CI environment variable — none of which a production container sets;
  • LogSessionCreation reports modelFileName, modelGraphName, producer, domain, weight type, graph and weight hashes, the full modelMetaData map, and executionProviderIds.

Because model and version are user-chosen path components under --model-dir, deployment-specific model names leave the process by default. For a private model catalogue that may be more than you want to emit.

The published images keep upstream's default rather than overriding it, so nothing changes silently for existing deployments. The behaviour and the opt-out are now documented in the README options section and on the Docker Hub page. To turn it off:

docker run -e ORT_DISABLE_TELEMETRY=1 ... kibaes/onnxruntime-server:1.29.0-linux-cpu

Baking ENV ORT_DISABLE_TELEMETRY=1 into the dockerfiles remains open as a separate policy change.

🔧 Chores

  • ci: release 1.29.0 — bump the version across README, Docker assets, the Swagger spec, and the version test.

📋 Upstream 1.29.0 review

The 1.28.0 → 1.29.0 public session headers were diffed for anything the server has to handle:

  • Tensor element data types — ONNXTensorElementDataType is unchanged. value_info.cpp already names and decodes the full enum, including the float8, float4 and sub-byte types.
  • Mapped enums — GraphOptimizationLevel and ExecutionMode are unchanged, so parse_graph_opt_level and parse_execution_mode stay complete.
  • Session options — four new config-key macros (kOrtSessionOptionEpEnableWeightless, kOrtSessionOptionEpContextSourceModelPath, kOrtSessionOptionsMaxShapeOverride, kOrtEpDevice_EpMetadataKey_WeightlessSupport). Nothing to implement: config_entries forwards arbitrary keys to AddSessionConfigEntry and echoes back the GetSessionConfigEntry readback.
  • ORT_INTRA_OP_NUM_THREADS / ORT_INTER_OP_NUM_THREADS (#29688) are process environment variables for default pool sizes. Not applicable — the explicit intra_op_num_threads / inter_op_num_threads session options still take precedence.
  • ONNX 1.22.0 — unchanged from 1.28.0; no opset bump to follow.
  • Complex tensors — still not allocatable, so get_tensor_data's complex64/128 branches remain defensive-only.

Full Changelog: v1.28.0...v1.29.0