All Versions
18
Latest Version
Avg Release Cycle
88 days
Latest Release
155 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v5.3.3 Changes
October 22, 2022➕ Added
- 🆕 New deployment option: Portofino modules as Spring Boot components, without using Portofino's dispatcher and without setting up Portofino's context hierarchy.
🔄 Changed
- ⚡️ Updated Angular to version 13
- Replaced moment.js with Luxon
🛠 Fixed
-
v5.3.2 Changes
May 12, 2022➕ Added
- 🔌 Pluggable exporters for CRUD.
- Configuration abstraction, integrated with Spring's Environment (which includes
application.properties
in Spring Boot).
🔄 Changed
- Refactored the CRUD's JSON output logic into a separate exporter class. This is a breaking API change
for CRUD extensions overriding
jsonXYZData
methods. - 0️⃣ In Spring Boot applications, when using Jersey (the default), allow Portofino actions to coexist with Boot services such as actuators.
🛠 Fixed
- Multiple issues with the Spring Boot-based archetypes, including but not limited to:
- Application generated from Java service archetype searches for action classes in
src/main/resources/portofino
- Unsupported CORS with service archetypes. By default, archetypes will use an embedded Tomcat instead of Undertow for the time being (startup is slower)
- Misleading Java service archetype
SpringConfiguration.java
- Application generated from Java service archetype searches for action classes in
-
v5.3.1 Changes
March 10, 2022➕ Added
- 👌 Support building on Java 17
- Generic CRUD page upstairs
- 👍 Allow resource-actions to return synthetic resource-actions without any file object
- 🔧 Configurable API path with Spring Boot
- Include sample GitHub action in archetypes
- AWS S3 blob manager
- 🔧 Ability to disable a database connection with an annotation (adapted from Portofino 4 which uses a configuration property instead)
🔄 Changed
- ⚡️ Updated Angular libraries and material icons package
- ⚡️ Updated several Java libraries to fix vulnerabilities. Note that all the Portofino versions in the last decade (4.x and 5.x) do NOT suffer from log4shell because they don't use Log4j (unless you explicitly replace Logback with Log4j in your project, of course).
🛠 Fixed
- 🔒 Refreshing the UI's security token when the app is starting
- Validation issues during insertion float/double numbers in Postgres #471
- Several issues with the Maven archetypes
-
v5.3.0 Changes
September 13, 2021➕ Added
- 🚀 Microservice deployment options using Spring Boot.
- 👷 Easier Quartz job registration using Spring beans.
- Email microservice.
- ⏱ Quartz scheduler microservice.
- 🔒 Possibility to exclude Shiro-based security from the application (and implement security using other libraries).
- 👌 Support for multi-tenancy in Hibernate.
🔄 Changed
- 🛠 Authentication/authorization endpoint is now fixed (
/:auth
) and forwards to the login action. This makes life a little easier for clients. - Simplify initialization by removing PortofinoListener.
- URL to trigger mail sender changed from
/actions/mail-sender-run
to/portofino-send-mail
and HTTP method changed from GET to POST. - Mail sender action can be disabled with
mail.sender.action.enabled=false
. - Ensured that Java-only microservices without Groovy are possible.
- ⚡️ Optimized selection providers based on foreign keys on save.
- ⬇️ Reduce assumptions on persistent entities by CRUD actions allowing more possibilities for custom entities.
- ⚡️ Liquibase updated to version 4, minor library updates to fix vulnerabilities.
-
v5.2.1 Changes
April 10, 2020➕ Added
- Possibility to reorder table columns in the tables section upstairs.
🔄 Changed
- 0️⃣ Render internal links in text pages with no target attribute (that the Quill editor adds by default).
- The welcome page is now a standard text page.
- 🔒 Security.groovy can now have user beans injected with
@Autowired
.
🛠 Fixed
-
v5.2.0 Changes
November 30, 2020➕ 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 byActionLogic.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 methodsaveSelfRegisteredUser
has changed to return both the token and the email of the newly saved user. However, typicalSecurity.groovy
files (generated by the wizard) don't override that method, so most users shouldn't have to do anything.
- 👉 User interface extensibility improvements:
-
v5.1.4 Changes
July 04, 2020➕ Added
- 🚀 "Fat jar" deployment option (with embedded Tomcat)
- ⏪ Restored the profile section of demo-tt with an example custom Angular component
- Included the MariaDB JDBC driver in the binary distribution
🔄 Changed
- 👌 Improved wizard and UI
- ⚡️ Postgres driver version updated
- Include explicit 'tt' schema in SQL queries in demo-tt (plays nicer with Postgres)
- Mail module as a separate artifact
🛠 Fixed
-
v5.1.3 Changes
May 17, 2020➕ Added
- Notifications bell showing up to 20 messages
- More error reporting in the wizard
- 🌐 Spanish translation of the UI, thanks to Gabriel Mautino
- Possibility for buttons to prevent double submit by returning an Observable
- 👍 RestEasy support (alternative to Jersey JAX-RS)
- ✅ Tested on WildFly 19.0.0.Final
- 🐳 Docker image for the upstairs application
🔄 Changed
- 💅 Polished the Maven archetype
🛠 Fixed
-
v5.1.2 Changes
March 02, 2020➕ Added
- API for pages to compute their navigation menu
- 👌 Support for buttons with only an icon and no text
- Button to refresh the CRUD search
🔄 Changed
- Wizard is a bit more user-friendly
- 🖨 Pretty-print saved
config.json
🛠 Fixed
SendMailAction
not working (#323)- Arrays in XML annotations (#325)
- Local API with IPv6 addresses (#327)
- Can't save selection providers (#328)
- 🔒 Generated
Security.groovy
errors when loading groups (#329) - OPTIONS with expired JWT fails triggering bad CORS (#333)
- ⚠ Server-side localized info/warning/error messages (#334)
-
v5.1.1 Changes
January 10, 2020➕ Added
- Text pages (client only, no I18n).
- 👌 Support deployment behind a proxy.
- 📚 Documentation of Docker development, debugging and deployment in the archetype.
- 🚀 Example deployment of demo-tt as Docker containers on Amazon ECS.
- 🚀 Sample Docker deployment with the backend and frontend separated into different containers.
- 👍 Bare-bones support for mapping tables as POJO's (objects) rather than maps.
🔄 Changed
- 🔒 Give pages more control on security checks, allowing for client-only pages.
- 👌 Improve performance of selection providers by asking for data lazily in certain cases.
- 🚀 Properly support Docker deployments using the image built by the standard pom of archetype-generated projects.
- 🛠 Several wizard improvements and fixes.
🛠 Fixed
- Model not properly saved (#294, #303).
- 🔧 Page configuration not properly saved (#310, #311).
- Names of mapped database objects not escaped (#297).
- 🆕 New actions added with bad class names (#301).
- 🔀 Database synchronization issues with MariaDB and PostgreSQL (#283, #298).
- KeyManager with no password (ported from Portofino 4).