檢視原始碼 SASL 發行說明
本文件描述了對 SASL 應用程式所做的變更。
SASL 4.2.2
改進和新功能
文件已遷移為使用 Markdown 和 ExDoc。
自有 ID:OTP-18955 輔助 ID:PR-8026
SASL 4.2.1
已修正的錯誤和故障
改進了
systools:make_script
的錯誤訊息,當 .app 參數包含重複項時。將檢查的參數為 modules、applications 和 registered。自有 ID:OTP-18300 輔助 ID:PR-6389
SASL 4.2
已修正的錯誤和故障
修正 systools:make* 在執行
src_tests
時遞迴搜尋原始碼的問題。自有 ID:OTP-17752 輔助 ID:PR-5302
改進和新功能
現在,Erlang 安裝目錄可以在檔案系統上重新定位,前提是安裝的
RELEASES
檔案中的路徑是相對於安裝根目錄的路徑。release_handler:create_RELEASES/4
函式可以使用相對路徑產生RELEASES
檔案,如果其RootDir
參數設定為空字串。自有 ID:OTP-17304
SASL 4.1.2
已修正的錯誤和故障
修正 systools:make_script/1 文件中的錯誤。
自有 ID:OTP-17854 輔助 ID:PR-5596
SASL 4.1.1
已修正的錯誤和故障
使
release_handler
在升級期間更能抵抗正在退出的程序。與 sasl-4.0.1 (OTP 23.1) 中發布的 OTP-16744 相同的錯誤修正。自有 ID:OTP-17748 輔助 ID:GH-5387,PR-5389
SASL 4.1
改進和新功能
實驗性的 HiPE 應用程式已移除,以及其他應用程式中所有相關的功能。
*潛在的不相容性 *
自有 ID:OTP-16963
識別應用程式資源檔案中的新鍵 'optional_applications'。
自有 ID:OTP-17189 輔助 ID:PR-2675
從
sasl
和reltool
產生的檔案中移除時間戳記,以啟用確定性建置。自有 ID:OTP-17292 輔助 ID:PR-4685,PR-4684
SASL 4.0.2
已修正的錯誤和故障
修正當升級版本並且移除主要和相依應用程式時,相依應用程式會在主要應用程式之後停止的問題。
範例:在一個 app1 相依於 app2 的版本中,我們應該使用版本升級移除 app1 和 app2。當版本升級完成時,app1 應該在 app2 之前停止和清除,否則當其相依性移除時,app1 可能會開始崩潰。
此錯誤修復會將移除順序變更為正確的順序。
自有 ID:OTP-17113 輔助 ID:ERL-1410 PR-2882
SASL 4.0.1
已修正的錯誤和故障
使
release_handler
在升級期間更能抵抗正在退出的程序。自有 ID:OTP-16744 輔助 ID:ERL-1247,PR-2666
SASL 4.0
改進和新功能
移除 I/O 通訊協定舊請求的使用和文件。
自有 ID:OTP-15695
systools:make_script/2
現在接受要建立的啟動檔案名稱,而不僅限於RelName.boot
或start.boot
。systools:make_tar/2
現在接受extra_files
選項,以將任何額外的非發行相關檔案新增至 tar 檔案。自有 ID:OTP-16561 輔助 ID:PR-2420
systools:make_tar/1,2
現在會過濾掉發行 tarball 中包含的 erts 中的任何工具。請參閱文件以取得更多詳細資訊。*潛在的不相容性 *
自有 ID:OTP-16603
SASL 3.4.2
改進和新功能
已新增一個 socket「登錄」,可以列出目前開啟的 socket。
自有 ID:OTP-16309
SASL 3.4.1
改進和新功能
net 模組已分割為 'net' (核心) 和 prim_net (預先載入)。
自有 ID:OTP-15765
SASL 3.4
改進和新功能
將 erts 呼叫的第一個模組的名稱變更為 erl_init 而非 otp_ring0。sasl 中的 systools 已更新以反映此變更。
自有 ID:OTP-15336 輔助 ID:PR-1825
SASL 3.3
改進和新功能
新的
counters
和atomics
模組提供對可變固定字組大小變數進行高效操作的存取。自有 ID:OTP-13468
SASL 3.2.1
已修正的錯誤和故障
改進了文件。
自有 ID:OTP-15190
SASL 3.2
改進和新功能
Erlang/OTP 新增了新的記錄 API,請參閱
logger
手冊頁面,以及核心使用者指南中的 記錄 章節。對
error_logger
的呼叫會自動重新導向至新的 API,並且仍然可以使用舊的錯誤記錄器事件處理常式。但是,建議在編寫新程式碼時直接使用 Logger API。請注意以下潛在的不相容性
核心組態參數
error_logger
仍然有效,但如果使用核心組態參數logger
組態了預設處理常式的輸出目的地,則會覆寫此參數。一般來說,用於組態錯誤記錄器的參數會被用於組態 Logger 的新參數覆寫。
SASL 錯誤記錄的概念已被棄用,這表示預設情況下,SASL 應用程式不會影響記錄哪些記錄事件。
預設情況下,監視器報告和崩潰報告會由核心啟動的預設 Logger 處理常式記錄,並最終與 Erlang/OTP 的其他標準記錄事件位於相同的目的地(終端或檔案)。
進度報告預設不會記錄,但可以透過將主要記錄層級設定為 info 來啟用,例如使用核心組態參數
logger_level
。若要取得與先前版本 SASL 錯誤記錄功能的回溯相容性,請將核心組態參數
logger_sasl_compatible
設定為true
。這會防止預設的 Logger 處理常式記錄任何監視器、崩潰或進度報告。相反地,SASL 會在應用程式啟動期間新增單獨的 Logger 處理常式,負責處理這些記錄事件。SASL 組態參數sasl_error_logger
和sasl_errlog_type
指定這些事件的記錄目的地(終端或檔案)和嚴重性層級。
由於 Logger 是 Erlang/OTP 21.0 中的新功能,我們保留在此版本之後的修補程式中引入 Logger API 和功能變更的權利。這些變更可能與初始版本回溯相容,也可能不相容。
*潛在的不相容性 *
自有 ID:OTP-13295
舊的和過時的「狀態檢查」工具(模組
si
和si_sasl_sup
)已移除。*潛在的不相容性 *
自有 ID:OTP-14469
建立發行 tar 檔案時,如果 sys.config.src 存在於 $ROOT/releases/<vsn>/ 目錄中,systools 現在會包含 sys.config.src。這允許在解壓縮發行版本之後,但在安裝發行版本之前進行調整,例如解析環境變數。此功能需要一個自訂工具,該工具使用 sys.config.src 作為輸入並建立正確的 sys.config 檔案。
自有 ID:OTP-14950 輔助 ID:PR-1560
SASL 3.1.2
已修正的錯誤和故障
使用 'restart_new_emulator' 指令升級時,產生的臨時啟動檔案會使用舊版本中的 'kernelProcess' 陳述式,而不是新版本中的陳述式。現在已修正此問題。
此修正對於升級至 OTP-21 是必要的。
自有 ID:OTP-15017
SASL 3.1.1
已修正的錯誤和故障
報表瀏覽器 rb 早期無法處理不是清單的報表,例如由
error_logger:info_report({some, tuple})
產生的報表。此詞彙允許作為 error_logger 的輸入,但 rb 會指出「遇到格式錯誤的報表」。現在已修正此問題。自有 ID:OTP-13906 輔助 ID:ERL-261
SASL 3.1
改進和新功能
一般 Unicode 改進。
自有 ID:OTP-14462
由
release_handler
和reltool
產生的檔案,可能包含 Unicode 字元,現在會以 UTF-8 編碼,並以 "~tp" 或 "~ts" 格式寫入。如果該檔案要由file:consult/1
讀取,則會加入編碼註解。自有 ID:OTP-14463
SASL 錯誤記錄器事件處理器
sasl_report_file_h
,現在預設會以 UTF-8 編碼開啟其日誌檔。這可以在設定 SASL 時覆寫,請參閱 SASL 參考手冊中的設定參數sasl_error_logger
。自有 ID:OTP-14618
SASL 3.0.4
修正的錯誤與故障
.app 檔案中 'mod' 和 'start_phases' 欄位的已記錄預設值,先前不允許作為 .app 檔案中的實際值。現在已修正此問題。
自有 ID:OTP-14029
改進與新功能
由於原子包含任意 Unicode 字元而進行的雜項更新。
自有 ID:OTP-14285
SASL 3.0.3
修正的錯誤與故障
當
systools:make_script
或systools:make_relup
同時指定 'warnings_as_errors' 和 'silent' 選項時,如果發生警告,將不會返回錯誤原因。而是僅返回原子 'error'。現在已修正此問題。現在
systools:make_tar
也允許使用選項 'warnings_as_errors' 和 'no_warn_sasl'。自有 ID:OTP-14170
SASL 3.0.2
修正的錯誤與故障
code:add_pathsa/1
和命令列選項-pa
在程式碼路徑的開頭添加給定目錄列表時,都會反轉該列表。現在已記錄此行為。自有 ID:OTP-13920 輔助 ID:ERL-267
SASL 3.0.1
改進與新功能
改進了骯髒排程器的支援。現在可以執行模組清除,而無需等待所有正在進行的骯髒 NIF 呼叫完成。
請注意,當啟用骯髒排程器的支援時,從 ERTS 8.1 版開始將啟用新的清除策略。此新策略與預設使用的策略並不完全向後相容。如需更多資訊,請參閱
erlang:check_process_code/3
的文件。自有 ID:OTP-13808 輔助 ID:OTP-13833
引入了新的清除策略。在 OTP 19 版本中,預設會停用此新策略,但從 OTP 20 版本開始,它將是唯一可用的策略。
新策略與 OTP 19 中預設使用的策略略有不相容。使用預設策略,持有引用被清除模組的
fun
的程序,要么軟清除失敗,要么在硬清除期間被終止。新策略會完全忽略fun
。如果存在引用被清除程式碼的fun
,並且在清除後使用,則在使用時會引發例外。也就是說,行為將與程序在清除後收到fun
的情況完全相同。在 OTP 19 中建置 OTP 時,可以選擇啟用新策略,如果執行時間系統是使用骯髒排程器的支援來建置,則會自動啟用。
如需更多資訊,請參閱
erlang:check_process_code/3
的文件。自有 ID:OTP-13833
SASL 3.0
改進與新功能
移除了 'overload' 模組。
*潛在的不相容性 *
自有 ID:OTP-13184
SASL 2.7
修正的錯誤與故障
在升級期間,release_handler 會收集監督者 PID 列表,以便列出監督者樹中的所有程序。如果其中一個監督者(合法地)在 release_handler 可以檢查它之前退出,那麼先前會使用死掉的 PID 呼叫
sys:get_status/1
,導致'noproc'
錯誤。此問題已修正。自有 ID:OTP-13291
改進與新功能
模組
overload
已棄用,並將在 OTP 19 中移除。自有 ID:OTP-13057
改進了監督者子程序計數的實作,使其對於
simple_one_for_one
監督者的動態程序更快且更準確。自有 ID:OTP-13290
SASL 2.6.1
改進與新功能
文件改進
自有 ID:OTP-13000
SASL 2.6
改進與新功能
引入了一種機制來限制內建錯誤記錄器事件將產生的文字量。這對於限制日誌檔的大小和用於產生它們的 CPU 時間都很有用。
這種機制是實驗性的,因為如果它無法解決它應該解決的問題,則可能會更改。在這種情況下,對此機制可能會進行不向後相容的改進。
請參閱 Kernel 應用程式中 config 參數
error_logger_format_depth
的文件,以了解如何開啟此功能。自有 ID:OTP-12864
SASL 2.5
修正的錯誤與故障
移除了未記錄的升級指令
{remove_module,PrePurge,PostPurge,DepMods}
。此指令是在 OTP R7B 中為了對稱原因而加入的,但從未記錄或測試。現在已記錄現有的指令
{add_module,Mod,DepMods}
,並新增了補充指令{delete_module,Mod,DepMods}
。*潛在的不相容性 *
自有 ID:OTP-11540
改進與新功能
sasl_error_logger
設定參數現在支援值{file,FileName,Modes}
,允許日誌檔以寫入以外的模式開啟(例如,附加模式)。自有 ID:OTP-12778
SASL 2.4.1
修正的錯誤與故障
文件錯誤地指定
alarm_handler:clear_alarm/1
會清除具有 IDAlarmId
的所有警報。現在已根據實作修正此問題 - 簡單的預設處理程序只會清除具有給定AlarmId
的最新收到的警報。自有 ID:OTP-12025
SASL 2.4
修正的錯誤與故障
升級指令 'restart_application' 先前會忽略 .rel 檔案中設定的重新啟動類型,並且始終以永久方式重新啟動應用程式。現在已更改此行為,並使用 .rel 檔案中的重新啟動類型。如果重新啟動類型為 'load',則只會載入應用程式,而不會啟動。如果重新啟動類型為 'none',則不會載入或啟動應用程式,但會載入應用程式中的所有模組。(感謝 Tobias Schlager 回報此問題)
*潛在的不相容性 *
自有 ID:OTP-11716
如果
systools:make_script/2
因duplicate_modules
原因而失敗,並且未使用silent
標誌,則當systools
嘗試格式化錯誤訊息時,會發生function_clause
原因的崩潰。此問題已修正。(感謝 Jean-Sébastien Pédron)自有 ID:OTP-11819
改進與新功能
使用 'spawn' 呼叫 erlang:open_port/2 的部分已更新,以處理命令路徑中的空格。
自有 ID:OTP-10842
新增了一些文件,以說明升級包含新版本的 ERTS、Kernel、STDLIB 或 SASL 時的行為。
自有 ID:OTP-11717
SASL 2.3.4
修正的錯誤與故障
除非設定為這樣做,否則不要嘗試在 sasl 中新增 log_mf_h 處理程序。感謝 Richard Carlsson。
自有 ID:OTP-11464
修正 SASL 中關於錯誤處理程序的混淆文件。(感謝 Richard Carlsson)
自有 ID:OTP-11507
Erlang/OTP(模擬器、kernel、stdlib、sasl)核心部分升級機制中的一個錯誤,導致 stdlib 和 sasl 之間的路徑在中間 .script/.boot 檔案中切換。該錯誤是與 R15B 中的升級機制一起引入的。現在已修正此問題。(感謝 Tobias Schlager)
自有 ID:OTP-11529
改進與新功能
新增一個啟動檔案,該檔案會在啟動時跳過載入 "$HOME/.erlang" 檔案。透過使用 "erl -boot no_dot_erlang" 啟動 erlang 來啟用。
* 與 false 的不相容 *
自有 ID:OTP-8479 輔助 ID:seq11510
SASL 2.3.3
改進與新功能
在 rb 日誌中新增 Fd 使用情況。感謝 Eric Pailleau。
專屬 ID:OTP-11252
SASL 2.3.2
已修正的錯誤和故障
修正 erl_eval 中使用 BEAM 模組的接收支援。感謝 Anthony Ramine。
專屬 ID:OTP-11137
SASL 2.3.1
改進與新功能
對 systools 和 release_handler 進行了一些更新,以處理 Unicode。
專屬 ID:OTP-10782
SASL 2.3
已修正的錯誤和故障
release_handler_SUITE:otp_9864 刪除了 release_handler_SUITE_data 目錄的部分內容,因此測試套件在未重新安裝的情況下無法執行兩次。此問題已修正。
專屬 ID:OTP-10394 輔助 ID:kunagi-187 [98]
在 .app 檔案的 'modules' 列表中,不再可能使用
{Mod,Vsn}
。雖然 .app 檔案參考手冊中從未記錄過此項,但之前是可行的。不過在
application:load/[1,2]
的文件中可以看到,其中可以使用與 .app 檔案中相同的術語作為第一個引數。由於
Vsn
部分從未使用過,因此已移除此可能性。*潛在的不相容性 *
專屬 ID:OTP-10417
release_handler:upgrade_script 和 release_handler:downgrade_script 無法讀取具有正規表示式的 appup 檔案。此問題已修正。(感謝 Ulf Wiger)
專屬 ID:OTP-10463
改進與新功能
在必要時,已將註解宣告編碼新增至 Erlang 檔案。此註解旨在 Erlang/OTP R17B 將 UTF-8 設定為預設編碼時移除。
專屬 ID:OTP-10630
SASL 2.2.1
已修正的錯誤和故障
如果 sys.config 存在,但無法讀取或剖析,則在升級之後和下次節點重新啟動時才會偵測到。現在,透過在 systools:make_tar 中新增檢查,如果 sys.config 或 relup 沒有合理的內容,則會導致 tar 檔案建立失敗,從而減少了此情況發生的可能性。請注意,沒有詳細的檢查,只有剖析和 Erlang 術語格式檢查。
專屬 ID:OTP-9539
systools:make_script 允許在 .rel 檔案中使用 {kernel,Vsn,load},導致 .boot 檔案僅載入核心而未啟動核心。此問題已修正。現在僅允許核心和 stdlib 使用預設的啟動類型 'permanent'。
專屬 ID:OTP-9652
release_handler:remove_release/1 現在可以正確處理符號連結的檔案
專屬 ID:OTP-9864
如果 stdlib 在 .rel 檔案中指定的啟動類型與
permanent
不同,則 systools 會錯誤地指出 sasl 的啟動類型錯誤。此問題已修正。專屬 ID:OTP-9888
Sasl 文件先前說明 .rel 檔案中的 InclApps 參數預設為空列表。這是不正確的。它預設為與 .app 檔案中指定的值相同。此問題已修正。
專屬 ID:OTP-9980
在 .app 檔案中以
{applications,Apps}
列出的應用程式,並未被systools:make_script/1,2
正確排序。它們的順序與 .app 檔案中的順序相反。此問題已修正,現在它們會(彼此之間)按照 .rel 檔案中列出的順序(即 .app 檔案中列出的順序不再重要)排序。*潛在的不相容性 *
專屬 ID:OTP-9984
.appup 檔案的文件現在也說明
UpFromVsn
和DownToVsn
可以指定為正規表示式,以避免重複的升級指示。專屬 ID:OTP-10001
Reltool 有時會產生包含
{start_phases,undefined}
的 .app 檔案,這會在剖析時導致 systools 中發生例外狀況。此問題已修正,因此 reltool 現在會在值為undefined
時省略start_phases
項目。(感謝 Juan Jose Comellas)為了與 reltool 對齊,sasl 也會在 .script 檔案中省略值為
undefined
的start_phases
項目。專屬 ID:OTP-10003
SASL 2.2
已修正的錯誤和故障
修正升級模擬器的機制。
kernel、stdlib 和 sasl 的 appup 檔案現在可以識別兩個主要版本的先前版本,並包含 'restart_new_emulator' 指示。
Appup 檔案可以包含用於比對先前版本的正規表示式。
升級模擬器的機制已變更,因此 'restart_new_emulator' 將會是第一個執行的指示。其餘的升級指示會在模擬器重新啟動後執行。
新增一個新的升級指示 'restart_emulator',用於在所有其他升級指示之後重新啟動模擬器的情況。
*潛在的不相容性 *
專屬 ID:OTP-9438
新增 release_handler:which_releases/1
這是 which_releases 的延伸功能,可讓使用者指定他們希望傳回的發行版本的狀態。例如,它可以快速判斷哪個發行版本是 'permanent',而無需剖析整個發行版本列表。(感謝 Joe Williams)
專屬 ID:OTP-9717
在發行版本 tar 檔案中新增 releases/Vsn 中 rel 檔案的副本
systool:make_tar 將 rel 檔案儲存在 releases 目錄中。使用 release_handler:unpack_release 解壓縮時,該檔案會自動移至 releases/Vsn/。但是,如果手動解壓縮 tar 檔案,則該 rel 檔案可能不會移動,並且下一個解壓縮的發行版本可能會覆寫該 rel 檔案。為了克服此問題,systools:make_tar 現在會直接在 releases/Vsn/ 中儲存 rel 檔案的副本,並且在解壓縮後不再需要移動該檔案。
將該檔案保留在 releases 目錄中的原因也是因為在得知發行版本 (Vsn) 之前,需要先單獨解壓縮該檔案。
專屬 ID:OTP-9746
SASL 2.1.10
已修正的錯誤和故障
Windows 服務上的 release_handler 功能已損毀。此問題已修正。
專屬 ID:OTP-9306
如果新版本的應用程式未包含任何 Erlang 模組變更,則除非為該應用程式新增 'load_object_code' 指示,否則 release_handler 不會更新該應用程式的程式碼路徑。如果僅變更了 priv 目錄中的某些檔案,則這會是一個問題,因為呼叫 code:lib_dir 或 code:priv_dir 會指向應用程式的舊位置。此問題已修正 - 現在將為所有已變更的應用程式呼叫 code:replace_path/2(即,當應用程式的 vsn 在 .rel 檔案中變更時)。
專屬 ID:OTP-9402
如果未載入要刪除的模組,則 appup 指示 'delete_module' 會在升級期間導致當機。此問題已修正。
專屬 ID:OTP-9417
如果僅以 'ebin'(而非例如 './ebin')的形式給定路徑,則 systools:make_tar 會在 filename:join/1 中發生
function_clause
例外狀況而失敗。此問題已修正。(感謝 Nikola Skoric 的回報)。專屬 ID:OTP-9507
實作或修正 -Werror 選項
如果啟用 -Werror 且有警告,則不會寫入輸出檔案。同時確保錯誤/警告報告的一致性。(感謝 Tuncer Ayaz)
專屬 ID:OTP-9536
改進 release_handler:install_release 期間逾時的錯誤資訊。
此修補程式解決了升級期間會發生逾時的兩種情況。1) 如果暫停了 Supervisor(呼叫從 Supervisor 取得子系將會掛起)2) 如果 Supervisor 的子系規格不正確地說明它是具有動態模組集的 Worker(呼叫從 gen_event 取得模組將會掛起)
現在將列印錯誤報告,並且 release_handler:install_release 的傳回值會指出發生的情況。(感謝 Joe Williams)
專屬 ID:OTP-9546
改進與新功能
當系統中有很多程序時,
release_handler:install_release
可能會非常慢。為了改進這一點,erts 和 release handler 都進行了一些最佳化工作。新增一個新的選項
purge
到release_handler:check_install_release
,可以先呼叫此選項以加速release_handler:install_release
的執行速度。專屬 ID:OTP-9395
SASL 2.1.9.4
已修正的錯誤和故障
移除 release_handler 在具有 Masters 列表時從檔案系統讀取的追蹤
release_handler 和 release_handler_1 中有幾個地方假設它有一個磁碟可讀取,但在 erl_prim_loader Loader 不是 efile 的情況下,情況並非如此
新增 check_paths/2 函式,當存在 Master 清單時,執行與 check_path/1 相同的功能。
變更 get_vsn 函式,不再接收檔案路徑,改為使用 Bin,因為 beam_lib:version 函式接收檔案路徑會導致其讀取本機檔案系統。
新增 get_current_vsn/1 函式,功能等同於 beam_lib:version(code:which(Mod)),但改為使用 erl_prim_loader:get_file,而非讀取本機檔案系統。
(感謝 Steven Gravell)
問題編號:OTP-9142
rb:stop 有時會回傳 {error,running}。這源於 supervisor:delete_child,當呼叫此函式時,rb_server 尚未終止所致。現在不再使用單獨的 gen_server 呼叫 rb_server 來停止程序,改為呼叫 supervisor:terminate_child。這是一個同步函式,即它會等待程序實際終止後才會返回。
修正 rb:scan_files 中的檔案描述符洩漏問題。讀取索引檔案後,從未關閉該檔案。
修正 rb:filter 行為不一致的問題,當篩選條件包含 'no' 時,會回傳非預期的結果。此類篩選條件現在會回傳所有不符合的報告,而不僅是 'proplist' 報告。
問題編號:OTP-9149
rb:filter/2 的開始和結束日期在說明文件中指定為 {{Y-M-D},...},而非 {{Y,M,D},...}。此錯誤已修正。
問題編號:OTP-9166
如果與 log_mf_h 錯誤處理程序相關的某些但非全部的 sasl 環境變數遺失,sasl 會成功啟動,但會靜默跳過啟動 log_mf_h。此問題已修正,如果提供了三個變數中的一個或兩個,sasl 啟動現在會失敗。如果沒有提供任何變數,sasl 將像以前一樣啟動,而不啟動 log_mf_h。
問題編號:OTP-9185
改進與新功能
變更預設行為,建立發行版本時不檢查原始碼。
新增選項
src_tests
至 systools:make_script 和 systools:make_tar。舊選項no_module_tests
現在會被忽略,因為這已是預設行為。*潛在的不相容性 *
問題編號:OTP-9146,輔助編號:seq11803
SASL 2.1.9.3
改進與新功能
在建立 relup 檔案時,採用 .rel 檔案中的啟動類型。
先前,relup 檔案對於 UpTo/DowFrom 發行檔案中出現的每個應用程式,總是包含 application:start(Application, permanent) 的指令,無論它們在發行檔案中的啟動類型為何。
新的實作透過採用 rel(5) 格式中的啟動類型來修正此錯誤。如果啟動類型為 none,則 relup 中不會包含任何 apply 行。如果啟動類型為 load,則 relup 只會包含載入應用程式的指令。否則,relup 會包含依照指定類型啟動應用程式的指令。
此修正透過新增一個參數至 add_application 高階 appup 指令來實作。這個新參數已在 appup(5) 中說明。
問題編號:OTP-9097
SASL 2.1.9.2
修正錯誤與故障
在 R13B04 中,sys:get_status 被修改為在回呼模組中呼叫 format_status/2(如果模組匯出該函式)。這導致在 supervisor 模組上呼叫 sys:get_status 時,回傳的值發生變更,因為 supervisor 是一個 gen_server,而 gen_server 匯出 format_status。sasl release_handler_1 模組依賴於在 supervisor 上呼叫 sys:get_status 時,R13B04 之前的回傳值,因此 R13B04 的變更破壞了該依賴性。
此問題已透過變更 release_handler_1 來處理 R13B04 之前和 R13B04 之後,sys:get_status 從 supervisor 可能回傳的值來解決。
問題編號:OTP-8619,輔助編號:seq11570
SASL 2.1.9.1
改進與新功能
在 SASL 應用程式中,對所有
gen_server:call()
的呼叫都使用無限逾時。問題編號:OTP-8506,輔助編號:seq11509
SASL 2.1.9
改進與新功能
re:grep/1
函式現在使用 're
' 模組,而不是已棄用的 'regexp
' 模組。新增了rb:filter/1
和rb:filter/2
函式,以方便篩選報告。(感謝 Alvaro Videla。)問題編號:OTP-8443
新增了
sasl_report:format_report/3
函式,其運作方式與現有的sasl_report:write_report/3
函式類似,但它會回傳格式化字串。請注意,目前沒有關於sasl_report
模組的文件。(感謝 Jay Nelson。)問題編號:OTP-8445
根據 tidier 的建議進行清理,並將類型和規格現代化。
問題編號:OTP-8455
SASL 2.1.8
改進與新功能
現在使用大多數平台上都存在的開源工具 (xsltproc 和 fop) 建置文件。一個可見的變更是移除了框架。
問題編號:OTP-8201
SASL 2.1.7
改進與新功能
在互動模式下執行的 Windows 工具 Erlsrv 現在接受用於註冊 Windows 登錄資料庫的內部服務名稱和描述欄位的選項。
問題編號:OTP-8132
SASL 2.1.6
修正錯誤與故障
當使用 SASL 應用程式配置參數
masters
時,有時即使檔案FileName
存在,也會回傳錯誤元組{error,{no_such_file,{Master,FileName}}}
。問題編號:OTP-7667
改進與新功能
新增遺失的預先載入模組。
問題編號:OTP-7820
SASL 2.1.5.4
改進與新功能
消除了 Dialyzer 警告。
問題編號:OTP-7635
SASL 2.1.5.3
改進與新功能
小幅變更。
問題編號:OTP-7388
SASL 2.1.5.2
改進與新功能
小幅更新。
問題編號:OTP-6998
SASL 2.1.5.1
改進與新功能
小幅 Makefile 變更。
問題編號:OTP-6689
已將過時的 guard 測試 (例如 list()) 取代為現代 guard 測試 (例如 is_list())。
問題編號:OTP-6725
SASL 2.1.5
修正錯誤與故障
從
erlsrv:get_service/2
、release_handler:do_write_file/2
、systools_relup:foreach_baserel_up/7
和systools_relup:foreach_baserel_dn/7
中移除了一些無效程式碼。問題編號:OTP-6499
SASL 2.1.4
改進與新功能
在
systools
中的函式中新增了選項{outdir,Dir}
,使您可以指定啟動腳本、relup 檔案或發行套件檔案應放置在哪個目錄中。此外,當使用
systools:make_tar/2
建立發行套件檔案時,現在也會在目前的工作目錄和由path
選項指定的任何目錄中搜尋啟動腳本、relup 檔案和sys.config
,而不僅僅是在.rel
檔案的目錄中。作為此工作的一部分,已修正一些小錯誤。
systools:make_script/1,2
現在如果無法開啟.script
和/或.boot
檔案以進行寫入,則會回傳error
,而不是ok
。systools:make_tar/1,2
現在可以處理包含路徑的RelName
引數。先前,這會導致.rel
檔案在產生的 tar 檔案中放置在錯誤的目錄中。systools:make_tar/1,2
的文件錯誤:.rel
檔案放置在 tar 檔案的releases
目錄中,而不是releases/RelVsn
中。
問題編號:OTP-6226
SASL 2.1.3
修正錯誤與故障
release_handler:upgrade_app/2
和release_handler:downgrade_app/2,3
(用於根據.appup
檔案測試應用程式升級和降級)現在可以正確更新應用程式配置參數。(感謝 Serge Aleynikov)問題編號:OTP-6162
SASL 2.1.2
修正錯誤與故障
修正了 Dialyzer 在
release_handler
中發現的一些小錯誤。問題編號:OTP-6039
SASL 2.1.1
改進與新功能
在
release_handler
中新增了許多函式,使得可以根據.appup
檔案「動態」測試應用程式的升級和降級。
-upgrade_app/2
-upgrade_script/2
-downgrade_app/2,3
-downgrade_script/3
-eval_appup_script/4
問題編號:OTP-5858
SASL 2.1
改進與新功能
為
release_handler:install_release/2
新增了選項{update_paths,Bool}
。它指示是否應該更新所有應用程式程式碼路徑 (Bool==true
),或僅更新已修改應用程式的程式碼路徑 (Bool==false
,預設值)。release_handler:set_unpacked/2
現在如果指定的應用程式目錄不存在,則會回傳錯誤元組。*潛在的不相容性 *
自身 ID:OTP-5761
SASL 2.0.1
改進與新功能
修復了一個錯誤,該錯誤導致在不出現錯誤的情況下,無法呼叫
rb:show(N)
(N
為整數)兩次。自身 ID:OTP-5287