Skip to content

v0.3.0: Compile size optimization & feature gates

Latest

Choose a tag to compare

@ZhiXiao-Lin ZhiXiao-Lin released this 18 Feb 08:23
· 15 commits to main since this release

What's Changed

Performance

  • Replace heavy futures umbrella crate with lightweight BoxFuture type alias
  • Remove unused tokio-stream dependency
  • Use futures-util only behind nats feature gate
  • Add release profile: opt-level=z, LTO, single codegen unit, symbol stripping

Architecture (from v0.2.0)

  • Feature-gated optional modules: nats, encryption, cloudevents, routing
  • Removed scaling.rs (domain coupling with Gateway/Box)
  • Removed empty marker traits (WebhookSource, MetricsSource)
  • Promoted build_subject/category_subject to trait default methods
  • Cleaned NatsConfig redundant methods
  • Deduplicated now_millis() utility

Stats

  • 176 unit tests, 29 integration tests, 2 doc tests passing
  • ~540 lines removed vs v0.1.0
  • Minimal core compiles without nats/encryption/cloudevents/routing

Feature Flags

Feature Default Description
nats ✅ NATS JetStream provider
encryption ✅ AES-256-GCM payload encryption
cloudevents ✅ CloudEvents v1.0 conversion
routing ✅ Broker/Trigger event routing
full — All features