Spring Boot Actuator Extensions

1. Introduction

A collection of extensions and utilities for Spring Boot Actuator, providing enhanced monitoring and health check capabilities for your Spring Boot applications. These extensions help improve application observability and maintenance through comprehensive health checks and secure exposure of monitoring data.

2. Modules

2.1. spring-boot-health-checks

Extension module that provides additional health check indicators for comprehensive application monitoring (HTTP, Actuator, and Port status).

2.2. spring-boot-manual-health-starter

Provides a manual health endpoint to control application health status for graceful shutdown and service state control.

2.3. spring-boot-actuator-sanitizer

Utility library designed to sanitize sensitive information in actuator endpoint responses. This module helps ensure secure exposure of monitoring data by filtering out confidential details.

2.4. spring-boot-test-app

Sample Spring Boot application that demonstrates the practical usage of the actuator extensions. Use this module as a reference for implementing the extensions in your own applications.

3. Requirements

  • Java 17 or higher

  • Spring Boot 4.1.0 (the 3.5 branch tracks Spring Boot 3.5.x, the 4.0 branch tracks 4.0.x)

  • Maven build tool

4. Changelog

  • 4.1.0.1

    • Upgraded to Spring Boot 4.1.0 on the main line (no source changes required from 4.0). The 4.0.x line continues on the 4.0 branch.

  • 4.0.7.1

    • Upgraded to Spring Boot 4.0.7 on the main line. Migrated to Jackson 3 (tools.jackson), the relocated health API (org.springframework.boot.health.contributor, now in the standalone spring-boot-health module), and the moved MockMvc test slice (spring-boot-webmvc-test).

    • Adopted a Boot-tracking version scheme: the project version is now <spring-boot-version>.x (e.g. 4.0.7.1). The Spring Boot 3.5.x line continues on the 3.5 branch.

  • 3.5.15.1

    • Upgraded Spring Boot to 3.5.15 (3.5 maintenance line).

    • Bumped JaCoCo to 0.8.15 and central-publishing-maven-plugin to 0.11.0; removed an unused property.

    • Added a branch input to the release workflow so releases can be cut from any branch.

    • Hardened a flaky external HTTP health-check test for hosts where an unroutable IP fails fast instead of timing out.

  • 1.0.5 Upgraded Spring Boot to 3.5.14 and updated dependencies.

  • 1.0.4

    • Upgraded Spring Boot to 3.5.10.

    • Refactored ManualHealthEndpoint: Unified status management into a single @WriteOperation, added @ReadOperation.

    • Fixed package naming typo from healchecks to healthchecks.

    • Improved ExternalHttpHealthIndicator and ExternalActuatorHealthIndicator with better timeout handling and edge case tests.

    • Fixed auto-configuration for spring-boot-manual-health-starter.

    • Improved project documentation and README.

  • 1.0.3 Upgraded spring boot to 3.5.8, and other dependencies

  • 1.0.2 Upgrade to Spring Boot 3.5.7. Added code coverage reporting and introduced two new configuration options for customizing sanitization by extending default key and pattern lists.