Release notes

Release 25.10.27

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.builder

    • Manages build.json configuration.

    • 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: - gnrdockerize command 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.