From e175691c389a36e6af705ae0028d906e9080a813 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Bary=C5=82a?= Date: Tue, 25 Feb 2025 11:30:30 +0100 Subject: [PATCH 1/8] README: Clarify MSRV policy --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index add26a3cea..c57399a313 100644 --- a/README.md +++ b/README.md @@ -71,12 +71,10 @@ For planned future improvements, see our [Milestones]. We invite you to discuss any issues and ask questions on the [ScyllaDB Forum] and the `#rust-driver` channel on [ScyllaDB Slack]. ## Supported Rust Versions -Our driver's minimum supported Rust version (MSRV) is 1.70.0. Any changes: -- Will be announced in release notes. -- Before 1.0 will only happen in major releases. -- After 1.0 will also happen in minor, but not patch releases. -Exact MSRV policy after 1.0 is not yet decided. +Our driver's minimum supported Rust version (MSRV) is 1.70.0. +Changes to MSRV can only happen in major and minor relases, but not in patch releases. +We will not bump MSRV to a Rust version that was released less than 6 months ago. ## Reference Documentation From 3fe9beaf6e5a2efa59192b9941eadab39b838f27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Bary=C5=82a?= Date: Tue, 25 Feb 2025 11:54:21 +0100 Subject: [PATCH 2/8] README: Remove the note about driver being in beta --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index c57399a313..d8eb3d2bb8 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,6 @@ This is a client-side driver for [ScyllaDB] written in pure Rust with a fully async API using [Tokio]. Although optimized for ScyllaDB, the driver is also compatible with [Apache Cassandra®]. -**Note: this driver is officially supported but currently available in beta. Bug reports and pull requests are welcome!** - ## Getting Started The [documentation book](https://rust-driver.docs.scylladb.com/stable/index.html) is a good place to get started. Another useful resource is the Rust and Scylla [lesson](https://university.scylladb.com/courses/using-scylla-drivers/lessons/rust-and-scylla-2/) on Scylla University. From 7c81010a2e9afcff3521357e0cd92baab230c0e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Bary=C5=82a?= Date: Tue, 4 Mar 2025 13:43:39 +0100 Subject: [PATCH 3/8] README: Describe API stability and version support --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index d8eb3d2bb8..32c75135fc 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,22 @@ For planned future improvements, see our [Milestones]. We invite you to discuss any issues and ask questions on the [ScyllaDB Forum] and the `#rust-driver` channel on [ScyllaDB Slack]. +## Version support + +The driver is considered production ready, hence its version is not 0.x. +We do however acknowledge that the API will surely need some breaking changes in +the future, which means it is not our goal to stay on 1.x forever - we will +release new major version in the future. + +The API stability guarantee we provide is that we won't release new major +versions very often. +In case of 2.0, it won't be released earlier than 9 months after release 1.0. +For further major versions this duration may be increased. + +After new major version is released, the previous major version will still +receive bugfixes for some time (exact time is yet to be determined), but new +features will only be developed for the latest major version. + ## Supported Rust Versions Our driver's minimum supported Rust version (MSRV) is 1.70.0. From 5fedae661d2b142061bfb9eac6de9e2aab23059f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Bary=C5=82a?= Date: Tue, 4 Mar 2025 13:44:56 +0100 Subject: [PATCH 4/8] scylla-cql: Add note about precise scylla-macros dependency --- scylla-cql/Cargo.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scylla-cql/Cargo.toml b/scylla-cql/Cargo.toml index e5d8a8b597..bc69991722 100644 --- a/scylla-cql/Cargo.toml +++ b/scylla-cql/Cargo.toml @@ -11,6 +11,9 @@ categories = ["database"] license = "MIT OR Apache-2.0" [dependencies] +# Important: We use precise version of scylla-macros. This enables +# us to make breaking changes in the doc(hidden) interfaces that are +# used by macros. scylla-macros = { version = "=0.7.0", path = "../scylla-macros" } byteorder = "1.3.4" bytes = "1.0.1" From a449ae519308f90d8792adf3225ff95242e1a110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Bary=C5=82a?= Date: Tue, 4 Mar 2025 15:36:02 +0100 Subject: [PATCH 5/8] scylla-macros: Remove versions from dev-dependencies Having version prevents us from publishing to crates. --- scylla-macros/Cargo.toml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/scylla-macros/Cargo.toml b/scylla-macros/Cargo.toml index 2f51e510ca..45b8fdd00f 100644 --- a/scylla-macros/Cargo.toml +++ b/scylla-macros/Cargo.toml @@ -22,11 +22,6 @@ proc-macro2 = "1.0" unnameable_types = "warn" unreachable_pub = "warn" -# When bumping major version of scylla / scylla-cql, those dependencies -# also need to be updated. Fortunately Cargo will yell very loudly if that -# is not done. -# When bumping minor versions of scylla / scylla-cql nothing bad will happen -# if we forget to update versions here. [dev-dependencies] -scylla = { version = "0.15.0", path = "../scylla"} -scylla-cql = { version = "0.4.0", path = "../scylla-cql"} \ No newline at end of file +scylla = { path = "../scylla"} +scylla-cql = { path = "../scylla-cql"} From 5d1913a8c62aeade6241d926a6840f4cbf5fe303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Bary=C5=82a?= Date: Tue, 4 Mar 2025 13:32:03 +0100 Subject: [PATCH 6/8] scylla-macros: bump version to 1.0.0 --- Cargo.lock.msrv | 2 +- scylla-cql/Cargo.toml | 2 +- scylla-macros/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock.msrv b/Cargo.lock.msrv index a8d5627b9d..c6c52715ac 100644 --- a/Cargo.lock.msrv +++ b/Cargo.lock.msrv @@ -1773,7 +1773,7 @@ dependencies = [ [[package]] name = "scylla-macros" -version = "0.7.0" +version = "1.0.0" dependencies = [ "darling", "proc-macro2", diff --git a/scylla-cql/Cargo.toml b/scylla-cql/Cargo.toml index bc69991722..6d1d6dc638 100644 --- a/scylla-cql/Cargo.toml +++ b/scylla-cql/Cargo.toml @@ -14,7 +14,7 @@ license = "MIT OR Apache-2.0" # Important: We use precise version of scylla-macros. This enables # us to make breaking changes in the doc(hidden) interfaces that are # used by macros. -scylla-macros = { version = "=0.7.0", path = "../scylla-macros" } +scylla-macros = { version = "=1.0.0", path = "../scylla-macros" } byteorder = "1.3.4" bytes = "1.0.1" tokio = { version = "1.34", features = ["io-util", "time"] } diff --git a/scylla-macros/Cargo.toml b/scylla-macros/Cargo.toml index 45b8fdd00f..cb7f9ac489 100644 --- a/scylla-macros/Cargo.toml +++ b/scylla-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla-macros" -version = "0.7.0" +version = "1.0.0" edition = "2021" rust-version = "1.70" description = "proc macros for scylla async CQL driver" From b6336f82b05a234bc69cd7cc38053eedd2f81447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Bary=C5=82a?= Date: Tue, 4 Mar 2025 13:35:48 +0100 Subject: [PATCH 7/8] scylla-cql: bump version to 1.0.0 --- Cargo.lock.msrv | 2 +- scylla-cql/Cargo.toml | 2 +- scylla-proxy/Cargo.toml | 2 +- scylla/Cargo.toml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock.msrv b/Cargo.lock.msrv index c6c52715ac..db2df2cd0a 100644 --- a/Cargo.lock.msrv +++ b/Cargo.lock.msrv @@ -1745,7 +1745,7 @@ dependencies = [ [[package]] name = "scylla-cql" -version = "0.4.0" +version = "1.0.0" dependencies = [ "assert_matches", "async-trait", diff --git a/scylla-cql/Cargo.toml b/scylla-cql/Cargo.toml index 6d1d6dc638..805bd0f516 100644 --- a/scylla-cql/Cargo.toml +++ b/scylla-cql/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla-cql" -version = "0.4.0" +version = "1.0.0" edition = "2021" rust-version = "1.70" description = "CQL data types and primitives, for interacting with Scylla." diff --git a/scylla-proxy/Cargo.toml b/scylla-proxy/Cargo.toml index 8ccbe58752..d6ff7bc8ed 100644 --- a/scylla-proxy/Cargo.toml +++ b/scylla-proxy/Cargo.toml @@ -14,7 +14,7 @@ license = "MIT OR Apache-2.0" defaults = [] [dependencies] -scylla-cql = { version = "0.4.0", path = "../scylla-cql" } +scylla-cql = { version = "1.0.0", path = "../scylla-cql" } byteorder = "1.3.4" bytes = "1.2.0" futures = "0.3.6" diff --git a/scylla/Cargo.toml b/scylla/Cargo.toml index 93601be7c4..f9ba382424 100644 --- a/scylla/Cargo.toml +++ b/scylla/Cargo.toml @@ -43,7 +43,7 @@ metrics = ["dep:histogram"] unstable-testing = [] [dependencies] -scylla-cql = { version = "0.4.0", path = "../scylla-cql" } +scylla-cql = { version = "1.0.0", path = "../scylla-cql" } byteorder = "1.3.4" bytes = "1.0.1" futures = "0.3.6" From 5026755631a77f7fc45e560ec28ed1e9878639d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Bary=C5=82a?= Date: Tue, 4 Mar 2025 13:43:29 +0100 Subject: [PATCH 8/8] scylla: bump version to 1.0.0 --- Cargo.lock.msrv | 2 +- docs/pyproject.toml | 2 +- docs/source/conf.py | 6 +++--- docs/source/quickstart/create-project.md | 2 +- scylla/Cargo.toml | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock.msrv b/Cargo.lock.msrv index db2df2cd0a..2e46d22121 100644 --- a/Cargo.lock.msrv +++ b/Cargo.lock.msrv @@ -1699,7 +1699,7 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scylla" -version = "0.15.0" +version = "1.0.0" dependencies = [ "arc-swap", "assert_matches", diff --git a/docs/pyproject.toml b/docs/pyproject.toml index e4a879d77a..ad110e9b77 100644 --- a/docs/pyproject.toml +++ b/docs/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] name = "sphinx-docs" description = "ScyllaDB Documentation" -version = "0.15" +version = "1.0" authors = ["ScyllaDB Documentation Contributors"] package-mode = false diff --git a/docs/source/conf.py b/docs/source/conf.py index e1e791a9f1..53296c0dc4 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -13,14 +13,14 @@ # -- Global variables # Build documentation for the following tags and branches -TAGS = ['v0.14.0', 'v0.15.1'] +TAGS = ['v0.15.1', 'v1.0.0'] BRANCHES = ['main'] # Set the latest version. -LATEST_VERSION = 'v0.15.1' +LATEST_VERSION = 'v1.0.0' # Set which versions are not released yet. UNSTABLE_VERSIONS = ['main'] # Set which versions are deprecated -DEPRECATED_VERSIONS = ['v0.14.0'] +DEPRECATED_VERSIONS = ['v0.15.1'] # -- General configuration diff --git a/docs/source/quickstart/create-project.md b/docs/source/quickstart/create-project.md index e1832220b1..6394eb3cc2 100644 --- a/docs/source/quickstart/create-project.md +++ b/docs/source/quickstart/create-project.md @@ -8,7 +8,7 @@ cargo new myproject In `Cargo.toml` add useful dependencies: ```toml [dependencies] -scylla = "0.15" +scylla = "1.0" tokio = { version = "1.12", features = ["full"] } futures = "0.3.6" uuid = "1.0" diff --git a/scylla/Cargo.toml b/scylla/Cargo.toml index f9ba382424..743c977e67 100644 --- a/scylla/Cargo.toml +++ b/scylla/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla" -version = "0.15.0" +version = "1.0.0" edition = "2021" rust-version = "1.70" description = "Async CQL driver for Rust, optimized for Scylla, fully compatible with Apache Cassandra™"