Skip to content

Commit fe9a3cc

Browse files
committed
HHH-18861 - Improve GitHub release announcement body for automated releases
1 parent 7921473 commit fe9a3cc

File tree

4 files changed

+105
-121
lines changed

4 files changed

+105
-121
lines changed

MAINTAINERS.md

+10-8
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,24 @@ and the documentation to [docs.jboss.org](https://docs.jboss.org/hibernate/orm/)
103103
Note only `RELEASE_VERSION` is absolutely necessary.
104104
* Note that for new branches where the job has never run, the first run may not ask for parameters and thus may fail:
105105
that's expected, just run it again.
106-
* After the job succeeds, check the artifacts are available on Maven Central:
107-
https://repo1.maven.org/maven2/org/hibernate/orm/hibernate-core/.
108-
They should appear after a few minutes, sometimes a few hours.
109106

110-
#### Announcing the release
107+
After the job succeeds:
111108

112-
* Blog about release on [in.relation.to](https://github.com/hibernate/in.relation.to).
113-
Make sure to use the tags "Hibernate ORM" and "Releases" for the blog entry.
114-
Use [release-announcement.adoc](release-announcement.adoc) as a starting point.
115109
* Update [hibernate.org](https://github.com/hibernate/hibernate.org) if necessary:
116110
* If it is a new major or minor release, add a `_data/projects/orm/releases/series.yml` file
117111
and a `orm/releases/<version>/index.adoc` file.
118112
* Adjust the release file in `_data/projects/orm/releases`: use a meaningful summary and set `announcement_url` to the blog post, if any.
119113
* Depending on which series you want to have displayed,
120114
make sure to adjust the `status`/`displayed` attributes of the `series.yml` file of the old series.
121115
* Push to the production branch.
116+
* Check that the artifacts are available on Maven Central:
117+
https://repo1.maven.org/maven2/org/hibernate/orm/hibernate-core/.
118+
They should appear after a few minutes, sometimes a few hours.
119+
* Make sure a GitHub release got created and that everything looks ok.
120+
121+
122+
#### Announcing the release
123+
122124
* Send an email to `[email protected]` and CC `[email protected]`.
123125
* Tweet about the release via the `@Hibernate` account.
124126

@@ -137,7 +139,7 @@ If you just released the latest stable, you will need to update other projects:
137139

138140
In any case:
139141

140-
* Reset [release-announcement.adoc](release-announcement.adoc).
142+
* Reset [release_notes.md](release_notes.md).
141143

142144
**If it is a new major or minor release**:
143145

ci/release/Jenkinsfile

+6-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,12 @@ pipeline {
147147

148148
env.RELEASE_VERSION = releaseVersion.toString()
149149
env.DEVELOPMENT_VERSION = developmentVersion.toString()
150-
env.SCRIPT_OPTIONS = params.RELEASE_DRY_RUN ? "-d" : ""
150+
151+
def matchingFiles = findFiles(glob: "/release_notes.md")
152+
env.SCRIPT_OPTIONS = " --notes=${matchingFiles[0]}"
153+
if ( params.RELEASE_DRY_RUN ) {
154+
env.SCRIPT_OPTIONS += " -d"
155+
}
151156

152157
// Determine version id to check if Jira version exists
153158
sh ".release/scripts/determine-jira-version-id.sh ${env.JIRA_KEY} ${releaseVersion.withoutFinalQualifier}"

release-announcement.adoc

-112
This file was deleted.

release_notes.md

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
2+
### <a name="jpa-32"></a> Jakarta Persistence 3.2
3+
4+
7.0 migrates to Jakarta Persistence 3.2 which can be fairly disruptive.
5+
See the [Migration Guide](https://docs.jboss.org/hibernate/orm/7.0/migration-guide/migration-guide.html#jpa-32) for details.
6+
7+
See [this blog post](https://in.relation.to/2024/04/01/jakarta-persistence-3/) for a summary of the changes in 3.2
8+
9+
- [TCK Results](https://ci.hibernate.org/view/ORM/job/hibernate-orm-tck-3.2/job/wip%252F7.0/24/) with Java 17
10+
- [TCK Results](https://ci.hibernate.org/view/ORM/job/hibernate-orm-tck-3.2/job/wip%252F7.0/25/) with Java 21
11+
12+
### <a name="java-17"></a> Java 17
13+
14+
Version 3.2 of Jakarta Persistence requires Java 17.
15+
Hibernate 7.0 therefore baselines on Java 17 whereas previous versions baseline on Java 11.
16+
17+
### <a name="model-validations"></a> Domain Model Validations
18+
19+
7.0 does much more validation of an application's domain model and especially its mapping details, e.g.
20+
21+
* illegal combinations such as `@Basic` and `@ManyToOne` on the same attribute
22+
* misplaced annotations such as an annotated getter method with FIELD access
23+
* stricter following of JavaBean conventions
24+
25+
See the [Migration Guide](https://docs.jboss.org/hibernate/orm/7.0/migration-guide/migration-guide.html#model-validation) for details.
26+
27+
28+
### <a name="mapping-xml"></a> mapping.xsd
29+
30+
Hibernate 7.0 provides a new XSD that represents an "extension" of the Jakarta Persistence orm.xsd weaving in Hibernate-specific mapping features.
31+
The namespace for this extended mapping is `http://www.hibernate.org/xsd/orm/mapping`
32+
33+
For applications using Hibernate's legacy `hbm.xml` format, we provide a tool to help with the transformation.
34+
See the [Migration Guide](https://docs.jboss.org/hibernate/orm/7.0/migration-guide/migration-guide.html#hbm-transform) for details.
35+
36+
37+
### <a name="hibernate-models"></a> Hibernate Models
38+
39+
7.0 migrates from [Hibernate Commons Annotations](https://github.com/hibernate/hibernate-commons-annotations/) (HCANN) to the new [Hibernate Models](https://github.com/hibernate/hibernate-models) project for low-level processing of an application domain model, reading annotations and weaving in XML mapping documents.
40+
See the [Migration Guide](https://docs.jboss.org/hibernate/orm/7.0/migration-guide/migration-guide.html#hibernate-models) for details.
41+
42+
43+
### <a name="json-and-xml-functions"></a> JSON and XML functions
44+
45+
Support for most of the JSON and XML functions that the SQL standard specifies was added to HQL/Criteria.
46+
The implementations retain the SQL standard semantics and will throw an error if emulation on a database is impossible.
47+
48+
New functions include:
49+
50+
* construction functions like `json_array()`, `json_object()`, `xmlelement()` and `xmlforest()`
51+
* query functions like `json_value()`, `json_query()` and `xmlquery()`
52+
* aggregation functions like `json_agg()`, `json_object_agg()` and `xmlagg()`
53+
* manipulation functions like `json_set()`, `json_mergepatch()`
54+
* any many more
55+
56+
> The functions are incubating/tech-preview - to use them in HQL it is necessary to enable the `hibernate.query.hql.json_functions_enabled` and `hibernate.query.hql.xml_functions_enabled` configuration settings.
57+
58+
59+
### <a name="set-returning-functions"></a> Set-returning Functions
60+
61+
A set-returning function is a new type of function that can return rows and is exclusive to the `from` clause.
62+
The concept is known in many different database SQL dialects and is sometimes referred to as table valued function or table function.
63+
64+
Custom set-returning functions can be registered via a `FunctionContributor`.
65+
Out-of-the-box, some common set-returning functions are already supported or emulated
66+
67+
* `unnest()` - allows to turn an array into rows
68+
* `generate_series()` - can be used to create a series of values as rows
69+
* `json_table()` - turns a JSON document into rows
70+
* `xmltable()` - turns an XML document into rows
71+
72+
### <a name="any-discriminator"></a> @AnyDiscriminatorImplicitValues
73+
74+
The new `@AnyDiscriminatorImplicitValues` offers 2 related improvements for the mapping of discriminator values
75+
for `@Any` and `ManyToAny` associations.
76+
77+
First, it allows control over how Hibernate determines the discriminator value to store in the database for
78+
implicit discriminator mappings. Historically, Hibernate would always use the full name of the associated
79+
entity.
80+
81+
Second, it allows mixing of explicit and implicit value strategies.
82+
83+
See the [Migration Guide](https://docs.jboss.org/hibernate/orm/7.0/userguide/html_single/Hibernate_User_Guide.html#associations-any) for details.
84+
85+
### <a name=cleanup"></a> Clean-up
86+
87+
A lot of deprecated contracts and behavior has been removed.
88+
See the [Migration Guide](https://docs.jboss.org/hibernate/orm/7.0/migration-guide/migration-guide.html#cleanup) for details.
89+

0 commit comments

Comments
 (0)