Skip to content

Commit 3c3c41a

Browse files
authored
docs: split up automatic and manual upgrade from OptaPlanner
1 parent 86cd290 commit 3c3c41a

File tree

2 files changed

+20
-29
lines changed

2 files changed

+20
-29
lines changed

docs/src/modules/ROOT/pages/upgrading-timefold-solver/backwards-compatibility.adoc

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,39 @@
55

66
Timefold Solver separates its API from its implementation:
77

8-
* **Public API**: All classes in the following package namespaces are 100% *backwards compatible* in future releases,
9-
especially minor and hotfix releases:
8+
* **Public API**: All classes under these `api` and `config` namespaces are 100% *backwards compatible* in future minor and hotfix releases:
109
** `ai.timefold.solver.core.api`
1110
** `ai.timefold.solver.benchmark.api`
1211
** `ai.timefold.solver.test.api`
13-
** `ai.timefold.solver...api*`
14-
* **Configuration**: The solver configuration is backwards compatible for all elements,
15-
except for elements that require the use of non-public API classes.
16-
The solver configuration is defined by the classes in the following package namespaces:
12+
** `ai.timefold.solver.*.api`
1713
** `ai.timefold.solver.core.config`
1814
** `ai.timefold.solver.benchmark.config`
1915
* **Implementation classes**: All other classes are _not_ backwards compatible.
2016
They will change in future major or minor releases,
2117
but probably not in hotfix releases.
2218
23-
Backwards incompatible changes will be clearly documented in xref:upgrading-timefold-solver/upgrade-to-latest-version.adoc#manualUpgrade[the upgrade recipe].
24-
25-
26-
[NOTE]
27-
====
28-
This documentation covers some `impl` classes too.
29-
Those documented `impl` classes are reliable and safe to use (unless explicitly marked as experimental in this documentation),
30-
but we're just not entirely comfortable yet to write their signatures in stone.
31-
====
19+
Backwards incompatible changes for a new major version are clearly documented in xref:upgrading-timefold-solver/upgrade-to-latest-version.adoc#manualUpgrade[the upgrade recipe].
3220

3321
[#previewFeatures]
3422
== Preview features
3523

3624
Timefold Solver includes several components which are only available as preview features.
25+
These are in `preview.api` packages.
3726
These are:
3827

39-
- xref:optimization-algorithms/local-search.adoc#diversifiedLateAcceptance[Diversified Late Acceptance] acceptor.
28+
- xref:optimization-algorithms/local-search.adoc#diversifiedLateAcceptance[Diversified Late Acceptance] acceptor
4029
- xref:constraints-and-score/understanding-the-score.adoc#solutionDiff[Solution diff API]
4130
in the `ai.timefold.solver.core.preview.api.domain.solution.diff` package,
42-
and in the `SolutionManager`.
31+
and in the `SolutionManager`
4332
- _Move Streams API_ in the `ai.timefold.solver.core.preview.api.move` package
4433
and the `ai.timefold.solver.core.preview.api.domain.metamodel` package,
45-
as well as in their subpackages.
46-
- _Timefold Solver for Python_, which is currently in beta.
34+
as well as in their subpackages
35+
- _Timefold Solver for Python_, which is currently in beta
4736
4837
These preview features are developed to the same standard as the rest of Timefold Solver.
4938
However, their APIs are not yet considered stable, pending user feedback.
5039
Any class, method or field related to these features may change or be removed without prior notice,
51-
although we will strive to avoid this as much as possible.
40+
although we strive to avoid this as much as possible.
5241

5342
We encourage you to try these preview features and give us feedback on your experience with them.
5443
Please direct your feedback to

docs/src/modules/ROOT/pages/upgrading-timefold-solver/upgrade-from-optaplanner.adoc

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
:icons: font
77

88
In spring of 2024, Red Hat announced https://access.redhat.com/articles/7060671[end of life for OptaPlanner].
9-
Timefold Solver is a faster, feature-rich, and actively developed fork of OptaPlanner.
9+
Timefold Solver is a faster, feature-rich, and actively developed fork of OptaPlanner by the same team.
1010

11-
Upgrading from OptaPlanner to Timefold Solver Community Edition only takes two minutes.
12-
Run the command below to upgrade your code automatically.
11+
== Automatic upgrade
12+
13+
Upgrading from OptaPlanner to Timefold Solver only takes two minutes.
14+
Run the command below to upgrade your java, build and other code automatically.
1315

1416
[tabs]
1517
====
@@ -39,6 +41,12 @@ If it doesn't work, just revert it instead and
3941
https://github.com/timefoldai/timefold-solver/issues[submit an issue].
4042
We'll fix it with the highest priority.
4143

44+
Timefold Solver 1.x does not support `scoreDRL`, nor is it upgraded automatically.
45+
If you're still using `scoreDRL` from OptaPlanner 7.x,
46+
please link:https://timefold.ai/blog/2023/migrating-score-drl-to-constraint-streams/[upgrade to Constraint Streams first].
47+
48+
== Manual upgrade
49+
4250
Timefold Solver 1.x is backward compatible with OptaPlanner 8.x,
4351
except for the following changes:
4452

@@ -58,9 +66,3 @@ except for the following changes:
5866
* The unsecure module `persistence-xstream` is removed, because of old, unresolved CVEs in XStream.
5967
* The deprecated, undocumented `ScoreHibernateType` has been removed because of Jakarta.
6068
Use JPA's `ScoreConverter` instead.
61-
62-
Timefold Solver 1.x does not support `scoreDRL`, nor is it upgraded automatically.
63-
If you're still using `scoreDRL` from OptaPlanner 7.x,
64-
please link:https://timefold.ai/blog/2023/migrating-score-drl-to-constraint-streams/[upgrade to Constraint Streams first].
65-
66-
All other deprecated code remains to make upgrading easy.

0 commit comments

Comments
 (0)