Skip to content

Commit 280f1e8

Browse files
committed
Introduce a preview feature status
This is mostly a documentation update to better communicate the status of some features.
1 parent 7f0a194 commit 280f1e8

File tree

11 files changed

+95
-20
lines changed

11 files changed

+95
-20
lines changed

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,25 @@ As a policy, patch versions will not be released except on rare occasions. Bug f
2424

2525
The compatibility with Neo4j Server versions is documented in the [Neo4j Knowledge Base](https://neo4j.com/developer/kb/neo4j-supported-versions/).
2626

27+
## Preview features
28+
29+
The preview feature is a new feature that is a candidate for a future <abbr title="Generally Available">GA</abbr>
30+
status.
31+
32+
It enables users to try the feature out and maintainers to refine and update it.
33+
34+
The preview features are not considered to be experimental, temporary or unstable.
35+
36+
However, they may change more rapidly, without following the usual deprecation cycle.
37+
38+
Most preview features are expected to be granted the GA status unless some unexpected conditions arise.
39+
40+
Due to the increased flexibility of the preview status, user feedback is encouraged so that it can be considered before
41+
the GA status.
42+
43+
Every feature gets a dedicated [GitHub Discussion](https://github.com/neo4j/neo4j-java-driver/discussions/categories/preview-features)
44+
where feedback may be shared.
45+
2746
## Usage
2847

2948
This section provides general information for engineers who are building Neo4j-backed applications.

driver/src/main/java/org/neo4j/driver/BookmarkManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import java.io.Serializable;
2222
import java.util.Set;
23-
import org.neo4j.driver.util.Experimental;
23+
import org.neo4j.driver.util.Preview;
2424

2525
/**
2626
* Keeps track of bookmarks and is used by the driver to ensure causal consistency between sessions and query executions.
@@ -31,7 +31,7 @@
3131
*
3232
* @see org.neo4j.driver.SessionConfig.Builder#withBookmarkManager(BookmarkManager)
3333
*/
34-
@Experimental
34+
@Preview(name = "Bookmark Manager")
3535
public interface BookmarkManager extends Serializable {
3636
/**
3737
* Updates bookmarks by deleting the given previous bookmarks and adding the new bookmarks.

driver/src/main/java/org/neo4j/driver/BookmarkManagers.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
package org.neo4j.driver;
2020

2121
import org.neo4j.driver.internal.Neo4jBookmarkManager;
22-
import org.neo4j.driver.util.Experimental;
22+
import org.neo4j.driver.util.Preview;
2323

2424
/**
2525
* Setups new instances of {@link BookmarkManager}.
2626
*/
27-
@Experimental
27+
@Preview(name = "Bookmark Manager")
2828
public final class BookmarkManagers {
2929
private BookmarkManagers() {}
3030
/**

driver/src/main/java/org/neo4j/driver/Config.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.neo4j.driver.net.ServerAddressResolver;
4242
import org.neo4j.driver.util.Experimental;
4343
import org.neo4j.driver.util.Immutable;
44+
import org.neo4j.driver.util.Preview;
4445

4546
/**
4647
* A configuration class to config driver properties.
@@ -187,7 +188,7 @@ private Config(ConfigBuilder builder) {
187188
* @return bookmark manager, must not be {@code null}
188189
* @since 5.5
189190
*/
190-
@Experimental
191+
@Preview(name = "Driver Level Queries")
191192
public BookmarkManager queryTaskBookmarkManager() {
192193
return queryBookmarkManager;
193194
}
@@ -393,7 +394,7 @@ private ConfigBuilder() {}
393394
* @return this builder
394395
* @since 5.5
395396
*/
396-
@Experimental
397+
@Preview(name = "Driver Level Queries")
397398
public ConfigBuilder withQueryTaskBookmarkManager(BookmarkManager bookmarkManager) {
398399
Objects.requireNonNull(bookmarkManager, "bookmarkManager must not be null");
399400
this.queryBookmarkManager = bookmarkManager;

driver/src/main/java/org/neo4j/driver/Driver.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.neo4j.driver.reactive.RxSession;
2626
import org.neo4j.driver.types.TypeSystem;
2727
import org.neo4j.driver.util.Experimental;
28+
import org.neo4j.driver.util.Preview;
2829

2930
/**
3031
* Accessor for a specific Neo4j graph database.
@@ -71,7 +72,7 @@ public interface Driver extends AutoCloseable {
7172
* @return new query task instance
7273
* @since 5.5
7374
*/
74-
@Experimental
75+
@Preview(name = "Driver Level Queries")
7576
QueryTask queryTask(String query);
7677

7778
/**
@@ -80,7 +81,7 @@ public interface Driver extends AutoCloseable {
8081
* @return bookmark manager, must not be {@code null}
8182
* @since 5.6
8283
*/
83-
@Experimental
84+
@Preview(name = "Driver Level Queries")
8485
BookmarkManager queryTaskBookmarkManager();
8586

8687
/**

driver/src/main/java/org/neo4j/driver/EagerResult.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020

2121
import java.util.List;
2222
import org.neo4j.driver.summary.ResultSummary;
23-
import org.neo4j.driver.util.Experimental;
23+
import org.neo4j.driver.util.Preview;
2424

2525
/**
2626
* An in-memory result of executing a Cypher query that has been consumed in full.
2727
* @since 5.5
2828
*/
29-
@Experimental
29+
@Preview(name = "Driver Level Queries")
3030
public interface EagerResult {
3131
/**
3232
* Returns the keys of the records this result contains.

driver/src/main/java/org/neo4j/driver/QueryConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
import java.io.Serializable;
2525
import java.util.Objects;
2626
import java.util.Optional;
27-
import org.neo4j.driver.util.Experimental;
27+
import org.neo4j.driver.util.Preview;
2828

2929
/**
3030
* Query configuration used by {@link Driver#queryTask(String)} and its variants.
3131
* @since 5.5
3232
*/
33-
@Experimental
33+
@Preview(name = "Driver Level Queries")
3434
public final class QueryConfig implements Serializable {
3535
@Serial
3636
private static final long serialVersionUID = -2632780731598141754L;

driver/src/main/java/org/neo4j/driver/QueryTask.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import java.util.stream.Collectors;
2727
import org.neo4j.driver.internal.EagerResultValue;
2828
import org.neo4j.driver.summary.ResultSummary;
29-
import org.neo4j.driver.util.Experimental;
29+
import org.neo4j.driver.util.Preview;
3030

3131
/**
3232
* A task that executes a query in a managed transaction with automatic retries on retryable errors.
@@ -97,7 +97,7 @@
9797
*
9898
* @since 5.5
9999
*/
100-
@Experimental
100+
@Preview(name = "Driver Level Queries")
101101
public interface QueryTask {
102102
/**
103103
* Sets query parameters.
@@ -167,7 +167,7 @@ default <T> T execute(Collector<Record, ?, T> recordCollector) {
167167
* @param <T> the final value type
168168
* @since 5.5
169169
*/
170-
@Experimental
170+
@Preview(name = "Driver Level Queries")
171171
@FunctionalInterface
172172
interface ResultFinisher<S, T> {
173173
/**

driver/src/main/java/org/neo4j/driver/RoutingControl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
*/
1919
package org.neo4j.driver;
2020

21-
import org.neo4j.driver.util.Experimental;
21+
import org.neo4j.driver.util.Preview;
2222

2323
/**
2424
* Defines routing mode for query.
2525
* @since 5.5
2626
*/
27-
@Experimental
27+
@Preview(name = "Driver Level Queries")
2828
public enum RoutingControl {
2929
/**
3030
* Routes to the leader of the cluster.

driver/src/main/java/org/neo4j/driver/SessionConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import org.neo4j.driver.exceptions.UnsupportedFeatureException;
3131
import org.neo4j.driver.reactive.ReactiveSession;
3232
import org.neo4j.driver.reactive.RxSession;
33-
import org.neo4j.driver.util.Experimental;
33+
import org.neo4j.driver.util.Preview;
3434
import org.reactivestreams.Subscription;
3535

3636
/**
@@ -162,7 +162,7 @@ public Optional<String> impersonatedUser() {
162162
*
163163
* @return bookmark implementation
164164
*/
165-
@Experimental
165+
@Preview(name = "Bookmark Manager")
166166
public Optional<BookmarkManager> bookmarkManager() {
167167
return Optional.ofNullable(bookmarkManager);
168168
}
@@ -377,7 +377,7 @@ public Builder withImpersonatedUser(String impersonatedUser) {
377377
* @param bookmarkManager bookmark manager implementation. Providing {@code null} effectively disables bookmark manager.
378378
* @return this builder.
379379
*/
380-
@Experimental
380+
@Preview(name = "Bookmark Manager")
381381
public Builder withBookmarkManager(BookmarkManager bookmarkManager) {
382382
this.bookmarkManager = bookmarkManager;
383383
return this;

0 commit comments

Comments
 (0)