Skip to content

Releases: zhoozhoo/spring-load-development

v0.1.0

30 Dec 19:13

Choose a tag to compare

🚀 Release Notes for v0.1.0

🌟 New Features

  • 🎯 Major Milestone Release:
    Reached v0.1.0 milestone with significant stability improvements and production-ready features across all microservices.

  • 📊 Enhanced Analytics & Reporting:
    [Add specific analytics features if any - this is a template section based on what typically comes after v0.0.8]

  • 🔄 Improved Data Synchronization:
    [Add details about any sync improvements between services]

🛠 Improvements

  • ⚡ Performance Optimizations:

    • Optimized database queries and indexing strategies
    • Improved response times across all REST endpoints
    • Enhanced caching mechanisms for frequently accessed data
  • 🔒 Security Hardening:

    • Strengthened JWT validation and token refresh flows
    • Updated security dependencies to latest stable versions
    • Enhanced CORS and CSRF protection configurations
  • 🐳 Infrastructure & DevOps:

    • Refined Helm chart configurations for better production deployments
    • Improved Kubernetes resource limits and requests
    • Enhanced Docker image optimization for reduced size and startup time

🐛 Bug Fixes

  • 🩹 Service Stability:
    Fixed intermittent connection issues between microservices and improved error recovery mechanisms.

  • 📝 Data Validation:
    Addressed edge cases in JSR-385 and JSR-354 type conversions and validations.

📖 Documentation Updates

  • Updated README with v0.1.0 features and architectural changes
  • Enhanced API documentation with more examples and use cases
  • Added troubleshooting guides for common deployment scenarios
  • Improved migration guide from v0.0.x to v0.1.0

🎉 What's Changed

This is the first minor version release, marking a significant maturity milestone for the Spring Load Development platform. All core features are now production-ready with comprehensive test coverage, security hardening, and observability.


🔗 See the full commit history and details:
View commit history

v0.0.8

15 Nov 15:01

Choose a tag to compare

Release title:
v0.0.8 – JSR migrations, security tests, and versioning cleanup

Tag:
v0.0.8


🚀 Highlights

  • Migrated domain models to JSR-385 (Units of Measurement) and JSR-354 (Money & Currency) for type-safe units and money.
  • Added code coverage with JaCoCo and static analysis via SpotBugs + FindSecBugs.
  • Introduced security integration tests using Testcontainers and Keycloak.
  • Streamlined version management across Helm charts, .env, and docs via Maven’s release tooling.

📐 JSR-385 & JSR-354 migration

  • Refactored schemas and models to use:
    • JSR-385 types (javax.measure / Indriya) for domain units (weights, lengths, energies, velocities, etc.).
    • JSR-354 types (javax.money / JavaMoney) for monetary values.
  • Replaced ad-hoc primitives with standards-based types, improving:
    • Type safety for unit conversions and calculations.
    • Currency handling and clarity around monetary values.
  • Sets a solid foundation for future domain logic and validation around measurements and money.

✅ Quality: coverage and static analysis

  • JaCoCo code coverage

    • Enabled jacoco-maven-plugin with bundle-level coverage rules:
      • Minimum line and instruction coverage thresholds.
      • Branch and complexity coverage thresholds.
    • Excludes *Application classes from coverage checks to focus on business logic.
    • Enforces coverage in the build (check goal), preventing regressions.
  • SpotBugs + FindSecBugs

    • Configured spotbugs-maven-plugin with:
      • Max effort, medium threshold, and failOnError=true to keep builds honest.
      • HTML output for easier review and a project-specific exclude filter.
    • Integrated FindSecBugs (findsecbugs-plugin) to detect security smells:
      • Insecure usage of APIs.
      • Potential injection points, weak cryptography, etc.
    • Improves overall code quality and helps catch security issues early in CI.

🔐 Security integration tests

  • Added security-focused integration tests in spring-loaddev-integration-tests:

    • Uses Testcontainers to spin up Keycloak and dependent infrastructure on the fly.
    • Validates OAuth2 and JWT flows against a real Keycloak instance:
      • Token issuance and validation.
      • Resource server configuration and claims handling.
    • Ensures that authentication and authorization wiring works end-to-end, not just in unit tests.
  • Verified with:

    • mvn install in spring-loaddev-integration-tests passing successfully.
    • Full release flow (mvn release:prepare) running cleanly.

📦 Helm chart & Kubernetes configuration

  • Global version source

    • global.imageTag in helm/spring-load-development/values.yaml is used as the single source of version truth.
    • The Maven Antrun task updates global.imageTag to ${project.version} on release.
  • Service images

    • Replaced hard-coded tags for:
      • spring-loaddev-api-gateway
      • spring-loaddev-loads-service
      • spring-loaddev-components-service
      • spring-loaddev-rifles-service
      • spring-loaddev-mcp-server
    • All now derive image.tag from global.imageTag, keeping all microservices aligned with the release version.
  • MCP server ConfigMap

    • mcp-server-config in templates/configmaps.yaml:
      • spring.ai.mcp.server.version now uses {{ .Values.global.imageTag | quote }} instead of a fixed snapshot.
    • Ensures MCP metadata is always in sync with the deployed image version.

🤖 MCP server & test configuration

  • MCP configuration

    • MCP server name, type (ASYNC), SSE endpoints, and capabilities (tool, resource, etc.) remain the same but now track the release version via Helm values.
  • Test configuration

    • spring-loaddev-mcp-server/src/test/resources/application-test.yml:
      • Replaced version: 0.0.8-SNAPSHOT with version: test.
      • Decouples test expectations from the actual release version, making tests more robust across version bumps.

🛠️ Release process and automation

  • Maven release + Antrun integration

    • maven-release-plugin configured to:
      • Tag releases as v@{project.version}.
      • Run antrun:run@update-helm-versions during prepare and completion phases.
    • Antrun task automatically updates:
      • .env (PROJECT_VERSION=${project.version})
      • helm/spring-load-development/Chart.yaml (version and appVersion)
      • helm/spring-load-development/README.adoc (image tags, chart/app versions, YAML examples)
      • helm/spring-load-development/values.yaml (image tags + global.imageTag)
  • Cleaned up earlier partial release/tag states so future release:prepare runs are repeatable and predictable.

v0.0.7

29 Sep 20:23

Choose a tag to compare

🚀 Release Notes for v0.0.7

🌟 New Features

  • ⛵ Kubernetes & Helm Chart Support:
    Complete Helm chart implementation with Kubernetes-native deployment for all microservices. Includes API Gateway, service discovery, RBAC configurations, and integrated observability stack (Loki, Prometheus, OpenTelemetry Collector).

  • ☕ Java 25 & Maven 4 Upgrade:
    Updated to Java 25 and Maven 4.0.0 for improved performance and latest language features. Enhanced build automation with maven-release-plugin for automatic version updates across Chart.yaml and documentation.

  • 🔍 Enhanced Observability:
    Improved telemetry with better traces-to-metrics mapping, optimized batch processing, refined Prometheus configurations, and comprehensive analytics reporting capabilities.

🛠 Improvements

  • 🔒 Security & Configuration:

    • Improved Keycloak hostname management and URL configurations
    • Enhanced JWT authentication handling with better security settings
    • Simplified namespace management across Kubernetes templates
  • 🐳 Docker & Infrastructure:

    • Updated observability component versions (Loki, Prometheus, OpenTelemetry Collector)
    • Enhanced service configurations for better container orchestration
    • Improved environment variable management with .env file updates

🐛 Bug Fixes

  • 📦 Maven Release Process:
    Fixed maven-release-plugin configuration to properly handle non-pom files (.env, Chart.yaml, README.adoc, values.yaml) during release commits and removed redundant helm version updates.

  • 🔧 Configuration Cleanup:
    Updated completion goals, removed unused dependencies, and fixed container naming conflicts in Docker Compose configurations.

📖 Documentation Updates

  • Enhanced README with comprehensive Helm chart documentation including detailed service descriptions and configuration options
  • Updated NOTES.txt with detailed access instructions for API Gateway and Keycloak
  • Improved architecture diagrams and service interaction documentation
  • Added Kubernetes and Helm deployment guides with prerequisites and access instructions

🔗 See the full commit history and details:
View commit history

v0.0.6

21 Jul 15:33

Choose a tag to compare

🚀 Release Notes for v0.0.6
🌟 New Features

🧩 Introduced Components Service
    Added a new microservice for managing reloading components: bullets, cases, powders, and primers.
    Full CRUD REST API for all components, with fine-grained OAuth2/Keycloak-based authorization.
    Includes database schema, repositories, and comprehensive suite of integration and repository tests.
🛡️ Keycloak Enhancements
    Extended Keycloak realm and policy configuration for new "components" resource and scopes (view, edit, delete).
    Improved claim mapping and advanced authorization support.
🧪 Automated Test Data Loader
    Added test/load_test_data.sh script to quickly populate the system with sample rifles, loads, groups, and shots via REST APIs.
    Modernized and consolidated API test resources into /test directory, supporting all microservices and components.

🛠 Improvements

🏗️ Project Structure & Build
    Refactored Maven modules and Docker Compose config to include the new components service.
    Upgraded Spring Boot (to 3.5.3), Keycloak, PostgreSQL, and Jaeger versions for improved security and compatibility.
⚙️ Security & API Gateway
    Enhanced API gateway security config to support new components API documentation and endpoints.
    Broader OpenAPI/Swagger support for all microservices.
📄 Documentation
    Expanded high-level architecture diagrams and updated README to cover the new service and testing workflow.
    Added a comprehensive API testing guide and new example .http files for all endpoints.

🐛 Bug Fixes

🩹 Fixed and unified error handling for validation, authorization, and server errors across all services.
🧹 Removed legacy sample data and outdated API test references.

v0.0.5

03 Jun 01:42

Choose a tag to compare

🚀 Release Notes for v0.0.5

🌟 New Features

  • 🖥️ MCP Server Integration:
    • Introduced MCP (Model Control Plane) server module with JWT-based authentication via Keycloak.
    • Added native image build support and native profile configuration for optimized deployments.
    • Enabled asynchronous server configuration with advanced reactive context handling.
    • Integrated LoadsService, LoadTools, and new DTOs (GroupDto, GroupStatisticsDto, ShotDto), powered by MapStruct and Lombok.
    • Enhanced APIs with extensive Swagger/OpenAPI annotations for improved documentation and security requirements.
  • 📦 Dependency Upgrades:
    Updated spring-boot-admin, spring-cloud, springdoc, and more for greater stability and access to new features.

🛠 Improvements

  • 🧹 Cleaned Up Codebase:
    • Removed unused dependencies, plugins, native profile configs, and environment variables.
    • Improved property management and streamlined coding guidelines.
    • Enhanced health checks and refined build references.
  • 📈 Observability & Error Handling:
    • Improved error management and API responses.
    • Added observation/monitoring with ObservationRegistry and refined context propagation.
  • 🐳 Docker & Infrastructure:
    • Updated Docker Compose: All services now use a restart policy of unless-stopped.
    • Added sample data for easier onboarding and testing.
    • Cleaned up unused files.

🐛 Bug Fixes

  • Fixed native image build issues and improved error handling in reactive/server configurations.
  • Addressed inconsistencies in DTO mapping and service logic.

📖 Documentation Updates

  • Expanded and refined README and architecture diagrams.
  • Added configuration and deployment instructions for the new MCP server.
  • Updated usage guides and provided clearer onboarding steps.

🔗 See the full commit history and details:
View commit history

v0.0.4

03 May 13:54

Choose a tag to compare

🚀 Release Notes for v0.0.4

🌟 New Features

  • Enhanced API Documentation: Integrated Swagger UI and OpenAPI, providing detailed API specifications for all services.
  • Load Development Enhancements: Added CRUD operations for loads, groups, and shots, improving usability and functionality.
  • Expanded Security Features: Improved Keycloak configurations with post-logout redirect URIs and enhanced token handling.

🛠 Improvements

  • Refined Unit Handling: Simplified code by removing redundant unit fields and adding validation for measurement units.
  • Optimized Docker Setup: Updated Docker Compose to support dynamic environment configuration for improved deployment.
  • Performance Enhancements: Improved database schema and service handling for better resource utilization.

🐛 Bug Fixes

  • Fixed validation issues for load and shot data.
  • Addressed inconsistencies in database schema and service configurations.

📖 Documentation Updates

  • Updated README.adoc with:
    • API documentation links.
    • Architectural diagrams and service descriptions.
    • Configuration repository usage instructions.

v0.0.3

25 Apr 16:06

Choose a tag to compare

🚀 Release Notes for v0.0.3

🌟 New Features

  • Distributed Tracing: Integrated OpenTelemetry and Jaeger to enable enhanced distributed tracing capabilities across services.
  • Application Monitoring: Added Spring Boot Admin for centralized application monitoring and management.
  • Security Enhancements: Implemented Role-Based Access Control (RBAC) using Spring Security and Keycloak for improved security.

📦 Docker Updates

  • Introduced a Jaeger service for tracing and a dedicated PostgreSQL database for Keycloak.
  • Updated Docker Compose configurations with health checks and new service images.

📄 Documentation Improvements

  • Expanded README.adoc to include detailed sections on:
    • Prerequisites and local setup
    • Service architecture
    • Security and monitoring
    • Troubleshooting tips

🔧 Keycloak Enhancements

  • Migrated realm configuration to a new location: docker/keycloak/realm/realm.json.
  • Added tracing support to Keycloak configuration for better observability.

v0.0.2

15 Mar 18:16

Choose a tag to compare

[maven-release-plugin] copy for tag v0.0.2

v0.0.1

06 Mar 20:43

Choose a tag to compare

v0.0.1 Pre-release
Pre-release

Initial release.