Genropy inizia il 2026 con due release ricche di novità

Siamo lieti di annunciare il rilascio di due nuove versioni di Genropy: la 26.01.09 e la 26.01.15. Queste release introducono importanti novità in termini di sicurezza, localizzazione, deployment e gestione dei dati, oltre a numerosi miglioramenti e correzioni che rendono il framework ancora più robusto e flessibile.
Sicurezza e Permessi: AuthTagStruct
La release 26.01.09 introduce AuthTagStruct, un nuovo sistema dichiarativo per definire strutture di permessi gerarchiche nelle applicazioni. Questo sistema è completamente retro-compatibile e permette di gestire in modo più elegante e manutenibile le autorizzazioni complesse.
Inoltre, è stato aggiunto il metodo variantColumn_masked per visualizzare in modo sicuro dati sensibili come numeri di carte di credito o indirizzi email, mascherandone porzioni strategiche.
Localizzazione Avanzata
Con la release 26.01.15 viene introdotto il supporto per attributi di localizzazione nelle colonne delle tabelle, rendendo ancora più semplice la gestione di applicazioni multilingua. I fix al localization scanner completano il quadro migliorando l’accuratezza della scansione delle stringhe traducibili.
Mobile e Media
La 26.01.09 porta un significativo miglioramento per le applicazioni mobile: ora è possibile selezionare la fotocamera (frontale o posteriore) durante l’acquisizione di immagini su dispositivi mobili, offrendo un’esperienza utente più completa e professionale.
Editor di Testo Evoluto
Il nuovo editor TinyMCE, un potente editor WYSIWYG per scrivere contenuti in HTML, viene messo in opera in beta. Parallelamente, sono stati apportati importanti miglioramenti all’MDEditor: supporto Drag & Drop, pulsanti toolbar personalizzati, plugin per syntax coloring, modalità preview nascosta e supporto bag mode per memorizzare il testo markdown in strutture Bag annidate.
Deployment e Scalabilità
Le immagini Docker e il deployer Kubernetes ora supportano label per deployment multi-FQDN, facilitando architetture complesse. Il project builder/dockerize è stato potenziato e ora è in grado di costruire progetti anche senza dipendenze installate, purché sia disponibile un valido build.json.
Backup e Retention
La 26.01.15 introduce il supporto per backup/restore multidb per architetture basate su storetable, una funzionalità molto attesa per deployment complessi. Le retention policies sono state migliorate per permettere query di cutoff più sofisticate.
Task Scheduler Sperimentale
Novità importante nella 26.01.15: un nuovo task scheduler/worker basato su aiohttp, disponibile in modalità sperimentale (non abilitato di default). Questa implementazione asincrona apre interessanti prospettive per deployment ad alte performance.
CLI e Developer Tools
Il nuovo comando gnr core bagedit permette di manipolare (get/add/set/update/delete) entità all’interno di file bag direttamente da linea di comando, semplificando operazioni di manutenzione e debugging.
Il metodo update() della classe Bag ora include il parametro preservePattern (una regex compilata) che previene l’aggiornamento di valori o attributi che matchano il pattern, preservando il valore originale.
Correzioni Importanti
- Risolto memory leak nel thread-based tracker per page/request/aux instance
- Password recovery fornisce ora maggiori informazioni quando vengono inviate notifiche
- Il widget fullcalendar si ridimensiona correttamente al cambiamento del viewport
- DB Migrate gestisce correttamente i campi varchar con min/max size usati in validazione
- Miglioramenti nella gestione delle dipendenze dei package
Deprecazioni
La 26.01.09 depreca alcuni elementi:
- Il comando CLI
gnr app update - La funzionalità “site in maintenance”
getVolumeService()e la configurazione legacy dei volumi in favore della sezione ‘services’- Il concetto di subdomain da wsgisite e gnrwebpage
- Il componente contentText in docu_components, sostituito da contentEditor
Importante: Python 3.8
Attenzione: La release 26.01.15 sarà l’ultima a supportare Python 3.8. Si raccomanda di pianificare l’aggiornamento a versioni più recenti di Python.
Conclusioni
Queste due release consolidano Genropy come framework maturo e in continua evoluzione, con un’attenzione particolare alla sicurezza, alla localizzazione e al deployment moderno. Vi invitiamo ad aggiornarvi e a testare le nuove funzionalità nei vostri progetti.
Come sempre, il nostro impegno è fornire un framework robusto, performante e al passo con le moderne esigenze di sviluppo.
Buon lavoro con Genropy!