# Changelog

## 2026.09.24

- 新增 macOS 版本，每次發布會一併提供 Apple Silicon 版下載（需 macOS 13 以上；Intel Mac 需自行打包，首次開啟需手動解除系統限制）
- 修復 macOS 自動下載的 Chrome 因解壓縮損毀而無法啟動 (#421)
- 修復拓元沒有圖形驗證碼的活動卡住不動，等待一個不存在的驗證碼後暫停
- 修復拓元剩餘座位不足設定張數仍選入該區 (#358)
- 拓元與 Ticketmaster 的「自動刷新頁面間隔」設為 0 時，日期頁與區域頁停止自動刷新 (#396)
- 修復寬宏選不到有票的票區、重整後卡住，以及驗證碼錯誤後每次重試空等 24 秒
- 新增寬宏圖形選位在空位不足時自動刷新一次，仍無位則改選其他票區 (#427)
- 修復寬宏設定多個區域關鍵字並開啟自動遞補時，第一個關鍵字售完就改選其他區，沒有先嘗試後面的關鍵字
- 年代售票開啟「自動選擇區域」時，會自動切換為電腦配位
- 修復 FunOne 搶票成功後誤判售罄並重整，跳出瀏覽器提示視窗導致流程卡死
- 修復 FunOne 被導回首頁時程式中斷 (#424)
- 修復 KKTIX 單一購買資格時未填會員序號而卡住 (#403)
- 改善 KKTIX 登入的人機驗證與帳密錯誤回報，不再反覆重試；並修復驗證未通過卻被當成登入成功（KKTIX、cityline）
- 新增 TicketPlus 卡友專屬活動自動填入信用卡前六碼，並自動勾選同意條款（不會勾到加購、捐贈或行銷選項）
- 修復 TicketPlus 下一步點不到與隱藏提示視窗誤判為排隊 (#389)
- 修復排除關鍵字在改選第一個可選項時失效，仍可能選到輪椅、身障席
- 封鎖 iBon 正式站會員追蹤程式與多站廣告追蹤
- 設定頁固定分頁列與操作列，操作按鈕改為置中，儲存按鈕改用高對比配色，並更正 TicketPlus 卡友驗證的填寫說明
- 新建立的設定檔預設開啟「輸出除錯訊息」（既有設定不變）
- 更新驗證碼辨識使用的影像處理套件，修補多項安全漏洞

## 2026.08.17

- 修復 TicketPlus 搶票失敗的提示視窗被誤判為排隊，導致程式卡住不動的問題 (#389)
- 改善 TicketPlus 送出訂單後的反應速度，改為即時偵測結果，不再固定等待數秒

## 2026.08.07

- 預設排除關鍵字新增「愛心」，避免自動選到愛心票（僅影響新建立的設定檔，既有使用者需自行於設定頁加入）
- 修復 Ticketmaster 停在活動詳情頁不動、無法自動進入購票頁的問題 (#378)
- 修復 Ticketmaster 未依設定張數購買，可能買到少於或多於設定張數的問題 (#378)
- 新增 Ticketmaster 支援「不足張數仍購買」選項，設定頁不再隱藏此選項 (#378)
- 修復結帳頁「確定要取消訂單」的提示被程式自動按下確定的問題
- 修復程式會關掉使用者自行開啟分頁的問題
- 修復程式所在路徑含有空白時，新增的實例無法啟動的問題 (#378)
- 改善 Ticketmaster 等待開賣時的重新整理頻率，改依「自動刷新頁面間隔」設定，降低 IP 被暫時封鎖的風險
- 修復 Ticketmaster 張數不足時停在同一頁、不再重新整理而錯過退票的問題
- 優惠碼設定現在可用於 Ticketmaster 的促銷碼頁面
- 修復 KKTIX 限定資格票券（信用卡優先購、會員序號）選完張數後不會自動點下一步的問題 (#377, #375)
- 改善 KKTIX 自動登入未成功時的訊息，可分辨是人機驗證攔截、欄位未載入或連線中斷 (#374)
- 修復瀏覽器連線中斷後程式持續空轉卻無任何提示的問題，現在會提示需重新啟動
- 封鎖 iBon 會員追蹤程式，避免會員編號與信箱遭上傳

## 2026.07.02

- 新增多開功能，可同時執行多組設定並行搶票，於設定頁以分頁管理各組 (#294, #305)
- 多開各組支援獨立暫停、停止、預約排程與重複執行，日誌標示所屬來源
- 修復 TixCraft 詳情頁網址帶錨點（如 #intro）時，開賣後自動跳轉失效、卡在詳情頁無法前往購票的問題
- 修復 iBon 日期選擇未套用「排除關鍵字」，多場次同日開賣時無法排除不想要的票種（如單日票）的問題 (#368)
- 修復 cityline 香港場（.com.hk）登入後被要求第二次登入卻卡在驗證、無法繼續購票的問題 (#366)
- 修復 cityline 選票時未依「區域關鍵字」與排序方式選擇、畫面不斷重整跳動的問題 (#367)
- 修復遠大售票登入後停在活動頁、無法自動點選「立即購買」進入購票流程的問題 (#308, #354)

## 2026.06.11

- 修復寬宏售票同一日期分多種票券（正式票／福利券）時，由上往下選擇仍誤選福利券、且排除關鍵字無效的問題 (#357)
- 修復寬宏售票需登入才能購買時誤觸發閒置等待、導致流程停滯的問題
- 修復 iBon 多場次同日開賣時，無法依票種名稱（如雙日通行證）正確選擇場次的問題
- 改善 KKTIX 票券比對速度並精簡日誌輸出
- 強化 iBon 反偵測，封鎖第三方行銷追蹤網域以降低搶票被識別的風險
- 日誌預設顯示時間戳記，方便對照搶票操作時序
- 修復寬宏（kham.com.tw）在確認不相鄰座位步驟時整個搶票視窗意外關閉的問題 (#361)
- 修復 iBon 非實名制活動在完成條款勾選後整個搶票視窗意外關閉的問題

## 2026.06.04

- 修復 TixCraft 同時有多種票價的場次偶發無法送出、卡在原頁的問題 (PR #329 by @Yicheng-1218)
- 修復 TicketPlus 佇列偵測因全域透明遮罩造成誤判，導致非排隊狀態被誤認為排隊的問題 (PR #355 by @joy40217)

## 2026.06.03

- 新增拓元家族「不足張數仍購買」開關，開啟後可在設定張數不可選時改買較少張數，預設關閉避免誤購
- 新增 TixCraft 軟鎖（白畫面）等待秒數自訂設定，可依場次狀況縮短等待時間 (#335)
- 新增設定頁面英文介面支援，中英文可切換顯示
- 改善 TixCraft 選區速度，批次預讀取區域資料大幅降低搶票延遲
- 修復「排除關鍵字」欄位留空時，所有日期與區域被誤判為排除，導致自動選擇完全失效的問題 (PR #346 by @joy40217)
- 修復預約開賣計時器阻塞事件迴圈，導致程式偶發卡住的問題
- 修復 TixCraft 驗證填寫在答案含特殊字元或優惠碼為空時的異常

## 2026.05.17

- 新增 TixCraft 驗證題自動填入「優惠代碼」作為最終回退，方便 Weverse 預購等需輸入會員編號的場次
- 新增 TixCraft 與 Ticketmaster 排隊頁（Queue-IT）偵測，進入虛擬等候室時自動等待通過

## 2026.05.14.01

- 修復 iBon、KKTIX、TicketPlus 搶票失敗後「已售完」、「別人搶先一步」、「已無可配座位」等彈窗未自動關閉，導致流程卡住的問題 (#323, #324)
- 修復 iBon 設定 Cookie 後未重新載入頁面，導致直接前往搶票頁時觸發登入跳轉的問題 (#325)

## 2026.05.14

- 修復 iBon 持卡人優先購票驗證頁（信用卡前四碼）未自動填入並送出，導致搶票卡住的問題 (#318)
- 修復 TixCraft 在活動開賣前進入詳情頁時被自動跳轉，造成手動重新整理失效的問題 (#278)
- 修復 TicketPlus 排隊送出後伺服器回傳「購票失敗 / 您選擇的票種已售完」彈窗時程式停滯無法繼續搶票的問題 (#308)
- 修復 TicketPlus 日期列表改版後無法選擇場次的問題
- 改善 TicketPlus 嚴格模式日誌：當指定區域剛好售完時，明確標示「等待退票」而非誤導性訊息
- 修復 iBon 進入首頁時跳出的會員公告彈窗無法自動關閉，導致搶票流程卡住的問題
- 修復 iBon 購票競爭頁等待逾時後跳出「已售完」彈窗，導致程式卡住無法繼續搶票的問題 (#315,#319)

## 2026.04.23

- 新增 TixCraft EPS IP 封鎖偵測，遭封鎖時自動提示
- 新增 Discord / Telegram 自訂通知訊息功能，測試按鈕同步使用自訂格式
- Discord 與 Telegram 通知訊息整合為單一輸入欄位
- 修復 iBon 驗證碼偵測流程、關鍵字正規化，新增 EventBuy 售完自動偵測
- 修復 KKTIX 售完關鍵字覆蓋不完整，補全更多變體確保自動重整
- 修復 Cityline 搶票流程卡頓與彈窗處理異常
- 修復 TixCraft 驗證碼重載例外靜默略過問題
- 提升 TicketPlus 操作速度

## 2026.04.07

- 改善 TixCraft / TicketMaster.sg 驗證碼辨識準確率（99.5% 以上），系統自動套用最佳模型
- 新增驗證碼答案 yii2 Hash 預驗證機制，可在送出前提前發現錯誤答案並自動修正，減少多餘的重試
- 改善「預約搶票時間」功能：支援完整日期格式（YYYY/MM/DD HH:MM:SS），並在倒數期間顯示進度
- 修復「預約搶票時間」設定後仍有部分平台提前啟動的問題

## 2026.04.01

- 修復 iBon 驗證碼流程中斷及被踢回首頁後無法自動返回搶票頁的問題 (#279)
- 修復遠大售票（TicketPlus）刷新間隔與區域選擇異常 (#279)
- 修復 TixCraft Cookie 同意彈窗阻擋搶票操作的問題，確保彈窗關閉後程式才繼續執行 (#280,#282,#276)
- 新增 Cityline 登入流程中 Cloudflare Turnstile 自動解題功能
- 修復 KKTIX 需要資格驗證的購票專區（如卡友專區）無法自動配位的問題 (#275)
- 修復 KKTIX 票已售完彈窗關閉後頁面停滯不重新整理的問題 (#274)
- 修復多個平台被踢出後無法自動返回首頁的問題（TixCraft、KKTIX、FunOne、Cityline）
- 修復 FunOne 關鍵字無法正確偵測票已售完的問題，並修復區域備援邏輯 (#281)
- 改善 TixCraft 日期選擇迴圈效能
- 改善遠大售票刷新機制，改為點擊頁面內建「更新票數」按鈕，降低每輪刷新延遲

## 2026.03.14

- 將瀏覽器引擎從 nodriver 遷移至 zendriver，支援 Chrome 145 以上版本（實驗功能）
- 將 11 個平台邏輯拆分為獨立模組，提升程式碼可維護性
- 新增設定頁面依平台自動顯示/隱藏相關欄位
- 新增驗證碼 OCR 由各平台共用統一模組
- 改善設定頁面平台偵測效率，減少不必要的畫面操作
- 精簡設定頁面說明圖示的載入方式


## 2026.03.10

- 新增設定頁面各欄位的功能說明連結
- 修復部分平台操作失敗時無錯誤提示的問題
- 開放開發文件（入門指南、開發規範、機制說明、API 參考等）

## 2026.03.07

- 新增「自訓練模型」OCR 開關，可在設定頁面切換自訓練模型與 ddddocr 官方模型
- 內建通用 OCR 模型，開啟後自動載入，無需手動設定路徑
- 新增 FANSI GO 帳號密碼登入功能
- 新增 FANSI GO Cookie 格式自動偵測，相容多種格式
- 修復 FANSI GO Cookie 注入後仍被導向登入頁的問題 (Issue #266)
- 修復票數不足時自動選擇最大可用數量，不再回退為 1 張 (Issue #255)
- 修復 iBon 售完區域因 CDN 快取過期導致重複跳轉的問題

## 2026.03.05

- 新增 Telegram Bot 通知功能，支援多個聊天室 ID，可在設定頁面直接測試 (PR #264 by @laneser)
- 改善 Telegram/Discord 通知安全性：Bot Token 欄位改為密碼遮罩、新增格式驗證、錯誤訊息不再洩露敏感資訊
- 修復 Cloudflare 驗證後誤判的問題，避免重複觸發驗證流程
- 修復 HK Ticketing 日期選擇邏輯，簡化 type02 處理方式
- 修復 FunOne 驗證碼流程與結帳頁面處理
- 移除舊版 config_launcher，簡化建置流程

## 2026.02.15

- 新增 Cloudflare 驗證頁面自動偵測與處理，避免搶票流程中斷
- 新增 Discord Webhook 測試按鈕，可在設定頁面直接測試通知是否正常
- 新增 iBon Queue-IT 排隊偵測，自動記錄進入/離開時間與等待秒數
- 新增 iBon live.map CDN 快速選區功能，跳過 DOM 解析直接進入下一步
- 新增 iBon 彈窗自動關閉（售罄提示等），結帳頁面保留手動處理
- 修復 KKTIX 選位活動視窗自動關閉的問題，新增 #/booking 選位頁面自動處理 (Issue #256)
- 修復設定檔載入錯誤時程式無提示卡住的問題，現改為顯示錯誤訊息並正常結束
- 修復設定檔欄位缺失時自動補齊的覆蓋範圍（帳號、Cityline 等區段）
- 修復命令列參數路徑解析因縮排錯誤而失效的問題
- 修復 TicketPlus 新版雙層展開面板無法選票的問題

## 2026.02.12

> **重大更新**：本版本移除舊版 Selenium 引擎與 Chrome 擴充套件，僅保留 NoDriver 引擎。如需使用舊版引擎，請下載 2026.02.09 或更早的 Release 版本。

- 新增「顯示時間戳記」設定，所有輸出可統一加上時間標記 (Issue #211)
- 統一除錯訊息輸出系統，改善日誌可讀性 (Issue #211)
- 修復啟動時密碼加密功能導致的當機問題 (Issue #247)
- 修復 HK Ticketing 票數設定未正確套用的問題 (Issue #232)
- 移除舊版 Selenium 引擎與 Chrome 擴充套件，簡化系統架構

## 2026.02.09

- 新增 FANSI GO 平台支援
- 修復 寬宏售票 UTK0205 座位頁驗證碼無法輸入與送出問題 (Issue #216)
- 修復 拓元系網站未遵守自訂刷新頻率設定問題 (Issue #220, #223)
- 修復 OCR 驗證碼在手動模式下重複覆蓋使用者輸入問題 (Issue #248)

## 2026.02.03

- 新增 設定檔 Hot Reload 功能，搶票中可即時修改設定無需重啟 (PR #231 by @Yurains)
- 新增 Chrome 自動下載功能，系統未安裝 Chrome 時自動下載 portable 版本
- 新增 拓元系網站刷新速度警告，間隔低於 8 秒時提示 IP 封鎖風險
- 修復 TicketPlus 售完時顯示錯誤訊息問題，現支援自動刷新等待票券釋出
- 修復 KKTIX 會員碼無法自動輸入問題 (Issue #224)
- 修復 密碼加密機制導致登入失敗問題 (Issue #235, #233, #227)

## 2026.01.20

- 新增 FunOne Tickets 全功能平台支援
- 修復 遠大售票渲染區域選擇問題
- 修復 TixCraft Cookie 網域對應 (iNDIEVOX、Ticketmaster SG)

## 2026.01.09

- 修復 KHAM/ticket.com.tw 座位選擇對話框處理與跨排座位支援
- 修復 TixCraft 家族平台 Cookie 登入失效問題 (Issue #207)
  - iNDIEVOX、Ticketmaster SG Cookie domain 設定修正

## 2026.01.07

- 修復 iBon 多票種選擇：支援關鍵字匹配與排除關鍵字過濾
- 修復 iBon 驗證碼自動提交：正確檢查任意票種已選狀態
- 修復 iBon 售罄票區無限輪迴問題，自動返回票區選擇頁
- 優化 iBon 購票流程：先選票數再處理驗證碼

## 2026.01.05

- 修復 HKTicketing 日期選擇：正確驗證關鍵字匹配並支援回退機制
- 修復 TicketPlus 票種選擇失敗時自動重載功能
- 優化 TicketPlus Vue.js 偵測機制，加快頁面載入速度
- 修復 iBon 頁面載入前誤判售罄問題
- 清理 NoDriver 冗餘程式碼，提升整體效能
- 調整 Discord 通知時機，只在完成訂單時發送

## 2025.12.26

- 新增 iBon Cloudflare 驗證偵測機制（最長等待 15 秒）
- 修復 iBon 票價關鍵字匹配問題（如「2,499」無法匹配）
- 修復 iBon 驗證表單頁面類型偵測，避免不必要的等待延遲
- 修復 iBon 雙欄位驗證表單智慧提取功能
- 新增手機末X碼、前X碼自動提取支援
- 修正設定指南：驗證問題設定位置改為「使用者自定字典」

## 2025.12.24

- 修復 TixCraft 多票種頁面無法選擇指定票種的問題 (Issue #200/#201)
- 新增 tour.ibon.com.tw 新版介面自動化支援
- 新增 iBon 購票驗證表單自動填寫功能
- 新增 UDN 半自動登入操作指南

## 2025.12.21

- 修復 TixCraft 購票成功後重複顯示 checkout 訊息問題 (Issue #193)
- 優化 iBon 元素偵測效能，加快頁面處理速度
- 新增 UDN 登入半自動操作說明（需手動完成 reCAPTCHA）
- 修復 Python 3.12+ SyntaxWarning 警告訊息

## 2025.12.18

- 新增 UDN 售票網自動座位選擇功能（Feature 010）
  - 支援 UTK0204 座位地圖自動偵測
  - 智慧座位選擇策略：前排優先、中間座位優先
  - 自動選擇票種並加入購物車
  - 購物車頁面自動偵測與通知
- 新增 UDN 日期/區域選擇支援 Feature 003 遞補機制
- 修復 UDN 區域選擇器（table.yd_ticketsTable → table.status）
- 優化 TixCraft 日期/區域選擇效能（主動輪詢取代被動等待）
- 修復 UDN 快速購票關鍵字匹配與回退邏輯
- 新增 UDN 日期/場次選擇 AND 邏輯支援

## 2025.12.16

- 新增 OCR 模型資料夾支援相對路徑設定
- 修復 TixCraft 售罄後快速重試問題，加入冷卻機制
- 更新應用程式圖標品牌識別

## 2025.12.15

- 修復 KHAM/ticket.com 座位重複選取問題，避免 +2+2+2 累積
- 優化 KHAM/ticket.com 選擇器效能，座位偵測速度提升 10 倍
- 修復 ticket.com 座位選取跨排問題，確保連續座位在同一排
- 新增 ticket.com「尚未開賣」頁面自動重載功能

## 2025.12.11

- 新增 Cloudflare Turnstile 多模板驗證機制
- 升級 nodriver 至 0.48.1 版本
- 修復 TixCraft 票數不足時無限循環問題 (Issue #174)
- 修復 TixCraft 驗證表單提交問題
- 修復 KHAM 首頁無限重定向問題
- 改善廣告追蹤網址封鎖效能
- 重構 iBon 使用統一的結果解析函式

## 2025.12.09

- 新增 Discord Webhook 通知功能（搶票觸發時即時推播到 Discord）
- 新增 MCP 連接模式支援固定埠號的 Chrome 除錯
- 修復 TixCraft Cookie 登入衝突問題（舊版 SID 與新版 TIXUISID 共存）
- 修復 TicketPlus 首頁重導向無限循環問題
- 優化 TixCraft 頁面載入速度（智慧等待取代固定延遲）
- 重構 TixCraft 區域選擇重試邏輯
- 精簡日期與區域選擇程式碼
- 更新設定介面 OCR 強制送出標籤說明
- 更新 UDN 售票網網址
- 重新組織使用者手冊結構，新增統一入口頁

## 2025.12.04.1

- 優化 TixCraft 日期選擇頁面載入速度（智慧等待取代固定延遲）
- 優化 TixCraft 票券選擇頁面載入速度
- 新增區域選擇雙重檢查機制（重整後立即檢查 + 間隔後再次檢查）

## 2025.12.04

- 修復 TixCraft 首頁重導向無限循環問題
- 修復 TixCraft Alert 彈窗處理卡住的問題
- 精簡日期與區域選擇的日誌輸出

## 2025.12.02

- 修復 TixCraft 票種頁面單一選項自動選取問題（Issue #166）
- 修復 ibon 首頁重導邏輯支援所有頁面類型
- 新增可自訂伺服器埠號設定（Issue #156）
- 社群支援遷移至 Discord

## 2025.11.30

- 新增 HKTicketing 香港快達票 NoDriver 引擎支援（完整購票流程）
- 新增 HKTicketing 半自動登入說明文件
- 修復 HKTicketing 英文網站同意按鈕無法點擊問題
- 修復 KKTIX 按鈕點擊後彈窗處理機制
- 修復 GitHub Bug 回報範本格式問題
- 更新拓元家族 Cookie 認證方式：SID → TIXUISID

## 2025.11.25

- 新增 Ticketmaster 自訂 OCR 模型支援
- 修復 TixCraft SID Cookie 設定與 Ticketmaster 驗證碼重試機制

## 2025.11.24

- 新增 FamiTicket 平台 NoDriver 引擎支援
- 改善使用者手冊：統一使用 GitHub Releases 下載方式

## 2025.11.20

- 改善 TicketPlus 關鍵字匹配與頁面處理邏輯
- 修復 KHAM Activity Group 頁面自動化與實名對話框問題
- 移除成功購買後自動待機模式

## 2025.11.19

- 新增 Ticketmaster NoDriver 完整實作：日期/區域自動選擇、驗證碼 OCR、票數設定
- 修復表單提交後未處理錯誤訊息問題

## 2025.11.12.1

- 調整網址阻擋規則：同步 NoDriver 和 Chrome 擴充功能的追蹤服務過濾
- 改善 TixCraft 彈窗處理：自動關閉售完提示，優化頁面載入等待邏輯

## 2025.11.12

- 改善廣告阻擋機制：增強 Appier 追蹤服務過濾規則
- 新增 KKTIX 自動處理驗證問題或序號輸入
- 新增 Ticketmaster 廣告與追蹤指令碼阻擋規則（UC Driver）

## 2025.11.11

- Cityline 平台新增 NoDriver 引擎支援（包含完整購票流程）
- 修復設定頁面在舊版瀏覽器的快取與相容性問題
- 改善 GitHub Issue 範本說明與範例


## 2025.11.09

- TixCraft SID 輸入驗證：偵測錯誤格式並顯示警告
- TicketPlus 自動處理驗證問題或序號輸入及 API 驗證檢查改善
- TixCraft 票券類型關鍵字匹配支援（IndieVox）
- 修復關鍵字解析：正確處理逗號分隔的關鍵字值
- iBon 逗號分隔關鍵字解析修復
- iBon 日期選擇效能優化與使用者體驗改善
- NoDriver 自動重載：fallback 禁用或全部門票售完時持續監控
- TixCraft 自動重載邏輯改善
- TicketMaster 單座限制移除
- Bug 回報範本新增版本欄位


## 2025.11.08

### 🐛 Bug 修復

- 修復全平台自動重載邏輯：當 fallback 禁用或全部門票售完時，現在會持續監控新票釋出
- 改善日誌訊息：從「等待手動操作」改為「正在重新整理頁面」

### ⚙️ 其他改動

- 更新預設 WebDriver 類型：從 UC 改為 NoDriver

## 2025.11.04

  - 新增 GitHub Actions 自動化發布流程與打包配置
  - 新增執行檔版本完整安裝教學

## 2025.11.03

### 🆕 KKTIX 驗證問題功能增強

- **新增驗證問題即時偵測**：系統偵測到 KKTIX 驗證問題時會立即顯示提示框，不再需要手動檢查
- **新增六大搜尋引擎整合**：提供 Google、Bing、Perplexity、Grok、ChatGPT、Claude 等搜尋按鈕，快速查詢驗證問題答案
- **改善 UI 友善性**：將「執行網址」改為純文字顯示，避免使用者誤以為可編輯

### 🐛 KKTIX 字典檔案處理修復

- **修復字典答案解析錯誤**：修正使用者自定字典無法正確分割多個答案的問題
- **更新分隔符號說明**：將「使用者自定字典」輸入框的說明從逗號改為分號分隔，與系統實際行為一致

## 2025.11.03 (早期)

### 🐛 多平台關鍵字匹配修復

- **修復 TixCraft、TicketPlus、KHAM、FamiTicket 平台**：解決關鍵字無法正確識別導致自動遞補功能失效的問題
- **改善日誌輸出**：KHAM 平台的除錯訊息現在更清晰，便於排查問題

### 📖 使用者文件改進

- **改進自動遞補說明**：新增完整的決策流程圖，清楚說明程式如何判斷是否啟用自動選擇
- **改善用語**：使用更直觀的中文表達，避免複雜的技術術語
- **對齊設定介面**：文件中的說明與設定介面的標籤保持一致，讓新手更容易理解
- **改善深色模式**：設定介面在深色模式下的顯示效果更佳

## 2025.11.01

### 新增功能：關鍵字匹配改善與自動遞補功能

- **關鍵字優先匹配**：依序檢查關鍵字，第一個匹配成功立即選擇，提升搶票速度
- **自動遞補控制**：新增「日期自動遞補」與「區域自動遞補」開關，控制關鍵字失敗時的行為
  - 預設關閉：只鎖定關鍵字的區域
  - 手動開啟：如果關鍵字區域都讚時無法使用，選擇其他可用區域確保至少有票

**適用平台**：TixCraft (NoDriver 引擎)

## 2025.10.30

### ⚠️ BREAKING CHANGE: 關鍵字分隔符號變更

**重要**：關鍵字分隔符號已從逗號 (`,`) 改為分號 (`;`)

**影響範圍**：
- `date_keyword`: 日期關鍵字
- `area_keyword`: 區域關鍵字
- `keyword_exclude`: 排除關鍵字
- `idle_keyword`: 暫停時間關鍵字
- `resume_keyword`: 恢復時間關鍵字

**升級指引**：

請將設定檔中所有關鍵字的逗號 (`,`) 改成分號 (`;`)

範例：
- 日期關鍵字：原本填寫「10/15,10/16」請改成「10/15;10/16」
- 區域關鍵字：原本填寫「VIP區,搖滾區A」請改成「VIP區;搖滾區A」
- 排除關鍵字：原本填寫「輪椅,身障」請改成「輪椅;身障」

**變更原因**：
- 修正 Issue #23：避免與千位分隔符號（如 "3,280" 元）和時間格式衝突
- 提高關鍵字匹配的精確度和可預測性

**新增功能**：
- 關鍵字現在使用精確匹配（不再標準化處理）
- 支援包含逗號的關鍵字（如 "3,280" 可完整匹配）
- 保留空格作為 AND 邏輯分隔符（如 "1280 一般" 匹配包含 "1280" 且包含 "一般" 的文字）

### 使用者介面優化

- 改善網頁設定介面在寬螢幕上的顯示效果（自動調整輸入框寬度）
- 新增互動式平台選擇器，可快速填入支援的售票平台網址
- 改善使用者文件說明，移除技術術語使內容更易理解
- 升級 Bootstrap 框架至 5.3.8 版本

## 2025.10.26

- 改善 iBon 平台日期與區域選擇速度
- 新增 iBon 平台售罄智慧偵測，自動跳過無票頁面減少無效等待
- 改善 TixCraft 與 TicketPlus 日期選擇回退機制，關鍵字失敗時自動切換

## 2025.10.23

- 改善 iBon 平台穩定性（登入過期自動重登、關鍵字回退機制、訂單頁面支援、音效優化）
- 改善 KKTIX/TixCraft 平台選擇邏輯，完全符合統一設計規範（回退機制、匹配摘要、策略訊息、動態設定、目標顯示）
- 新增 README 醒目的問題回報區塊與詳細貢獻指引

## 2025.10.18

- 修正 iBon 平台票券數量選擇穩定性問題（NoDriver 引擎）
- 新增票券數量設定驗證邏輯，確保配置值與實際選定數量一致
- 改善票券數量選擇邏輯，支援多組備選選擇器以提高相容性

## 2025.10.17

- 修正拓元 TixCraft 平台設定檔 SID 自動登入功能（NoDriver 引擎）
- 修正 Ticket 年代平台座位選擇演算法準確度（正確使用演算法選定的連續座位）
- 改善 Ticket 年代平台座位選擇邏輯（加入 DOM 位置追蹤，處理複雜座位排列）
- 修正 KHAM 平台座位選擇演算法（使用真實 DOM 位置追蹤提升準確度）

## 2025.10.15

- 新增 KHAM 寬宏與 Ticket 年代平台的智慧座位選擇功能（支援 8 種舞台方位偏好）
- 新增 KHAM 登入頁面驗證碼自動識別與填寫功能
- 改善 ibon 平台搶票速度
- 改善 KHAM 平台日期與區域選擇邏輯
- 修正 KHAM 首頁無限循環問題

## 2025.10.08

- 新增專案結構優化，所有程式碼和資源統一收納到 src/ 目錄
- 新增資源分類管理，圖示和音效檔案分離到 assets/ 目錄
- 改善 TicketPlus 日期選擇邏輯，正確處理預售狀態避免誤觸自動刷新
- 改善執行方式說明，提供從 src/ 或根目錄執行的清晰指令
- 修正新目錄結構下的檔案路徑引用和 import 語句

## 2025.10.03

- 新增 iBon 平台支援新版 Angular SPA Event 活動頁面格式
- 新增 iBon 平台 OCR 驗證碼連續失敗自動處理機制（3 次自動重試，5 次後切換手動輸入）
- 改善 iBon 平台關鍵字匹配準確度（同時檢查區域名稱與票價區內容）
- 改善 iBon 平台支援新版 EventBuy 頁面的票數選擇

## 2025.10.01

- 新增 iBon 平台搶票成功音效提醒功能（可在 settings.json 設定開關）
- 新增 iBon 平台無頭模式自動開啟結帳頁面，避免錯過付款時間
- 新增 iBon 平台驗證碼自動識別功能（NoDriver 引擎）
- 新增 iBon 平台完整購票流程：日期選擇 → 區域選擇 → 票數填寫 → 驗證碼識別 → 結帳提醒
- 改善 NoDriver 引擎四大平台（TixCraft、KKTIX、TicketPlus、iBon）核心功能完整性
- 改善 NoDriver API 開發指南文件結構，新增 iBon 實作範例

## 2025.09.30

- 新增 iBon 日期選擇支援多種格式（M/D、MM/DD、YY/MM/DD、YYYY/MM/DD）
- 新增 iBon 座位區域自動選擇功能（NoDriver 引擎）
- 新增座位區域關鍵字匹配與模式選擇回退策略
- 新增剩餘票數檢查，自動避開已售完區域
- 修正 iBon 日期選擇時偶爾卡住的問題

## 2025.09.26

- 新增 README.md 中的詳細平台支援狀態對照表
- 新增 NoDriver 引擎支援 KKTIX、TicketPlus遠大、TixCraft拓元三大平台（持續開發中）
- 新增平台測試狀況與問題回報的視覺化指標
- 改善使用者的平台選擇和引擎使用指引
- 修正 NoDriver TicketPlus 模組中的 JavaScript 字串模板語法錯誤

