You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/docs/asciidoc/index.adoc
+31Lines changed: 31 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,6 +85,37 @@ repositories {
85
85
}
86
86
----
87
87
88
+
== Versioning
89
+
90
+
The RabbitMQ AMQP 1.0 Java Client is in development and stabilization phase.
91
+
When the stabilization phase ends, a 1.0.0 version will be cut, and
92
+
https://semver.org/[semantic versioning] is likely to be enforced.
93
+
94
+
Before reaching the stable phase, the client will use a versioning scheme of `[0.MINOR.PATCH]` where:
95
+
96
+
* `0` indicates the project is still in a stabilization phase.
97
+
* `MINOR` is a 0-based number incrementing with each new release cycle. It generally reflects significant changes like new features and potentially some programming interfaces changes.
98
+
* `PATCH` is a 0-based number incrementing with each service release, that is bux fixes.
99
+
100
+
Breaking changes between releases can happen but will be kept to a minimum.
101
+
The next section provides more details about the evolution of programming interfaces.
102
+
103
+
[[stability-of-programming-interfaces]]
104
+
== Stability of Programming Interfaces
105
+
106
+
The RabbitMQ AMQP 1.0 Java Client is in active development but its programming interfaces will remain as stable as possible. There is no guarantee though that they will remain completely stable, at least until it reaches version 1.0.0.
107
+
108
+
The client contains 2 sets of programming interfaces whose stability are of interest for application developers:
109
+
110
+
* Application Programming Interfaces (API): those are the ones used to write application logic.
111
+
They include the interfaces and classes in the `com.rabbitmq.client.amqp` package (e.g. `Connection`, `Publisher`, `Consumer`, `Message`).
112
+
These API constitute the main programming model of the client and will be kept as stable as possible.
113
+
* Service Provider Interfaces (SPI): those are interfaces to implement mainly technical behavior in the client.
114
+
They are not meant to be used to implement application logic.
115
+
Application developers may have to refer to them in the configuration phase and if they want to customize some internal behavior of the client.
116
+
SPI packages and interfaces are marked as such in their Javadoc.
117
+
_These SPI are susceptible to change, but this should have no impact on most applications_, as the changes are likely to be limited to the client internals.
0 commit comments