Skip to content

Latest commit

 

History

History
89 lines (70 loc) · 3.38 KB

File metadata and controls

89 lines (70 loc) · 3.38 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.3.0] - 2026-04-20

Added

  • dev.streamline.client.moonshot package — HTTP clients for the Streamline Moonshot control plane (port 9094):
    • BranchesClient (M5 — list / create / delete / merge branches)
    • ContractsClient (M4 — register / get / validate JSON-Schema contracts)
    • AttestationClient (M4 — request signatures, verify them)
    • SearchClient (M2 — semantic search across topics)
    • MemoryClient (M1 — agent memory remember / recall)
  • Spring Boot starter (streamline-spring-boot-starter) auto-wires the five moonshot clients when streamline.moonshot.http-url is set.

Added

  • Circuit breaker pattern (CircuitBreaker.java) with configurable thresholds and execute() wrapper
  • Circuit breaker integration in Producer — automatically checks CB before send, records success/failure
  • Circuit breaker usage example (CircuitBreakerUsage.java)
  • TLS/SASL authentication example (SecurityUsage.java)
  • CircuitBreaker test suite (14 tests covering state transitions, thresholds, error classification)
  • isRetryable() method on StreamlineException for circuit breaker integration

Fixed

  • Producer now wires compressionType and idempotent settings to Kafka ProducerConfig
  • Producer now wires retries, retryBackoffMs, and maxRequestSize to Kafka ProducerConfig

Changed

  • fix: resolve thread safety issue in producer pool (2026-03-06)
  • feat: add schema registry usage example (2026-03-06)
  • Changed: update Kafka client dependency to 3.7
  • Testing: add Testcontainers integration test suite
  • Changed: simplify Maven module dependency tree
  • Fixed: resolve thread safety issue in consumer registry
  • Added: add Spring Boot auto-configuration for producer

Fixed

  • Correct deserialization of nullable fields

Changed

  • Extract common config into shared module

Performance

  • Optimize batch producer flush strategy

[0.2.0] - 2026-02-18

Added

  • Multi-module Maven project (core client + Spring Boot starter)
  • StreamlineClient with builder pattern
  • Producer and Consumer with Kafka protocol support
  • Admin client for topic management
  • Spring Boot 3.2.0 auto-configuration with @ConditionalOnClass
  • @StreamlineListener annotation for declarative event handling
  • Exception hierarchy with error codes and hints
  • Testcontainers integration for testing

Infrastructure

  • CI pipeline with build, test, and code coverage
  • CodeQL security scanning
  • Release workflow with Maven Central publishing
  • Release drafter for automated release notes
  • Dependabot for dependency updates
  • CONTRIBUTING.md with development setup guide
  • Security policy (SECURITY.md)
  • EditorConfig for consistent formatting
  • Issue templates for bug reports and feature requests

[0.1.0] - 2026-02-18

Added

  • Initial release of Streamline Java SDK
  • Core client library with Kafka protocol compatibility
  • Spring Boot starter module
  • Testcontainers support for integration testing
  • Apache 2.0 license
  • test: add BatchAccumulator unit test scaffolding
  • test: add WireFormat serialization test coverage
  • test: add BatchAccumulator edge case and boundary tests