Clojure
工具版本

工具版本

Clojure 命令列工具可用於啟動 Clojure repl,使用 Clojure 和 Java 函式庫,以及啟動 Clojure 程式。

安裝和文件

如需更多資訊,請參閱下列文件

版本

最新的官方版本在此說明。預發行版本和舊版本可以在 儲存庫變更日誌 中找到。

1.11.2.1446 (2024 年 3 月 8 日)

  • 將預設 Clojure 版本更新為 1.11.2

  • 建立基礎的 Clojure -X:deps 程式現在採用 :dir 選項,以使用目錄內容

  • 將 tools.deps、tools.deps.cli 更新為最新版本

1.11.1.1435 (2024 年 1 月 3 日)

  • TDEPS-238 - deps.edn 檔案現在會針對規格進行驗證

  • TDEPS-239 - 將空的 deps.edn 檔案視為 {}

  • 更新多個依賴項

1.11.1.1429 (2023 年 12 月 4 日)

  • 從 1.11.1.1420 回滾 Maven 解析器依賴項更新

1.11.1.1420 (2023 年 12 月 4 日)

  • TDEPS-119 無法在寫入保護的專案目錄中啟動 CLI

  • TDEPS-256 create-basis - 指定不同的專案目錄時,應使用來解析相對的本機依賴項

  • 將所有相依性更新至最新版本

1.11.1.1413 (2023 年 8 月 26 日)

  • 無變更

1.11.1.1409 (2023 年 8 月 25 日)

  • 無變更

1.11.1.1405 (2023 年 8 月 22 日)

  • GitHub 上的 CLI 發行版本現在有二進位檔的 .sha256 檔案

1.11.1.1386 (2023 年 8 月 14 日)

1.11.1.1347 (2023 年 5 月 31 日)

  • 使用 -X 或 -T 時,接受 - 作為尾隨引數,以從標準輸入讀取其餘引數

  • 在 Windows 安裝程式中,隱藏下載進度條

  • TDEPS-247 - 修復相依性具有大扇出時堆疊溢位

  • TDEPS-249 - 在相依性擴充期間正確推入/彈出執行緒繫結

  • TDEPS-227 - 在 resolve-deps 結束時關閉相依性擴充執行緒

  • TDEPS-248 - 讓 tags 在離線時傳回已知標籤

  • 使用 tools.deps 0.18.1354

1.11.1.1273 (2023 年 4 月 3 日)

  • 修復 -Spom 中的回歸

  • 更新說明,包含 -X:deps mvn-pom,而非 -Spom(最終會移除)

  • 使用 tools.deps 0.18.1335

1.11.1.1267 (2023 年 3 月 31 日)

  • TDEPS-245 - 修復 -X:deps find-versions 在未正規化函式庫名稱中出現錯誤

  • 使用 tools.deps 0.18.1331

1.11.1.1262 (2023 年 3 月 27 日)

  • 讓本機相依性版本根據路徑進行比較

  • 使用 tools.deps 0.18.1317

1.11.1.1257 (2023 年 3 月 15 日)

1.11.1.1252 (2023 年 3 月 6 日)

  • 切換為透過基礎 :argmap 傳遞執行引數

  • 函式執行通訊協定支援 -X/-T

  • 使用 tools.deps 0.17.1297

1.11.1.1237 (2023 年 2 月 27 日)

  • 新增環境變數,可設定為暫時允許支援 http 存放庫:CLOJURE_CLI_ALLOW_HTTP_REPO

  • 移除 -R 和 -C 的已過時支援

  • 清理說明文字,說明 REPL 支援 init-opts

  • 使用 tools.deps 0.16.1285

1.11.1.1224 (2023 年 2 月 12 日)

  • 修正標籤數量龐大的儲存庫進行 git 標籤驗證時的問題

  • TDEPS-235 - 禁止 http :mvn/repos

  • TDEPS-236 - 為 clj 加入 rlwrap -m 以進行多行編輯

1.11.1.1208 (2022 年 12 月 11 日)

1.11.1.1200 (2022 年 11 月 14 日)

  • 加入 :mvn/repos 地圖支援,以設定發布和快照政策

  • TDEPS-101 在 -Spom 和 -X:deps mvn-pom 中輸出儲存庫政策

  • 使用 tools.deps.alpha 0.15.1254

1.11.1.1189 (2022 年 11 月 2 日)

  • TDEPS-233 bash 腳本修正過時的 jar 檢查變更

  • 在說明和手冊頁面中加入一些遺漏的項目

1.11.1.1182 (2022 年 10 月 26 日)

  • TDEPS-70 - 偵測 classpath 中遺漏的 jar 並自動下載

  • TDEPS-232 - 加入通用 posix 安裝程式

  • TDEPS-200 - 清除預設使用者 deps.edn

  • TDEPS-219 修正 -X:deps find-versions 找不到以字母開頭的 Maven 版本

  • 加入 :n 選項至 -X:deps find-versions,並預設為 8

  • -X:deps prep 期間,如果存在,則使用正在準備的別名的 :exec-args

  • -X:deps prep 期間,如果需要,也準備目前的專案,加入 :current 旗標以準備目前的專案,預設為 false

  • 修正 clojure.tools.cli.api/prep 中 deps/prep-libs! 的錯誤呼叫

  • 改善本地依賴目錄遺失時的錯誤訊息

  • 對於下游工具,加入新的 已知位置,以查詢最新的穩定工具版本

  • 使用 tools.deps.alpha 0.15.1244

1.11.1.1165 (2022 年 9 月 18 日)

  • TDEPS-165 使用環境變數 CLJ_JVM_OPTS 將 JVM 屬性傳遞給內部 classpath 建置程序

  • 加入支援在使用者程式執行時,將常見的 JAVA_OPTS 環境變數當作 JVM 屬性包含在內

1.11.1.1155(2022 年 8 月 5 日)

  • TDEPS-228 加入支援自動推論 Sourcehut git 網址

  • 更新 aws-api、Maven 等依賴項版本

  • 使用 tools.deps.alpha 0.14.1222

1.11.1.1149(2022 年 6 月 21 日)

  • clj -Ttools install-latest - 精進版本篩選、排序和選取最新版本的處理方式

  • 更新至 tools.tools v0.2.8

  • 使用 tools.deps.alpha 0.14.1212

1.11.1.1139(2022 年 6 月 16 日)

  • 加入 clj -Ttools install-latest API 函式和範例

  • 安裝工具:clj -Ttools install-latest :lib io.github.clojure/tools.deps.graph :as graph

  • 更新工具:clj -Ttools install-latest :tool graph

  • 修正 1.11.1.1119 版中 clj -X:deps find-versions 的回歸錯誤

  • clj -X:deps find-versions 的輸出現在提供 :git/tag 和 :git/sha

  • 更新至 tools.tools v0.2.6

  • 使用 tools.deps.alpha 0.14.1205

1.11.1.1129(2022 年 6 月 14 日)

  • 修正 -X:deps prep 在傳遞式本機依賴項中的目錄內容

  • 使用 tools.deps.alpha 0.14.1194

1.11.1.1124(2022 年 6 月 11 日)

1.11.1.1119(2022 年 6 月 9 日)

  • TDEPS-213 - 加入 -X:deps aliases 以列出可用的別名

  • TDEPS-226 - 針對 s3 下載進行更細緻的錯誤處理

  • 當無法推論 git 網址時,提供更佳的錯誤訊息

  • 使用 tools.deps.alpha 0.14.1185

1.11.1.1113(2022 年 4 月 25 日)

1.11.1.1105(2022 年 4 月 5 日)

  • 如果未指定 Clojure 版本,則預設為 Clojure 1.11.1

1.11.0.1100(2022 年 3 月 28 日)

  • 如果未指定 Clojure 版本,則預設為 Clojure 1.11.0

  • TDEPS-153修正 Maven 人工製品下載中的並行問題

1.10.3.1087(2022 年 2 月 28 日)

  • 修正 git url 遺失或未推論時的錯誤訊息

  • 即使使用 -Scp,仍將 :exec-fn 和 :exec-args 傳遞至 -X/-T

  • TDEPS-222將 pom 中的 Clojure 相依項設為編譯相依項,而非提供

  • TDEPS-203-X:deps prep 中 - 現在採用基礎設定,包括別名

  • TDEPS-197 -X:deps git-resolve-tags - 現在解析為 :git/tag 和 :git/sha

  • -X:deps tree - 現在採用基礎設定

  • -X:deps mvn-pom - 現在採用基礎設定

  • -X:deps list - 將授權縮寫清單置於資源中,並依需求載入

  • 使用 tools.deps.alpha 0.12.1158

1.10.3.1075(2022 年 2 月 2 日)

  • TDEPS-216 - 內建 :deps 別名應從類別路徑中移除專案路徑

  • 如果在 git 儲存庫中找不到 git sha,則改善錯誤

  • 如果暫態相依項的 prep 函式無法解析,則改善 prep 錯誤

  • 將 AWS 相依項升級至最新版本

  • 使用 tools.deps.alpha 0.12.1135

1.10.3.1069(2022 年 1 月 26 日)

  • 更新部分 Maven 暫態相依項以解決一些 CVE

  • 更新至 tools.tools v0.2.5

  • 新增檢查以在呼叫多個執行函式時產生錯誤

  • 使用 tools.deps.alpha 0.12.1120

1.10.3.1058(2022 年 1 月 5 日)

  • TDEPS-207修正版本範圍解析中的死結

  • TDEPS-215修正 s3 傳輸器並行載入期間的競爭條件

  • 如果 deps 專案沒有本地 deps.edn 清單,則不要追蹤它以進行快取

  • 將 maven-core 更新至 3.8.4,aws libs、tools.build、tools.tools 更新至最新

  • 使用 tools.deps.alpha 0.12.1109

1.10.3.1040(2021 年 12 月 1 日)

  • 新增 clj -X:deps list,用於列出所有傳遞依賴項及其授權資訊的完整集合 - 請參閱 文件

  • 改善使用 -T-X:deps find-versions 處理未知工具的錯誤

  • 使用 tools.deps.alpha 0.12.1084

1.10.3.1029(2021 年 11 月 8 日)

1.10.3.1020(2021 年 11 月 5 日)

  • TDEPS-83 當本機依賴項清單變更時,使類別路徑快取失效

  • 新增 clj -X:deps list 程式,用於列出類別路徑上的完整函式庫集合,請參閱 API 文件 以取得更多資訊

  • 將依賴項升級至較新的版本 - aws-api、jetty-client 等

  • 清除 -X/-T 的例外狀況處理

  • 使用 tools.deps.alpha 0.12.1067

1.10.3.998(2021 年 10 月 26 日)

  • 從 brew 公式中移除 bottle :unneeded(不再需要)

  • TDEPS-209 僅從 Maven 製成品中將 jar 檔案包含在類別路徑中

  • 更新至 tools.tools v0.2.1(clj -Ttools list 中的小幅改進)

  • 使用 tools.deps.alpha 0.12.1058

1.10.3.986(2021 年 9 月 22 日)

  • 修正本機 pom 模型建置的巢狀工作階段快取計算

  • 使用 tools.deps.alpha 0.12.1048

1.10.3.981(2021 年 9 月 21 日)

  • 更新至最新的 AWS API 函式庫

  • 將 Maven 解析器函式庫降級,以更好地匹配 Maven 核心函式庫

  • 使用 tools.deps.alpha 0.12.1041

1.10.3.967(2021 年 9 月 1 日)

  • 改善執行例外狀況,以區分缺少命名空間與命名空間中缺少函式

  • 使用 tools.build 取代基於 Maven 的建置程序

  • 編譯 tools.deps 中用於建置類別路徑的進入點,以提升效能

  • 使用 tools.deps.alpha 0.12.1036

1.10.3.943(2021 年 8 月 13 日)

  • TDEPS-199 在 S3 傳輸器中使用預設的 http-client

  • 快取儲存庫的 S3 傳輸器

  • 修正會話快取,使其在執行緒/繫結堆疊之間正常運作,以提升效能

  • 將特定 Maven 版本範圍要求替換為非範圍要求,以減少儲存庫的元資料查詢

  • 為效能載入並快取 Maven 設定一次

  • 快取版本範圍解析結果以提升效能

  • 使用 tools.deps.alpha 0.12.1019

1.10.3.933(2021 年 7 月 28 日)

  • deps.edn

    • git deps

      • 如果 git 函式庫名稱遵循儲存庫慣例名稱,現在可以推斷 :git/url:git/url 也可以明確指定,並且優先)

      • 現在可以指定 :git/tag 和字首 :git/sha,而不是完整的 sha。兩者都必須指向相同的提交。

      • :sha 已重新命名為 :git/sha,但原始名稱仍支援,以維持向後相容性

    • :deps/prep-lib - 可以使用新的頂層金鑰來說明在將來源函式庫新增至類別路徑之前,應如何準備該函式庫。此金鑰的值是一個包含 :alias:fn:ensures 的對應。請參閱 準備文件 以取得更多資訊。

    • :tools/usage - 可以使用新的頂層金鑰為工具提供 :ns-default:ns-aliases 內容

  • 工具 - 可以使用本地名稱安裝的基於 git 的程式。工具可以在 deps.edn 中提供自己的使用內容。

    • 新增名為 tools 的自動安裝工具,其中包含 函式 installlistremove。請參閱 參考

    • 使用 clojure -Ttools install <lib> <coord> :as <toolname> 安裝工具

    • 使用 clojure -T<toolname> fn 執行工具(也接受 -X 樣式的引數)

  • Clojure CLI

    • 新的 -T 選項類似於 -X(執行函式),但不會使用專案類別路徑,而是使用工具類別路徑(並預設新增 :paths ["."])。-T:aliases 否則與 -X 相同。-Ttoolname 透過名稱解析已命名工具,並使用該工具函式庫。

    • TDEPS-198 - 如果使用過 future/agent,-X-T 將不會等待退出

    • TDEPS-182 - 改進不建議使用的訊息,使其更準確

    • TDEPS-183 - 修復 -Sdescribe 輸出,使其在 Windows 上成為有效的 EDN

    • TDEPS-179 - 修復當 :classpath-overrides 移除了路徑時,類別路徑不正確

    • 延遲計算本地儲存庫路徑(不要在載入時計算)

    • 使用 tools.deps.alpha 0.12.1003

  • 新的 -X:deps 程式

    • find-versions - 尋找 Maven 或 git 函式庫或工具的版本

    • prep - 用於 準備 來源程式庫

    • help/dir - 列出工具命名空間中可用的函式

    • help/doc - 列出工具命名空間或函式的文件

來源程式庫和組建 中閱讀更多資訊。

1.10.3.855(2021 年 5 月 25 日)

  • 修正使用 -X 執行時套用 :jvm-opts 的問題(Windows)

1.10.3.849(2021 年 5 月 21 日)

  • 新增支援 -X 呼叫中的 尾隨 kvs 清單(類似於 Clojure 1.11 尾隨清單到變數參數呼叫)

  • 將所有 Maven 相依項更新至最新版本(maven-resolver 1.7.0、maven core 1.8.3)以解決這些 安全性疑慮

    • CVE-2020-13956 - 升級 Maven 使用的 Apache HttpClient 相依項

    • CVE-2021-26291 - 有關 Maven 儲存庫的潛在安全性問題

      • 由於可能發生中間人攻擊,預設情況下已封鎖 http 儲存庫存取。tools.deps/Clojure CLI 一直在預設儲存庫清單(central 和 clojars)中使用 https 儲存庫,因此這主要影響在 deps.edn 中定義的任何明確 http 儲存庫

      • 擔心傳遞式 pom 相依項(或其超級 pom)會「劫持」儲存庫網址,從惡意儲存庫下載人工製品。Maven 在此處未進行任何變更,但澄清了 此頁面 上儲存庫的解析方式。從相依項的角度來看,我們只使用在頂層 deps.edn 中宣告的儲存庫(如果傳遞式相依項需要自訂儲存庫,您也需要在頂層新增它)。對於 tools.deps 使用 pom 相依項,我們會提供頂層 deps.edn 檔案的儲存庫(應始終優先放置 Maven Central 和 Clojars),然後將其餘部分委派給 Maven。

  • 使用 tools.deps.alpha 0.11.922

1.10.3.839(2021 年 5 月 12 日)

  • 修正 1.10.3.833 中的 Linux 安裝程式中斷問題

1.10.3.833(2021 年 5 月 11 日)

  • TDEPS-177 - 修正 Maven 鏡像以透過 ID 查詢,而非名稱

  • 在擷取 git 相依項時移除旗標,以便舊版 git 可以正常運作

  • 調整一些警告訊息

  • 清理腳本以簡化變數替換

  • 使用 tools.deps.alpha 0.11.918

1.10.3.822 (2021 年 4 月 3 日)

  • 修正 git deps 的問題,其中分支上的新提交未擷取

1.10.3.814 (2021 年 3 月 16 日)

  • git deps:從使用 jgit 切換為外殼 git(必須為 git >= 2.5)

    • 新的環境變數用於控制

      • GITLIBS_COMMAND - 外殼 git 時要呼叫的命令,預設值 = git

      • GITLIBS_DEBUG - 設定為 true 以列印 git 命令和輸出至 stderr,預設值 = false

  • 僅在無法解析 sha 時才執行 git fetch 以提升效能

  • 將 tools.cli 和 aws api 的依賴版本升級為最新版本

  • 使用 tools.deps.alpha 0.11.905

1.10.2.796 (2021 年 2 月 23 日)

  • 修正 clj -X:deps git-resolve-tags 以更新 sha 以符合標籤

  • 使用 pom.xml 的 git 或本機依賴項的效能改善

  • 使用 tools.deps.alpha 0.9.884

1.10.2.790 (2021 年 2 月 19 日)

  • 新增 -version 和 --version 選項

  • TDEPS-56 - 修正 main-opts 和 jvm-opts 在空白處的字詞拆分

  • TDEPS-125 - 如果有設定,使用 JAVA_CMD(感謝 Gregor Middell!)

  • 如果 :paths:extra-paths 參照專案根目錄以外的目錄,則新增警告(未來將變為錯誤)

  • 使用 tools.deps.alpha 0.9.871

1.10.2.774 (2021 年 1 月 26 日)

  • 改善 git 依賴項版本關係無法確定的錯誤

  • 切換至 1.10.2 作為預設的 Clojure 版本

  • 使用 tools.deps.alpha 0.9.863

1.10.1.763 (2020 年 12 月 10 日)

  • 設定 -X ex-info 錯誤的結束代碼

  • 同步說明中的別名 CLI 語法

  • 使用 tools.deps.alpha 0.9.857

1.10.1.754 (2020 年 12 月 7 日)

  • clj -Stree / clj -X:deps tree 的新、更具資訊性的樹狀格式

  • 新增 選項 以搭配 clj -X:deps tree 使用

  • 使用 tools.deps.alpha 0.9.857

1.10.1.739 (2020 年 11 月 23 日)

  • 修正使用 jdk 設定檔啟用在具有 pom 檔案的本機依賴項

  • 修正 -X 的錯誤處理,避免重複拋出

  • 新增未帶別名的 -A 的錯誤處理

  • 使用 tools.deps.alpha 0.9.840

1.10.1.727 (2020 年 10 月 21 日)

  • 修正 clj -X:deps tree 將 tools.deps.alpha 加入 tree

  • 修正 clj -X:deps mvn-pom 將 tools.deps.alpha 加入 pom 依賴項

  • 修正 clj -X:deps git-resolve-tags 無法運作

  • TDEPS-169 - 修正 clj -X:deps mvn-install 在 jar 上,也會安裝嵌入式 pom

  • 修正 clj -Spom 不尊重 -A 的依賴項修改(回歸)

  • 使用 tools.deps.alpha 0.9.833

1.10.1.716 (2020 年 10 月 10 日)

  • 讓 edn 讀取容忍未知的標記文字

  • 更新 maven-resolver 和 aws-api 的最新依賴項

  • 使用 tools.deps.alpha 0.9.821

1.10.1.708 (2020 年 10 月 7 日)

  • 修正處理傳遞依賴項,當在依賴項擴充中發現較新版本的依賴項

  • TDEPS-168 - 改進 -X 錯誤訊息處理

  • 使用 tools.deps.alpha 0.9.816

1.10.1.697 (2020 年 9 月 25 日)

  • 新增 執行模式 (-X)

  • 新增 準備模式 (-P)

  • 擴充 main 執行 (-M) 以支援所有 argmap 引數

  • 新增 命名空間解析 的新 argmap 屬性

    • :ns-aliases 和 :ns-default

  • 新增 clojure.tools.cli.api 可透過 -X:deps 別名取得

    • clj -X:deps git-resolve-tags

    • clj -X:deps mvn-install

    • clj -X:deps mvn-pom

    • clj -X:deps tree

  • 已過時 -R、-C(改用 -X、-M 或 -A)

  • 已過時 deps.edn 中未限定的函式庫名稱(使用完全限定的函式庫名稱)

  • 已過時別名工具引數 :deps 和 :paths(使用 :replace-deps 和 :replace-paths)

  • 已移除 -O(使用 -X、-M 或 -A)

  • 已移除 -Sresolve-tags(使用 -X:deps git-resolve-tags)

  • TDEPS-152 - 修正 -Spom 產生與 srcDirectory

  • TDEPS-155 - 改善對錯誤座標的錯誤處理

  • TDEPS-167 - 處理 pom deps 中的絕對資源路徑

  • 使用 tools.deps.alpha 0.9.810

1.10.1.561(2020 年 7 月 17 日)

  • 當相同 lib/版本中排除設定不同時,重新處理排除處理

  • 使用 tools.deps.alpha 0.8.709

1.10.1.547(2020 年 6 月 11 日)

  • (Windows)將 -Spath 寫入輸出,而非寫入主機

  • TDEPS-152 - 修復 pom gen 中錯誤新增 srcDirectory

  • TDEPS-155 - 新增錯誤檢查,以檢查遺失的 :mvn/version

  • 使用 tools.deps.alpha 0.8.695

1.10.1.536(2020 年 2 月 28 日)

  • 發布自動化工作,無工具變更

1.10.1.510(2020 年 2 月 14 日)

  • TDEPS-150 - 修復支援 -Scp 旗標的回歸(避免解析 deps)

  • TDEPS-148 - 修復 git/local dep 中未包含 deps.edn 的不正確路徑解析

  • 使用 tools.deps.alpha 0.8.677