Overview
This release includes the introduction of several deployment utilities, and several enhancement and fixes throughout the whole framework.
PLEASE NOTE: We've started dropping support for Python version prior to 3.10, this release introduces a preliminary warning. So you're being warned.
Enhancements
Support for 'security.txt' and 'robots.txt' WKUs through instanceconfig
Introduced 'deferAfterCommit' method in GnrSqlDb to executed callables after a commit
Introduced new 'gnr web serveprod' cli command, which start a production grade application server. Currently based on gunicorn.
New FAQ models and backoffice tool from docu package
A new data retention framework has been introduced, allowing tables to specify a retention period, which can be overriden in specific deployments, and provided schedulable tasks and CLI command to execute the retention cutoff. Introduced an initial retention policy in sys.error and sys.task_execution tables. Please note that the policy is not effecting if a task or a cron job for the cli command is created, it doesn't work out-of-the-box.
Introduced support for database adapters subclassing, to extend the current framework adapters with custom ones.
Introduced 'dbbranch' db connection attributes, for database backends that supports branching.
boto3 client parameters now supports regions, retro-compatible.
Added support for multiple sub-table in the ORM.
Removed dependency from backports.zoneinfo, which is handled directly by stdlib's datetime.timezone
Improvements to 2FA and validation handling at login.
Bag can now export to JSON format.
Formhandler support a dismissrow event publising for grid delete operations.
Code cleanup for past/future references
App stores utilities to correctly handle integrations with native mobile apps (Android/iOS)
Develop & Deployment changes
Added support for debugpy, installed via 'developer' profile.
Introduce a self-test procedure to verify if the deployment is finalized for mobile app usage.
Introduced new 'sys maintanance' instance cli command to enable/disable maintenance mode
Reduced Docker image footprint by disabling local cache
Introduced switch to 'gnr app dockerize' to create images based on development version of the framework, and new switch to specify a different image name
New deployment tool to Kubernetes cluster has been introduced (EXPERIMENTAL), allowing also splitted container deployments.
New commodity CLI command 'gnr web stack' is provided to run the entire stack with a single command.
Package dependency installer ('gnr app checkdep') has a new '-n' option to disable package caching.
Package dependencies solver/installer can now automatically upgrade/downgrade version in order to fix the environment, by using 'gnr app checkdep -f <instanceName>'.
Test suite for package has been added, automating invocation via 'gnr dev tests' CLI command.
A project builder framework has been introduce to manage multi-repositoy projects. - New module:
gnr.dev.builderManages
build.jsonconfiguration.Handles Git operations (clone, checkout, update) for dependencies.
Provides methods to rebuild or synchronize project state.
New CLI:
gnr dev builder- Commands:check,generate,regenerate,show,repositories,update,checkout.Integration: -
gnrdockerizecommand now uses the new builder for build context creation. - Simplified Docker image build pipeline with automatic repository checkout.Provides groundwork for future automated build and CI/CD pipelines.
Fixes & Minor Adjustments
Updated werkzeug max_form_memory_size limit to 100M, to deal with new hardcoded limit in recent werkzeug releases.
Fixed several regressions in menu resolver behavior, simplified methods and fixes issue with single item menus.
Improved error handling in menu source loading.
Refined package branch expansion and flattening logic.
Cleaned up redundant imports and improved log consistency.
Added stricter executable dependency checks for builder and dockerization tools.
Handling duplicaes tables views related to user object.s
Aws translation service regressions fixes.
Bag file system loaders avois journal/backups files when globbing.
Picker building issues fixes, which was ignoring disable flag
Logging cleanup
Migration Notes
Review and adjust data retention policies under
/sys/dataretention.Validate custom menu or branch logic against the simplified menu resolver.
