Repository navigation
v1.29.0
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.0and its ingestion token are present as literals inlibonnxruntime.so; PosixTelemetry::enabled_defaults totrue;- it is suppressed only by
ORT_DISABLE_TELEMETRY,ORT_RUNNING_UNIT_TESTS, or a CI environment variable — none of which a production container sets; LogSessionCreationreportsmodelFileName,modelGraphName, producer, domain, weight type, graph and weight hashes, the fullmodelMetaDatamap, andexecutionProviderIds.
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-cpuBaking 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 —
ONNXTensorElementDataTypeis unchanged.value_info.cppalready names and decodes the full enum, including the float8, float4 and sub-byte types. - Mapped enums —
GraphOptimizationLevelandExecutionModeare unchanged, soparse_graph_opt_levelandparse_execution_modestay complete. - Session options — four new config-key macros (
kOrtSessionOptionEpEnableWeightless,kOrtSessionOptionEpContextSourceModelPath,kOrtSessionOptionsMaxShapeOverride,kOrtEpDevice_EpMetadataKey_WeightlessSupport). Nothing to implement:config_entriesforwards arbitrary keys toAddSessionConfigEntryand echoes back theGetSessionConfigEntryreadback. ORT_INTRA_OP_NUM_THREADS/ORT_INTER_OP_NUM_THREADS(#29688) are process environment variables for default pool sizes. Not applicable — the explicitintra_op_num_threads/inter_op_num_threadssession 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