Skyve 9.4.1
This release of Skyve includes improvements to security configuration persistence and email notifications, as well as important bug fixes for the responsive renderer and enhancements to the SAIL testing framework.
Security Configuration Persistence
The ipAddressChecks and ipAddressHistoryCheckCount settings in the Startup configuration, introduced in 9.4.0, are now persisted in the application's JSON configuration file. This ensures these security settings are saved alongside other security configurations such as geoIPBlockNotifications, passwordChangeNotifications, and differentCountryLoginNotifications, following the same design pattern.
The ipAddressChecks setting enables security event logging for IP address changes or logins from different countries, while ipAddressHistoryCheckCount determines how many previous IP addresses to check when determining if a security event should be logged.
SecurityLog Email Notifications
SecurityLog email notifications now use the server's local timezone by default and include a UTC reference for clarity. This provides a more human-readable timestamp format and helps avoid confusion when recipients are in different timezones to the server. locations.
Responsive Renderer
- Data Grid Inline Editing: Fixed an issue with PrimeFaces data grid inline editing functionality (inline editing was broken in 9.4.0).
- Ordered Non-Child Collections: Fixed a bug when adding items to ordered non-child collections in PrimeFaces views.
Testing
- Deque Iterator Usage: Fixed incorrect use of Deque iterators in SAIL execution code, including fixes in
ContextualExecutor,DataEnterViewVisitor,ActionUtil, andEditAction.
Notes for Upgrading
To upgrade your Skyve project to this version, change the Skyve version in your pom.xml to 9.4.1 and perform an assemble.
If you are upgrading from a version older than 9.4.0, please see the previous release notes and also apply those changes.
See the complete upgrade instructions on GitHub.
JSON Changes
Add the new security block above the bootstrap stanza:
// Security Settings
"security": {
// Enable tracking of user IP changes, including cross-country logins
"ipAddressChecks": true,
"ipAddressHistoryCheckCount": 1,
// Email address for security notifications
"securityNotificationsEmail": "security@mycorp.org",
// Enable notifications for certain event types
"geoIPBlockNotifications": true,
"passwordChangeNotifications": true,
"differentCountryLoginNotifications": true,
"ipAddressChangeNotifications": true,
"accessExceptionNotifications": true,
"securityExceptionNotifications": true
},