@@ -6,6 +6,78 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
66
77---
88
9+ ## [ 0.4.0] - 2026-01-09
10+
11+ ### Added
12+
13+ #### Spring Boot Starter Module (` aether-datafixers-spring-boot-starter ` )
14+
15+ New module providing seamless Spring Boot integration with auto-configuration, fluent migration API, and observability features.
16+
17+ ** Auto-Configuration (` spring.autoconfigure ` ):**
18+ - ` AetherDataFixersAutoConfiguration ` — Main entry point coordinating all sub-configurations
19+ - ` DynamicOpsAutoConfiguration ` — Auto-configures ` GsonOps ` and ` JacksonOps ` beans based on classpath
20+ - ` DataFixerAutoConfiguration ` — Creates ` AetherDataFixer ` beans from ` DataFixerBootstrap ` definitions
21+ - ` MigrationServiceAutoConfiguration ` — Configures the ` MigrationService ` with metrics integration
22+ - ` ActuatorAutoConfiguration ` — Configures health indicators, info contributors, and custom endpoints
23+ - Conditional activation via ` aether.datafixers.enabled ` property (default: ` true ` )
24+ - Version resolution from properties, bootstrap ` CURRENT_VERSION ` constant, or global default
25+
26+ ** Configuration Properties (` spring.config ` ):**
27+ - ` AetherDataFixersProperties ` — Root configuration with ` aether.datafixers.* ` prefix
28+ - ` DataFixerDomainProperties ` — Per-domain configuration (version, primary, description)
29+ - ` DynamicOpsFormat ` — Enum for selecting default serialization format (GSON, JACKSON)
30+ - ` ActuatorProperties ` — Control schema/fix detail exposure in actuator responses
31+ - ` MetricsProperties ` — Configure timing, counting, and domain tag name
32+
33+ ** Migration Service (` spring.service ` ):**
34+ - ` MigrationService ` — High-level interface with fluent builder API
35+ - ` MigrationService.MigrationRequestBuilder ` — Builder for configuring migrations
36+ - ` DefaultMigrationService ` — Thread-safe implementation with metrics integration
37+ - ` MigrationResult ` — Immutable result object with success/failure, data, versions, duration, error
38+ - Fluent API: ` .migrate(data).from(version).to(version).execute() `
39+ - Domain selection: ` .usingDomain("game") ` for multi-domain setups
40+ - Latest version resolution: ` .toLatest() ` resolves at execution time
41+ - Async execution: ` .executeAsync() ` returns ` CompletableFuture<MigrationResult> `
42+ - Custom DynamicOps: ` .withOps(ops) ` for custom serialization
43+
44+ ** Multi-Domain Support (` spring.autoconfigure ` ):**
45+ - ` DataFixerRegistry ` — Thread-safe registry for managing multiple DataFixer instances
46+ - Support for ` @Qualifier ` annotated bootstrap beans
47+ - ` createQualifiedFixer() ` factory method for domain-specific DataFixer creation
48+ - Domain availability checking via ` hasDomain() ` and ` getAvailableDomains() `
49+ - Default domain ("default") for single-bootstrap setups
50+
51+ ** Actuator Integration (` spring.actuator ` ):**
52+ - ` DataFixerHealthIndicator ` — Reports UP/DOWN/UNKNOWN based on DataFixer operational status
53+ - ` DataFixerInfoContributor ` — Adds ` aether-datafixers ` section to ` /actuator/info `
54+ - ` DataFixerEndpoint ` — Custom endpoint at ` /actuator/datafixers ` with domain details
55+ - Per-domain health status and version information
56+ - Domain-specific endpoint: ` /actuator/datafixers/{domain} `
57+ - Fail-fast on first domain error with detailed error message
58+
59+ ** Micrometer Metrics (` spring.metrics ` ):**
60+ - ` MigrationMetrics ` — Records migration metrics using Micrometer
61+ - ` aether.datafixers.migrations.success ` — Counter for successful migrations (tagged by domain)
62+ - ` aether.datafixers.migrations.failure ` — Counter for failed migrations (tagged by domain, error_type)
63+ - ` aether.datafixers.migrations.duration ` — Timer for migration execution time
64+ - ` aether.datafixers.migrations.version.span ` — Distribution summary of version spans
65+ - Automatic metric recording in ` DefaultMigrationService `
66+ - Thread-safe meter caching per domain
67+
68+ ### Documentation
69+
70+ - Added comprehensive Spring Boot Integration documentation
71+ - Quick Start Guide with complete code examples
72+ - Configuration Reference for all ` aether.datafixers.* ` properties
73+ - MigrationService API documentation with sync/async patterns
74+ - Multi-Domain Setup guide with ` @Qualifier ` examples
75+ - Actuator Integration guide with security recommendations
76+ - Metrics Integration guide with PromQL queries, Grafana dashboard, and alerting rules
77+ - Updated main documentation with Spring Boot module links
78+
79+ ---
80+
981## [ 0.3.0] - 2026-01-08
1082
1183### Added
0 commit comments