# [3.0.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.7.2...v3.0.0) (2026-05-25)
* feat!: split Transport trait and add 4 new transports + factory ([af3e276](https://github.com/hyperi-io/hyperi-rustlib/commit/af3e276b913b6184cca84a436930b3e4823e5f7b))
### Bug Fixes
* add /startupz startup probe endpoint ([c5ce05d](https://github.com/hyperi-io/hyperi-rustlib/commit/c5ce05d3a4d00936681d6639829c8be01d6b6c7f))
* add adversarial worker pool tests — panic recovery, stress, boundaries ([a9ecf8c](https://github.com/hyperi-io/hyperi-rustlib/commit/a9ecf8c93da4eff47459ffb55cc0c083de1cf60f))
* add async sink engine API, fix doc-tests — Phase 2A ([0fe7e4d](https://github.com/hyperi-io/hyperi-rustlib/commit/0fe7e4de77b555fa96034fe00ba456537039db98))
* add async-trait to transport feature dependencies ([6c746d1](https://github.com/hyperi-io/hyperi-rustlib/commit/6c746d1754e61363ef4708075ca1ee3aaf3d9588))
* add auto_wire and ServiceRuntime integration for BatchEngine ([4727361](https://github.com/hyperi-io/hyperi-rustlib/commit/472736189a780df00b1f008e2a9b9a33b69f0c1a))
* add BatchAccumulator for bounded batch drain with time/count/bytes thresholds ([be62939](https://github.com/hyperi-io/hyperi-rustlib/commit/be62939ace6476983ca27bcbdc09caea59c2880b))
* add BatchEngine adversarial tests — edge cases, boundaries, stress ([eb08d5d](https://github.com/hyperi-io/hyperi-rustlib/commit/eb08d5d095067280c730a329e07580ead1f7174a))
* add BatchEngine core types — RawMessage, ParsedMessage, accessors ([1bbe21f](https://github.com/hyperi-io/hyperi-rustlib/commit/1bbe21f43d8c2f4ca3ce63ae2517e59cf339e5de))
* add BatchEngine criterion benchmarks ([75e142e](https://github.com/hyperi-io/hyperi-rustlib/commit/75e142e6ab06ffafcb0c0fd14f6118b128e01046))
* add BatchEngine metrics — auto-registered via MetricsManager ([779a528](https://github.com/hyperi-io/hyperi-rustlib/commit/779a528b58cd20bf9828f56a657f966fdd8c572f))
* add BatchEngine with process_mid_tier and process_raw ([3e86a75](https://github.com/hyperi-io/hyperi-rustlib/commit/3e86a75d9e5420005c54e5e513c88d1de5a9a01d))
* add BatchProcessingConfig with cascade support and DFE defaults ([271ab78](https://github.com/hyperi-io/hyperi-rustlib/commit/271ab78431a059c4f73d203142d129b27499496a))
* add benches, scripts to cargo publish exclude list [skip ci] ([eca5ecf](https://github.com/hyperi-io/hyperi-rustlib/commit/eca5ecffd776d5df35727b3d460fb81a0938bf41))
* add BSL-1.0 to deny.toml allow list ([90a7759](https://github.com/hyperi-io/hyperi-rustlib/commit/90a7759cf6096bf125585503ee16e7ef72cfa0f5))
* add cgroup resource limits to RuntimeContext + eviction metric ([385e135](https://github.com/hyperi-io/hyperi-rustlib/commit/385e135980a8c9c825e19edbc1810c19aef88654))
* add concurrent and edge-case tests for MemoryGuard ([b525552](https://github.com/hyperi-io/hyperi-rustlib/commit/b525552df4993d5f7159fb72a44e68c921a0068f))
* add config redaction, /config endpoint, change notification ([745e83b](https://github.com/hyperi-io/hyperi-rustlib/commit/745e83b98a1fa273123987745206b7e81ff3a07a))
* add core pillars doc reference to lib.rs module docs ([d9240d5](https://github.com/hyperi-io/hyperi-rustlib/commit/d9240d56ac08ce7923255ec020200a8de008ee34))
* add create_topics and delete_topics to KafkaAdmin ([a988594](https://github.com/hyperi-io/hyperi-rustlib/commit/a98859441b0a924e1c82dbd745c8b4e6f4118616))
* add data quality event helpers (DLQ routing, quality alerts) ([c494a81](https://github.com/hyperi-io/hyperi-rustlib/commit/c494a81d1c116a7bc3b3f8b6367c52f4a7075e54))
* add default spread to MetricsConfig in full_demo example ([c60354c](https://github.com/hyperi-io/hyperi-rustlib/commit/c60354c9539225ccd90ffc7f14606f051d51b76b))
* add deny.toml, document histogram stub, block single-dot in table names ([9788799](https://github.com/hyperi-io/hyperi-rustlib/commit/97887999bc6b03b275f0ca485af050fe9d3e95a3))
* add DfeMetrics standard metric set with transport labels ([f440a6f](https://github.com/hyperi-io/hyperi-rustlib/commit/f440a6f1ecbe49d81586430f83f88c4f39c6ec7c))
* add DfeSource convention for topic naming and consumer groups ([91e2c3d](https://github.com/hyperi-io/hyperi-rustlib/commit/91e2c3d82b591c328393fa6b6359d492e96bcdf1))
* add engine.run transport-wired recv→process→commit loop ([ef44961](https://github.com/hyperi-io/hyperi-rustlib/commit/ef4496198a152ec7fe3c137ad8b6d6e981dcf759))
* add explicit breaking change rule to semantic-release config ([226ccc3](https://github.com/hyperi-io/hyperi-rustlib/commit/226ccc38da57d79c3b75407c63b74050f0354b34))
* add feature gates to gRPC integration tests ([f115f39](https://github.com/hyperi-io/hyperi-rustlib/commit/f115f39d8f8744c65d8970416bc069d8fb8d93bb))
* add FieldInterner — concurrent field name interning with DashMap ([4199f31](https://github.com/hyperi-io/hyperi-rustlib/commit/4199f3160f761546c1f4c7b8e88ef6a81951ad24))
* add filtered counter to PipelineStats ([9a74f15](https://github.com/hyperi-io/hyperi-rustlib/commit/9a74f157be72830dba2d90ac5e6e62ec0d2af009))
* add flat env override helpers, ApplyFlatEnv and Normalize traits ([64763c5](https://github.com/hyperi-io/hyperi-rustlib/commit/64763c5f540b701c14a0f1badf937ff6f00ad9d1))
* add from_env/from_env_raw to MemoryGuardConfig, tune defaults ([4ba34e6](https://github.com/hyperi-io/hyperi-rustlib/commit/4ba34e6083becb09a2991159f5c5440633f6d369))
* add health registry, shutdown manager, and wire all modules ([4500558](https://github.com/hyperi-io/hyperi-rustlib/commit/45005580ab0d0717d7fc71e7278c853c026de215))
* add http_client, database URL builders, and cache modules ([1827e3a](https://github.com/hyperi-io/hyperi-rustlib/commit/1827e3ac1204359582165d7ae9cb430f995e9088))
* add kafka_config module with config_from_file and file-based overrides [skip ci] ([e714a41](https://github.com/hyperi-io/hyperi-rustlib/commit/e714a415d7f2bcbb0c63cfe566157cd3c9525f2b))
* add libc dependency for disk-aware capacity management ([b8d4be8](https://github.com/hyperi-io/hyperi-rustlib/commit/b8d4be83d955a699d1f8b75d7ed1d04f58793d06))
* add log spam helper functions (state, sampled, debounced) ([25f8441](https://github.com/hyperi-io/hyperi-rustlib/commit/25f844195238f63eb6a345f4ce0a6586ad8d04cf))
* add markdownlint-cli2 ignore config for generated/vendored files ([7b26869](https://github.com/hyperi-io/hyperi-rustlib/commit/7b26869d733169f903bee290d00bba546d93e51b))
* add MemoryGuard — cgroup-aware memory backpressure for OOM prevention ([66bcfbb](https://github.com/hyperi-io/hyperi-rustlib/commit/66bcfbbd5be0c206809a6ed6d05b98f5fc9926a1))
* add metrics instrumentation to all modules ([e1b4903](https://github.com/hyperi-io/hyperi-rustlib/commit/e1b4903037a6f2f090ef0f474ccefb07b2d6d0a3))
* add metrics instrumentation to gRPC transport ([1cfa338](https://github.com/hyperi-io/hyperi-rustlib/commit/1cfa33873df24b4d73f1b39ef0fe01e8ea9e91e8))
* add missing adversarial tests — skip/fail actions, concurrent, 20K batch ([2ec6ca5](https://github.com/hyperi-io/hyperi-rustlib/commit/2ec6ca5b0bc5c6899585e4041a8de0801b43c235))
* add missing license types to deny.toml allow list ([8bd9455](https://github.com/hyperi-io/hyperi-rustlib/commit/8bd945564b8b62e751dbed3f56c058d50469ee3a))
* add missing schema_version and oci_labels fields to test constructors ([e671cc0](https://github.com/hyperi-io/hyperi-rustlib/commit/e671cc0a407b8caf5425ad886dd38df248429563))
* add NDJSON batch split utilities for parallel line parsing ([0f632f2](https://github.com/hyperi-io/hyperi-rustlib/commit/0f632f2b32a6fc7db747f9d339968638ce31efcc))
* add packages:write permission for container job ([8452a17](https://github.com/hyperi-io/hyperi-rustlib/commit/8452a173e3b08b736f6b13c6d46f8b13e16bb9ff))
* add pre-route field extraction via sonic_rs::get_from_slice ([3b7f38e](https://github.com/hyperi-io/hyperi-rustlib/commit/3b7f38ebc191846515890b04f78b3b29c1dc792b))
* add readiness callback to MetricsManager health endpoints ([70fd301](https://github.com/hyperi-io/hyperi-rustlib/commit/70fd301fc9f7c1c15fbf06a7cfad666b0132fda7))
* add reflectable config registry with auto-registration ([af0e693](https://github.com/hyperi-io/hyperi-rustlib/commit/af0e693effeaae431af18c0bbc794fbd71b5e470))
* add regex dep for topic resolver filters ([bf8eb3d](https://github.com/hyperi-io/hyperi-rustlib/commit/bf8eb3dc33813779737e041f219c6feaaf15042a))
* add RuntimeContext + startupz integration tests ([1111ab0](https://github.com/hyperi-io/hyperi-rustlib/commit/1111ab0f122ea79ac09b91d66ac9076d4c912ac0))
* add security event logging framework (OWASP-aligned) ([55d98e1](https://github.com/hyperi-io/hyperi-rustlib/commit/55d98e148ef25f15a0d0bddc3ecaf8ca0d3d1d2f))
* add SensitiveString type, ConfigReloader registry hook, redaction tests ([32a4b0a](https://github.com/hyperi-io/hyperi-rustlib/commit/32a4b0aac23a47586d83e469dca192ffe1aa1b3f))
* add serde_json to metrics feature for manifest endpoint ([96ccda4](https://github.com/hyperi-io/hyperi-rustlib/commit/96ccda48c65936ed4c2e362908e02f310c04a979))
* add SIMD parse phase — sonic_rs for JSON, rmp_serde bridge for msgpack ([3168fc4](https://github.com/hyperi-io/hyperi-rustlib/commit/3168fc4007f59af7d78903fd92303354e9b98e5f))
* add sonic-rs, dashmap, bytes deps for BatchEngine ([076e4bf](https://github.com/hyperi-io/hyperi-rustlib/commit/076e4bf3c01f48563bca0e2d10f8d9c2cd54ab6f))
* add start_server_with_routes, scaling/memory endpoints to MetricsManager [skip ci] ([d649822](https://github.com/hyperi-io/hyperi-rustlib/commit/d6498226047ea8ca7d9df65c58d5b4554c62408a))
* add tag input to workflow_dispatch for publish trigger ([92ace10](https://github.com/hyperi-io/hyperi-rustlib/commit/92ace10366945e93899440036f4fe7cd17fa7ab2))
* add topic resolution fields to KafkaConfig ([43500c2](https://github.com/hyperi-io/hyperi-rustlib/commit/43500c289566c657dc855abdb3bb70a61c3999af))
* add TopicRefreshHandle for periodic topic re-resolution ([8f8f0bc](https://github.com/hyperi-io/hyperi-rustlib/commit/8f8f0bc703cc429d0a0b15765b13d21397fa9714))
* add TopicResolver — configurable suppression rules, include/exclude regex ([47743ff](https://github.com/hyperi-io/hyperi-rustlib/commit/47743ffb9125e4f02423e09d48fd358a2ca0d4dd))
* add tracing-throttle layer to logger (opt-in via LOG_THROTTLE_ENABLED) ([c290b02](https://github.com/hyperi-io/hyperi-rustlib/commit/c290b02789440f78a33f76166701d4e71fe5995d))
* address clippy warnings in log helpers (is_multiple_of, cast) ([6a0f141](https://github.com/hyperi-io/hyperi-rustlib/commit/6a0f141cc97c452d46f1688b6ea053095ec4ed7c))
* address PR review — clippy, parking_lot, subscribed_topics update ([7877d45](https://github.com/hyperi-io/hyperi-rustlib/commit/7877d45ec285d5ee4e731dd57573736d08962f18))
* apply cargo fmt formatting ([1a94d90](https://github.com/hyperi-io/hyperi-rustlib/commit/1a94d903dd50f8f281c78f8924ba430b8cfa4d9f))
* auto-emit config reload and rdkafka Prometheus metrics ([a9f26ea](https://github.com/hyperi-io/hyperi-rustlib/commit/a9f26eaa9d0b8ddb171fe62ab591db2606a76b69))
* block regex (matches) in CEL expressions by default ([3720819](https://github.com/hyperi-io/hyperi-rustlib/commit/372081931a59111077b1f0b7cecc75a292f9629c))
* bump lz4_flex upper bound, update deps, fix clippy lints ([60cd474](https://github.com/hyperi-io/hyperi-rustlib/commit/60cd474c2a9eaa909234b8e3b81559284a0eb391))
* bump lz4_flex upper bound, update deps, fix clippy lints ([09efab4](https://github.com/hyperi-io/hyperi-rustlib/commit/09efab4ae41fef24f5f813a5174dc25f525ef2eb))
* cache instance_id with OnceLock to fix race condition in tests ([b11b66b](https://github.com/hyperi-io/hyperi-rustlib/commit/b11b66be6d8631c7d52f184bcee00ba30e83f753))
* cap max_threads at available_parallelism even when explicitly set ([90aeca2](https://github.com/hyperi-io/hyperi-rustlib/commit/90aeca2bfd0af2ec933008e8dde137f537f7d9b5))
* **ci:** add global-credential-providers for cargo auth ([73ba0b7](https://github.com/hyperi-io/hyperi-rustlib/commit/73ba0b784af667bd4f06bcbcaac20eab64a8dbb3))
* **ci:** add system dependencies for rdkafka build ([65b5cb0](https://github.com/hyperi-io/hyperi-rustlib/commit/65b5cb0232a81d88318223f3ad46e1ba968399b0))
* **ci:** configure Artifactory registry before build step ([88b5a37](https://github.com/hyperi-io/hyperi-rustlib/commit/88b5a37c04aa86c97293d2f6cc2a998692496a47))
* **ci:** restore .claude/** in workflow paths-ignore ([21dfcfc](https://github.com/hyperi-io/hyperi-rustlib/commit/21dfcfcab235595c479d6708f9c67872d575abd3))
* **ci:** use buildjet-32vcpu runner for release ([92801fd](https://github.com/hyperi-io/hyperi-rustlib/commit/92801fdf9f87c93676e1623dd9d7523149619fe7))
* **ci:** use correct secret name JFROG_ACCESS_TOKEN ([cf6e62d](https://github.com/hyperi-io/hyperi-rustlib/commit/cf6e62d2cc6931aa6b1444a2579614b47e43b352))
* **ci:** use echo instead of heredocs for cargo config ([deb0510](https://github.com/hyperi-io/hyperi-rustlib/commit/deb05100e067c7fe7147c514fcb1a19854bfa4a8))
* **ci:** use env var for cargo registry token ([60f45c6](https://github.com/hyperi-io/hyperi-rustlib/commit/60f45c64db354a17974aa6330db7a552da27ac51))
* **ci:** use org default runner for release workflow ([14165ec](https://github.com/hyperi-io/hyperi-rustlib/commit/14165ec10f832d985d1d33b12281400f0841aaf5))
* **ci:** use system librdkafka instead of cmake-build ([8f13ba8](https://github.com/hyperi-io/hyperi-rustlib/commit/8f13ba87a45a7e669d814628b50c74b37acdb858))
* clarify header comment wording ([af824f3](https://github.com/hyperi-io/hyperi-rustlib/commit/af824f3ddef0953160237fcf8451200300cf3779))
* clippy — use flatten instead of if-let in test loop ([9cc5992](https://github.com/hyperi-io/hyperi-rustlib/commit/9cc5992d35c3d46e6d8428e325de8d7b84b3b77a))
* clippy and fmt issues in version_check module ([3b86d6c](https://github.com/hyperi-io/hyperi-rustlib/commit/3b86d6c913e3e89ef4c2ecee13e8cce3aa010888))
* clippy and test fixups for BatchEngine ([444083c](https://github.com/hyperi-io/hyperi-rustlib/commit/444083cce878e398eb63c7070aa195560d7a417f))
* clippy approx_constant lint and standardise release runner ([98130b1](https://github.com/hyperi-io/hyperi-rustlib/commit/98130b15afbc3ffa4c1a6fe4131e1f5ab335b9ec))
* clippy fixes — collapsible if, Debug impl, default_trait_access ([ad547c1](https://github.com/hyperi-io/hyperi-rustlib/commit/ad547c122277e0862a8de5becb4a03cc6664d73b))
* clippy lints for CI compatibility ([e0a3b18](https://github.com/hyperi-io/hyperi-rustlib/commit/e0a3b18f1f3946660c6fc6e3cdfd2f075b7b647f))
* clippy manual_let_else in vector compat tests ([0e77e84](https://github.com/hyperi-io/hyperi-rustlib/commit/0e77e84f2aaa352f140f07dfe3c511e76aac696e))
* clippy match_wild_err_arm in vector compat tests ([a65e47e](https://github.com/hyperi-io/hyperi-rustlib/commit/a65e47e3fff6af917c493613da41377acc179f6b))
* clippy single_match_else and match_same_arms ([325a73b](https://github.com/hyperi-io/hyperi-rustlib/commit/325a73bd95916aa23a1da170feaaa9e228142ebe))
* **config:** set language to rust ([099d439](https://github.com/hyperi-io/hyperi-rustlib/commit/099d439de79eb01fe75148b8a49835590ad80067))
* correct Cargo.toml version (CI version bump failed for v1.9.0) ([04d79e9](https://github.com/hyperi-io/hyperi-rustlib/commit/04d79e9b140c45d368d6b302daef7e9b4e05f579))
* correct Dockerfile profile assertions in deployment tests ([8ba5912](https://github.com/hyperi-io/hyperi-rustlib/commit/8ba5912a7cc7da89e689333b7e28d6ee8618e9fc))
* correct Helm template brace escaping in generate.rs ([1a5469f](https://github.com/hyperi-io/hyperi-rustlib/commit/1a5469fdfb763caab27f1ba8b452904fa3ab190e))
* correct module path in clickhouse_arrow doc tests ([c8976a3](https://github.com/hyperi-io/hyperi-rustlib/commit/c8976a326d3d4f9eec3e5b52e54241231d66085e))
* correct recv metric names and describe_gauge in AppMetrics ([fea7fcb](https://github.com/hyperi-io/hyperi-rustlib/commit/fea7fcbc4f0444e43050242cf8bb6b281a6b4527))
* correct VERSION after tag migration from release to main ([6f1fa95](https://github.com/hyperi-io/hyperi-rustlib/commit/6f1fa950aff5725ac27071d228e57b48db496243))
* deployment contract CI bridge — container manifest, OCI labels, runtime stage ([3e72c30](https://github.com/hyperi-io/hyperi-rustlib/commit/3e72c3071b3bc4f33f46f2e07c30bedc34425fcf))
* **deployment:** contract identity annotation scheme v1 + e2e tests ([b6fe277](https://github.com/hyperi-io/hyperi-rustlib/commit/b6fe277845fe9eb97625a7ce409846f98c34ef33))
* **deployment:** extract test_support module + mark e2e tests as TEMPLATE ([c743cbd](https://github.com/hyperi-io/hyperi-rustlib/commit/c743cbd2d331dbb49f82125b87ece15f1a12a6c3))
* **deps:** bleeding-edge update + close 3 rustls-webpki CVEs ([9af33d9](https://github.com/hyperi-io/hyperi-rustlib/commit/9af33d974c06522ef68cc399c399f768647b1c0e))
* **directory-config:** drop fs4 dep, use std::fs::File lock API ([d8337a7](https://github.com/hyperi-io/hyperi-rustlib/commit/d8337a70e581b58052ab63de52e5acc6bd8fc51a))
* Dockerfile generator header and Ubuntu 24.04 UID fix ([8cc2bc0](https://github.com/hyperi-io/hyperi-rustlib/commit/8cc2bc0e37af5290782dc667603ec6fb6be84408))
* **docs:** add missing SecretSource import in secrets doctest ([f15ca51](https://github.com/hyperi-io/hyperi-rustlib/commit/f15ca5106872d1bd5ff13733c446902364680eb0))
* downgrade rdkafka INFO/Notice logs to debug level ([428ad3e](https://github.com/hyperi-io/hyperi-rustlib/commit/428ad3ee2fbb51587572786746725198b55e5ea6)), closes [hyperi-io/dfe-loader#5](https://github.com/hyperi-io/dfe-loader/issues/5)
* dprint formatting for float match arm ([0de8f17](https://github.com/hyperi-io/hyperi-rustlib/commit/0de8f17cf9801d9dcda37970561ff45516dc6f3e))
* drop reqwest default features + clippy 1.95 lints ([f8bcb5a](https://github.com/hyperi-io/hyperi-rustlib/commit/f8bcb5aff23f64ad891d95d34b01ecea5e734ef1))
* enforce max_spool_bytes limit in TieredSink ([246b0e9](https://github.com/hyperi-io/hyperi-rustlib/commit/246b0e90166b00dffdfc40ba2b8e7e0a28c26707))
* exclude non-essential directories from cargo package ([9260547](https://github.com/hyperi-io/hyperi-rustlib/commit/92605477fe319b99e4128b9438df7ed40e969ca6))
* expose rayon pool install on AdaptiveWorkerPool ([92f11da](https://github.com/hyperi-io/hyperi-rustlib/commit/92f11da070353ab794c5beb51edb4e24eaf4fb4d))
* feature-gating hygiene + panic removal + docs.rs metadata ([d8aad93](https://github.com/hyperi-io/hyperi-rustlib/commit/d8aad93b5c6751d15427f1e3b57b1f5f7a3ce1e0))
* **features:** worker module visible under worker-pool/worker-batch ([1c8bc0f](https://github.com/hyperi-io/hyperi-rustlib/commit/1c8bc0fbea2bbe6e45113ac8ba14cf32f5561793))
* from_cascade falls back to defaults when config not initialised ([adbb974](https://github.com/hyperi-io/hyperi-rustlib/commit/adbb974d2bb53e961bd55f0cadd67cfbad7a87f3)), closes [hyperi-io/dfe-loader#19](https://github.com/hyperi-io/dfe-loader/issues/19) [hyperi-io/dfe-loader#19](https://github.com/hyperi-io/dfe-loader/issues/19)
* gate memory imports in ServiceRuntime for feature-minimal builds ([94f032e](https://github.com/hyperi-io/hyperi-rustlib/commit/94f032ec9064a6e995821277d736645f97cc34b3))
* gate semantic-release on CI success ([c2249fb](https://github.com/hyperi-io/hyperi-rustlib/commit/c2249fb5f09262e1d67a57ae2845ff2368607b56))
* initialise spool len counter from existing queue on open ([a12af25](https://github.com/hyperi-io/hyperi-rustlib/commit/a12af257d3f616db7c739e2f2f08ce78c25ac86c))
* inject pod_name, namespace, node_name into JSON log output ([c81d664](https://github.com/hyperi-io/hyperi-rustlib/commit/c81d664741068b8cc409da7456df351ff25acf02))
* inject service name and version into JSON log output ([342a7f3](https://github.com/hyperi-io/hyperi-rustlib/commit/342a7f34a0bd8afb67abfebf3ee544276f0a3e38))
* inline Renovate config (preset resolution broken) ([69faa8d](https://github.com/hyperi-io/hyperi-rustlib/commit/69faa8d936043bdafcbf2c1af569d5da7e89a6a9))
* install librdkafka from Confluent repo for feature-matrix CI job ([665dc5d](https://github.com/hyperi-io/hyperi-rustlib/commit/665dc5db86128cf59424d9eefeb290f83f50d6c3))
* introduce concurrency primitives; reshape DLQ around BackgroundSink ([0f592ca](https://github.com/hyperi-io/hyperi-rustlib/commit/0f592ca28b41a314debdd081349701a5f76920d2))
* make CEL build_context generic over any (&String, &Value) iterator ([d13a962](https://github.com/hyperi-io/hyperi-rustlib/commit/d13a9629b0e42264ed446acd958ae00e86bffa7c))
* make spool codec configurable, default to zstd level 1 ([fadbbb0](https://github.com/hyperi-io/hyperi-rustlib/commit/fadbbb0188af8f02f9054903cc613358e5a813ab))
* masking layer, coloured output, integration tests ([f9e7def](https://github.com/hyperi-io/hyperi-rustlib/commit/f9e7defd6d5f24c5cdf70e3742c2360bf8753e1d))
* modernise to Rust edition 2024 and drop async-trait from traits [skip ci] ([d6b3f7b](https://github.com/hyperi-io/hyperi-rustlib/commit/d6b3f7bd9d215761833806a3acf57830a86e65d6))
* open-source cleanup — drop JFrog refs, pin positioning ([d3ad415](https://github.com/hyperi-io/hyperi-rustlib/commit/d3ad41541871876adad7f3ea0919de2b62794f8b))
* OTel trace propagation, /readyz health wiring, description update ([384f741](https://github.com/hyperi-io/hyperi-rustlib/commit/384f741b1d0aed431a0b07b3fb36602161b70e67))
* pin reqwest to 0.12 to avoid dual-version conflict ([42d85b0](https://github.com/hyperi-io/hyperi-rustlib/commit/42d85b0c578c7c768aa7d5753971f20b0952c829))
* prevent underflow in MemoryGuard::release ([7665c7f](https://github.com/hyperi-io/hyperi-rustlib/commit/7665c7f4b8824863dd01dfa502068d8b32d04de6))
* quote on key in workflow to prevent YAML boolean parse ([043b084](https://github.com/hyperi-io/hyperi-rustlib/commit/043b084f9c4cff6e48341d629a8efc7869ccb0b0))
* reconcile main with v2.7.2 and harden vector_compat startup ([e4955dd](https://github.com/hyperi-io/hyperi-rustlib/commit/e4955dd45b24c6cf7165e6950a2886fad421c2c5))
* register file, pipe, http, and redis transports with health registry ([73f7603](https://github.com/hyperi-io/hyperi-rustlib/commit/73f76034259b19d2ce00a24350a07b1c01aa459c))
* **release:** force patch bump v2.7.3 ([eca0975](https://github.com/hyperi-io/hyperi-rustlib/commit/eca097525bdc2f3c59709b07bf4b96e338e673be))
* remove arc runner config, use github-hosted runners ([4246180](https://github.com/hyperi-io/hyperi-rustlib/commit/42461806b7b175c75113c82fec6f502cd21bae10))
* remove deprecated deny field from deny.toml ([ee0ebfa](https://github.com/hyperi-io/hyperi-rustlib/commit/ee0ebfaa006d4ec6138991c42af21b8500180991))
* remove explicit ref mut in match ergonomics for Rust stable ([2d72d6c](https://github.com/hyperi-io/hyperi-rustlib/commit/2d72d6c2eee9a0753f9a3a18442f3baa80bb1f2f))
* remove invalid unmaintained field from deny.toml advisories ([501e637](https://github.com/hyperi-io/hyperi-rustlib/commit/501e63793a0cd7062fec09a16504d6611c24ba95))
* remove target-cpu=native to fix SIGILL in CI ([0de72ab](https://github.com/hyperi-io/hyperi-rustlib/commit/0de72ab21e48145f7ecbeb732e5243210dbb0d7a))
* remove trailing blank line from lib.rs ([b29cde2](https://github.com/hyperi-io/hyperi-rustlib/commit/b29cde298cf031b11aa820258beeedef7b8f9c32))
* remove unused env feature flag ([e8d0b10](https://github.com/hyperi-io/hyperi-rustlib/commit/e8d0b1069301ec99e4dd3f4a6a81c01de54eaab0))
* rename package from hs-rustlib to hyperi-rustlib ([132b450](https://github.com/hyperi-io/hyperi-rustlib/commit/132b450c77c0da388389a6cd05475ef82d42c21e))
* replace expect with proper error handling in shutdown, metrics, http_client ([4acdd31](https://github.com/hyperi-io/hyperi-rustlib/commit/4acdd314524f0b4b185b9408492eb3f07b2a8f2f))
* replace invalid Renovate preset :pinActionsToFullSha with helpers:pinGitHubActionDigestsToSemver ([2f3ac55](https://github.com/hyperi-io/hyperi-rustlib/commit/2f3ac55c7590063d8d50f8ec7a41bb2b2900bf1b))
* resolve additional clippy lints for CI --all-targets ([5d6c4ab](https://github.com/hyperi-io/hyperi-rustlib/commit/5d6c4abce7e4be7dcda113568af3e8691f9b11e4))
* resolve CI quality failures (typos, clippy, fmt, gitleaks, test) ([724e31d](https://github.com/hyperi-io/hyperi-rustlib/commit/724e31d0f1bcd1eff1f6200cadd92cc9c9d90237))
* resolve clippy bool_comparison in native_deps test ([c93224d](https://github.com/hyperi-io/hyperi-rustlib/commit/c93224dd24891f6fb7c80fe7202c4983a90623a5))
* resolve clippy float_cmp and case_sensitive_extension lints ([b2a42fe](https://github.com/hyperi-io/hyperi-rustlib/commit/b2a42fea27c8bc2d6c9c01af72ed4b6a28df012d))
* resolve clippy single_char_pattern and uninlined_format_args lints ([f20f34c](https://github.com/hyperi-io/hyperi-rustlib/commit/f20f34caa913de827a76fd8e0ffc0fd4aaf5776c))
* resolve clippy uninlined_format_args warnings ([5b13107](https://github.com/hyperi-io/hyperi-rustlib/commit/5b131071f7041b9bcc591745755e3466d3b055ee))
* resolve clippy warnings and remove CARGO_BUILD_JOBS limit ([2b1a46b](https://github.com/hyperi-io/hyperi-rustlib/commit/2b1a46bdb00f2d751e5ae094d661c4da509f2f69))
* resolve dfe test failures and advisory warnings ([d0f14fd](https://github.com/hyperi-io/hyperi-rustlib/commit/d0f14fdce0193ad7ff7d5a295b13db8904a15f7c))
* resolve markdownlint errors in docs and CONTRIBUTING ([8902e37](https://github.com/hyperi-io/hyperi-rustlib/commit/8902e378efac351e9823383436ae80f8b653867e))
* resolve Prometheus recorder test conflicts — test-safe MetricsManager ([23d340c](https://github.com/hyperi-io/hyperi-rustlib/commit/23d340c7f03db137c681e1d02d33e2e41eec0648))
* resolve remaining clippy pedantic and typos errors ([28e9bf7](https://github.com/hyperi-io/hyperi-rustlib/commit/28e9bf7699c4129e8af84e614bd4dee7ca0fb119))
* resolve Rust 2024 edition clippy and fmt errors ([1c915a9](https://github.com/hyperi-io/hyperi-rustlib/commit/1c915a9b2bfe6cf95d98e2bf73ccc166a523829c))
* resolve stricter clippy lints from Polars-inspired CI ([25aaa93](https://github.com/hyperi-io/hyperi-rustlib/commit/25aaa93ef5bfbec955a6779d2702596783dbe757))
* restructure tests to match testing standard ([e939a23](https://github.com/hyperi-io/hyperi-rustlib/commit/e939a2394906b98990520733caa7d31e67958c64))
* revert header comment to original wording ([8c5023f](https://github.com/hyperi-io/hyperi-rustlib/commit/8c5023fe400846d2a65740c59d5aaa77f631c3f3))
* rustdoc compliance + revert local feature-matrix job ([c69303a](https://github.com/hyperi-io/hyperi-rustlib/commit/c69303a1a06ecd9d1e1ee52c2aff938ca5e92dd2))
* rustfmt and dprint formatting alignment ([dbb74d7](https://github.com/hyperi-io/hyperi-rustlib/commit/dbb74d742bd16ded3d07f4f9600fa9629c083c3a))
* serialise env_compat unit tests to prevent parallel env var races ([7e8d6ea](https://github.com/hyperi-io/hyperi-rustlib/commit/7e8d6eabe3e681a5364cc8db7e78ec541e77ab71))
* single versioning on main, dispatch-triggered publish ([456402a](https://github.com/hyperi-io/hyperi-rustlib/commit/456402a66cf40ff8408c224e2289acbca437e3dd))
* sort criterion imports to match rustfmt ordering ([41c289a](https://github.com/hyperi-io/hyperi-rustlib/commit/41c289a8f041de0d53c87bcc8600f445582e3ebc))
* sync Cargo.toml version with migrated tag ([276585e](https://github.com/hyperi-io/hyperi-rustlib/commit/276585e51d0002188214def406490698ac67ae9f))
* **test:** ensure VAULT_ADDR cleared in openbao fallback test ([cb1ca2f](https://github.com/hyperi-io/hyperi-rustlib/commit/cb1ca2fcbf4aca4264a4eb0dd892072dcd6efe30))
* **tests:** change CWD to empty dir for hardcoded defaults test ([1a98183](https://github.com/hyperi-io/hyperi-rustlib/commit/1a9818310b1d79980462501e5fc8aae0545e9c4c))
* **tests:** isolate hardcoded defaults test from CWD config files ([67c5cd9](https://github.com/hyperi-io/hyperi-rustlib/commit/67c5cd90cd5d3c8c51a1d6d5032b4dd12294f076))
* **tiered-sink:** use tracing feature gate, not logger ([e5910d7](https://github.com/hyperi-io/hyperi-rustlib/commit/e5910d7ab89f953d81f6a4e31ce15c0ad46b3909))
* **transport:** gate AnySender bindings + TransportType import ([92cb1d6](https://github.com/hyperi-io/hyperi-rustlib/commit/92cb1d6a30e48b48293cd2d6f08b0bac7f9e2d12))
* update cargo publish registry from hypersec to hyperi ([13229db](https://github.com/hyperi-io/hyperi-rustlib/commit/13229db9f76a3d087b20bfea08bf6cbca0608938))
* update ci submodule with mawk compat fix for cargo version bump ([3de6578](https://github.com/hyperi-io/hyperi-rustlib/commit/3de65783c4c840cae6aee74d40cb656092bf19c5))
* update crates.io keywords for discoverability ([eaeff46](https://github.com/hyperi-io/hyperi-rustlib/commit/eaeff46b1776882cb17550fde59d2660244d2fe0))
* update deny.toml to cargo-deny 0.19 format ([6880b57](https://github.com/hyperi-io/hyperi-rustlib/commit/6880b5708efdf0d4cef6b3f45937e7ed211e947e))
* update deps to latest versions, migrate tonic/prost to 0.14 ([555157d](https://github.com/hyperi-io/hyperi-rustlib/commit/555157d63eb4340c0b31fb1d73ce536469c4f669))
* update dfe_groups to use _with_labels for manifest metadata ([adb6876](https://github.com/hyperi-io/hyperi-rustlib/commit/adb68767b5cf067922dac648e93eba69a7996059))
* use configurable base_image in deployment contract instead of hardcoded debian ([c3589d9](https://github.com/hyperi-io/hyperi-rustlib/commit/c3589d972dbd881ed581d26ae0a708843ed87e85))
* use em-dash in doc comment for consistency ([cdc6912](https://github.com/hyperi-io/hyperi-rustlib/commit/cdc6912df37a3f06dfe8768396671f53cbee0f3e))
* use non-constant float in clippy test ([3663710](https://github.com/hyperi-io/hyperi-rustlib/commit/36637108a5a56256702ee4c5cedae349017fcfe2))
* use secrets inherit and add permissions block ([66c8ec0](https://github.com/hyperi-io/hyperi-rustlib/commit/66c8ec0ba43de0795358b242ae4af71609454c9b))
* validate single versioning publish pipeline ([4121508](https://github.com/hyperi-io/hyperi-rustlib/commit/4121508ab7f4f8293c27929ae73808886c33dcac))
* validate single versioning publish pipeline ([35ac007](https://github.com/hyperi-io/hyperi-rustlib/commit/35ac0077113648a41f4690b2f80417e7e97d6feb))
* vector compat integration tests, vault_env env leak fix ([ecb1469](https://github.com/hyperi-io/hyperi-rustlib/commit/ecb1469e9a2f8dd572adf844b8cb66a30c3899ea))
* verify single versioning pipeline end-to-end ([658673d](https://github.com/hyperi-io/hyperi-rustlib/commit/658673dc9a76790f823ff927e1576ca205c9438f))
* wire BatchEngine module exports ([79f9502](https://github.com/hyperi-io/hyperi-rustlib/commit/79f950217ada4fd2f5b18c50641d3ace3691867d))
* wire kafka topic refresh and make auto-discovery opt-in ([#32](https://github.com/hyperi-io/hyperi-rustlib/issues/32)) ([c4d9b5f](https://github.com/hyperi-io/hyperi-rustlib/commit/c4d9b5fa7ce5b6c208fd3d12369f173bf5e48230))
* wire module configs into the config cascade ([6ba33ec](https://github.com/hyperi-io/hyperi-rustlib/commit/6ba33ece77da8b69a8c3d90cf9f534a8abb0c243))
* wire scaling, grpc, secrets configs into registry ([f205da5](https://github.com/hyperi-io/hyperi-rustlib/commit/f205da5108baad0ed9c0743f6cd9e020deaa2394))
* wire StatsContext into KafkaTransport and add send metrics ([ebe4607](https://github.com/hyperi-io/hyperi-rustlib/commit/ebe4607c913d850811b7bddefbe177574c28e788))
* wire TopicResolver into KafkaTransport — auto-discover when topics empty ([7066eed](https://github.com/hyperi-io/hyperi-rustlib/commit/7066eed709c0933bc4c8a749ab59ceb67185b4b7))
* wire up kafka topic refresh loop and make auto-discovery opt-in ([2ce9e0d](https://github.com/hyperi-io/hyperi-rustlib/commit/2ce9e0d02cb21624df94c129343ab2919c8d2cfe))
### Features
* add /metrics/manifest endpoint to both server paths ([38354b6](https://github.com/hyperi-io/hyperi-rustlib/commit/38354b65f0256a2e3bde11c0b2953b0853ab599b))
* add adaptive worker pool with hybrid rayon + tokio execution ([4a74703](https://github.com/hyperi-io/hyperi-rustlib/commit/4a7470388347ef16ef3fcdadbf90ae902fd6f236))
* add BatchProcessor trait, BatchPipeline, and PipelineStats ([fef2b78](https://github.com/hyperi-io/hyperi-rustlib/commit/fef2b78b25082235dddec92dad7dff5668e8d10f))
* add CEL expression evaluation module ([5ebecf5](https://github.com/hyperi-io/hyperi-rustlib/commit/5ebecf54f526fd24fd55d5f197b8b527c94840fc))
* add config-reload feature with SharedConfig<T> and ConfigReloader<T> ([2e74d0d](https://github.com/hyperi-io/hyperi-rustlib/commit/2e74d0df06dca6d82f117b9cd1277fdc65a7b014))
* add deployment artifact generation (Dockerfile, Helm chart, Compose) ([16a16c7](https://github.com/hyperi-io/hyperi-rustlib/commit/16a16c7c25f8b2ab93dbbf8f00d31d09d3bc92ef))
* add directory-config store, otel-metrics, and git2 integration ([4105d09](https://github.com/hyperi-io/hyperi-rustlib/commit/4105d094ce0ff657c3890d2df3b5e93525e3a9e0))
* add gRPC transport with Vector wire protocol compatibility ([0492c1b](https://github.com/hyperi-io/hyperi-rustlib/commit/0492c1b39e81ba76299359e078bf82d3d0f1a4c8))
* add HTTP and Redis DLQ backends ([31ffbd2](https://github.com/hyperi-io/hyperi-rustlib/commit/31ffbd28c43298709d14e8a6ac9b848b6aed8821))
* add ImageProfile for production vs development container images ([48f9262](https://github.com/hyperi-io/hyperi-rustlib/commit/48f9262f6e735a956db2007d1598237c109bb38c))
* add license module, remove clickhouse-arrow wrapper ([553443f](https://github.com/hyperi-io/hyperi-rustlib/commit/553443ff0f0efbfe7a8fd3569cd4075d1c330f7a))
* add MetricDescriptor, MetricRegistry, ManifestResponse types ([33ab6ff](https://github.com/hyperi-io/hyperi-rustlib/commit/33ab6ff160dd325b73ea6c8c617996ef4c901adf))
* add MetricRegistry to MetricsManager with _with_labels methods ([583e8cd](https://github.com/hyperi-io/hyperi-rustlib/commit/583e8cd44510952dc13370bcd023c0516f2057eb))
* add metrics-dfe feature with composable metric groups ([45a08a8](https://github.com/hyperi-io/hyperi-rustlib/commit/45a08a8663f0e34914968bf304e80f0a5580a449))
* add metrics-manifest and generate-artefacts CLI subcommands ([206c049](https://github.com/hyperi-io/hyperi-rustlib/commit/206c049507e8fb724350608a27df9f0fdb010ae7))
* add RenderHandle for sharing Prometheus render across tasks ([3b476de](https://github.com/hyperi-io/hyperi-rustlib/commit/3b476de5bdb066e8974df2e9107821f60748f330))
* add RuntimeContext and K8s pre-stop hook delay ([011dc87](https://github.com/hyperi-io/hyperi-rustlib/commit/011dc8704a08e1233cff3991cf0299b763248621))
* add scaling pressure module for KEDA autoscaling ([20c304c](https://github.com/hyperi-io/hyperi-rustlib/commit/20c304ca554da7da768c98f386c958b303ca103f))
* add ServiceRuntime to DfeApp — eliminates per-app boilerplate ([390aeaf](https://github.com/hyperi-io/hyperi-rustlib/commit/390aeaf542101f2a89cbfde69bac83ecb5fcd3a3))
* add shared io module and file output sink ([3ae67e1](https://github.com/hyperi-io/hyperi-rustlib/commit/3ae67e1b6121006af9314162b7d4c066cde59de4))
* add standard CLI framework and TUI metrics dashboard ([f1ea51e](https://github.com/hyperi-io/hyperi-rustlib/commit/f1ea51e22351d6cf5df908e8552e3cb4a332a363))
* add transport abstraction layer (Kafka/Zenoh/Memory) ([0576c4c](https://github.com/hyperi-io/hyperi-rustlib/commit/0576c4ceee4d87b0965a152353a499a6651ed4c0))
* add unified DLQ module with file and Kafka backends ([252fe9f](https://github.com/hyperi-io/hyperi-rustlib/commit/252fe9f05035cec52ca5444dea1305ab48113393))
* add worker feature gate with rayon dependency ([1489f82](https://github.com/hyperi-io/hyperi-rustlib/commit/1489f822a05ec05c1bc6660d595bea16c47e4a6f))
* align config cascade with hyperi-pylib unified spec ([9671cc4](https://github.com/hyperi-io/hyperi-rustlib/commit/9671cc401c3292048e774e96912c8b7cb57dfdcb))
* auto-generate native deps in Dockerfile from feature flags ([4420a7d](https://github.com/hyperi-io/hyperi-rustlib/commit/4420a7d5530e3f87d57dc62bf973b4608faadc2f))
* **ci:** add Polars-inspired Rust CI workflow ([4ecfc43](https://github.com/hyperi-io/hyperi-rustlib/commit/4ecfc433270bab83244c5063587b0098dd90c5a4))
* **clickhouse:** add ClickHouse client module ([f247c7e](https://github.com/hyperi-io/hyperi-rustlib/commit/f247c7e3f6a4d10a25a6541b512b38cd5c35a498))
* deployment contract validation and startup version check ([db04f0a](https://github.com/hyperi-io/hyperi-rustlib/commit/db04f0acc03e3070b9e540bb2cee6846796e51b5))
* **deployment-smoke:** add docker build + run smoke-test helper ([a08c6b0](https://github.com/hyperi-io/hyperi-rustlib/commit/a08c6b0fa9751e6c25c469702ca88cb59dbb47e4))
* **deployment:** ArgoCD generator + cascade-driven registry config ([ebdc43c](https://github.com/hyperi-io/hyperi-rustlib/commit/ebdc43cf12dc335c582dd1111ad0ae71c0e25b88))
* dynamic-link C deps, bump versions, drop cmake builds ([42a8fbe](https://github.com/hyperi-io/hyperi-rustlib/commit/42a8fbe0b048512ca5ec5f0c10e110ac6e34fa74))
* **features:** five-way granularity split — worker / metrics / cli / transport / default ([cc64d19](https://github.com/hyperi-io/hyperi-rustlib/commit/cc64d19d4797e0f889a1e45997ab63a46912d84f))
* **filter:** FilteredBatch + take_filtered_dlq_entries trait method ([627a9e1](https://github.com/hyperi-io/hyperi-rustlib/commit/627a9e174d01c079da67ff56c516b3806028d7bb))
* **filter:** transport filter engine core — config, classification, SIMD evaluation ([4a24cd3](https://github.com/hyperi-io/hyperi-rustlib/commit/4a24cd3629b7566c598653f6c131e2c5d34d977f))
* **filter:** wire TransportFilterEngine into all 7 transports ([06c969e](https://github.com/hyperi-io/hyperi-rustlib/commit/06c969e843d67b4abad34b4dc0b6dfe11b582973))
* graduate to v2 — adaptive worker pool and metrics manifest ([d3df0aa](https://github.com/hyperi-io/hyperi-rustlib/commit/d3df0aa057999f7992f2606dd0a74a111e3c7c7f))
* **http-server:** wire up TraceLayer + TimeoutLayer middleware ([3480a6f](https://github.com/hyperi-io/hyperi-rustlib/commit/3480a6f92aa7893c1ddf60cf74d1fb117eabb33e))
* initial MVP of hs-rustlib shared library ([610e8a3](https://github.com/hyperi-io/hyperi-rustlib/commit/610e8a322cd3090f82aa074484cf0780c2495cf7))
* **otel-tracing:** wire up tracing-opentelemetry span bridge ([a5767a4](https://github.com/hyperi-io/hyperi-rustlib/commit/a5767a47c8ae6352d95c3b45b89029156be3e9ea))
* **secrets:** add secrets module, env compat layer, kafka improvements ([783e595](https://github.com/hyperi-io/hyperi-rustlib/commit/783e595ddeda2d649bf0a68ff09a8a43bf94c10e)), closes [Hi#throughput](https://github.com/Hi/issues/throughput)
* transport filter engine — design spec complete ([b0239fa](https://github.com/hyperi-io/hyperi-rustlib/commit/b0239fa0ef3a18ef4aa1dcb49900530e8893db18))
* **transport:** add stateful FormatDetector with auto-locking ([80d1516](https://github.com/hyperi-io/hyperi-rustlib/commit/80d151697146afc9ed80811a443590a078021800))
### Performance Improvements
* **ci:** remove CARGO_BUILD_JOBS limit on release runner ([839ff1a](https://github.com/hyperi-io/hyperi-rustlib/commit/839ff1a8bc9295dc638a282d4953b23b8835b8bf))
* **filter:** SIMD memmem fast-path for has — 51% faster, Tier 2/3 CEL ([fed5a38](https://github.com/hyperi-io/hyperi-rustlib/commit/fed5a383ab2ee8d5fce901e03b2bfdaadec40c76))
### BREAKING CHANGES
* DfeMetrics::register now requires &MetricsManager
parameter. AdaptiveWorkerPool is the new internal vertical scaling
module, bounded and throttled by available CPU and memory.
* DfeMetrics::register now requires &MetricsManager
parameter for tight manifest coupling. All downstream dfe-* projects
must update their register call sites.
* Transport trait split into TransportBase (close,
is_healthy, name), TransportSender (send), and TransportReceiver
(recv, commit, Token). Blanket Transport impl for types with both.
New transport backends:
- File: NDJSON with position tracking and commit persistence
- Pipe: stdin/stdout for Unix pipeline composition
- HTTP: POST to endpoint (send) + embedded axum server (receive)
- Redis/Valkey Streams: XADD/XREADGROUP/XACK with consumer groups
Transport factory:
- AnySender: enum dispatch for runtime transport selection
- AnySender::from_config: create sender from config cascade
- RoutedSender: per-key dispatch for data originators (receiver/fetcher)
All transports auto-emit dfe_transport_* Prometheus metrics.
648 tests pass.
## [2.7.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.7.1...v2.7.2) (2026-05-21)
### Bug Fixes
* **deployment:** add AppProject generator ([5e1ceae](https://github.com/hyperi-io/hyperi-rustlib/commit/5e1ceaecbc24cbe1cb63aaa44b55018ff4d8795a))
* **deployment:** add argocd::waves module with sync-wave constants ([87d7c5d](https://github.com/hyperi-io/hyperi-rustlib/commit/87d7c5db3192c0c25166398f6ccbeab7a1a39a5f))
* **deployment:** emit default ignoreDifferences block + WAVE_APPS default sync_wave ([d785919](https://github.com/hyperi-io/hyperi-rustlib/commit/d785919719c2d1cda6e3163054f3c183f5e65505))
* **tiered_sink:** cast statvfs fields to u64 for aarch64-apple-darwin ([2bca687](https://github.com/hyperi-io/hyperi-rustlib/commit/2bca687bc7fc431ff7e4923c511a2aab25bb963a))
## [2.7.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.7.0...v2.7.1) (2026-05-13)
### Bug Fixes
* **deps:** bleeding-edge update + close 3 rustls-webpki CVEs ([a9a2f59](https://github.com/hyperi-io/hyperi-rustlib/commit/a9a2f591b7254c56be1e607460debe41613b108f))
* introduce concurrency primitives; reshape DLQ around BackgroundSink ([13e1c1c](https://github.com/hyperi-io/hyperi-rustlib/commit/13e1c1cb3f2cd3a6ec2fabcf35935ad72b7efe6d))
* open-source cleanup — drop JFrog refs, pin positioning ([1bd1df8](https://github.com/hyperi-io/hyperi-rustlib/commit/1bd1df895c40115beaa72f830c928e1dbe4250c5))
# [2.7.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.6.1...v2.7.0) (2026-05-01)
### Features
* **deployment-smoke:** add docker build + run smoke-test helper ([e708a92](https://github.com/hyperi-io/hyperi-rustlib/commit/e708a926a4de0d1cc5c97fc0d6b96f142793fafe))
* **deployment:** ArgoCD generator + cascade-driven registry config ([dd841bc](https://github.com/hyperi-io/hyperi-rustlib/commit/dd841bce01530a2a3789c859884769cc05a0f753))
## [2.6.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.6.0...v2.6.1) (2026-04-29)
### Bug Fixes
* **features:** worker module visible under worker-pool/worker-batch ([fb7ad9e](https://github.com/hyperi-io/hyperi-rustlib/commit/fb7ad9e5706c64b4ed0c5a5b3738829cb6887eec))
# [2.6.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.5.5...v2.6.0) (2026-04-29)
### Bug Fixes
* **directory-config:** drop fs4 dep, use std::fs::File lock API ([4e9a8ba](https://github.com/hyperi-io/hyperi-rustlib/commit/4e9a8ba12b16206a0a86f45f312c1139810921d7))
* **tiered-sink:** use tracing feature gate, not logger ([9da9a98](https://github.com/hyperi-io/hyperi-rustlib/commit/9da9a980683b4d76cb56e29b7d9c55ceef0e4e1d))
* **transport:** gate AnySender bindings + TransportType import ([b7e42e9](https://github.com/hyperi-io/hyperi-rustlib/commit/b7e42e92e426d0f662c2c283180c6a7410a94fa8))
### Features
* **features:** five-way granularity split — worker / metrics / cli / transport / default ([31fad72](https://github.com/hyperi-io/hyperi-rustlib/commit/31fad728edaeafceb3b404a68893931076e94ede))
* **http-server:** wire up TraceLayer + TimeoutLayer middleware ([62bed0a](https://github.com/hyperi-io/hyperi-rustlib/commit/62bed0a4f9bd2a52ee579208ae308d162b6fc821))
* **otel-tracing:** wire up tracing-opentelemetry span bridge ([44bd6a7](https://github.com/hyperi-io/hyperi-rustlib/commit/44bd6a7750dc4b24410505e790d48d15ea7d2d71))
## [2.5.5](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.5.4...v2.5.5) (2026-04-29)
### Bug Fixes
* drop reqwest default features + clippy 1.95 lints ([a52d55e](https://github.com/hyperi-io/hyperi-rustlib/commit/a52d55e9e852b863bace41dd72e6a4d441498aa7))
## [2.5.4](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.5.3...v2.5.4) (2026-04-16)
### Bug Fixes
* rustdoc compliance + revert local feature-matrix job ([7803a71](https://github.com/hyperi-io/hyperi-rustlib/commit/7803a7133d245c736d5d500fd67719b5bbb166ba))
## [2.5.3](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.5.2...v2.5.3) (2026-04-16)
### Bug Fixes
* install librdkafka from Confluent repo for feature-matrix CI job ([a152001](https://github.com/hyperi-io/hyperi-rustlib/commit/a152001689b8615c9e5f7db92c0b53cd0fc5bc22))
## [2.5.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.5.1...v2.5.2) (2026-04-16)
### Bug Fixes
* feature-gating hygiene + panic removal + docs.rs metadata ([ddc358e](https://github.com/hyperi-io/hyperi-rustlib/commit/ddc358eec04767e0c888ce4a62162c4d6126c44c))
## [2.5.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.5.0...v2.5.1) (2026-04-15)
### Bug Fixes
* add packages:write permission for container job ([108091f](https://github.com/hyperi-io/hyperi-rustlib/commit/108091f04a5ea2a47f8ce73f2a185d38769d1d37))
* clarify header comment wording ([208fd02](https://github.com/hyperi-io/hyperi-rustlib/commit/208fd02af6e578c66acf783e8e23a369b15d6c6a))
* revert header comment to original wording ([43b6031](https://github.com/hyperi-io/hyperi-rustlib/commit/43b60314affe47e1a6f7a23a8d970e464a55c41c))
* use em-dash in doc comment for consistency ([75308d7](https://github.com/hyperi-io/hyperi-rustlib/commit/75308d70b6c95e6e491f3386866b18b2c5f2b48c))
# [2.5.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.4.6...v2.5.0) (2026-04-11)
### Features
* **filter:** FilteredBatch + take_filtered_dlq_entries() trait method ([4fe1d1c](https://github.com/hyperi-io/hyperi-rustlib/commit/4fe1d1c080ccd7240cb17e331f7851c8283e302a))
* **filter:** transport filter engine core — config, classification, SIMD evaluation ([be3351c](https://github.com/hyperi-io/hyperi-rustlib/commit/be3351c682876b45bc4a6bd6f9aacd8c45e6c686))
* **filter:** wire TransportFilterEngine into all 7 transports ([dc75d25](https://github.com/hyperi-io/hyperi-rustlib/commit/dc75d2580671c3809ff9ee62834142fa0ec76129))
* transport filter engine — design spec complete ([0632854](https://github.com/hyperi-io/hyperi-rustlib/commit/06328543845164ba54fc94a5b14e545a0f49f8cd))
### Performance Improvements
* **filter:** SIMD memmem fast-path for has() — 51% faster, Tier 2/3 CEL ([813da63](https://github.com/hyperi-io/hyperi-rustlib/commit/813da63788e818fad105a326d96716a9ef74655e))
## [2.4.6](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.4.5...v2.4.6) (2026-04-09)
### Bug Fixes
* make CEL build_context generic over any (&String, &Value) iterator ([7fe0652](https://github.com/hyperi-io/hyperi-rustlib/commit/7fe06526a4c7e5d1acc8f9e3c75ced1a72d441c8))
## [2.4.5](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.4.4...v2.4.5) (2026-04-09)
### Bug Fixes
* address PR review — clippy, parking_lot, subscribed_topics update ([d79a5a8](https://github.com/hyperi-io/hyperi-rustlib/commit/d79a5a81530c6a750bff8c13040fea01f7247c9a))
* wire kafka topic refresh and make auto-discovery opt-in ([#32](https://github.com/hyperi-io/hyperi-rustlib/issues/32)) ([90791d0](https://github.com/hyperi-io/hyperi-rustlib/commit/90791d02f1d62fd5540f959deccb8553984cb67c))
* wire up kafka topic refresh loop and make auto-discovery opt-in ([3e5305e](https://github.com/hyperi-io/hyperi-rustlib/commit/3e5305e8ba3f1e8a82dc641acd895e2d60f3d3f9))
## [2.4.4](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.4.3...v2.4.4) (2026-04-02)
### Bug Fixes
* add async sink engine API, fix doc-tests — Phase 2A ([45c307a](https://github.com/hyperi-io/hyperi-rustlib/commit/45c307a44c15ac114822bc6eb0bf70028f7d5904))
* clippy — use flatten() instead of if-let in test loop ([82a50b3](https://github.com/hyperi-io/hyperi-rustlib/commit/82a50b33b51d3ef7acf8376f40fea5655507e20f))
## [2.4.3](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.4.2...v2.4.3) (2026-04-02)
### Bug Fixes
* add adversarial worker pool tests — panic recovery, stress, boundaries ([e0e8448](https://github.com/hyperi-io/hyperi-rustlib/commit/e0e8448670554905e42e40de3a87acd5691d3e65))
* add auto_wire and ServiceRuntime integration for BatchEngine ([ea60109](https://github.com/hyperi-io/hyperi-rustlib/commit/ea60109e135c7cf035e543fbc9c0c81d241561f6))
* add BatchAccumulator for bounded batch drain with time/count/bytes thresholds ([311af18](https://github.com/hyperi-io/hyperi-rustlib/commit/311af186d059251db4e5b48c9e405cdf9d91cdb1))
* add BatchEngine adversarial tests — edge cases, boundaries, stress ([b172e1b](https://github.com/hyperi-io/hyperi-rustlib/commit/b172e1bdc4a9c813273363be1b7c305afd731c10))
* add BatchEngine core types — RawMessage, ParsedMessage, accessors ([d43349e](https://github.com/hyperi-io/hyperi-rustlib/commit/d43349ede27bcf8b50af660d8d6837baa3398764))
* add BatchEngine criterion benchmarks ([d299d89](https://github.com/hyperi-io/hyperi-rustlib/commit/d299d89d3082252d22a94cdbb00494b7f90fc121))
* add BatchEngine metrics — auto-registered via MetricsManager ([5d53d9a](https://github.com/hyperi-io/hyperi-rustlib/commit/5d53d9ad97758a2f96e4bbafc8671d3a1fb56549))
* add BatchEngine with process_mid_tier and process_raw ([de19ed3](https://github.com/hyperi-io/hyperi-rustlib/commit/de19ed3d6772f785132e0aaabe9ecbeaf88a4e07))
* add BatchProcessingConfig with cascade support and DFE defaults ([6336449](https://github.com/hyperi-io/hyperi-rustlib/commit/633644933c9e2ea6f94624f27b71f44b8fb701db))
* add engine.run() transport-wired recv→process→commit loop ([857495b](https://github.com/hyperi-io/hyperi-rustlib/commit/857495b5f5e54a5c31d0c6fd779ad1a5d8d83853))
* add FieldInterner — concurrent field name interning with DashMap ([3032cb0](https://github.com/hyperi-io/hyperi-rustlib/commit/3032cb0769037943fd49d625b2272460d6e3312e))
* add filtered counter to PipelineStats ([5cf7934](https://github.com/hyperi-io/hyperi-rustlib/commit/5cf7934666c8b443626365fb5a9bb841053dab4b))
* add missing adversarial tests — skip/fail actions, concurrent, 20K batch ([0b975e2](https://github.com/hyperi-io/hyperi-rustlib/commit/0b975e241637b85c81bf50fceb09b538d1fd1192))
* add NDJSON batch split utilities for parallel line parsing ([e1ca772](https://github.com/hyperi-io/hyperi-rustlib/commit/e1ca772116b846062ea0582a7a3ae7a1ef18b6de))
* add pre-route field extraction via sonic_rs::get_from_slice ([65e961d](https://github.com/hyperi-io/hyperi-rustlib/commit/65e961dd7c4fc282a1c6f10b1519f7579915ade3))
* add regex dep for topic resolver filters ([6abcf8e](https://github.com/hyperi-io/hyperi-rustlib/commit/6abcf8e4f1daeb04eb689eaff47faaa3aca4c3a2))
* add RuntimeContext + startupz integration tests ([dc57737](https://github.com/hyperi-io/hyperi-rustlib/commit/dc57737ce98c3e6dfe38a21e5ca2f370927f2fe8))
* add SIMD parse phase — sonic_rs for JSON, rmp_serde bridge for msgpack ([04e54b9](https://github.com/hyperi-io/hyperi-rustlib/commit/04e54b9740103a64c7af06abade8fd11a269442b))
* add sonic-rs, dashmap, bytes deps for BatchEngine ([fa5ebe7](https://github.com/hyperi-io/hyperi-rustlib/commit/fa5ebe723379e330149b9635e796f0f41a3e81e0))
* add topic resolution fields to KafkaConfig ([7324fcc](https://github.com/hyperi-io/hyperi-rustlib/commit/7324fcc025c3404b47cbe21379c648420cf160b3))
* add TopicRefreshHandle for periodic topic re-resolution ([146fa48](https://github.com/hyperi-io/hyperi-rustlib/commit/146fa48316583775172ba214119aa6830ad290d9))
* add TopicResolver — configurable suppression rules, include/exclude regex ([f6275de](https://github.com/hyperi-io/hyperi-rustlib/commit/f6275de4de164e6d8a7e603529ef5aa5c86f2a78))
* clippy and test fixups for BatchEngine ([dbfa114](https://github.com/hyperi-io/hyperi-rustlib/commit/dbfa11484f484edc477e586156d535ad12a3dc3d))
* clippy fixes — collapsible if, Debug impl, default_trait_access ([adef3b5](https://github.com/hyperi-io/hyperi-rustlib/commit/adef3b53e78f28ec81f0a099c4f0e40ca10ab09e))
* expose rayon pool install() on AdaptiveWorkerPool ([285c560](https://github.com/hyperi-io/hyperi-rustlib/commit/285c560164a4fe9b63256ee0432b856c13a66bc6))
* resolve Prometheus recorder test conflicts — test-safe MetricsManager ([cc5af7b](https://github.com/hyperi-io/hyperi-rustlib/commit/cc5af7ba9ef88b49c7912a512bb1be0947a8fb32))
* resolve Prometheus recorder test conflicts — test-safe MetricsManager ([31a9089](https://github.com/hyperi-io/hyperi-rustlib/commit/31a9089a8c101c6d6e824224ad9f494b4fc68529))
* wire BatchEngine module exports ([058eefb](https://github.com/hyperi-io/hyperi-rustlib/commit/058eefb5270ae4f8915601595fcf97cfcb8a81d5))
* wire TopicResolver into KafkaTransport — auto-discover when topics empty ([c34fc4c](https://github.com/hyperi-io/hyperi-rustlib/commit/c34fc4c11fb3e4d497aedc5f0b727c72b67cf377))
## [2.4.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.4.1...v2.4.2) (2026-04-01)
### Bug Fixes
* add cgroup resource limits to RuntimeContext + eviction metric ([ce8b774](https://github.com/hyperi-io/hyperi-rustlib/commit/ce8b7747ca915471fa5a0f7869419d8e90b39d2a))
* add missing schema_version and oci_labels fields to test constructors ([490559b](https://github.com/hyperi-io/hyperi-rustlib/commit/490559bd4aa6779a51414c3298c09512cebf92f1))
* deployment contract CI bridge — container manifest, OCI labels, runtime stage ([84b3e00](https://github.com/hyperi-io/hyperi-rustlib/commit/84b3e0051f5cb80f55953159c3ae11613d778fd3))
* gate memory imports in ServiceRuntime for feature-minimal builds ([dc6a7bd](https://github.com/hyperi-io/hyperi-rustlib/commit/dc6a7bdf8daf9470cd7d5981128018be3b5b54b2))
## [2.4.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.4.0...v2.4.1) (2026-04-01)
### Bug Fixes
* add /startupz startup probe endpoint ([515c090](https://github.com/hyperi-io/hyperi-rustlib/commit/515c090d898c472d560be5e116b63e5ad3d9188c))
* inject pod_name, namespace, node_name into JSON log output ([505c2fd](https://github.com/hyperi-io/hyperi-rustlib/commit/505c2fd980dc6e3a412e56d7b4b7d5890955e1ce))
# [2.4.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.3.0...v2.4.0) (2026-04-01)
### Features
* add ServiceRuntime to DfeApp — eliminates per-app boilerplate ([39aa82b](https://github.com/hyperi-io/hyperi-rustlib/commit/39aa82b3b077ced419013e1976617f8a8a8bf5aa))
# [2.3.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.2.1...v2.3.0) (2026-04-01)
### Bug Fixes
* from_cascade falls back to defaults when config not initialised ([2b93167](https://github.com/hyperi-io/hyperi-rustlib/commit/2b93167c335dad0efa46e1f8b1495d2f9a01054e)), closes [hyperi-io/dfe-loader#19](https://github.com/hyperi-io/dfe-loader/issues/19) [hyperi-io/dfe-loader#19](https://github.com/hyperi-io/dfe-loader/issues/19)
### Features
* add RuntimeContext and K8s pre-stop hook delay ([c0f88fe](https://github.com/hyperi-io/hyperi-rustlib/commit/c0f88fe7bed61dd11a65214cec9c93421779d070))
## [2.2.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.2.0...v2.2.1) (2026-03-31)
### Bug Fixes
* cap max_threads at available_parallelism even when explicitly set ([b23d16d](https://github.com/hyperi-io/hyperi-rustlib/commit/b23d16d6a1e2f096e71c86b689d4f91ad22312c8))
# [2.2.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.1.0...v2.2.0) (2026-03-31)
### Features
* add BatchProcessor trait, BatchPipeline, and PipelineStats ([71ae5ab](https://github.com/hyperi-io/hyperi-rustlib/commit/71ae5abbecd395bcf53a9f6fd51ef23d2b853eda))
# [2.1.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v2.0.0...v2.1.0) (2026-03-31)
### Bug Fixes
* remove CARGO_BUILD_JOBS=2 from STATE.md ([5549a44](https://github.com/hyperi-io/hyperi-rustlib/commit/5549a44e4991af24d5ad5a9de02f48701a58bb7c))
### Features
* add metrics-manifest and generate-artefacts CLI subcommands ([b64fcaa](https://github.com/hyperi-io/hyperi-rustlib/commit/b64fcaa1f7631b20f7eba1f0d39c5a3e67ecbac1))
# [2.0.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.23.0...v2.0.0) (2026-03-31)
### Bug Fixes
* add explicit breaking change rule to semantic-release config ([735364f](https://github.com/hyperi-io/hyperi-rustlib/commit/735364f58110055f45c523b84407f692a8ce9f6e))
### BREAKING CHANGES
* DfeMetrics::register() now requires &MetricsManager
parameter. AdaptiveWorkerPool is the new internal vertical scaling
module, bounded and throttled by available CPU and memory.
# [1.23.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.22.0...v1.23.0) (2026-03-31)
### Features
* graduate to v2 — adaptive worker pool and metrics manifest ([58c2e81](https://github.com/hyperi-io/hyperi-rustlib/commit/58c2e81dd988d20b4d07409601deea459ffa8bf6))
### BREAKING CHANGES
* DfeMetrics::register() now requires &MetricsManager
parameter for tight manifest coupling. All downstream dfe-* projects
must update their register() call sites.
# [1.22.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.21.1...v1.22.0) (2026-03-31)
### Bug Fixes
* add serde_json to metrics feature for manifest endpoint ([1c64a1c](https://github.com/hyperi-io/hyperi-rustlib/commit/1c64a1c71670211319b5570c708b249e738de0a1))
* resolve clippy warnings and remove CARGO_BUILD_JOBS limit ([dd2f0aa](https://github.com/hyperi-io/hyperi-rustlib/commit/dd2f0aa0ae2410b8223502878878a6d2190bc97c))
* resolve dfe test failures and advisory warnings ([81a4eb7](https://github.com/hyperi-io/hyperi-rustlib/commit/81a4eb7a6845bf960922904a0ef5314604cb3056))
* update dfe_groups to use _with_labels() for manifest metadata ([958ec98](https://github.com/hyperi-io/hyperi-rustlib/commit/958ec9809c0fe39079436f3367fee9470a3b18d6))
### Features
* add /metrics/manifest endpoint to both server paths ([95dc143](https://github.com/hyperi-io/hyperi-rustlib/commit/95dc1430e0e312d17d66d6fe8ab18b59d3f30799))
* add adaptive worker pool with hybrid rayon + tokio execution ([e0c3cf8](https://github.com/hyperi-io/hyperi-rustlib/commit/e0c3cf87ef060cab6af2bce50256468fa2cb67c8))
* add MetricDescriptor, MetricRegistry, ManifestResponse types ([dd2a62c](https://github.com/hyperi-io/hyperi-rustlib/commit/dd2a62c1a1c814fea2c2c3b6521da457b8912f14))
* add MetricRegistry to MetricsManager with _with_labels() methods ([1b363f0](https://github.com/hyperi-io/hyperi-rustlib/commit/1b363f01a3a13abf41679f5d80d5243b491a057e))
* add worker feature gate with rayon dependency ([99c3c10](https://github.com/hyperi-io/hyperi-rustlib/commit/99c3c1055ec0037a9607982a2725dbb171ca2b2d))
## [1.21.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.21.0...v1.21.1) (2026-03-31)
### Bug Fixes
* add BSL-1.0 to deny.toml allow list ([e59372f](https://github.com/hyperi-io/hyperi-rustlib/commit/e59372f070130fd38237aca832aef5ede1cc7caf))
* add missing license types to deny.toml allow list ([76b2571](https://github.com/hyperi-io/hyperi-rustlib/commit/76b257164f82e6fab465672f4271c004782a47a8))
* remove deprecated deny field from deny.toml ([c086931](https://github.com/hyperi-io/hyperi-rustlib/commit/c08693111c022dbbb991266059d6f135eeb9c5f5))
* remove invalid unmaintained field from deny.toml advisories ([8f0e816](https://github.com/hyperi-io/hyperi-rustlib/commit/8f0e8161e0cdf8bc48c8e1a88541dd4b5de2bd04))
* update deny.toml to cargo-deny 0.19 format ([7b5a977](https://github.com/hyperi-io/hyperi-rustlib/commit/7b5a9770fdd5e1fb922cc3079b7fb635fa7dce59))
# [1.21.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.20.2...v1.21.0) (2026-03-27)
### Bug Fixes
* add core pillars doc reference to lib.rs module docs ([76bfd77](https://github.com/hyperi-io/hyperi-rustlib/commit/76bfd77576f860f0cf40e5db771117789b26fcbf))
* add deny.toml, document histogram stub, block single-dot in table names ([e4e18a5](https://github.com/hyperi-io/hyperi-rustlib/commit/e4e18a5d370b358413272b804a34e62a93008257))
* correct recv() metric names and describe_gauge in AppMetrics ([cdec2c1](https://github.com/hyperi-io/hyperi-rustlib/commit/cdec2c121939ab965eb582394275beb1dc05710c))
* register file, pipe, http, and redis transports with health registry ([164eca4](https://github.com/hyperi-io/hyperi-rustlib/commit/164eca4a76382edb9205faebb383e20ba8e207c8))
* replace expect() with proper error handling in shutdown, metrics, http_client ([d775e85](https://github.com/hyperi-io/hyperi-rustlib/commit/d775e851b9e35dd309720f31f5d9ad5a450ca030))
### Features
* add HTTP and Redis DLQ backends ([8ea0af5](https://github.com/hyperi-io/hyperi-rustlib/commit/8ea0af52bfccd4fdbe5eec60585437d3c6df9393))
## [1.20.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.20.1...v1.20.2) (2026-03-27)
### Bug Fixes
* add tag input to workflow_dispatch for publish trigger ([629a6e8](https://github.com/hyperi-io/hyperi-rustlib/commit/629a6e87d6b507d2530814522245fb0909894f06))
## [1.20.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.20.0...v1.20.1) (2026-03-27)
### Bug Fixes
* remove trailing blank line from lib.rs ([74c448e](https://github.com/hyperi-io/hyperi-rustlib/commit/74c448ed68a95192bdeef1f36023351f9f8c7f92))
* validate single versioning publish pipeline ([fdfba9d](https://github.com/hyperi-io/hyperi-rustlib/commit/fdfba9dd3684f740d7bd79fab1d41fd3d98ac7da))
* validate single versioning publish pipeline ([09c01c2](https://github.com/hyperi-io/hyperi-rustlib/commit/09c01c2fef29f31008e0c67e2564dfe8982817d2))
* verify single versioning pipeline end-to-end ([0ac98cb](https://github.com/hyperi-io/hyperi-rustlib/commit/0ac98cb00ccc2dfc746625815d7494f79a2ffbef))
# [1.17.0-dev.16](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.15...v1.17.0-dev.16) (2026-03-26)
### Bug Fixes
* add health registry, shutdown manager, and wire all modules ([21efaa2](https://github.com/hyperi-io/hyperi-rustlib/commit/21efaa2a4d61901dfe479d655ef9af1a5c437580))
# [1.17.0-dev.15](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.14...v1.17.0-dev.15) (2026-03-26)
* feat!: split Transport trait and add 4 new transports + factory ([36c383d](https://github.com/hyperi-io/hyperi-rustlib/commit/36c383d8bcdf96a120bf238cc45e629be984aa47))
### BREAKING CHANGES
* Transport trait split into TransportBase (close,
is_healthy, name), TransportSender (send), and TransportReceiver
(recv, commit, Token). Blanket Transport impl for types with both.
New transport backends:
- File: NDJSON with position tracking and commit persistence
- Pipe: stdin/stdout for Unix pipeline composition
- HTTP: POST to endpoint (send) + embedded axum server (receive)
- Redis/Valkey Streams: XADD/XREADGROUP/XACK with consumer groups
Transport factory:
- AnySender: enum dispatch for runtime transport selection
- AnySender::from_config(): create sender from config cascade
- RoutedSender: per-key dispatch for data originators (receiver/fetcher)
All transports auto-emit dfe_transport_* Prometheus metrics.
648 tests pass.
# [1.17.0-dev.14](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.13...v1.17.0-dev.14) (2026-03-26)
### Bug Fixes
* add metrics instrumentation to all modules ([0a690e4](https://github.com/hyperi-io/hyperi-rustlib/commit/0a690e40c9108f25394cda19d47c98f4774ed30f))
* wire StatsContext into KafkaTransport and add send metrics ([ccfc9ad](https://github.com/hyperi-io/hyperi-rustlib/commit/ccfc9ad10180be10345a05605d0dca0d8601d254))
# [1.17.0-dev.13](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.12...v1.17.0-dev.13) (2026-03-26)
### Bug Fixes
* add metrics instrumentation to gRPC transport ([85839b7](https://github.com/hyperi-io/hyperi-rustlib/commit/85839b78df82daf01153b93bd27f42bd31604a25))
# [1.17.0-dev.12](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.11...v1.17.0-dev.12) (2026-03-24)
### Bug Fixes
* pin reqwest to 0.12 to avoid dual-version conflict ([8dc1b6d](https://github.com/hyperi-io/hyperi-rustlib/commit/8dc1b6dc6e7cf336dc20e434094bad52526d22cc))
# [1.17.0-dev.11](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.10...v1.17.0-dev.11) (2026-03-24)
### Bug Fixes
* remove unused env feature flag ([e7f41fa](https://github.com/hyperi-io/hyperi-rustlib/commit/e7f41fa6c5535e181b44940f400fbc7363ecf285))
# [1.17.0-dev.10](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.9...v1.17.0-dev.10) (2026-03-24)
### Bug Fixes
* add http_client, database URL builders, and cache modules ([eb76b54](https://github.com/hyperi-io/hyperi-rustlib/commit/eb76b54281287692df9632f5318a35ebef3ab25b))
# [1.17.0-dev.9](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.8...v1.17.0-dev.9) (2026-03-24)
### Bug Fixes
* add SensitiveString type, ConfigReloader registry hook, redaction tests ([afe7a1d](https://github.com/hyperi-io/hyperi-rustlib/commit/afe7a1dc03a9eadb8280b6bceb72371888cb5888))
# [1.17.0-dev.8](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.7...v1.17.0-dev.8) (2026-03-24)
### Bug Fixes
* add config redaction, /config endpoint, change notification ([c6a796b](https://github.com/hyperi-io/hyperi-rustlib/commit/c6a796b00868d91d65833b790b47ac2fa812afbe))
* wire scaling, grpc, secrets configs into registry ([c1bd924](https://github.com/hyperi-io/hyperi-rustlib/commit/c1bd924ac88d34db3ff82bb97c4734aa785bb3a5))
# [1.17.0-dev.7](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.6...v1.17.0-dev.7) (2026-03-24)
### Bug Fixes
* add reflectable config registry with auto-registration ([a88f50d](https://github.com/hyperi-io/hyperi-rustlib/commit/a88f50dda5ff7574e7b6eeb1ce9188336d281b77))
* wire module configs into the config cascade ([cdb9f79](https://github.com/hyperi-io/hyperi-rustlib/commit/cdb9f79e58a92cbe6c489098aade1eddcddd8a65))
# [1.17.0-dev.6](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.5...v1.17.0-dev.6) (2026-03-24)
### Bug Fixes
* block regex (matches) in CEL expressions by default ([c192c0a](https://github.com/hyperi-io/hyperi-rustlib/commit/c192c0a24ed24f37a914af1bd6597e61baaa80e3))
* prevent underflow in MemoryGuard::release() ([9b74994](https://github.com/hyperi-io/hyperi-rustlib/commit/9b749949e6d5e34caaeb7bb6402cf465ff50c00e))
* restructure tests to match testing standard ([1539471](https://github.com/hyperi-io/hyperi-rustlib/commit/15394714cb1508ef94882e37e6d1ae9366e0e0a6))
# [1.17.0-dev.5](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.4...v1.17.0-dev.5) (2026-03-23)
### Bug Fixes
* replace invalid Renovate preset :pinActionsToFullSha with helpers:pinGitHubActionDigestsToSemver ([39c09a9](https://github.com/hyperi-io/hyperi-rustlib/commit/39c09a941d68add12ef82a024d2b05c1d3cf6fff))
# [1.17.0-dev.4](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.3...v1.17.0-dev.4) (2026-03-22)
### Bug Fixes
* inline Renovate config (preset resolution broken) ([5f60ad3](https://github.com/hyperi-io/hyperi-rustlib/commit/5f60ad3d4a7083b85a776e20e11d0ded2d12ffa1))
# [1.17.0-dev.3](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.2...v1.17.0-dev.3) (2026-03-21)
### Features
* add RenderHandle for sharing Prometheus render across tasks ([cd872a6](https://github.com/hyperi-io/hyperi-rustlib/commit/cd872a6e1840b7338c45f1873ae37894501dc58a))
# [1.17.0-dev.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.17.0-dev.1...v1.17.0-dev.2) (2026-03-20)
### Bug Fixes
* bump lz4_flex upper bound, update deps, fix clippy lints ([a31e07f](https://github.com/hyperi-io/hyperi-rustlib/commit/a31e07f959b304b4de021c9346358cda8589ec82))
# [1.17.0-dev.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.16.2-dev.6...v1.17.0-dev.1) (2026-03-20)
### Bug Fixes
* add create_topics and delete_topics to KafkaAdmin ([21eb0c1](https://github.com/hyperi-io/hyperi-rustlib/commit/21eb0c190c502fe227975b490edbbaae0daad442))
* add feature gates to gRPC integration tests ([b9bc063](https://github.com/hyperi-io/hyperi-rustlib/commit/b9bc06374c92876f2790bfb47c765e6b00eb701c))
* add start_server_with_routes, scaling/memory endpoints to MetricsManager [skip ci] ([b229749](https://github.com/hyperi-io/hyperi-rustlib/commit/b229749b2cacb2ee1360b035ab83c6b39c3bfb2d))
* auto-emit config reload and rdkafka Prometheus metrics ([9aa2893](https://github.com/hyperi-io/hyperi-rustlib/commit/9aa2893938662d55aea0a983269760aeb29102a7))
* bump lz4_flex upper bound, update deps, fix clippy lints ([f7c04f1](https://github.com/hyperi-io/hyperi-rustlib/commit/f7c04f130dd385c49c930355844360672c0334f8))
### Features
* add metrics-dfe feature with composable metric groups ([e26c2dd](https://github.com/hyperi-io/hyperi-rustlib/commit/e26c2dd99fd3947c4999431ac4855522753c5ccf))
## [1.16.2-dev.6](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.16.2-dev.5...v1.16.2-dev.6) (2026-03-20)
### Bug Fixes
* add readiness callback to MetricsManager health endpoints ([500ccf3](https://github.com/hyperi-io/hyperi-rustlib/commit/500ccf3f7d8eee6eca741e75b186cc290efc063d))
## [1.16.2-dev.5](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.16.2-dev.4...v1.16.2-dev.5) (2026-03-19)
### Bug Fixes
* add from_env/from_env_raw to MemoryGuardConfig, tune defaults ([3c59845](https://github.com/hyperi-io/hyperi-rustlib/commit/3c5984563857f494cbbac505184756ec71d6ce10))
## [1.16.2-dev.4](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.16.2-dev.3...v1.16.2-dev.4) (2026-03-19)
### Bug Fixes
* add DfeSource convention for topic naming and consumer groups ([3b0c7da](https://github.com/hyperi-io/hyperi-rustlib/commit/3b0c7daceb9aa091093bad6b9f05f3366757dc0c))
## [1.16.2-dev.3](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.16.2-dev.2...v1.16.2-dev.3) (2026-03-19)
### Bug Fixes
* add concurrent and edge-case tests for MemoryGuard ([b411d1c](https://github.com/hyperi-io/hyperi-rustlib/commit/b411d1c5a3fb85082da8cd6066248c72dc349d9a))
* add MemoryGuard — cgroup-aware memory backpressure for OOM prevention ([fba690f](https://github.com/hyperi-io/hyperi-rustlib/commit/fba690fb3365d3a4240cba4fee9e894c2f13d40b))
## [1.16.2-dev.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.16.2-dev.1...v1.16.2-dev.2) (2026-03-19)
### Bug Fixes
* add data quality event helpers (DLQ routing, quality alerts) ([2a6eeb6](https://github.com/hyperi-io/hyperi-rustlib/commit/2a6eeb67109c4fbb59eb77f22622100dc64f3091))
* add flat env override helpers, ApplyFlatEnv and Normalize traits ([e583ecf](https://github.com/hyperi-io/hyperi-rustlib/commit/e583ecf650e0b1d8142e6f63a7fd233c88071192))
* add security event logging framework (OWASP-aligned) ([f08819b](https://github.com/hyperi-io/hyperi-rustlib/commit/f08819b18b01924bceee7f6e30460cbc78366eb0))
* inject service name and version into JSON log output ([e3c70ef](https://github.com/hyperi-io/hyperi-rustlib/commit/e3c70eff1a76ae31e667cb4da6fc9790c12f515e))
## [1.16.2-dev.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.16.1...v1.16.2-dev.1) (2026-03-18)
### Bug Fixes
* add DfeMetrics standard metric set with transport labels ([d66d9b3](https://github.com/hyperi-io/hyperi-rustlib/commit/d66d9b3ea9b490ef7057a39c72e4d60a4fd724c6))
* add libc dependency for disk-aware capacity management ([7e47351](https://github.com/hyperi-io/hyperi-rustlib/commit/7e47351b1fe3bda50075342fcef8fae91bf97ddf))
* add log spam helper functions (state, sampled, debounced) ([f38296d](https://github.com/hyperi-io/hyperi-rustlib/commit/f38296d6530829422c055f70c15c0f7f016718eb))
* add tracing-throttle layer to logger (opt-in via LOG_THROTTLE_ENABLED) ([842914a](https://github.com/hyperi-io/hyperi-rustlib/commit/842914a34de03a3d84d51dcdf21784474242dcc9))
* address clippy warnings in log helpers (is_multiple_of, cast) ([cc73e5d](https://github.com/hyperi-io/hyperi-rustlib/commit/cc73e5dd936545ef57f9c7335d8986c1ee58fd3d))
* correct Dockerfile profile assertions in deployment tests ([2cfee48](https://github.com/hyperi-io/hyperi-rustlib/commit/2cfee484a30af9b557da456472db9880100b23e2))
* Dockerfile generator header and Ubuntu 24.04 UID fix ([d8c3c69](https://github.com/hyperi-io/hyperi-rustlib/commit/d8c3c698083c9478d23b4887205f25af526df6e5))
* downgrade rdkafka INFO/Notice logs to debug level ([c58c17f](https://github.com/hyperi-io/hyperi-rustlib/commit/c58c17fa73e2b6290815dcbd9f14e1ff5946a911)), closes [hyperi-io/dfe-loader#5](https://github.com/hyperi-io/dfe-loader/issues/5)
* enforce max_spool_bytes limit in TieredSink ([9f9103f](https://github.com/hyperi-io/hyperi-rustlib/commit/9f9103f378df10b33c7321298ca6cc663a102030))
* initialise spool len counter from existing queue on open ([a2c9a65](https://github.com/hyperi-io/hyperi-rustlib/commit/a2c9a65acea8368429173ed7ae64b5a0c05668e5))
* make spool codec configurable, default to zstd level 1 ([90c1c4a](https://github.com/hyperi-io/hyperi-rustlib/commit/90c1c4a212ddc8aa87f12ccbd6b4635ac36ce1f6))
## [1.16.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.16.0...v1.16.1) (2026-03-12)
### Bug Fixes
* update crates.io keywords for discoverability ([ad924cd](https://github.com/hyperi-io/hyperi-rustlib/commit/ad924cd9abc8391c7595886622a4f797f966726b))
# [1.16.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.15.0...v1.16.0) (2026-03-11)
### Features
* add ImageProfile for production vs development container images ([870a52c](https://github.com/hyperi-io/hyperi-rustlib/commit/870a52c3444616d5ad8b4d3e34aa343a8824b3b9))
# [1.15.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.14.0...v1.15.0) (2026-03-11)
### Bug Fixes
* resolve clippy bool_comparison in native_deps test ([8bc941d](https://github.com/hyperi-io/hyperi-rustlib/commit/8bc941de300a042f5683023706eabac0e2622849))
### Features
* auto-generate native deps in Dockerfile from feature flags ([9e86810](https://github.com/hyperi-io/hyperi-rustlib/commit/9e86810e741e01254f3cb7a1436d5ab88db0bada))
# [1.14.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.13.2...v1.14.0) (2026-03-11)
### Features
* dynamic-link C deps, bump versions, drop cmake builds ([926d2fe](https://github.com/hyperi-io/hyperi-rustlib/commit/926d2fee601ba49234e4e490cb1df671f97f72ee))
## [1.13.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.13.1...v1.13.2) (2026-03-10)
### Bug Fixes
* add benches, scripts to cargo publish exclude list [skip ci] ([e305716](https://github.com/hyperi-io/hyperi-rustlib/commit/e3057161c90fb45fc70d1032a17469c4a0a0f310))
* add kafka_config module with config_from_file and file-based overrides [skip ci] ([1de187a](https://github.com/hyperi-io/hyperi-rustlib/commit/1de187a67b1414a1c16eaf94383006a546bd81cc))
* modernise to Rust edition 2024 and drop async-trait from traits [skip ci] ([aac49af](https://github.com/hyperi-io/hyperi-rustlib/commit/aac49af0958e44a051b8d7ec4dbfb84967430d08))
* quote on key in workflow to prevent YAML boolean parse ([02e38f8](https://github.com/hyperi-io/hyperi-rustlib/commit/02e38f8285c6cde6778ac1ef4e0bf53b60aa92c2))
* remove explicit ref mut in match ergonomics for Rust stable ([7781de7](https://github.com/hyperi-io/hyperi-rustlib/commit/7781de749c4474e5fcb4844c037f72b93beac180))
* resolve Rust 2024 edition clippy and fmt errors ([fd8b2ab](https://github.com/hyperi-io/hyperi-rustlib/commit/fd8b2abfc649f8b7eeda07c6c07ea14e302f210a))
* sort criterion imports to match rustfmt ordering ([8c0300d](https://github.com/hyperi-io/hyperi-rustlib/commit/8c0300d9bf860581afb1aa987ae2d3eafc055add))
* use secrets inherit and add permissions block ([513d180](https://github.com/hyperi-io/hyperi-rustlib/commit/513d18019755b26362a7589db02e8190c878d565))
## [1.13.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.13.0...v1.13.1) (2026-03-03)
### Bug Fixes
* use configurable base_image in deployment contract instead of hardcoded debian ([a4d659e](https://github.com/hyperi-io/hyperi-rustlib/commit/a4d659e96b2375405a106d3083fb142c2a7b6a23))
# [1.13.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.12.3...v1.13.0) (2026-03-03)
### Bug Fixes
* cache instance_id with OnceLock to fix race condition in tests ([3981a65](https://github.com/hyperi-io/hyperi-rustlib/commit/3981a6546e4a6354fc7e63ecd076af50de0db2a8))
### Features
* add CEL expression evaluation module ([83713e6](https://github.com/hyperi-io/hyperi-rustlib/commit/83713e6bfcfc6f07823a83b91d30bc33dafe2ce7))
## [1.12.3](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.12.2...v1.12.3) (2026-03-03)
### Bug Fixes
* gate semantic-release on CI success ([72f20a3](https://github.com/hyperi-io/hyperi-rustlib/commit/72f20a349f322be311f67edbc332485abbab2151))
## [1.12.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.12.1...v1.12.2) (2026-03-03)
### Bug Fixes
* resolve remaining clippy pedantic and typos errors ([a399cb2](https://github.com/hyperi-io/hyperi-rustlib/commit/a399cb2a994c1015cc12bda92b7709668713c979))
## [1.12.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.12.0...v1.12.1) (2026-03-03)
### Bug Fixes
* resolve clippy uninlined_format_args warnings ([e0df71b](https://github.com/hyperi-io/hyperi-rustlib/commit/e0df71b253c191db7dd79f5e7fdbaa0e52d1289e))
# [1.12.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.11.0...v1.12.0) (2026-03-03)
### Features
* add shared io module and file output sink ([be188c6](https://github.com/hyperi-io/hyperi-rustlib/commit/be188c6d627998e67708ecaac548f04b9a11124d))
* add standard CLI framework and TUI metrics dashboard ([dc9e909](https://github.com/hyperi-io/hyperi-rustlib/commit/dc9e9095efc1a57234beaeab10d59c7b47ebdde4))
# [1.11.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.10.0...v1.11.0) (2026-03-03)
### Bug Fixes
* correct Helm template brace escaping in generate.rs ([c0bc194](https://github.com/hyperi-io/hyperi-rustlib/commit/c0bc1946e7b400b61f0f0efe2570cfab6a964a25))
### Features
* add deployment artifact generation (Dockerfile, Helm chart, Compose) ([f7d20a2](https://github.com/hyperi-io/hyperi-rustlib/commit/f7d20a2ccba91d61d5c4bf057667f69929857c3c))
# [1.10.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.9.2...v1.10.0) (2026-03-02)
### Bug Fixes
* serialise env_compat unit tests to prevent parallel env var races ([b603991](https://github.com/hyperi-io/hyperi-rustlib/commit/b603991623b335f68966efc7bb4fe53db837bc93))
### Features
* add unified DLQ module with file and Kafka backends ([f901918](https://github.com/hyperi-io/hyperi-rustlib/commit/f9019186cde6e7815108b0574ee3eb86c72e4040))
## [1.9.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.9.1...v1.9.2) (2026-03-02)
### Bug Fixes
* update ci submodule with mawk compat fix for cargo version bump ([7ced55d](https://github.com/hyperi-io/hyperi-rustlib/commit/7ced55dca58a583bdcb7bbfd2b04fdfd6e97edd7))
## [1.9.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.9.0...v1.9.1) (2026-03-02)
### Bug Fixes
* correct Cargo.toml version (CI version bump failed for v1.9.0) ([9f5ad2d](https://github.com/hyperi-io/hyperi-rustlib/commit/9f5ad2d243168f21fd685eba17581e3dc4cb8762))
# [1.9.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.9...v1.9.0) (2026-03-02)
### Features
* add scaling pressure module for KEDA autoscaling ([031e210](https://github.com/hyperi-io/hyperi-rustlib/commit/031e210a95e0f0d04e972b7b9c975b705aab1794))
## [1.8.9](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.8...v1.8.9) (2026-03-02)
### Bug Fixes
* rustfmt and dprint formatting alignment ([8e86117](https://github.com/hyperi-io/hyperi-rustlib/commit/8e8611773e968a0a916580253b7f0bbcac8ab75f))
## [1.8.8](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.7...v1.8.8) (2026-03-02)
### Bug Fixes
* clippy match_wild_err_arm in vector compat tests ([7faa406](https://github.com/hyperi-io/hyperi-rustlib/commit/7faa4063984f8dd76a979bc8e8ae64bc9cdb37a9))
## [1.8.7](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.6...v1.8.7) (2026-03-02)
### Bug Fixes
* clippy manual_let_else in vector compat tests ([56d7ecc](https://github.com/hyperi-io/hyperi-rustlib/commit/56d7ecce080d0210caa20a65038d4e30352ed119))
## [1.8.6](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.5...v1.8.6) (2026-03-02)
### Bug Fixes
* clippy single_match_else and match_same_arms ([5782670](https://github.com/hyperi-io/hyperi-rustlib/commit/578267080954520c34a9b0b4fd322d37481f3b21))
## [1.8.5](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.4...v1.8.5) (2026-03-02)
### Bug Fixes
* masking layer, coloured output, integration tests ([5817bc0](https://github.com/hyperi-io/hyperi-rustlib/commit/5817bc0c526473440f22324bf19408f836b9eb9b))
* vector compat integration tests, vault_env env leak fix ([ce0294a](https://github.com/hyperi-io/hyperi-rustlib/commit/ce0294ad55ed86ca53db6e2a161a045e16258358))
## [1.8.4](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.3...v1.8.4) (2026-03-02)
### Bug Fixes
* update deps to latest versions, migrate tonic/prost to 0.14 ([c11aca0](https://github.com/hyperi-io/hyperi-rustlib/commit/c11aca05526c52ca8219e8d2167e64a921c3e93a))
## [1.8.3](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.2...v1.8.3) (2026-03-02)
### Bug Fixes
* dprint formatting for float match arm ([5913655](https://github.com/hyperi-io/hyperi-rustlib/commit/591365547a0493a9073bd68ac235714b610e8fa4))
## [1.8.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.1...v1.8.2) (2026-03-02)
### Bug Fixes
* use non-constant float in clippy test ([2cefd58](https://github.com/hyperi-io/hyperi-rustlib/commit/2cefd5834c31b44d152cd08e5720320ba264c0e4))
## [1.8.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.8.0...v1.8.1) (2026-03-02)
### Bug Fixes
* clippy approx_constant lint and standardise release runner ([a1a3258](https://github.com/hyperi-io/hyperi-rustlib/commit/a1a3258d8504a681e254ef645c64c2f9b5891701))
# [1.8.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.7.2...v1.8.0) (2026-03-01)
### Features
* add gRPC transport with Vector wire protocol compatibility ([bb7985e](https://github.com/hyperi-io/hyperi-rustlib/commit/bb7985e5db132b9288973728293557c60d9fc477))
## [1.7.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.7.1...v1.7.2) (2026-02-28)
### Bug Fixes
* remove arc runner config, use github-hosted runners ([d161450](https://github.com/hyperi-io/hyperi-rustlib/commit/d16145037a25d795870f2e22c2d29e7baa25c4af))
## [1.7.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.7.0...v1.7.1) (2026-02-28)
### Bug Fixes
* clippy and fmt issues in version_check module ([ef5375e](https://github.com/hyperi-io/hyperi-rustlib/commit/ef5375e6d7c397c35a1db8059ffaf2dcba29c339))
# [1.7.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.6.0...v1.7.0) (2026-02-28)
### Features
* deployment contract validation and startup version check ([822adba](https://github.com/hyperi-io/hyperi-rustlib/commit/822adbae940434c5e6de3561713860929c2ee11d))
# [1.6.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.5.4...v1.6.0) (2026-02-28)
### Features
* align config cascade with hyperi-pylib unified spec ([398034c](https://github.com/hyperi-io/hyperi-rustlib/commit/398034c0a114e51c776841d06b2aa9e6b3a7ac93))
## [1.5.4](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.5.3...v1.5.4) (2026-02-25)
### Bug Fixes
* remove target-cpu=native to fix SIGILL in CI ([cd5df48](https://github.com/hyperi-io/hyperi-rustlib/commit/cd5df4860ba1373a2b30c18ab50c4d711b499709))
## [1.5.3](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.5.2...v1.5.3) (2026-02-25)
### Bug Fixes
* add markdownlint-cli2 ignore config for generated/vendored files ([7fd0840](https://github.com/hyperi-io/hyperi-rustlib/commit/7fd0840e5a2d79c6b477ed3d87b5ef291f4296a2))
## [1.5.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.5.1...v1.5.2) (2026-02-25)
### Bug Fixes
* resolve markdownlint errors in docs and CONTRIBUTING ([fc80dcc](https://github.com/hyperi-io/hyperi-rustlib/commit/fc80dccdfbc802b9187622d3db3cf96bedfde35a))
## [1.5.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.5.0...v1.5.1) (2026-02-25)
### Bug Fixes
* resolve CI quality failures (typos, clippy, fmt, gitleaks, test) ([9c51c94](https://github.com/hyperi-io/hyperi-rustlib/commit/9c51c94943ee5cc7ee636722e731908d0daa98cd))
## [1.4.3](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.4.2...v1.4.3) (2026-02-17)
### Bug Fixes
* rename package from hs-rustlib to hyperi-rustlib ([bbb797a](https://github.com/hyperi-io/hyperi-rustlib/commit/bbb797a2b2351eb241fb79a7cd3b26e2ba9a08b7))
## [1.4.2](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.4.1...v1.4.2) (2026-02-16)
### Bug Fixes
* update cargo publish registry from hypersec to hyperi ([62c6393](https://github.com/hyperi-io/hyperi-rustlib/commit/62c63939bd53eb881197bdbe18b311c6b952a785))
## [1.4.1](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.4.0...v1.4.1) (2026-02-16)
### Bug Fixes
* add default spread to MetricsConfig in full_demo example ([d1eb919](https://github.com/hyperi-io/hyperi-rustlib/commit/d1eb919b7826365923c7487d2ed3f7d8c00688fd))
# [1.4.0](https://github.com/hyperi-io/hyperi-rustlib/compare/v1.3.12...v1.4.0) (2026-02-16)
### Features
* add directory-config store, otel-metrics, and git2 integration ([a4f3938](https://github.com/hyperi-io/hyperi-rustlib/commit/a4f3938549d2b577920f6ae68eb2d27049e57801))
## [1.3.12](https://github.com/hypersec-io/hyperi-rustlib/compare/v1.3.11...v1.3.12) (2026-02-06)
### Bug Fixes
* apply cargo fmt formatting ([8f70877](https://github.com/hypersec-io/hyperi-rustlib/commit/8f70877cec8c66f2f8adef87e81fc98a64099d8b))
## [1.3.11](https://github.com/hypersec-io/hyperi-rustlib/compare/v1.3.10...v1.3.11) (2026-02-06)
### Bug Fixes
* resolve clippy single_char_pattern and uninlined_format_args lints ([028e4d6](https://github.com/hypersec-io/hyperi-rustlib/commit/028e4d6c2581fe5d00a3e6121d56f5bd7c4fd0f7))
## [1.3.10](https://github.com/hypersec-io/hyperi-rustlib/compare/v1.3.9...v1.3.10) (2026-02-06)
### Bug Fixes
* resolve clippy float_cmp and case_sensitive_extension lints ([c4d538b](https://github.com/hypersec-io/hyperi-rustlib/commit/c4d538b82863168465fbe74d02feb164650e294b))
## [1.3.9](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.8...v1.3.9) (2026-02-03)
### Bug Fixes
* **tests:** change CWD to empty dir for hardcoded defaults test ([70cd34a](https://github.com/hypersec-io/hs-rustlib/commit/70cd34a3ee6ad332620bed5dbb07da804cde6a4f))
## [1.3.8](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.7...v1.3.8) (2026-02-03)
### Bug Fixes
* **docs:** add missing SecretSource import in secrets doctest ([aa0f293](https://github.com/hypersec-io/hs-rustlib/commit/aa0f2936a6ecdc1582e41bece638ff8a61d6b543))
## [1.3.7](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.6...v1.3.7) (2026-02-03)
### Bug Fixes
* **tests:** isolate hardcoded defaults test from CWD config files ([489160b](https://github.com/hypersec-io/hs-rustlib/commit/489160b946a54bbe778def97bdb9f388ff4e0e68))
## [1.3.6](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.5...v1.3.6) (2026-02-03)
### Performance Improvements
* **ci:** remove CARGO_BUILD_JOBS limit on release runner ([a2fcd4a](https://github.com/hypersec-io/hs-rustlib/commit/a2fcd4a481eeb4a391b0998d2ab6789da968252d))
## [1.3.5](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.4...v1.3.5) (2026-02-03)
### Bug Fixes
* **test:** ensure VAULT_ADDR cleared in openbao fallback test ([64bfc49](https://github.com/hypersec-io/hs-rustlib/commit/64bfc49bf1e4bd9a018a2b168dc40c2ffc58595f))
## [1.3.4](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.3...v1.3.4) (2026-02-03)
### Bug Fixes
* **ci:** use buildjet-32vcpu runner for release ([e9077e0](https://github.com/hypersec-io/hs-rustlib/commit/e9077e09eaa17a0814b9587bed10dfb7a174350e))
## [1.3.3](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.2...v1.3.3) (2026-02-03)
### Bug Fixes
* **ci:** use org default runner for release workflow ([c65e4a2](https://github.com/hypersec-io/hs-rustlib/commit/c65e4a29c463d337f2fc91879a47784be79f8906))
## [1.3.2](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.1...v1.3.2) (2026-02-03)
### Bug Fixes
* **ci:** use system librdkafka instead of cmake-build ([2fc7e3c](https://github.com/hypersec-io/hs-rustlib/commit/2fc7e3c27eb72edf4b20aa460b216b53310f72fc))
## [1.3.1](https://github.com/hypersec-io/hs-rustlib/compare/v1.3.0...v1.3.1) (2026-02-03)
### Bug Fixes
* **ci:** add system dependencies for rdkafka build ([96afaf2](https://github.com/hypersec-io/hs-rustlib/commit/96afaf223324e4df3cc501736b8e017508c9ccb0))
## [1.2.2](https://github.com/hypersec-io/hs-rustlib/compare/v1.2.1...v1.2.2) (2026-01-20)
### Bug Fixes
* resolve additional clippy lints for CI --all-targets ([3161911](https://github.com/hypersec-io/hs-rustlib/commit/316191110b30d9ccd66da350b76578e8f5983990))
## [1.2.1](https://github.com/hypersec-io/hs-rustlib/compare/v1.2.0...v1.2.1) (2026-01-20)
### Bug Fixes
* resolve stricter clippy lints from Polars-inspired CI ([a41882e](https://github.com/hypersec-io/hs-rustlib/commit/a41882e953ae65e9e676bd45ac6e371e351b3c8c))
# [1.2.0](https://github.com/hypersec-io/hs-rustlib/compare/v1.1.0...v1.2.0) (2026-01-20)
### Bug Fixes
* **config:** set language to rust ([64ce052](https://github.com/hypersec-io/hs-rustlib/commit/64ce0526a8714c65b0604f15720eae1bdeba5c99))
### Features
* **ci:** add Polars-inspired Rust CI workflow ([0df5cc5](https://github.com/hypersec-io/hs-rustlib/commit/0df5cc51f5b033e651e8f0796c0bebc442bba315))
# [1.1.0](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.8...v1.1.0) (2026-01-20)
### Bug Fixes
* add async-trait to transport feature dependencies ([0532aa4](https://github.com/hypersec-io/hs-rustlib/commit/0532aa44a2d97cbb84bba8d8d358bd1255f7fd85))
### Features
* add license module, remove clickhouse-arrow wrapper ([82938c7](https://github.com/hypersec-io/hs-rustlib/commit/82938c7508e63256e2d07ea6a600f4b74760d683))
## [1.0.8](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.7...v1.0.8) (2026-01-19)
### Bug Fixes
* exclude non-essential directories from cargo package ([dce89bf](https://github.com/hypersec-io/hs-rustlib/commit/dce89bf34b01246c2b064750612d9033661866a1))
## [1.0.7](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.6...v1.0.7) (2026-01-19)
### Bug Fixes
* clippy lints for CI compatibility ([9c25671](https://github.com/hypersec-io/hs-rustlib/commit/9c256718c97f94d81d73bb6faefd81833772d751))
## [1.0.6](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.5...v1.0.6) (2026-01-19)
### Bug Fixes
* correct module path in clickhouse_arrow doc tests ([aee6944](https://github.com/hypersec-io/hs-rustlib/commit/aee69441a4aa6838c68f594da43d392dfd8cdf78))
## [1.0.5](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.4...v1.0.5) (2026-01-19)
### Bug Fixes
* **ci:** use correct secret name JFROG_ACCESS_TOKEN ([91270aa](https://github.com/hypersec-io/hs-rustlib/commit/91270aa9d75c92e6756b769e8d414c40c867f0c3))
## [1.0.4](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.3...v1.0.4) (2026-01-19)
### Bug Fixes
* **ci:** use env var for cargo registry token ([82218e9](https://github.com/hypersec-io/hs-rustlib/commit/82218e9d1c2e5dc7d115fdcccd89fc67332eeff9))
## [1.0.3](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.2...v1.0.3) (2026-01-19)
### Bug Fixes
* **ci:** add global-credential-providers for cargo auth ([9ae9ea0](https://github.com/hypersec-io/hs-rustlib/commit/9ae9ea00620b29115153ce142fc6bf3bb89d81c4))
## [1.0.2](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.1...v1.0.2) (2026-01-19)
### Bug Fixes
* **ci:** use echo instead of heredocs for cargo config ([7f82a30](https://github.com/hypersec-io/hs-rustlib/commit/7f82a306c5e80c7743090432e85eb8ed809be586))
## [1.0.1](https://github.com/hypersec-io/hs-rustlib/compare/v1.0.0...v1.0.1) (2026-01-18)
### Bug Fixes
* **ci:** configure Artifactory registry before build step ([cd645fc](https://github.com/hypersec-io/hs-rustlib/commit/cd645fcb16cf8d60ca8431fde65832fb804e8f16))
# 1.0.0 (2026-01-18)
### Features
* add transport abstraction layer (Kafka/Zenoh/Memory) ([8156e33](https://github.com/hypersec-io/hs-rustlib/commit/8156e334479675354bb58074b745be3db791881c))
* **clickhouse:** add ClickHouse client module ([098c346](https://github.com/hypersec-io/hs-rustlib/commit/098c34605f26812f4e0c17ec5615a3975960b993))
* initial MVP of hs-rustlib shared library ([40c3bcd](https://github.com/hypersec-io/hs-rustlib/commit/40c3bcddb5585a2aa4f73bd2339e2a39de96cf9c))
* **transport:** add stateful FormatDetector with auto-locking ([bbf4007](https://github.com/hypersec-io/hs-rustlib/commit/bbf40073a9804cb3d11232331f123aacb53521cf))