From babd2090c82e967de21987c67630a1c78f206c5b Mon Sep 17 00:00:00 2001 From: Jove Zhong Date: Fri, 28 Feb 2025 10:42:50 -0800 Subject: [PATCH] refine the release-downloads page group by major.minor --- autogenerate-downloads.sh | 88 +++++++++++++++++++++++++-------------- docs/release-downloads.md | 46 ++++++++++++-------- 2 files changed, 84 insertions(+), 50 deletions(-) diff --git a/autogenerate-downloads.sh b/autogenerate-downloads.sh index cad246ca..dafdf6de 100644 --- a/autogenerate-downloads.sh +++ b/autogenerate-downloads.sh @@ -36,49 +36,73 @@ BEGIN { latest_date[version] = date_num release_date[version] = formatted_date } + + # Extract major.minor for grouping + split(version, ver_parts, ".") + major_minor = ver_parts[1] "." ver_parts[2] + + # Store unique versions per major.minor group + if (!((major_minor, version) in version_groups)) { + version_groups[major_minor, version] = 1 + grouped_versions[major_minor] = grouped_versions[major_minor] ? grouped_versions[major_minor] " " version : version + } } END { - # Collect and sort versions + # Sort major.minor groups sort_cmd = "printf \"%s\\n\" " - for (v in version_map) sort_cmd = sort_cmd " \"" v "\"" - sort_cmd = sort_cmd " | sort -V -r" + for (v in grouped_versions) sort_cmd = sort_cmd " \"" v "\"" + sort_cmd = sort_cmd " | sort -t. -k1,1nr -k2,2nr" i = 0 - while ((sort_cmd | getline version) > 0) { - ordered_versions[++i] = version + while ((sort_cmd | getline major_minor) > 0) { + ordered_groups[++i] = major_minor } close(sort_cmd) # Generate output - for (i=1; i in ordered_versions; i++) { - version = ordered_versions[i] - - # Generate anchor ID by replacing dots with underscores - anchor = version - gsub(/\./, "_", anchor) - - # Extract major.minor version for changelog link - split(version, ver_parts, ".") - major_minor = ver_parts[1] "." ver_parts[2] - - printf "## v%s {#%s}\n", version, anchor - printf "Released on %s ([Change logs](/enterprise-v%s#%s)).\n\n", - release_date[version], major_minor, anchor - - printf "* Bare metal installation: " - - # Build platform links in preferred order - link_count = 0 - split("linux-amd64 linux-arm64 darwin-amd64 darwin-arm64", platforms, " ") - for (j=1; j<=4; j++) { - arch = platforms[j] - if ((version, arch) in pkg_map) { - if (link_count++ > 0) printf " | " - printf "[%s](https://d.timeplus.com/%s)", - platform_order[arch], pkg_map[version, arch] + for (g=1; g<=i; g++) { + major_minor = ordered_groups[g] + + minor_anchor = major_minor + gsub(/\./, "_", minor_anchor) + + printf "## %s {#%s}\n\n", major_minor, minor_anchor + + # Sort patch versions within group + split(grouped_versions[major_minor], patch_versions, " ") + sort_cmd = "printf \"%s\\n\" " + for (v in patch_versions) sort_cmd = sort_cmd " \"" patch_versions[v] "\"" + sort_cmd = sort_cmd " | sort -V -r" + + j = 0 + while ((sort_cmd | getline version) > 0) { + ordered_versions[++j] = version + } + close(sort_cmd) + + # Print each version + for (k=1; k<=j; k++) { + version = ordered_versions[k] + anchor = version + gsub(/\./, "_", anchor) + + printf "### v%s {#%s}\n", version, anchor + printf "Released on %s ([Change logs](/enterprise-v%s#%s)).\n\n", + release_date[version], major_minor, anchor + + printf "* Bare metal installation: " + link_count = 0 + split("linux-amd64 linux-arm64 darwin-amd64 darwin-arm64", platforms, " ") + for (m=1; m<=4; m++) { + arch = platforms[m] + if ((version, arch) in pkg_map) { + if (link_count++ > 0) printf " | " + printf "[%s](https://d.timeplus.com/%s)", + platform_order[arch], pkg_map[version, arch] + } } + printf "\n* All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:%s`\n\n", version } - printf "\n* All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:%s`\n\n", version } }' > docs/release-downloads.md diff --git a/docs/release-downloads.md b/docs/release-downloads.md index f25ba780..5d68d2d7 100644 --- a/docs/release-downloads.md +++ b/docs/release-downloads.md @@ -1,102 +1,112 @@ # Package Downloads -## v2.7.0 {#2_7_0} -Released on 02-27-2025 ([Change logs](/enterprise-v2.7#2_7_0)). +## 2.7 {#2_7} + +### v2.7.0 {#2_7_0} +Released on 02-28-2025 ([Change logs](/enterprise-v2.7#2_7_0)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.7.0-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.7.0-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.7.0-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.7.0-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.7.0` -## v2.6.3 {#2_6_3} +## 2.6 {#2_6} + +### v2.6.3 {#2_6_3} Released on 02-19-2025 ([Change logs](/enterprise-v2.6#2_6_3)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.6.3-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.6.3-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.6.3-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.6.3-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.6.3` -## v2.6.2 {#2_6_2} +### v2.6.2 {#2_6_2} Released on 02-14-2025 ([Change logs](/enterprise-v2.6#2_6_2)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.6.2-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.6.2-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.6.2-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.6.2-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.6.2` -## v2.6.0 {#2_6_0} +### v2.6.0 {#2_6_0} Released on 01-14-2025 ([Change logs](/enterprise-v2.6#2_6_0)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.6.0-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.6.0-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.6.0-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.6.0-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.6.0` -## v2.5.12 {#2_5_12} +## 2.5 {#2_5} + +### v2.5.12 {#2_5_12} Released on 01-09-2025 ([Change logs](/enterprise-v2.5#2_5_12)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.5.12-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.5.12-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.5.12-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.5.12-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.5.12` -## v2.5.11 {#2_5_11} +### v2.5.11 {#2_5_11} Released on 12-01-2024 ([Change logs](/enterprise-v2.5#2_5_11)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.5.11-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.5.11-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.5.11-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.5.11-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.5.11` -## v2.5.10 {#2_5_10} +### v2.5.10 {#2_5_10} Released on 11-21-2024 ([Change logs](/enterprise-v2.5#2_5_10)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.5.10-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.5.10-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.5.10-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.5.10-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.5.10` -## v2.5.9 {#2_5_9} +### v2.5.9 {#2_5_9} Released on 11-15-2024 ([Change logs](/enterprise-v2.5#2_5_9)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.5.9-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.5.9-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.5.9-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.5.9-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.5.9` -## v2.4.26 {#2_4_26} +## 2.4 {#2_4} + +### v2.4.26 {#2_4_26} Released on 02-18-2025 ([Change logs](/enterprise-v2.4#2_4_26)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.26-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.26-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.26-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.26-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.4.26` -## v2.4.25 {#2_4_25} +### v2.4.25 {#2_4_25} Released on 01-31-2025 ([Change logs](/enterprise-v2.4#2_4_25)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.25-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.25-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.25-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.25-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.4.25` -## v2.4.23 {#2_4_23} +### v2.4.23 {#2_4_23} Released on 08-22-2024 ([Change logs](/enterprise-v2.4#2_4_23)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.23-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.23-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.23-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.23-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.4.23` -## v2.4.19 {#2_4_19} +### v2.4.19 {#2_4_19} Released on 08-15-2024 ([Change logs](/enterprise-v2.4#2_4_19)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.19-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.19-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.19-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.19-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.4.19` -## v2.4.17 {#2_4_17} +### v2.4.17 {#2_4_17} Released on 08-14-2024 ([Change logs](/enterprise-v2.4#2_4_17)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.17-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.17-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.17-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.17-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.4.17` -## v2.4.16 {#2_4_16} +### v2.4.16 {#2_4_16} Released on 08-04-2024 ([Change logs](/enterprise-v2.4#2_4_16)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.16-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.16-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.16-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.16-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.4.16` -## v2.4.15 {#2_4_15} +### v2.4.15 {#2_4_15} Released on 07-31-2024 ([Change logs](/enterprise-v2.4#2_4_15)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.15-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.15-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.4.15-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.4.15-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.4.15` -## v2.3.5 {#2_3_5} +## 2.3 {#2_3} + +### v2.3.5 {#2_3_5} Released on 07-01-2024 ([Change logs](/enterprise-v2.3#2_3_5)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.3.5-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.3.5-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.3.5-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.3.5-darwin-arm64.tar.gz) * All-in-one Docker image (not recommended for production): `docker run -p 8000:8000 docker.timeplus.com/timeplus/timeplus-enterprise:2.3.5` -## v2.3.0 {#2_3_0} +### v2.3.0 {#2_3_0} Released on 06-19-2024 ([Change logs](/enterprise-v2.3#2_3_0)). * Bare metal installation: [Linux x86_64](https://d.timeplus.com/timeplus-enterprise-v2.3.0-linux-amd64.tar.gz) | [Linux ARM64](https://d.timeplus.com/timeplus-enterprise-v2.3.0-linux-arm64.tar.gz) | [macOS x86_64](https://d.timeplus.com/timeplus-enterprise-v2.3.0-darwin-amd64.tar.gz) | [macOS ARM64](https://d.timeplus.com/timeplus-enterprise-v2.3.0-darwin-arm64.tar.gz)