Skip to content

Commit f4c771e

Browse files
authored
Merge branch 'main' into issue-137-Add-Keycloak-Authentication-Support
2 parents 23ce2d6 + 136457d commit f4c771e

27 files changed

Lines changed: 1536 additions & 219 deletions

CHANGELOG.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,50 @@
1+
## [3.1.1] - 2025-02-24
2+
### Features
3+
- **Version Update to Develop Branch**: The project version has been incremented to `3.1.2-SNAPSHOT`. This is a preparatory step for future developments, ensuring that ongoing changes do not interfere with the stable release version. This change was made in the `gradle.properties` file. ([commit d24ae77c](#))
4+
5+
### Fixes
6+
- **Dependency Updates**: The dependencies have been updated to ensure compatibility and incorporate the latest security and performance enhancements:
7+
- Spring Boot has been upgraded from version `3.4.1` to `3.4.3`.
8+
- The plugin `com.github.ben-manes.versions` has been updated from `0.51.0` to `0.52.0`.
9+
These updates were applied within the `build.gradle` file, reflecting changes in both the plugins and extension configurations. ([commit a498695e](#), [commit fb7aeb6](#))
10+
11+
### Other Changes
12+
- **Merged Dependency Update**: As part of maintaining the project's core dependencies, the PR that updated Spring Boot and related plugins was successfully merged, finalizing these changes into the mainline development branch. This ensures all team members and CI/CD pipelines use the latest verified configurations. ([commit a498695e](#))
13+
14+
There were no breaking changes, refactorings, documentation updates, or test-related changes in this update cycle. The focus was on maintaining a secure, compatible, and up-to-date codebase.
15+
16+
## [3.1.0] - 2025-02-24
17+
# Changelog
18+
19+
## Features
20+
- **User Profile Management**: Added new classes for user profile management, including `BaseUserProfile`, `UserProfileService`, `BaseAuthenticationListener`, and `BaseSessionProfile`. This allows for enhanced management of user-specific data within the session context of a Spring Boot application. [commit 363013cd]
21+
- **AuthorityService Integration in Tests**: Integrated a mock of `AuthorityService` in `UserServiceTest` to facilitate improved unit testing of service interactions. [commit 8f4ca291]
22+
- **Role and Authority Enhancement**: Introduced `AuthorityService` and `LoginHelperService` for better management of user roles and authorities, especially for OAuth2-based users. This helps streamline authentication and authority management across the system. [commit 1e08c5c1]
23+
24+
## Fixes
25+
- **Changelog Generation Enhancements**: Enhanced the changelog generation script to include commit diffs and automatic categorization of changes, which should improve the clarity and utility of generated changelogs. [commit 86999343]
26+
- **OAuth2 User Handling**: Addressed multiple issues related to role and authority handling for OAuth2 users, ensuring proper authority assignment and role retrieval during user authentication and login processes. [commit 1e08c5c1]
27+
- **Build and Configuration Updates**: Updated Python interpreter path in VSCode settings and added method security configuration to improve project setup and security management. [commit e50a5f22]
28+
29+
## Breaking Changes
30+
- There are no outright breaking changes in this release, but the introduction of new role and authority management features requires validation against existing security configurations to ensure compatibility.
31+
32+
## Refactoring
33+
- **User Configuration Improvements**: Refactored user configuration for tighter integration with Spring Boot, including the addition of an auto-configuration registrar to streamline component discovery and setup. [commit 1fce50d6]
34+
35+
## Documentation
36+
- **Framework Documentation Update**: Updated README and created a new PROFILE.md document detailing the user profile extension framework, offering guidance on implementation and integration within applications. [commit 6e482fa4]
37+
38+
## Testing
39+
- No explicit testing updates beyond integration of service mocks.
40+
41+
## Other Changes
42+
- **Dependency Updates**: Several dependency updates managed by dependabot, including updates to the MariaDB Java client, Jakarta validation API, and Thymeleaf layout dialect, ensuring the use of latest stable libraries. [commits 6364b568, 2ef01f1e, 606e02f6]
43+
- **Script Migration**: Migrated the user schema SQL script to a dedicated MariaDB script directory for better organization and separation from other resources. [commit 00cd0b74]
44+
- **Gradle Release Versioning**: Updated the project version to `3.0.2-SNAPSHOT` and subsequently to `3.1.0-SNAPSHOT` as part of the release process, ensuring versioning reflects ongoing developments. [commits eb07d886, 363013cd]
45+
46+
This changelog is intended to provide a comprehensive overview of recent changes with an emphasis on adding context and detail useful to developers reviewing updates and integrating them into ongoing projects.
47+
148
## [3.0.1] - 2025-02-01
249
### Features
350
- The controller path mappings are now configurable.

CLAUDE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Spring User Framework - Developer Guide
2+
3+
## Commands
4+
- **Build**: `./gradlew build`
5+
- **Run Tests**: `./gradlew test`
6+
- **Run Single Test**: `./gradlew test --tests "com.digitalsanctuary.spring.user.service.UserServiceTest"`
7+
- **Test with JDK17**: `./gradlew testJdk17`
8+
- **Test with JDK21**: `./gradlew testJdk21`
9+
- **Test All JDKs**: `./gradlew testAll`
10+
- **Lint/Check**: `./gradlew check`
11+
- **Publish Locally**: `./gradlew publishLocal`
12+
13+
## Code Style Guidelines
14+
- **Imports**: Organize imports alphabetically, no wildcards
15+
- **Formatting**: Use proper indentation (4 spaces)
16+
- **Documentation**: Use JavaDoc for all public classes and methods
17+
- **Naming**: CamelCase for classes, lowerCamelCase for methods/variables
18+
- **Logging**: Use SLF4J (Lombok @Slf4j) with appropriate log levels
19+
- **Error Handling**: Use specific exceptions, provide meaningful messages
20+
- **Nullability**: Check for null before accessing potentially null references
21+
- **Services**: Use @RequiredArgsConstructor with final fields for DI

0 commit comments

Comments
 (0)