更新履歴

各バージョンの変更内容

v0.0.19 2026-02-25

小字修正・駅データ統合・MCP Server・Rails 8.1 対応

バグ修正

  • 小字(is_koaza)の括弧付き町域名が正しく返されるように修正 — 郵便番号データのインポート時に、日本郵便CSVの is_koaza エントリが欠落していた問題を解消。suburb勿来町 のみだったものが 勿来町(大高) として取得できるように
  • suburb_kanasuburb_roman も同様に括弧付き形式に対応(例: ナコソマチ(オオダカ)Nakosomachi(oodaka)
  • Turbo Drive と Chart.js の初期化タイミング問題を修正(統計グラフが正しく描画されるように)

新規APIエンドポイント・フィールド

  • 駅・路線・事業者リソースを新規追加GET /stations.json/lines.json/operators.json/railway_types.json/operator_types.json の各エンドポイントを追加
  • 郵便番号レスポンスに location オブジェクト追加 — 緯度(latitude)・経度(longitude)を返却。住所から地図座標を取得可能に
  • 全リソースの JSON レスポンスに url フィールドを追加(詳細ページの URL)

GraphQL 拡張

  • stationsstationlineslineoperatorsoperator クエリを追加
  • nearestStations(postcode: String!) クエリを追加 — 郵便番号を指定して半径N km以内の最寄り駅一覧を取得可能
  • PostcodeType に nearestStations フィールドを統合
  • StationTypeLineTypeOperatorTypeRailwayTypeTypeOperatorTypeTypeNearestStationType の各 GraphQL 型を追加

新機能

  • MCP Server 公開 — Claude・Cursor などの AI エージェントから直接ポストくんAPIを呼び出せる MCP(Model Context Protocol)サーバーを追加。GET /mcp ページでセットアップ方法を案内
  • ベンチマーク比較ページ追加/benchmark)— 主要な郵便番号APIサービスとのレスポンス速度・機能の実測比較を公開
  • 利用実績ページ追加/stats)— 月次トラフィック推移・リクエスト数のグラフを公開。Cloudflare API から月次自動更新
  • llms.txt 公開/llms.txt/llms-full.txt)— AI サービス向けのサービス説明ファイル。LLM がサービス仕様を正確に把握できるように

DBスキーマ変更

  • postcodes テーブルに緯度・経度カラム(latitudelongitude)を追加
  • 新規テーブル: stations(駅)・lines(路線)・operators(鉄道事業者)・railway_types(鉄道種別)・operator_types(事業者種別)を追加。国土交通省2024年版データを収録

技術的改善

  • Ruby 4.0 / Rails 8.1 対応
  • Tailwind CSS v4 移行(大幅なビルド高速化)
  • Bootstrap Icons → Lucide Icons に移行(軽量なSVGアイコン)
  • ページネーション: kaminari → pagy に移行
  • JS パッケージマネージャを yarn → bun に移行
  • Chart.js を CDN → esbuild バンドルに変更(CSP 対応)
  • Cloudflare CDN キャッシュをデプロイ後に自動パージ
  • PWA 完全対応(Service Worker・マニフェスト・アイコン)

APIドキュメント

  • suburbsuburb_kanasuburb_roman フィールドの説明と例を括弧付き小字形式に更新
  • is_koaza フィールドの説明を修正
  • 駅・路線・事業者の各エンドポイント仕様を追加
v0.0.16 – v0.0.18 2025-10-08

OpenAPI仕様に nearestStations を追加・YAML構文修正

APIドキュメント

  • v0.0.16: GraphQL nearestStations クエリの仕様を OpenAPI ドキュメントに追記
  • v0.0.17–v0.0.18: OpenAPI YAML のパラメータ説明文の記法を修正(コロンを含む文字列をクォートで囲む。例: デフォルト: 25"デフォルト: 25")。機能変更はなし
v0.0.15 2025-08-04

UIアニメーション強化・ダークモードスタイル刷新

変更内容

  • フェードイン・フェードアップ・ホバーリフトアップなどの UIアニメーションを追加
  • ダークモード用スタイルを独立した CSS ファイルに整理・拡充
  • カスタムスタイルシート(custom.scss)を追加してデザインを細部まで調整
  • Lograge 導入: 本番環境のログを1リクエスト1行形式に最適化(ログの視認性向上)
  • OpenAPI ドキュメントの記述ミスを修正
v0.0.14 2025-02-25

OpenAPI: 全エンドポイントに詳細な説明文を追加

APIドキュメント

  • GET /postcodes.json — ページネーション・絞り込みパラメータ(qlimitoffset)の使い方を詳述
  • GET /postcodes/{new}.json — 7桁郵便番号指定の仕様、レスポンスフィールドの意味を説明
  • GET /postcodes/{new}.txt — Excel・スプレッドシートでの利用方法と part パラメータの使い方を追記
  • GET /prefectures.json/prefectures/{code}.json — 都道府県コード体系の説明を追加
  • GET /buildings.json/offices.json — 建物フロア別郵便番号・事業所郵便番号の概念説明を追加
  • suburb フィールド — 小字・字丁目・括弧表記の意味をガイダンスとして追記
  • オートコンプリートや住所補完サービスの実装者向けに各フィールドの使い方を整理
v0.0.13 2025-02-25

PWA対応・ダークモード・llms.txt公開・Rails 8.0 対応

新機能

  • PWA 対応 — Service Worker とマニフェストを追加。スマートフォンのホーム画面にアプリとして追加可能に
  • ダークモード対応 — ブラウザ・OS のダークモード設定に自動追従。画面右下のトグルボタンから手動切替も可能
  • llms.txt 公開/llms.txt)— ChatGPT・Claude などの LLM がポストくんのサービス仕様を参照できるドキュメントを公開
  • Rails デフォルトヘルスチェック対応GET /up)— Rails 8 の標準ヘルスチェックエンドポイントを追加

技術的改善

  • Rails 8.0 対応(Rails 7.2 → 8.0 へアップグレード)
  • Ruby 3.4 対応
  • Solid Cache 導入(本番環境のキャッシュを SQLite3 で管理)
  • Thruster HTTP/2 プロキシを有効化
  • NewRelic パフォーマンス監視を追加
v0.0.12 2024-07-03

ヘルスチェックレスポンスの拡張・Ruby 3.3 対応

API変更

  • GET /healthcheck.json レスポンスを拡張 — これまで UNIX タイムスタンプのみを返していたものを、以下のフィールドを含む JSON に変更:
    • last_update: 郵便番号データの最終更新日時(ISO8601形式)
    • postcodes_count: 収録済み郵便番号の総件数

技術的改善

  • Ruby 3.3 対応
  • Node.js 22 対応
  • SQLite3 gem v2 互換性対応
  • 各種 gem・npm パッケージの更新
v0.0.10 – v0.0.11 2023-12-18

GraphQL クエリ拡充・利用規約/プライバシーポリシーページ新設

新規APIエンドポイント・フィールド

  • GraphQL クエリを拡充(v0.0.11):
    • postcode(new: String!) — 特定の郵便番号を1件取得
    • building(name: String!) — 建物名で1件取得
    • prefectures — 全都道府県の一覧を取得
    • prefecture(id: Int!) — 特定の都道府県を取得

新機能

  • 利用規約ページ新設(GET /terms
  • プライバシーポリシーページ新設(GET /privacy_policy
  • AI サービス向けのサービス案内マニフェスト(/manifesto)を公開
  • Rails 7.1 対応、YJIT(Ruby JIT コンパイラ)有効化によるレスポンス速度向上

APIドキュメント

  • prefecture_kana の例示値を修正(北海道ホッカイドウ
  • status フィールドの説明(変更理由の詳細)を追加
v0.0.9 2023-02-18

ローマ字カラム追加・GraphQL エンドポイント追加

新規APIフィールド

  • ローマ字カラムを追加(全エンドポイント対象):
    • prefecture_roman — 都道府県名のローマ字(例: Fukushima-ken
    • city_roman — 市区町村名のローマ字(例: Iwaki-shi
    • suburb_roman — 町域名のローマ字(例: Nakosomachi
    • office_roman — 事業所名のローマ字(事業所郵便番号のみ)
    • 建物(buildings)レスポンスにも name_roman を追加

新規APIエンドポイント

  • GraphQL エンドポイント追加POST /graphql)— 郵便番号・建物・事業所・都道府県を GraphQL で検索可能に。/graphiql でブラウザから対話的に試せる

DBスキーマ変更

  • postcodes テーブルに prefecture_romancity_romansuburb_romanoffice_roman カラムを追加
  • buildings テーブルに name_roman カラムを追加

技術的改善

  • Sentry によるエラー監視を本番環境に追加
  • セキュリティ修正(依存ライブラリの脆弱性対応)
v0.0.8 2023-01-06

フロントエンドデザイン刷新・Rails 7.1 対応

変更内容

  • スタイルシートを全面刷新(application.scss → 機能別 CSS ファイルに分割)
  • Bootswatch Simplex テーマを統合し、デザインを統一
  • SVG マップ表示用スタイル(svg-map.scss)を追加
  • Rails 7.1 対応(DB スキーマフォーマット更新)
  • 各種 gem・npm パッケージの更新
v0.0.7 2022-11-03

ヘルスチェックエンドポイント追加・Turbo Drive 対応

新規APIエンドポイント

  • GET /healthcheck.json を新規追加 — 現在時刻の UNIX タイムスタンプ(秒)を返す死活監視用エンドポイント。UptimeRobot などのモニタリングサービスから呼び出し可能。レスポンスはキャッシュなし(常に最新値を返す)

バグ修正

  • GET /postcodes/{new}.txtpart パラメータの配列インデックス計算を修正(+1 オフセットのずれを解消)

技術的改善

  • Hotwire / Turbo Drive 対応 — @rails/ujs を廃止し @hotwired/turbo-rails に一本化。ページ遷移が SPA ライクに高速化
  • フロントエンドビルドを importmap → esbuild + Propshaft に変更
  • FontAwesome アイコンの本番環境での読み込みを安定化
v0.0.6 2022-10-08

Excel・スプレッドシート向けテキスト形式APIを追加

新規APIエンドポイント

  • GET /postcodes/{new}.txt を新規追加 — プレーンテキスト形式で住所の一部を返すエンドポイント。Excel の WEBSERVICE 関数や Google スプレッドシートの IMPORTDATA 関数からそのまま利用可能
  • ?part=prefecture — 都道府県名のみ返す(例: 福島県
  • ?part=city — 市区町村名のみ返す(例: いわき市
  • ?part=suburb — 町域名のみ返す(例: 勿来町(大高)
  • part 省略時はフルの住所文字列を返す