v6.0.0
⭐ Added
Second-Level Caching
The extension will now throw an error if you try to configure an unsupported cache provider like "jbosscache"
, "swarmcache"
, etc. Previously, the extension would silently switch to ehcache if any cache provider besides EHCache was configured.
Hibernate Logging
This version re-enables Hibernate logging via SLF4j and LogBack. Hibernate root and cache loggers are defaulted to ERROR
level, while SQL logging is set to DEBUG
if this.ormSettings.logSQL
is enabled. (Set to true
.)
OWASP Dependency CVE Scans
The extension GitHub Release page now generates a dependency CVE report via Jeremy Long's OWASP dependency-check maven plugin. Any known CVEs contained in dependencies ( excluding test
and provided
-scoped dependencies) will be noted in each release's CVE report artifact.
♻️ Changed
New Repo Layout
- Java source moved to
extension/src/main/java
- All java classes are now under the
ortus.extension.orm
package - Dropped the java source format-on-push in favor of format-on-save IDE tooling
New Test Layout
- Internal tests rewritten to native Testbox specs
- Cloned all ORM tests from the Lucee repository
- Updated to TestBox 5.0
New Build (and .jar file) Layout
We re-architected the build to inline most dependencies. I.e. we no longer copy in extension dependencies as (custom-built) OSGI bundles, but instead as compiled classes.
- This resolves intermittent issues with bundle resolution and/or duplicate bundle collision upon installing the ORM extension into a Lucee server prior to uninstalling the Lucee Hibernate extension.
- This also removes a number of direct dependencies on custom OSGI bundles, thus it is more reliable and will offer easier dependency upgrades with less pain.
Other
- The
"node"
attribute is deprecated in Hibernate 5.x, and is no longer generated on HBM/XML mapping files to avoid Hibernate warning that "Use of DOM4J entity-mode is considered deprecated".
🐛Fixed
- The
.fld
definition file for all built-ins was missed during the conversion to a Maven build. (Since v5.4.29.25). This caused theorm*()
andentity*()
built-in method calls to be picked up by Lucee core before being routed to this extension. No known errors resulted from this mistake, but we feel embarrassed anyway. 😅 - Clear ORM context data once per ORM reload, not once per ORM entity parsing. This should improve ORM startup/reload time and avoid difficult session or cache manager lifecycle issues.
Full changelog between 5.4.29.28 and 6.0.0: 5.4.29.28...v6.0.0