Skip to content
Compare
Choose a tag to compare

We are happy to announce the third bug fix release of the 1.6 series. This release again contains not only bug fixes, but also some new features that I would like to highlight.

Yet again, thanks to the extensive testing of Eugen Mayer from KontextWork we polished the GraphQL integration even further.
The integration now supports inferring nullability of entity view attributes for the generated GraphQL schema based on the mapping expression.
On top of that, he also helped us fix an issue with the "single valued association id access optimization" for non primary key based foreign keys, which now also avoids producing a join.

We fixed a few bugs and lifted certain limitations for entity views:

  • Fix pagination issues when JOIN fetching for a collection and SUBSELECT fetching was used
  • Support SUBSELECT fetching when main query builder uses LIMIT/OFFSET and/or ORDER BY clauses
  • Validate more uses of MULTISET fetching for proper type support to avoid runtime errors
  • Validate mapping index expressions properly regarding their typing
  • Fix issues with setter determination in entity views when same named methods with different arguments exist
  • Fix concurrency issue in entity view annotation processor leading to strange errors

Thanks to our awesome community we fixed:

  • JPA Criteria bug regarding joins over embeddables and parameter handling issues
  • Fix compatibility with Quarkus 2.1+ by registering ValuesEntity in deployment integration
  • Fix base URI determination in Spring HATEOAS integration to be compatible with Spring HATEOAS 1.3.4
  • Fix parsing of LIKE predicate with parameter in ESCAPE
  • Fix literal parsing issues with a single backslash to match the requirements of the JPA spec
  • Fix rendering of literals in JPA Criteria and introduce configuration option to control value rendering
  • Make sure LIMIT/OFFSET is respected when generating a count query

The changes we had to do to in the string literal parsing and rendering to match the expectation of the JPA spec unvealed a non-standard compliant behavior of PostgreSQL,
which uses a backslash as default escape character in a LIKE predicate when no escape character is given.
We automatically escape the LIKE pattern now to guarantee the same behavior across databases, but this escaping might lead to double escaping if you already did escaping for PostgreSQL.

Make sure to remove your escaping i.e. replace("\\", "\\\\") from your code when updating to Blaze-Persistence 1.6.3.

Another thing to watch out in this release is the stricter type validation in entity views. Previously we didn't properly type validate all mapping expressions,
which could have lead to some runtime exceptions. Now that we do type validation, you might see startup failures though due to unsafe expressions.
A prime example of a possible issue is the comparison of an enum attribute with a string or integer i.e. the SQL representation.
A expression like case when type = 'KEY' then ... should be replaced with case when type = package.MyEnum.KEY then ... so that the comparison has matching types.

Take a look into the changelog for a full list of changes and improvements.

Enjoy the release and stay tuned for the next one!

Compare
Choose a tag to compare

We are happy to announce the second bug fix release of the 1.6 series. This release contains not only bug fixes, but also quite a few new features/integrations that I would like to highlight.

I'm very happy that Eugen Mayer from KontextWork did some extensive testing of the GraphQL integration (which obviously uncovered some bugs)
and prototyped the support for newer graphql-java versions as required for integrating with the Netflix DGS runtime.
Thanks to his help, we now also have an example that showcases how our GraphQL integration can be used with Netflix DGS. On top of that, we also added support for SmallRye GraphQL through the Microprofile GraphQL API,
as well as added an example application for that and updated the documentation by describing the necessary steps to setup the integration for the various runtimes.

The support for Spring Boot/Data 2.5 is now also ensured and verified as we added a new profile for testing the new version.

Thanks a lot to Jan-Willem Gmelig Meyling for his great work for the support for QueryDSL 5.0, the new FunctionContributor SPI
and the support for chunk-processing results through the new Stream<T> getResultStream() method that was also introduced with JPA 2.2 on javax.persistence.Query.

Take a look into the changelog for a full list of changes and improvements.

Enjoy the release and stay tuned for the next one!

Compare
Choose a tag to compare

We are happy to announce the first bug fix release of the 1.6 series. This release mainly contains bug fixes and one new feature that I would like to highlight.

The Entity-View annotation processor was adapted to be able to run in an incremental fashion i.e. within an incremental Gradle build and was parallelized to improve compilation times.
A big thank you goes out to KontextWork and their employees! They sponsored this feature as they had trouble with the build and compilation times and couldn't stand it anymore.

Now we can all enjoy improved generation and compilation times :)

As for the bug fixes, we improved the SQL we render for VALUES clauses and subqueries in the FROM clause to make it easier for certain database optimizers to efficient generate plans.
We also improved the support for running on the module path. While migrating a client application we noticed some issues, but with 1.6.1 they should be gone!

Take a look into the changelog for a full list of changes and improvements.

Enjoy the release and stay tuned for the next one!

Compare
Choose a tag to compare

We are happy to announce the final release of the 1.6 series. This release mainly fixes bugs and adds a few optimizations.

Some users were still using the 1.5 series although the 1.6 Alpha releases were already considered stable.
To avoid confusion about the stability of releases, we will try to avoid using the Alpha label in the future.

Take a look into the changelog for a full list of changes and improvements.

Enjoy the release and stay tuned for the next one!

Compare
Choose a tag to compare

We are happy to announce the second alpha release of the 1.6 series. We introduced a few new features and fixed quite a few bugs.

A big thank you goes out to Dane Lowe for implementing the conversion support from entities to entity views.
I'd also like to thank Ritesh and slyoldfox for investigating and fixing
issues they faced.

Most of the enhancements delivered in this release improve the performance of a few types of queries. The support for GROUPING SETS is user facing
which allows creating summarizations of aggregated data. For more information about grouping sets, take a look into the documentation.

This version now also adds support for Spring Data 2.4 and thus also Spring Framework 5.3.
We also worked on the support for Java 16 and thanks to slyoldfox, it seems we now also support the use of Spring Boot Dev-Tools.

Since we fixed a query plan cache related issue that could lead to wrong queries being executed in some cases, you should update as soon as possible to avoid running into these issues.

Take a look into the changelog for a full list of changes and improvements.

Enjoy the release and stay tuned for the next one!

Compare
Choose a tag to compare

We are happy to announce the first alpha release of the 1.6 series. We introduced two very interesting features that I would like to highlight.
The first is the support for specifying collection behavior for a multi-collection via the new @MultiCollectionMapping annotation which can be used
to configure a comparator or ordering for the collection within the indexed collection/map.
The next notable feature is the support for secondary entity view roots which can be imagined like correlations on steroids.

Since we also fixed a few issues, some in the Spring Data integration,
and one concurrency issue during entity view updater initialization, you should update as soon as possible to avoid running into these issues.

If you want to know more about the new features, take a look into the updated core
and entity view documentation.

Take a look into the changelog for a full list of changes and improvements.

I wish you all the best, stay safe and healthy in this hard times! Enjoy the release and stay tuned for the next one!

Compare
Choose a tag to compare

Here comes the first fix release for 1.5 containing a fix for our Hibernate 5.4 integration.
Hibernate 5.4.19.Final introduced a change that broke our integration and since Quarkus updates the Hibernate version pretty quickly,
we decided to publish a public 1.5 release containing this fix.

Compare
Choose a tag to compare

The last big feature for the 1.5 series, the support for custom index/key mapping expressions for List and Map entity view attributes,
was finally finished, which lead to this wonderful release today!

This release is pretty big, containing many bug fixes and quite a few great features.
The most notable features are JSON functions to access/manipulate fields of JSON columns, the support for joins in DML statements and the support for custom index/key mapping expressions for List and Map entity view attributes via the new @MappingIndex annotation.

If you want to know more about the new features or bug fixes, take a look into the changelog for a full list of changes and improvements.

This release concludes the planned community releases for the 1.5 series. We will publish community bug fix releases only for critical bug fixes.
If you need long term support please consider the commercial support options.

The master branch will now switch to the 1.6 series with the codename Lockjaw. Have fun with the release!

Compare
Choose a tag to compare

We recently switched from using JDK 9 to JDK 14 for our releases and accidentally compiled MR-JAR contents with the Java 14 classfile version.
This release fixes that, so that you can run Blaze-Persistence again with all Java versions from 9 to 13.
We also fixed a query plan caching bug for DML queries that are using the RETURNING clause along with other advanced features like CTEs.

If you want to know more about the new features or bug fixes, take a look into the changelog for a full list of changes and improvements.

We cut down the plan for the final 1.5 release down to the bare minimum. We will deliver further improvements through bug-fix releases.

Compare
Choose a tag to compare

Unfortunately, our Quarkus testsuite didn't work as expected within the Quarkus Ecosystem CI so we had to do another release to be able to get into the Quarkus catalog.
The nice thing about another release shortly after the previous one is, that we also squeezed a few bug fixes and features into this release.

We added support for Spring HATEOAS and also Spring Boot 2.3 as well as Spring Data 2.3.
In an upcoming blog post you will hear more about another new feature, the support for custom classes for entity views which allows using Java 14 records.

If you want to know more about the new features or bug fixes, take a look into the changelog for a full list of changes and improvements.

If nothing else comes up, next release will really be the final one for the 1.5 series :)