All notable changes to Jazzy Framework will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
🔐 Comprehensive Security & Authentication System
@EnableJazzyAuthannotation for one-line authentication setup- JWT token system with secure generation and validation
SecurityConfigabstract class for declarative URL-based security rules- Built-in authentication endpoints:
/register,/login,/me - Role-based access control with USER and ADMIN roles
SecurityInterceptorfor automatic request validation and protection
-
🎟️ JWT Token Management
- Configurable JWT secrets and expiration times
- Secure token generation with BCrypt password hashing
- Automatic token validation in protected endpoints
- Token structure with user ID, email, roles, and timestamps
-
🛡️ SecurityConfig System
- Wildcard pattern support (
*,**) for endpoint matching - Three security levels: public, secure (JWT required), admin (JWT + ADMIN role)
- Flexible configuration with method-based security rules
- Integration with existing DI container and routing system
- Wildcard pattern support (
-
🚦 Authentication Endpoints
POST /api/auth/register- User registration with automatic password hashingPOST /api/auth/login- Authentication with JWT token responseGET /api/auth/me- Current user information retrieval- Standardized JSON responses with success/error handling
-
👤 User Entity Validation
UserEntityValidatorfor automatic entity field validation- Support for EMAIL and USERNAME login methods
- Required field checking and entity structure validation
- Integration with existing repository pattern
-
🔄 Framework Integration
AuthProcessorfor automatic authentication configuration- Enhanced
RequestHandlerwith SecurityInterceptor support - Enhanced
Serverwith AuthProcessor integration - Enhanced
DIContainerwith component scanning methods
- Updated framework version to 0.5.0
- Enhanced README.md with comprehensive security documentation
- Updated project structure documentation with security components
- Enhanced documentation site with authentication guide
- Added 9 new security-related classes in
jazzyframework.securitypackage - Automatic password hashing using BCrypt with secure salts
- JWT implementation without external dependencies for minimal footprint
- Pattern-based URL matching with efficient wildcard support
- Seamless integration with existing CRUD and DI systems
- BREAKING: Fixed deprecated Hibernate API usage in BaseRepositoryImpl
- Replaced deprecated
session.createQuery()withsession.createMutationQuery()for DELETE operations - This ensures compatibility with future Hibernate versions and removes deprecation warnings
- Replaced deprecated
- Updated Hibernate ORM from 6.4.1.Final to 6.4.10.Final for better performance and security
- Updated H2 database from 2.2.224 to 2.2.232 for latest bug fixes
- Enhanced transaction management in BaseRepositoryImpl with new helper methods:
executeInTransaction()for operations that return valuesexecuteInTransactionVoid()for void operations- Both methods include proper rollback handling for improved reliability
- Improved error handling in repository operations
- Better transaction safety with automatic rollback on exceptions
- Removed FIXME comments related to deprecated API usage
- Comprehensive Spring Data JPA-like query system
- Method name parsing for automatic query generation
- Support for @Query, @Modifying, and @QueryHint annotations
- Enhanced RepositoryFactory with query method support
- Database-level query execution for improved performance
- Resolved "socket hang up" errors in exception handling
- Fixed excessive logging in ORM components
- Improved code quality and reduced duplication in repository implementations
- Migrated from memory-based filtering to database-level queries
- Enhanced query method parser with support for complex operations
- Improved error messages and debugging capabilities
- Comprehensive dependency injection system
- Spring-like annotations (@Component, @Named, @Primary, @PostConstruct, @PreDestroy)
- Zero-configuration DI container
- Automatic component scanning and registration
- Enhanced framework architecture with DI support
- Improved documentation and examples
- Initial release of Jazzy Framework
- Basic web framework functionality
- Fluent API for request/response handling
- Simple routing system
- JSON operations support
- Basic validation system