-
-
Notifications
You must be signed in to change notification settings - Fork 0
Update version to 1.5.0 #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Changes from all commits
cab1ea2
8b5078b
5136100
4f97615
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -24,7 +24,7 @@ | |||||||||||||
| <img src="https://img.shields.io/badge/Spring%20Boot-4.0.3-brightgreen.svg" alt="Spring Boot"> | ||||||||||||||
| </a> | ||||||||||||||
| <a href="https://github.com/OG4Dev/og4dev-spring-response"> | ||||||||||||||
| <img src="https://img.shields.io/badge/Version-1.4.0-brightgreen.svg" alt="Version"> | ||||||||||||||
| <img src="https://img.shields.io/badge/Version-1.5.0-brightgreen.svg" alt="Version"> | ||||||||||||||
| </a> | ||||||||||||||
| </p> | ||||||||||||||
|
|
||||||||||||||
|
|
@@ -125,6 +125,7 @@ Unlike other response wrapper libraries, this one offers: | |||||||||||||
| * ✅ **Native Spring Boot 3.x/4.x Auto-Configuration** - No manual setup required | ||||||||||||||
| * ✅ **Zero-Boilerplate @AutoResponse** - Return raw objects, let the library wrap them automatically while preserving your HTTP Status codes. **Supports both Class-level and Method-level granularity.** | ||||||||||||||
| * ✅ **Intelligent String Handling** - Safely wraps raw `String` returns into JSON without throwing `ClassCastException`. | ||||||||||||||
| * ✅ **Dynamic Exception Registry** - Seamlessly map 3rd-party exceptions (SQL, Security) to standard HTTP responses with a simple builder pattern. | ||||||||||||||
| * ✅ **RFC 9457 ProblemDetail Support** - Industry-standard error responses (latest RFC) | ||||||||||||||
| * ✅ **Opt-in Security Features** - Fine-grained control via field and **class-level** annotations (`@XssCheck`, `@AutoTrim`) | ||||||||||||||
| * ✅ **Zero External Dependencies** - Pure Java implementation, won't conflict with your application | ||||||||||||||
|
|
@@ -134,29 +135,26 @@ Unlike other response wrapper libraries, this one offers: | |||||||||||||
|
|
||||||||||||||
| ## 🚀 Installation | ||||||||||||||
|
|
||||||||||||||
| ### Maven (Latest - v1.4.0) | ||||||||||||||
| ### Maven (Latest - v1.5.0) | ||||||||||||||
|
|
||||||||||||||
| ```xml | ||||||||||||||
| <dependency> | ||||||||||||||
| <groupId>io.github.og4dev</groupId> | ||||||||||||||
| <artifactId>og4dev-spring-response</artifactId> | ||||||||||||||
| <version>1.4.0</version> | ||||||||||||||
| <version>1.5.0</version> | ||||||||||||||
| </dependency> | ||||||||||||||
|
|
||||||||||||||
| ``` | ||||||||||||||
|
|
||||||||||||||
| ### Gradle (Latest - v1.4.0) | ||||||||||||||
| ### Gradle (Latest - v1.5.0) | ||||||||||||||
|
|
||||||||||||||
| ```gradle | ||||||||||||||
| implementation 'io.github.og4dev:og4dev-spring-response:1.4.0' | ||||||||||||||
|
|
||||||||||||||
| implementation 'io.github.og4dev:og4dev-spring-response:1.5.0' | ||||||||||||||
| ``` | ||||||||||||||
|
|
||||||||||||||
| ### Gradle Kotlin DSL (Latest - v1.4.0) | ||||||||||||||
| ### Gradle Kotlin DSL (Latest - v1.5.0) | ||||||||||||||
|
|
||||||||||||||
| ```kotlin | ||||||||||||||
| implementation("io.github.og4dev:og4dev-spring-response:1.4.0") | ||||||||||||||
|
|
||||||||||||||
| implementation("io.github.og4dev:og4dev-spring-response:1.5.0") | ||||||||||||||
| ``` | ||||||||||||||
|
|
||||||||||||||
| --- | ||||||||||||||
|
|
@@ -165,7 +163,7 @@ implementation("io.github.og4dev:og4dev-spring-response:1.4.0") | |||||||||||||
|
|
||||||||||||||
| The library is organized into six main packages: | ||||||||||||||
|
|
||||||||||||||
| ``` | ||||||||||||||
| ```text | ||||||||||||||
| io.github.og4dev | ||||||||||||||
| ├── advice/ | ||||||||||||||
| │ └── GlobalResponseWrapper.java # Automatic response wrapper interceptor | ||||||||||||||
|
|
@@ -179,10 +177,10 @@ io.github.og4dev | |||||||||||||
| │ └── ApiResponse.java # Generic response wrapper | ||||||||||||||
| ├── exception/ | ||||||||||||||
| │ ├── ApiException.java # Abstract base for custom exceptions | ||||||||||||||
| │ ├── ApiExceptionRegistry.java # Dynamic mapping for 3rd-party exceptions | ||||||||||||||
| │ └── GlobalExceptionHandler.java # RFC 9457 exception handler | ||||||||||||||
| └── filter/ | ||||||||||||||
| └── TraceIdFilter.java # Request trace ID generation | ||||||||||||||
|
|
||||||||||||||
| ``` | ||||||||||||||
|
|
||||||||||||||
| ## 🎯 Quick Start | ||||||||||||||
|
|
@@ -201,10 +199,9 @@ public class UserController { | |||||||||||||
| return ApiResponse.success("User retrieved successfully", user); | ||||||||||||||
| } | ||||||||||||||
| } | ||||||||||||||
|
|
||||||||||||||
| ``` | ||||||||||||||
|
|
||||||||||||||
| ### Method 2: Automatic Wrapping (New in v1.4.0) 🎁 | ||||||||||||||
| ### Method 2: Automatic Wrapping (New in v1.5.0) 🎁 | ||||||||||||||
|
||||||||||||||
| ### Method 2: Automatic Wrapping (New in v1.5.0) 🎁 | |
| ### Method 2: Automatic Wrapping (New in v1.4.0) 🎁 |
Copilot
AI
Apr 18, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sentence says @AutoResponse was introduced in v1.5.0, but the annotation and wrapper both declare @since 1.4.0 in the source. Please reconcile the version in the README with the @since tags / actual release history.
| Introduced in **v1.5.0**, you can eliminate boilerplate code by letting the library wrap your controller responses automatically. | |
| Introduced in **v1.4.0**, you can eliminate boilerplate code by letting the library wrap your controller responses automatically. |
Copilot
AI
Apr 18, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section calls class-level @AutoTrim/@XssCheck support “New in v1.5.0”, but both annotations are marked @since 1.3.0 in code. If class-level support was added later than the annotations themselves, consider rewording to clarify what is new in 1.5.0 (or update the @since tags/docs accordingly).
| ### 4. Class-Level Protection (New in v1.5.0) 🛡️ | |
| Apply annotations to the class level to automatically protect **ALL** string fields within that class! | |
| ### 4. Class-Level Protection for `@AutoTrim`/`@XssCheck` (Added in v1.5.0) 🛡️ | |
| Starting in v1.5.0, these annotations can also be applied at the class level to automatically protect **ALL** string fields within that class. |
Copilot
AI
Apr 18, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the 1.5.0 release notes, @AutoResponse and “Class-Level Security Annotations” are listed as new, but @AutoResponse is marked @since 1.4.0 and @AutoTrim/@XssCheck are marked @since 1.3.0 in code. Please adjust the release notes (or update the @since tags) so the version history matches the source of truth.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Spring Boot version badge still shows 4.0.3, but
pom.xmlwas updated to Spring Boot 4.0.5 (pom.xml:39). Consider updating the badge to avoid confusing users about the supported/tested Spring Boot version.