diff --git a/.github/workflows/_terraform.yml b/.github/workflows/_terraform.yml index b7c38555b..f30ecee96 100644 --- a/.github/workflows/_terraform.yml +++ b/.github/workflows/_terraform.yml @@ -4,7 +4,7 @@ on: env: # mark:automatic-version - VERSION: "1.20231001.0" + VERSION: "1.0.0" jobs: plan-deploy: diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 1a0558ec7..f5fd0c7c1 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -6,7 +6,7 @@ on: env: # mark:automatic-version - VERSION: "1.20231001.0" + VERSION: "1.0.0" jobs: ci: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc92a5963..0318f4d05 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: id-token: write env: # mark:automatic-version - VERSION: "1.20231001.0" + VERSION: "1.0.0" APPLICATION_NAME: ${{ matrix.image_name }} steps: - name: Set up Docker Buildx diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 73d0f115a..6cd88eac7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ env: # Maybe we can make it part of cd.yml? # # mark:automatic-version - VERSION: "1.20231001.0" + VERSION: "1.0.0" concurrency: group: "cd-production-${{ github.workflow }}-${{ github.ref }}" diff --git a/Makefile b/Makefile index 8ca67c48e..164b73f44 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,7 @@ -# Format: -# MAJOR: This is the marketing version, e.g. 1. Don't change it. -# MINOR: This is the current version of the portal API in YYYYMMDD format. REST consumers will request -# this API from the portal with the X-Firezone-API-Version request header. -# Increment this for breaking API changes (e.g. once a quarter) -# PATCH: Increment this for each backwards-compatible release +# Format: Semver # See discussion here: https://github.com/firezone/firezone/issues/2041 -version = 1.20231001.0 +# and PR changing it here: https://github.com/firezone/firezone/pull/2949 +version = 1.0.0 .PHONY: version diff --git a/elixir/VERSION b/elixir/VERSION index c24bfb3ce..3eefcb9dd 100644 --- a/elixir/VERSION +++ b/elixir/VERSION @@ -1 +1 @@ -1.20231001.0 +1.0.0 diff --git a/kotlin/android/app/build.gradle.kts b/kotlin/android/app/build.gradle.kts index b1f772961..e7935d69e 100644 --- a/kotlin/android/app/build.gradle.kts +++ b/kotlin/android/app/build.gradle.kts @@ -46,7 +46,7 @@ android { targetSdk = 33 versionCode = (System.currentTimeMillis() / 1000 / 10).toInt() // mark:automatic-version - versionName = "1.20231001.0" + versionName = "1.0.0" multiDexEnabled = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 8e7c2799c..881004390 100755 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1086,7 +1086,7 @@ dependencies = [ [[package]] name = "connlib-client-android" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "connlib-client-shared", "ip_network", @@ -1103,7 +1103,7 @@ dependencies = [ [[package]] name = "connlib-client-apple" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "anyhow", "connlib-client-shared", @@ -1122,7 +1122,7 @@ dependencies = [ [[package]] name = "connlib-client-shared" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "anyhow", "async-compression", @@ -1152,7 +1152,7 @@ dependencies = [ [[package]] name = "connlib-shared" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "base64 0.21.5", "boringtun", @@ -1847,7 +1847,7 @@ dependencies = [ [[package]] name = "firezone-cli-utils" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "clap", "ctrlc", @@ -1860,7 +1860,7 @@ dependencies = [ [[package]] name = "firezone-gateway" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "anyhow", "async-trait", @@ -1888,7 +1888,7 @@ dependencies = [ [[package]] name = "firezone-linux-client" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "anyhow", "clap", @@ -1901,7 +1901,7 @@ dependencies = [ [[package]] name = "firezone-relay" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "anyhow", "axum", @@ -1943,7 +1943,7 @@ dependencies = [ [[package]] name = "firezone-tunnel" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "arc-swap", "async-trait", @@ -1981,7 +1981,7 @@ dependencies = [ [[package]] name = "firezone-windows-client" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "anyhow", "clap", @@ -4254,7 +4254,7 @@ dependencies = [ [[package]] name = "phoenix-channel" -version = "1.20231001.0" +version = "1.0.0" dependencies = [ "base64 0.21.5", "futures", diff --git a/rust/connlib/clients/android/Cargo.toml b/rust/connlib/clients/android/Cargo.toml index a049bbbea..55e5d1d08 100644 --- a/rust/connlib/clients/android/Cargo.toml +++ b/rust/connlib/clients/android/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "connlib-client-android" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" [lib] diff --git a/rust/connlib/clients/apple/Cargo.toml b/rust/connlib/clients/apple/Cargo.toml index e99073c93..22779e061 100644 --- a/rust/connlib/clients/apple/Cargo.toml +++ b/rust/connlib/clients/apple/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "connlib-client-apple" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" [features] diff --git a/rust/connlib/clients/shared/Cargo.toml b/rust/connlib/clients/shared/Cargo.toml index af737c0f9..e96b1d9b2 100644 --- a/rust/connlib/clients/shared/Cargo.toml +++ b/rust/connlib/clients/shared/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "connlib-client-shared" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" [features] diff --git a/rust/connlib/shared/Cargo.toml b/rust/connlib/shared/Cargo.toml index ac75dbdb8..eb7bee37d 100644 --- a/rust/connlib/shared/Cargo.toml +++ b/rust/connlib/shared/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "connlib-shared" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rust/connlib/tunnel/Cargo.toml b/rust/connlib/tunnel/Cargo.toml index 594e83c17..11aef2cec 100644 --- a/rust/connlib/tunnel/Cargo.toml +++ b/rust/connlib/tunnel/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "firezone-tunnel" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" [dependencies] diff --git a/rust/firezone-cli-utils/Cargo.toml b/rust/firezone-cli-utils/Cargo.toml index 93f02f701..623e9d2d0 100644 --- a/rust/firezone-cli-utils/Cargo.toml +++ b/rust/firezone-cli-utils/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "firezone-cli-utils" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rust/gateway/Cargo.toml b/rust/gateway/Cargo.toml index a4f596a0c..ff37d1d10 100644 --- a/rust/gateway/Cargo.toml +++ b/rust/gateway/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "firezone-gateway" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rust/linux-client/Cargo.toml b/rust/linux-client/Cargo.toml index edf747fdd..78cbc0854 100644 --- a/rust/linux-client/Cargo.toml +++ b/rust/linux-client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "firezone-linux-client" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rust/phoenix-channel/Cargo.toml b/rust/phoenix-channel/Cargo.toml index 09f267d14..c2939b8fb 100644 --- a/rust/phoenix-channel/Cargo.toml +++ b/rust/phoenix-channel/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "phoenix-channel" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rust/relay/Cargo.toml b/rust/relay/Cargo.toml index f2c650440..5e99993a6 100644 --- a/rust/relay/Cargo.toml +++ b/rust/relay/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "firezone-relay" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" edition = "2021" [dependencies] diff --git a/rust/windows-client/src-tauri/Cargo.toml b/rust/windows-client/src-tauri/Cargo.toml index 7dfbbc964..13ce44520 100755 --- a/rust/windows-client/src-tauri/Cargo.toml +++ b/rust/windows-client/src-tauri/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "firezone-windows-client" # mark:automatic-version -version = "1.20231001.0" +version = "1.0.0" description = "Firezone Windows Client" edition = "2021" diff --git a/swift/apple/Firezone.xcodeproj/project.pbxproj b/swift/apple/Firezone.xcodeproj/project.pbxproj index 80bb8b729..1741a17cb 100644 --- a/swift/apple/Firezone.xcodeproj/project.pbxproj +++ b/swift/apple/Firezone.xcodeproj/project.pbxproj @@ -587,7 +587,7 @@ ); "LIBRARY_SEARCH_PATHS[sdk=iphoneos*]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-ios/debug"; MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; - MARKETING_VERSION = 1.20231001.0; + MARKETING_VERSION = 1.0.0; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "-lconnlib"; PRODUCT_BUNDLE_IDENTIFIER = "$(inherited).network-extension"; @@ -629,7 +629,7 @@ ); "LIBRARY_SEARCH_PATHS[sdk=iphoneos*]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-ios/release"; MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; - MARKETING_VERSION = 1.20231001.0; + MARKETING_VERSION = 1.0.0; OTHER_LDFLAGS = "-lconnlib"; PRODUCT_BUNDLE_IDENTIFIER = "$(inherited).network-extension"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -673,7 +673,7 @@ "LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-darwin/debug"; "LIBRARY_SEARCH_PATHS[arch=arm64e]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-darwin/debug"; "LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(CONNLIB_TARGET_DIR)/x86_64-apple-darwin/debug"; - MARKETING_VERSION = 1.20231001.0; + MARKETING_VERSION = 1.0.0; OTHER_LDFLAGS = "-lconnlib"; PRODUCT_BUNDLE_IDENTIFIER = "$(inherited).network-extension"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -716,7 +716,7 @@ "LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-darwin/release"; "LIBRARY_SEARCH_PATHS[arch=arm64e]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-darwin/release"; "LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(CONNLIB_TARGET_DIR)/x86_64-apple-darwin/release"; - MARKETING_VERSION = 1.20231001.0; + MARKETING_VERSION = 1.0.0; OTHER_LDFLAGS = "-lconnlib"; PRODUCT_BUNDLE_IDENTIFIER = "$(inherited).network-extension"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -910,7 +910,7 @@ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; - MARKETING_VERSION = 1.20231001.0; + MARKETING_VERSION = 1.0.0; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "$(inherited)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -961,7 +961,7 @@ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; - MARKETING_VERSION = 1.20231001.0; + MARKETING_VERSION = 1.0.0; PRODUCT_BUNDLE_IDENTIFIER = "$(inherited)"; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/website/src/app/kb/administer/upgrading/readme.mdx b/website/src/app/kb/administer/upgrading/readme.mdx index 67bfe005b..04ab65a83 100644 --- a/website/src/app/kb/administer/upgrading/readme.mdx +++ b/website/src/app/kb/administer/upgrading/readme.mdx @@ -10,20 +10,16 @@ high-availability deployments. ## How versioning works in Firezone -Firezone uses a simple versioning scheme with the following structure: +Firezone uses a semantic version scheme in the following format: -`MARKETING`.`API_DATE`.`PATCH` +`MAJOR`.`MINOR`.`PATCH` -Each of these fields is described below. +Firezone is changing rapidly, so we currently recommend staying as up-to-date as +possible to make sure you have the latest bug fixes and performance improvements +in place. -| Version field | Example | Explanation | -| ------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `MARKETING` | `1` | Marketing version. Updates to this version generally constitute a new architecture or product. Updated every few years on average. | -| `API_DATE` | `20231001` | API version. Clients and gateways **must** be the same API version to function together. The Firezone admin portal supports the latest **two** API versions at the same time. Updated every 6 months on average. | -| `PATCH` | `11` | Patch version. Represents backwards-compatible bug fixes and updates that are generally recommended for all users. Updated on average every week. | - -All Firezone components follow the structure above, so it is trivial to -determine which clients work with which gateways and for how long. +All components currently have a major version of `1` -- this is not expected to +change for some time. ## Client application auto-updates