- Add
QueueConfigso queue channel capacity is configurable at construction (default 64; capacity 0 is rejected) - Add non-blocking
QueueSender::try_push, which returns typedQueueError::Fullwith the rejected request when the queue is at capacity - Remove
QueueSender::push; callers submit work withtry_push - Remove
QueueError::Terminal; a finished worker reportsClosedorWorkerPanicked - Replace split
PipelineConfigclustering and activity fields with checkedClusteringConfigandActivityCleanup - Add activation-aware
DiarizationResult::exclusive_segmentsand remove the obsoleteDiscreteDiarization::make_exclusivebinary tie-breaker - Add checked filterbank session-pool and thread settings to
RuntimeConfig - Add
OwnedDiarizationPipeline::clone_sharedfor non-CoreML concurrent pipelines that share model sessions
- Clean up the public API for 0.5.0: expose tuning config types, make selected enums non-exhaustive, rename custom segment conversion to
to_segments_with, and makeSegmentdisplay human-readable text instead of RTTM. - Return errors instead of panicking when queues end unexpectedly or ORT returns malformed inference output.
- Modernize shipped examples around
OwnedDiarizationPipeline/PipelineBuilder, including a queued sender-clone example. - Add dependency policy, MSRV, no-default-features, docs, README, package, and release-readiness checks.
- Fix the published crate manifest so
ort,crossbeam-channel,rayon,thiserror,tracing, andlibloadingare available onx86_64 - Add GitHub Actions checks for the packaged crate artifact to catch manifest dependency-scope regressions before publishing
- Fix embedding weight preparation so shorter masks clear stale tail values before reuse
- Validate BLAS backend feature selection at compile time, including no-backend and multi-backend configurations
- Reject
coremlbuilds on unsupported targets at compile time and clarify macOS CoreML support in the docs - Keep only the fixture files still used by the crate tests
- Default
ndarray-linalgto Intel MKL onx86_64and OpenBLAS elsewhere, which avoids OpenBLAS CPU-target issues onx86_64 - Add explicit
intel-mkl,openblas-static, andopenblas-systemfeature flags for users who disable default features and need to choose a BLAS backend - Route PLDA linear algebra through an internal backend shim, update the generated docs for the new backend options, and remove the stale OpenBLAS override from the GPU Docker build
- Require native CoreML bundles for
CoreMlandCoreMlFastmodes instead of silently falling back to ORT CPU, with clearer errors for missing or invalid compiled assets and updated model manifests for segmentation, fbank, tail, and chunk models - Reduce default
infolog noise across the diarization pipeline by moving stage-completion logs todebug - Upgrade dependencies
- Fix docs.rs build: replace removed
doc_auto_cfgfeature withdoc_cfg
- Split
QueuedDiarizationPipelineintoQueueSenderandQueueReceiver, enabling cloneable senders for multi-threaded push - Add
QueueError::Closedvariant to distinguish clean shutdown from worker panics QueueReceivernow joins the worker thread on drain, surfacing panics asQueueError::WorkerPanicked- Remove
push_batchandfinishin favor of drop-based signaling and iterator drain - Move
make_exclusivefrom a free function to a method onDiscreteDiarization - Move the main documentation (benchmarks, pipeline diagram, comparison tables) into
lib.rsand generate the README withcargo-rdme - Fix
repositoryURL in Cargo.toml pointing to wrong GitHub org