Skip to content

Commit d717d1b

Browse files
committed
Stability of modules
1 parent 861b381 commit d717d1b

3 files changed

Lines changed: 26 additions & 11 deletions

File tree

build.sbt

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ compileDocumentation := {
2929
lazy val rootProject = (project in file("."))
3030
.settings(commonSettings)
3131
.settings(publishArtifact := false, name := "ox")
32-
.aggregate(core, kafka, mdcLogback, flowReactiveStreams, cron, otelContext, forkLocal)
32+
.aggregate(core, kafka, mdcLogback, flowReactiveStreams, cron, otelContext)
3333

3434
lazy val core: Project = (project in file("core"))
3535
.settings(commonSettings)
@@ -104,16 +104,6 @@ lazy val otelContext: Project = (project in file("otel-context"))
104104
)
105105
.dependsOn(core % "test->test;compile->compile")
106106

107-
lazy val forkLocal: Project = (project in file("fork-local"))
108-
.settings(commonSettings)
109-
.settings(
110-
name := "fork-local",
111-
libraryDependencies ++= Seq(
112-
scalaTest
113-
)
114-
)
115-
.dependsOn(core % "test->test;compile->compile")
116-
117107
lazy val documentation: Project = (project in file("generated-doc")) // important: it must not be doc/
118108
.enablePlugins(MdocPlugin)
119109
.settings(commonSettings)

doc/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ In addition to this documentation, ScalaDocs can be browsed at [https://javadoc.
9090
:maxdepth: 2
9191
:caption: Other topics
9292
93+
other/stability
9394
other/links
9495
other/dictionary
9596
other/best-practices

doc/other/stability.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Stability of modules
2+
3+
The modules are categorized using the following levels:
4+
5+
* **stable**: binary compatibility is guaranteed within a major version; adheres to semantic versioning
6+
* **stabilizing**: the API is mostly stable, with rare binary-incompatible changes possible in minor releases (only if necessary)
7+
* **experimental**: API can change significantly even in patch releases
8+
9+
The major version is increased when there are binary-incompatible changes in **stable** modules.
10+
11+
The minor version is increased when there are significant new features in **stable** modules (keeping compatibility), or binary-incompatible changes in **stabilizing** modules.
12+
13+
The patch version is increased when there are binary-compatible changes in **stable** / **stabilizing** modules, any changes in **exeperimental** modules, or when a new module is added (e.g. a new integration).
14+
15+
## Main modules
16+
17+
| Module | Level |
18+
|-----------------------|--------------|
19+
| core | stabilizing |
20+
| flow-reactive-streams | stabilizing |
21+
| kafka | experimental |
22+
| mdc-logback | experimental |
23+
| cron | experimental |
24+
| otel-context | experimental |

0 commit comments

Comments
 (0)