Releases: Blazebit/blaze-persistence
1.5.0-Alpha4
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 :)
1.5.0-Alpha3
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 :)
1.5.0-Alpha2
Wow, what a big release! There is so much good stuff in 1.5.0-Alpha2, you definitely should update, also because of some important bug fixes!
Our biggest newcomers are the QueryDSL integration and Quarkus integration with support for native compilation when using our brand new annotation processor,
which generates entity view implementations during compilation. It also generates static metamodels and builder implementations and is useful also for non-Quarkus projects,
but more on that in a blog post. Please consider updating soon to avoid running into a concurrency issue that
we discovered recently.
Our Spring WebMvc/WebFlux and JAX-RS integrations support mapping a PathVariable
/PathParam
as the id for an entity view payload.
We improved a few validations to make you aware of configuration issues early and improved performance in various ways.
The PaginatedCriteriaBuilder
API is now capable of doing a bounded count i.e. count up to a given value to improve performance.
In entity views it is now also supported to limit the number of elements to fetch from collections or from correlations through the @Limit
annotation.
If you want to know more about the new features, take a look into the changelog for a full list of changes and improvements.
The next release will be the final one for the 1.5 series. Until then, have fun with 1.5.0-Alpha2!
1.5.0-Alpha1
We are happy to announce the first alpha release of the 1.5 series. We introduced a few very interesting features
like MULTISET
fetching for entity views, support for predicates in array expressions and array expression with entity literals as basis.
Apart from the new features, we also fixed quite a few bugs and improved performance. Most notable are bug fixes in updatable entity views.
There were problems in the dirty tracking of indexed collections(List
, Map
) when clearing and re-adding elements.
Using @PreUpdate
entity view lifecycle listeners could also lead to various issues like missed updates.
Version 1.5.0-Alpha1 should be a drop-in replacement for earlier versions and we highly recommend that
you update as soon as possible to avoid running into the mentioned or other 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!
1.4.1
Here comes the first fix release for 1.4 containing quite a few new features but also a pretty important packaging fix.
Due to build system updates, the META-INF/versions/9
directory in the entity view implementation JAR got lost.
The directory in the JAR is vital for running on Java 11+ as it contains an alternative implementation for defining classes that was introduced in Java 9.
The highlight of the release is the support for subqueries in the FROM
clause and the inlining of count and id queries in the paginated queries to reduce the amount of queries even further.
Take a look into the changelog for a full list of changes and improvements.
We are switching the master branch to 1.5.0-SNAPSHOT now and will focus on Hibernate 6 support. We are looking forward to hear your feedback!
1.4.0
We made a cut for the 1.4 series and decided to do the final 1.4.0 release containing mostly bug fixes on top of 1.4.0-Alpha4!
The development for 1.4 started in early 2019 and since we received comments, that it appears the 1.3 series is the current stable version,
we wanted to make it clear that 1.4 is stable enough. We will most likely deliver a few smaller features in 1.4.x releases,
but at some point we are going move issues and switch the master branch to 1.5.0-SNAPSHOT.
Take a look into the changelog for a full list of changes and improvements.
A big thanks goes out to the community for bug reports, providing test cases and being great users!
The plan is to provide the last few remaining planned features/improvements during the next 8 weeks via 2-3 fix releases.
By the end of February we are switching to 1.5 and try to provide 1.5.0-Alpha releases on a monthly basis.
Until then, enjoy the release!
1.4.0-Alpha4
Better late than never. Here comes your late christmas present, Blaze-Persistence version 1.4.0-Alpha4!
Enjoy Entity View lifecycle listeners, an integration for Jackson deserialization of Entity Views
that is built into the Spring WebMvc and JAX-RS integrations automatically.
This release also comes with a Spring WebFlux integration and the biggest newcomer is the GraphQL integration!
Take a look into the changelog for a full list of changes and improvements.
I would like to thank the whole community for bug reports, providing test cases and generally giving guidance for some of the new features.
The final 1.4 release is approaching the final stages. The last few planned issues are mostly about performance or emulations for databases providing fewer advanced features.
We will also start working on a Hibernate 6.0 integration as the new version is almost done and we would like to shape a few features to better fit our needs.
The next release will probably be the final 1.4.0 release which is planned for the end of February 2020.
After that, we will switch to 1.5 on master. In 1.5 we will be doing a few parser and join related changes to support correlations in JPQL.Next which will reduce the need for subqueries.
I wish you all great holidays and a happy new year! Have fun with this release and stay tuned for the next one!
1.4.0-Alpha3
We just released Blaze-Persistence version 1.4.0-Alpha3 containing quite a few bug fixes as well as a few new features! We support the newest Spring Boot and Spring Data version 2.2 and now also have support for FULL JOIN
which is supported by Hibernate. Entity Views equality is now based on the entity inheritance top type and we now also provide a default implementation for toString()
. We made a few Entity View annotations repeatable.
Take a look into the changelog for a full list of changes and improvements.
A big thank you goes out to Jan-Willem Gmelig Meyling for supporting users and helping with Spring and Hibernate integration issues! I would also like to thank Eugen Mayer and his colleague Sebastian Ulrich for reporting documentation issues and questioning a few naming and design choices.
As you might notice, the announced preliminary support for entity view lifecycle listeners didn’t make it into this release, mainly because other issues were more important. The next release will be about entity view lifecycle listeners though, I promise :)
I’m aiming to finish work on that by end of November or the beginning of December.
Have fun with this release and stay tuned for the next one!
1.4.0-Alpha2
We just released Blaze-Persistence version 1.4.0-Alpha2, this time, mostly with new features!
The most exciting feature of this release is obviously window function support and the new expression syntax support for it.
If you want to get the number of objects while fetching them and avoid the need for grouping or subqueries, you can now do something like
criteriaBuilder.select("count(*) over (partition by entity.id)")
We added support for the most common window functions, also see the new window function chapter: https://persistence.blazebit.com/documentation/core/manual/en_US/index.html#window-functions-2
Other new notable features are:
- #812 Temporal extraction, diff, truncation and arithmetic functions
- #803 Introduction of comparison methods that render literals
- #801 MySQL 8 support
- #797 EntityManager resolving in spring data integration is random
- #795 Move available configuration properties to API artifacts
- #793 Shade ANTLR into parser
Take a look into the changelog for a full list of changes and improvements.
A big thank you goes out to Jan-Willem Gmelig Meyling and his colleague Sayra Ranjha for implementing the initial window functions!
The long awaited feature entity view lifecycle listeners will take some more time as I'm currently working on a new project called blaze-notify
that will make it super easy to integrate transactional notifications(E-Mail, App notifications, etc.) into your own applications.
Unless someone works on a PR for other new features, the next release will be about preliminary support for entity view lifecycle listeners!
1.4.0-Alpha1
We just released Blaze-Persistence version 1.4.0-Alpha1, again with a lot of bug fixes especially in the Spring Data integration.
Don't be scared about the Alpha bit. By using an Alpha qualifier, we just want to show that new APIs are not final yet, although in this case, the newly introduces APIs are.
It's completely backwards compatible and as always, we advise you to update quickly to avoid getting bitten by the bugs ;)
The most notable bug fixes are:
- #812 Clause dependencies are wrongly propagated leading to cardinality mandatory joins not being rendered
- #803 Reuse correlated attributes during EXISTS subquery rewrite for implicit joins in ON clause
- #801 Wrong calculation of view index in subselect correlator leads to empty correlations
- #797 EntityManager resolving in spring data integration is random
- #795 Offset query parameter ignored by spring data rest integration
- #793 Embeddable attribute not found when paginating with identifier expressions
- #792 Init non-mutable attributes in create constructor
- #733 HibernateJpqlFunctionAdapter broken for Hibernate 5.3
Take a look into the changelog for a full list of changes and improvements.
Thanks to all contributors for reporting issues and helping us understand the root causes.
I'm on vacation for about 1 month now, so the next 1.4 release won't happen before end of July.