camunda-bpm-platform
camunda-bpm-platform copied to clipboard
Support for Quarkus 3.8 LTS release
User Story (Required on creation)
- As an software developer, I can use the Camunda Quarkus extension with the latest Quarkus LTS release
Functional Requirements (Required before implementation)
- The Quarkus extension depends on a patch level of the latest Quarkus LTS release
Technical Requirements (Required before implementation)
Limitations of Scope
Hints
- Details on LTS: https://quarkus.io/blog/lts-releases/
- Quarkus 3.8 is scheduled for the end of February (https://quarkus.io/blog/our-plans-for-quarkus-3-7-3-8-3-9-released/).
- Since Quarkus 3.7 and 3.8 are feature-wise the same, we could already start working on this topic with the Quarkus 3.7 release, scheduled for January 31st.
Links
- https://jira.camunda.com/browse/SEC-499
- https://jira.camunda.com/browse/SEC-723
- https://jira.camunda.com/browse/OB-34
Breakdown
### camunda-bpm-platform PR
- [ ] https://github.com/camunda/camunda-bpm-platform/pull/4073
- [ ] https://github.com/camunda/camunda-bpm-platform/pull/4113
### camunda-docs-manual PR
- [ ] https://github.com/camunda/camunda-docs-manual/pull/1597
Dev2QA handover
- [ ] Does this ticket need a QA test and the testing goals are not clear from the description? Add a Dev2QA handover comment
Issues Identified during the Upgrade to Quarkus 3.7.1
Context: BeanContainer#instance
is marked as @Deprecated in Quarkus 3.2.6.Final
and is mentioned to be removed in future releases.
Problem: The above method does not exist in Quarkus 3.7.1
Solution: Replace with BeanContainer#beanInstance(Class, Annotation...).create().get()
as indicated by the javadoc of Quarkus 3.2.6.Final
. Here is an example of the change in the Quarkus API
Pending Upgrade
The release of Quarkus 3.8
is at the end of February. There will be a follow-up Pull Request for upgrading from 3.7
to 3.8
.
@psavidis I have tried the datasource quarkus example (dev and non-dev mode, h2 in memory) with the changes and notice:
- with 3.2 and 7.20, an
authorizationService
bean is present in the dev mode - with 3.7 and 7.21, that bean is missing
💭 Shall we double check if this is problem that didn't surface with the current tests? ❌ License check is missing.
@psavidis I have tried the datasource quarkus example (dev and non-dev mode, h2 in memory) with the changes and notice:
- with 3.2 and 7.20, an
authorizationService
bean is present in the dev mode- with 3.7 and 7.21, that bean is missing
💭 Shall we double check if this is problem that didn't surface with the current tests? ❌ License check is missing.
-
7.20.0
withQuarkus 3.2.6.Final
have 81 beans in total -
7.21.0-SNAPSHOT([3785-upgrade-quarkus](https://github.com/camunda/camunda-bpm-platform/tree/3785-upgrade-quarkus))
with Quarkus 3.7.1 have in 87 beans in total - I can find for both of the the
AuthorizationService
listed in the beans page ofquarkus:dev
UI
Here is the detailed comparison of the beans
Update
Quarkus 3.8
is scheduled for release at the 28th of February 2024
.
A new Pull Request will be raised then to upgrade 3.7.1
to 3.8.0
Update
Quarkus 3.7.2
is merged to master. The progress of this ticket will continue after 28th of February 2024
where Quarkus 3.8.0
will be released and 2 more Pull Requests will be raised to make the upgrade.
Update
-
Quarkus 3.8.0
has been released to maven central on21st Feb 2024
.
License checking is done
Assigning to @yanavasileva to proceed with the review of the Pull Request that upgrades to Quarkus 3.8.0
@psavidis, we need to update: https://github.com/camunda/camunda-docs-manual/blob/master/content/user-guide/quarkus-integration/version-compatibility.md?plain=1#L39-L40
@psavidis, we need to update: https://github.com/camunda/camunda-docs-manual/blob/master/content/user-guide/quarkus-integration/version-compatibility.md?plain=1#L39-L40
@yanavasileva There is a PR for this change which didn't have a reviewer assigned. I've just added you to make that visible.
Next Steps after All PRs are merged
The QA can proceed with the manual testing of the newly updated Quarkus 3.8
extension, as described in the Dev2QA handover section using the latest snapshot artifacts.
This was verified by running the examples and everything worked as expected.