Releases: dynamiatools/framework
Releases · dynamiatools/framework
v5.4.12
What's Changed
- ZK Long Operations reimplemented using EventQueue and events by @marioserrano09 in #44
- New Randoms utility class to generate randoms numbers, strings, dates and names
- Null checking improvements
- Documentation improvements
- Upgrade to Spring Boot 3.5.9
- Replace ObjectMapper references to JsonMapper or XmlMapper interfaces
- Fix: JsonView form ViewDescriptor now support jackson JavaTime modules for LocalDate and LocalTime classes
Full Changelog: 5.4.11...5.4.12
v5.4.11
What's Changed
- Disable auto include websocket js in lang-addon.xml by @marioserrano09 in #42
Full Changelog: 5.4.10...5.4.11
v5.4.10
What's Changed
- Improve WebSocket handler utility class by @marioserrano09 in #41
- Support to send websocket heartbeats from server
- New broadcastHeartbeats()
Full Changelog: 5.4.9...5.4.10
v5.4.9
What's Changed
- Disable ZK websocket config auto configuration by @marioserrano09 in #40
- Websocket support is now configured extending ZKWebSocketConfigurer class to allow custom handlers, and handshakers.
Full Changelog: 5.4.8...5.4.9
v5.4.8
What's Changed
- Improve WebSocketPushSender with checkDesktop() to validate ws session and auto reconnect by @marioserrano09 in #39
Full Changelog: 5.4.7...5.4.8
v5.4.7
What's Changed
🧵 SchedulerUtil powered by VirtualThreads
- Now uses Java Virtual Threads for all async processing.
- No longer depends on Spring for async execution (except Cron-based jobs).
🔄 Automatic Context Propagation
- Async operations automatically pass variables and objects using
ThreadLocalObjectContainer.
🌱 Spring Boot Upgrade
- Updated core dependencies to Spring Boot 3.5.8 for enhanced performance, security and support.
🌐 Built-in WebSocket Integration for ZK
- A new WebSocket connection implementation is now used automatically in apps running ZK.
- Using
WebSocketPushSender, you can request the client to execute a ZK Global command remotely, with support for sending parameters. - Improved utilities for working with ZK EventQueue.
📣 Advanced Messaging API
MessageServicenow supports subscriptions to channels and topics for real-time event processing.SimpleMessageServicealso supports programmatic subscriptions, eliminating the need for annotated listener classes (@MessageListener). Listeners can be registered flexibly in code.
📨 Message Event Export
- Introduced
MessageEventTransportclass for easy export ofMessageEventdata—
making it simple to serialize, send (e.g. JSON, distributed systems), and rehydrate events externally.
🌍 Modern HTTP Client
HttpRestClientnow uses the new SpringRestClientimplementation internally, replacing the olderRestTemplatefor RESTful calls.
Full Changelog: 5.4.6...5.4.7
v5.4.6
What's Changed
🆕 Added
- 🧩 ETagVersionedResource — new class to handle versioned/static resources (originally added as FileNameVersionedResource).
Commits: 965f93c, 84078cf - ⏱️ Support for java.sql.Time in DateTimeUtils. (687c82c)
- 🧠 Utility class for lambda expressions and functional interfaces. (45c5840)
- 🧰 Added dependency for tools.dynamia.actions. (55c53ce)
- 🖼️ View resolvers for HTML and ZUL templates under /WEB-INF/views and related locations. (ad0c9e3)
- 🔎 Methods to load actions by ID and by reference. (4f47112)
- ❗ JSON error handling in GlobalExceptionController (improves API error responses). (a03a2e1)
- 📝 FormViewAction and action rendering support in FormViewRenderer. (1771e10)
- ✨ CallZKGlobalCommandViewAction — execute global ZK commands from view actions. (56bf28c)
- 🌐 SendHttpRequestViewAction — perform HTTP requests within view actions. (1c1afee)
- 📦 ClassPathView and ClassPathViewResolver — render classpath resources. (e309601)
- 🪄 VelocityClassPathView — render classpath resources using Velocity. (be32e0a)
♻️ Changed / Renamed
- 🔁 Rename ActionRef → ActionReference and update all related attributes/usages.
Commits: c0d983a, 42587e3, b47948d, fd7a926 - 🏷️ Rename FileNameVersionedResource → ETagVersionedResource. (84078cf)
- 🔼 Bumped project version to 5.4.6 across all modules (pom.xml). (8cd51ad)
🛠️ Refactored / Internal Improvements
- 🧩 Refactor ApplicationTemplateResourceHandler to use constants for resource handling. (c3dca80)
- 🏗️ Refactor MVC configuration and view resolver setup; improve dependency configuration. (2332ddf)
- 🎭 Refactor action handling to use ViewAction and attribute-based handling. (c87f2f8)
- 📚 YamlViewDescriptorReader refactored to use ActionReference and improved reading logic. (fd7a926)
- 🔁 Replace remaining ActionRef usages with ActionReference across descriptor classes. (b47948d)
- 🧭 Refactor view resolver configuration to use ClassPathViewResolver. (refactor view resolver configuration to use ClassPathViewResolver)
✨ Enhancements
- 🔤 Add methods for string attribute retrieval and better action configuration support. (b460984)
- 🔐 Update allowAccess logic and add AlwaysAllowedAction interface for always-allowed actions. (1c99793)
- 📦 Update dependencies and plugin versions in pom.xml. (f8d5027)
Full Changelog: 5.4.5...5.4.6
v5.4.5
What's Changed
- handle validation errors in CrudController, enhance EntityFiltersPanel with date and time customizations, and adjust ViewDataAction position (4c299a3c)
- Merge pull request #36 from dynamiatools/5.4.x: handle validation errors in CrudController, enhance EntityFiltersPanel... (bb5eefc2)
- Improve documentations and small bug fixes (abd9020c1)
- Merge remote-tracking branch 'origin/main' into 5.4.x (91db18de)
- add unit test for Module builder with PageGroup and multiple Pages (dfa04149)
- add copilot instructions for Dynamia Tools framework, detailing project structure, coding guidelines, documentation standards, and getting started steps (017db5a7)
- enhance VirtualFile and ValueWrapper classes with additional methods and improved documentation (d31d0fec)
- refactor view-related interfaces to improve documentation and clarify method purposes (e799bc9e)
- enhance documentation for file-related classes; add usage examples and method descriptions (06c7d5d3)
- refactor navigation interfaces to enhance documentation and clarify usage; improve method descriptions and add usage examples (257475c3)
- enhance documentation for navigation components; add detailed Javadoc comments to interfaces and classes (2120f00d)
- add README.md for DynamiaTools Starter with overview, features, and usage instructions (501518e5)
- add ListResponse class for standardized list responses with success, error, and not found handling (114c9613)
- refactor documentation in various utility classes to enhance clarity and consistency (84281900)
- refactor utility classes to enhance documentation and improve method descriptions (6622e4d8)
- enhance ApplicationMetadataController and CommonController with detailed Javadoc comments; improve method descriptions (3da6449c)
- refactor metadata classes to enhance documentation and structure; improve clarity of properties and methods (4f2e326f)
- add release and deploy badge to README (85feefbd)
- enhance action framework with detailed Javadoc comments for clarity and usability (acf7c3f2)
- bump version to 5.4.5 across all modules in pom.xml (281b70de)
- refactor color definitions in CSS to use hex values for improved readability and consistency (4a1b16b0)
- update dark hover background color in variables.css for improved UI consistency (bd01d351)
Full Changelog: 5.4.4...5.4.5
v5.4.4
What's Changed
- CrudService, QueryBuilder, Dates and Formatters improvements, by @marioserrano09 in #33
- Expanded and improved the Formatters class to support formatting of LocalDate, LocalTime, LocalDateTime, and * TemporalAccessor with custom patterns, locales, and time zones, as well as adding null checks to return empty strings for null inputs.
- Updated JavaDoc comments and method signatures in Formatters for clarity and completeness.
- Testing improvements: Added a new test class FormattersTest with comprehensive unit tests covering all formatting methods and edge cases (including null handling).
Full Changelog: 5.4.3...5.4.4
v5.4.3
What's Changed
Improvements
- Added
showLabeloption toNewActionfor improved UI visibility. - Added
showCustomQuestionmethod toMessageDisplayerand implemented it inMessageDialog. - Added
FieldRestrictioninterface andFieldRestrictionsutility class for field access control. - Added support for nested query parameters in
QueryParametersclass. - Added having clause support to
QueryBuilderfor enhanced query capabilities. - Added
executeProjectionmethod withQueryBuildersupport and new test for grouping entities. - Added type and size fields to
DummyEntitywith corresponding getters and setters. - Added test for LocalDate field customization in
DefaultFieldCustomizer. - Added method to remove fields matching a given filter from
ViewDescriptor. - Added static methods to create
ViewDescriptorBuilderfrom existingViewDescriptor. - Added getters and setters for box and button Sclass in
DecimalboxCalculator.
Changed
- Refactored color definitions in CSS to use hex values for improved readability and consistency.
- Updated dark hover background color in
variables.cssfor improved UI consistency. - Refactored action types in
CancelAction,SaveAndEditAction, andSaveAndNewActionfor consistency. - Refactored color variables and updated styles for consistency across CSS files.
- Enhanced
CrudControllerdelete confirmation dialog with custom title and labels. - Refactored
CrudControllerto useClassMessagesfor user feedback and improved message localization. - Updated
READMEto reflect upgrade to Java 21 in v5.x version. - Bumped versions to 5.4.3 for all DynamiaTools modules.
- Refactored view rendering logic to utilize
ViewRendererUtilfor filtering renderable fields. - Refactored
DefaultFieldCustomizerto simplify component class check. - Refactored
EntityFiltersPanelto enhance field filtering logic and improve component instantiation. - Updated
findViewDescriptorandgetViewDescriptormethods to clarify return behavior in Javadoc. - Refactored
TableViewRowRendererto improve field component instantiation logic.
Fixed
- Added null checks for
DateandTemporalAccessorparameters inDateTimeUtils.
Other
- Enhanced
FastActionclass with additional constructors and fluent setters. - Added test for having clause in
QueryBuilder.
Full Changelog: 5.4.2...5.4.3