ManyDesigns Portofino 4 v5.2.0 Release Notes

Release Date: 2020-11-30 // over 3 years ago
  • โž• Added

    • ๐Ÿ‘‰ User interface extensibility improvements:
      • Custom pages in HTML and JavaScript with no Angular knowledge required (example in demo-tt)
      • All pages can load custom JavaScript (example in demo-tt)
      • Page templates can include several sections where child pages can be embedded (like Portofino 4)
      • demo-tt profile page (example of custom component)
      • Progressive Web Application (PWA) using angular-pwa, example in demo-tt
    • ๐Ÿ‘ Full support for POJO-based persistence:
      • Export generated classes to actions and shared code
      • Export generated classes to the file system so that your IDE can pick them up
      • Allow to configure the entity mode of each database mapping from the UI (the default is still map-based)
    • Authentication improvements:
      • Better support for external auth (e.g., in a microservices setting). Built-in support for authentication against KeyCloak.
      • application/json login endpoint (in addition to the existing form-based endpoint).
      • Better handling of token expiration in the client.
    • Per-database Hibernate properties.
    • ๐Ÿ‘Œ Support annotations on databases.
    • ๐Ÿ‘ท Quartz jobs now run with a working Shiro environment.
    • Ability for extensions and user code to "mount" actions to arbitrary mount points in the action tree.

    ๐Ÿ”„ Changed

    • โšก๏ธ Angular updated to version 11
    • โšก๏ธ Groovy updated to version 3
    • โšก๏ธ Various other dependencies updated for security & bug fixes
    • CRUD REST API versioning with X-Portofino-API-Version header
    • 0๏ธโƒฃ CRUD REST API changes (legacy behavior is still the default):
      • Bulk update (PUT) optionally returns list of modified IDs
      • Bulk delete (DELETE) optionally returns list of deleted IDs
    • ๐Ÿ”’ Generated Security.groovy is now based on annotations on the model rather than hard-coded values

    โœ‚ Removed

    • ๐Ÿณ Maven profile "portofino-development" which has been superseded by Docker
    • ๐Ÿ— Maven profile "no-frontend-build" (use -P-build-frontend)
    • PortofinoRoot.mount method and related methods, replaced by ActionLogic.mount. This is a breaking API change for extensions making use of the removed methods, but none are known to us (also because the methods are undocumented and only used internally by portofino-upstairs).

    ๐Ÿ›  Fixed

    • ๐Ÿ†• Newly created CRUD pages don't have create/update buttons (#406)
    • ๐Ÿ”ง Page configuration is broken for pages using the default template implicitly (#423).
    • ๐Ÿ‘‰ User self-registration is broken in several ways (#414). Note that this involves a breaking API change in Security.groovy, specifically, the signature of the method saveSelfRegisteredUser has changed to return both the token and the email of the newly saved user. However, typical Security.groovy files (generated by the wizard) don't override that method, so most users shouldn't have to do anything.