Skip to content

v0.9.1

Choose a tag to compare

@drewbrokke drewbrokke released this 01 Apr 19:11
· 86 commits to master since this release

Highlights

  • Better port resolution — Previously, Docker would assign ports that only incremented within a range, even when lower ports became available again. Ports are now resolved to the lowest available port in the declared range, keeping port assignments predictable and consistent across restarts.
  • Keycloak service — Full Keycloak IdP service with SAML configuration, security artifact generation, persistent storage, and documentation
  • OpenLDAP service — New LDAP directory service available as a compose recipe
  • Database import overhaul — Automatic archive decompression - many more formats are now compatible

Added

  • Automatic port resolution (LPD-84200) — Ports are now resolved to the lowest available port in a declared range, replacing Docker's default behavior of only incrementing
  • Keycloak service (LPD-73843) — Compose recipe, gradle task for preparing security artifacts (keystores, SAML config), OSGi configs, port configuration, volume for H2 database persistence, and full documentation
  • OpenLDAP service (LPD-73800) — New ldap compose recipe with LDIF seed data
  • Database dump decompression (LPD-77149) — importDatabaseDumps now auto-decompresses .gz, .zip, and other archive formats
  • Mail OSGi configs (LPD-82628) — Mail settings required by 2025.Q4+ added to both single-node and cluster configurations

Improved

  • README URLs and port notes (LPD-83991) — README now shows usable URLs (with port) by default and notes when a port has been updated
  • Nightly bundle support (LPD-82018) — Falls back to .liferay-version for targetPlatformVersion when nightly bundles lack a real BOM; normalizes hyphens to dots in version strings
  • Database credentials in README (LPD-82534) — Added default username/password for each supported database

Fixed

  • SQL Server marker file (LPD-83583) — Added missing marker file to the SQL Server entrypoint, ensuring database creation is properly tracked

Maintenance

  • BATS test framework (LPD-77149) — Vendored BATS, added lec bats command, created database import tests, and added a CI workflow for validating imports
  • End-to-end tests (LPD-84202) — E2E test for Liferay/MySQL/Elasticsearch with dynamic port lookup, shared BATS helpers, and a GitHub Actions workflow
  • Shellcheck compliance (LPD-83583) — Fixed shell script warnings
  • executeSQLQuery wrapper task (LPD-77149) — Convenience task for running ad-hoc SQL queries

PRs

  • LPD-82628 Mail configurations are not applied automatically for portal version 2025.q4 and above by @annasuszter in #243
  • LPD-82628 Mail configurations are not applied automatically for portal version 2025.q4 and above by @annasuszter in #246
  • LPD-77149 Expand general database archive support by @drewbrokke in #247
  • LPD-77149 Expand general database archive support by @drewbrokke in #248
  • LPD-82534 Add username and password of databases to README by @kyle-miho in #245
  • LPD-83583 Add marker file after creating new sqlserver database by @anthony-chu in #249
  • LPD-82018 Composer printBundleInfo is inaccurate when using nightly by @drewbrokke in #250
  • LPD-73843 Add support for Keycloak as IdP by @anthony-chu in #244
  • LPD-83991 Add usable default URLs to the README for Keycloak by @anthony-chu in #253
  • LPD-73800 Technical Task | [Liferay Up] LDAP (OpenLDAP) support by @drewbrokke in #255
  • LPD-84202 Technical Task | Create E2E test by @drewbrokke in #257
  • LPD-84200 Technical Task | Consistent port values by @drewbrokke in #256

Full Changelog: v0.9.0...v0.9.1