Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.6.1] - 2026-05-06
Changed
- 郵便番号データを 2026 年 5 月版に更新(KEN_ALL.CSV)。
- 石狩市の合併特例法に基づく地域自治区「厚田区」「浜益区」が 2026/3/31 に 設置期限を迎え、4/1 から「区」を抜いた表記に変更されたことを反映。
- 関連: 北海道・東京・長野・山梨・岐阜・大阪・奈良・石川・福島・宮城の 一部町域名の整理。
[0.6.0] - 2026-05-06
Changed (BREAKING)
basho_postalのマッピングオプション指定時の住所自動解決をbefore_saveからbefore_validationに変更。validation の前に住所が解決されるため、validation や 他のbefore_validationcallback から解決済みの住所を参照できる。 既存ユーザーでbefore_saveのタイミングに依存していた場合は要見直し。
0.5.0 - 2026-02-11
Added
with_bashoスコープ — city・prefectureをeager loadしN+1クエリを防止(メモリモードではno-op)has_one :basho_prefecture— prefecture直接プリロード対応(DBモード)Basho::DB::Cityに廃止・合併管理機能(deprecated_at,successor_code,#current,.active,.deprecated)Basho::City(メモリモード)にも同等の廃止・合併API(#deprecated?,#active?,#successor,#current)Basho::DB.seed_fresh?— DBデータの鮮度チェック(Rails起動時に自動警告)rails generate basho:upgrade_deprecation— 既存テーブルに廃止管理カラムを追加するマイグレーションジェネレータMAX_SUCCESSOR_DEPTH— 合併チェーン探索の深度制限(ループ検出に加えた安全弁)
Changed
Basho::DB.seed!をdelete_all+insert_all!からupsert_allに変更(手動設定のsuccessor_code/deprecated_atを保持)- gemデータから消えた市区町村を物理削除ではなく論理削除(
deprecated_atを設定)に変更 bashoマクロのリファクタリング(DB/メモリモードの分離、メソッド分割)
0.4.1 - 2026-02-11
Fixed
Engine#rake_tasksのパス解決バグを修正(basho:seedがLoadErrorになる問題)
0.4.0 - 2026-02-11
Added
- オプションDBバックエンド(
basho_prefectures/basho_citiesテーブル) rails generate basho:install_tablesマイグレーションジェネレータrails basho:seedRakeタスク(冪等、JSON→DB一括投入)Basho::DB::Prefecture/Basho::DB::CityActiveRecordモデルBasho.db?によるDB自動検出(スレッドセーフ、キャッシュ付き)- テーブルが存在すれば公開API(
Prefecture.find,City.where等)が自動でDB経由に切り替わる - READMEにDB Backendセクション追加(EN/JA)
0.3.0 - 2026-02-11
Changed
- BREAKING:
PostalCode.find()が配列ではなく単一のPostalCodeまたはnilを返すように変更 - BREAKING:
PostalCode.where()がキーワード引数where(code:)に変更 - BREAKING: カスケードセレクト機能を削除(Stimulusコントローラー、都道府県/市区町村JSON API、フォームヘルパー)
- BREAKING: 郵便番号JSONのキー名
city→city_name、都道府県JSONのキー名region→region_nameに統一 auto_fill_controller.jsをTurboイベント駆動にシンプル化(デバウンス削除)PostalAutoResolveをシンプルなcase文ベースに簡素化- 市区町村データソースを
jp_local_govgem から KEN_ALL.CSV に変更(外部gem依存を撤廃) districts.rbのロジックをcities.rbに統合
Added
PostalCode.where(code:)- 配列で結果を返す検索メソッド- Engine initializerでフォームヘルパーを自動インクルード
Data::Loaderにパストラバーサル防御を追加
Fixed
- KEN_ALL.CSVインポートの複数行町域名結合バグを修正(208件)
- 「の次に番地がくる場合」の町域名が空にならないバグを修正(17件)
- 名古屋市・大阪市・広島市の不正なdistrictデータを修正
- 市区町村カナを正規化(旧式カタカナ → 正式カタカナ、15件)
Removed
Basho::PrefecturesController(都道府県/市区町村JSON API)basho_cascade_dataフォームヘルパーメソッドcascade_select_controller.jsStimulusコントローラー/basho/prefecturesルートtasks/import/districts.rb(cities.rbに統合)jp_local_govgem への依存
0.2.2 - 2026-02-09
Fixed
- Railsアプリで
Basho::Engineが自動読み込みされない問題を修正
0.2.1 - 2026-02-09
Fixed
PostalAutoResolve.resolve_city_codeで郡のある町村(923件)のcity_codeが解決されないバグを修正
0.2.0 - 2026-02-08
Added
City#district- 郡名(例:"島尻郡")。郡に属する町村のみ設定City#full_name- 郡名付き正式名を返す(例:"島尻郡八重瀬町")tasks/import/districts.rb- PostalCodeデータから郡名を抽出するスクリプト
Fixed
- KEN_ALL.CSVとの異体字不整合を修正(
梼原町→檮原町、須恵町→須惠町)
0.1.2 - 2026-02-08
Changed
- 沖縄県を九州地方から分離し「沖縄」地方として独立(8地方区分 → 9地方区分)
0.1.0 - 2026-02-08
Added
Basho::Prefecture- 47都道府県の検索(コード・日本語名・英語名)、地方での絞り込みBasho::City- 市区町村の検索(6桁JISコード)、都道府県コードでの絞り込みBasho::PostalCode- 郵便番号の検索(ハイフン有無対応、1対多マッピング)Basho::Region- 8地方区分の検索(日本語/英語名)Basho::CodeValidator- JIS X 0401 チェックディジット検証Basho::Data::Loader- JSONデータの遅延読み込みとキャッシュBasho::ActiveRecord::Base-basho/basho_postalマクロ- 都道府県・市区町村・郵便番号のJSONデータ同梱
- GitHub Actions CI(Ruby 3.2/3.3/3.4)
- 月次データ自動更新ワークフロー