Releases: tinystruct/tinystruct
v1.7.26
v1.7.25
v1.7.24
v1.7.23
Key Features
- Automated Package Imports
The POJO generation pipeline is now fully autonomous. The generators (MySQL, MSSQL, SQLite, and H2) dynamically analyze table column types and inject the necessary Java imports into the generated code.
Automatic Detections:
java.time.LocalDateTime (for DATETIME, TIMESTAMP, DATETIME2)
java.util.Date (for DATE)
java.sql.Timestamp
java.sql.Time
Simplified CLI: The interactive prompt for manual package imports has been removed, reducing developer friction during the generate command execution.
2. Native LocalDateTime Support
Full support for java.time.LocalDateTime has been integrated into the data hydration layer.
Field Mapping: SQL types TIMESTAMP, DATETIME2, and SMALLDATETIME are now natively mapped to LocalDateTime.
Robust Hydration: The FieldInfo utility now handles conversions from both java.sql.Timestamp objects and ISO-compliant strings, ensuring compatibility across different JDBC drivers and database vendors.
3. Generator Architecture Refactoring
Interface Simplification: The Generator interface has been streamlined by removing the importPackages method, moving the responsibility of dependency management to the generators themselves.
Standardized Hydration: All generators now use a consistent, camelCase naming convention for hydration methods (e.g., localDateTimeValue()), improving codebase predictability.
Modern Syntax: Internal mapping logic now utilizes modern Java switch expressions for cleaner, more readable type-to-import resolution.
4. CLI & Dispatcher Polish
Code Clean-up: Significant refactoring of Dispatcher.java to improve code readability, fix indentation inconsistencies, and optimize help text formatting.
Improved Tooling: Enhanced the maven-wrapper extraction process and standardized solution guidance for common issues like ClassNotFoundException.
v1.7.22
v1.7.21
v1.7.20
v1.7.19: fix: update version to 1.7.19 and upgrade dependencies
- Version: Bump project version from 1.7.18 to 1.7.19 across pom.xml, scripts, and documentation. - Documentation: Update version references in README.md and DEVELOPER_GUIDE.md. - Application: Update VERSION constant in ApplicationManager.java. - Scripts: Update version variables in bin/dispatcher, bin/dispatcher.cmd, and build.sh. - Dependencies: Upgrade lettuce.version to 7.5.0.RELEASE. - Dependencies: Upgrade sqlite.version to 3.51.3.0. - Dependencies: Upgrade mockito.version to 5.23.0.
v1.7.18
Features & Enhancements
- Application: Implemented named parameter matching in ActionRegistry.
- Security: Added clock skew support (using timezone) and enhanced secret configuration in JWTManager, alongside new test coverage.
- HTTP Client: Migrated HTTPHandler to use the native Java HttpClient, and added asynchronous/Server-Sent Events (SSE) improvements.
- HTTP Server: Improved error handling and HTTP status code mapping in HttpServer.
- System/Core: Refined the DistributedLock implementation and added a new LockTimeoutAccuracyTest.
Dependencies & Maintenance
- Upgraded project dependencies.
- Updated copyright year and owner information in the LICENSE file and removed the redundant LICENSE-2.0.txt.
- Added .gitignore rules for drawio backups.
Documentation
- Updated the DEVELOPER_GUIDE.md with new project documentation.
- Updated README.md and added a CodeQL badge.
v1.7.17
feat(core,repository,docs): add developer guide, improve ID generation and SQL handling
Add comprehensive DEVELOPER_GUIDE.md
Bump version to 1.7.17 and update related scripts and docs
Support returning user-generated IDs when "generate"=true across MySQL, SQLite, SQLServer, and Redis
Unify appendAndGetId behavior: fallback to DB-generated ID only if no custom ID is provided
Improve SQL parameter binding and add support for LONGTEXT and BOOLEAN
Fix auto-increment field skipping logic in prepared statements
Tighten Action mode validation to prevent CLI/HTTP misuse. Thanks @yyfyfyang
Improve SQL formatting, Javadoc wrapping, and general code style
Minor refactors and dependency upgrade (Jupiter 6.0.2)