更新履歴

各バージョンの変更内容

v0.0.20 2026-04-23

サイト全面リデザイン(Playful Postal)・地価情報・AI エージェント対応

UI/UX 全面リニューアル

  • "Playful Postal" デザインシステム導入 — 朱赤 × クリーム × ポストくんキャラクターを軸にしたサイト全体のリブランド。Inter Tight + JetBrains Mono フォント、ハードシャドウのスタンプ風カード、パーフォレーション(切手の縁)モチーフなど
  • トップページを再構成: ヒーローでライブ API 検索デモ、フルテキスト住所検索(クイックルックアップ)セクション、ポストくんキャラクター、47都道府県地図、データカタログ、FAQ をスタンプカードで再表現
  • 郵便番号詳細ページを再構成: 赤フルブリードヒーロー+大きな〒番号、住所/ローマ字/最寄り駅/地図/API/共有/別形式の各カード、近くの郵便番号グリッド
  • API ドキュメント(Redoc)ページにポストくんトップバー+切手モチーフを適用
  • 404 ページを刷新 — 「Return to Sender」スタンプ、検索フォーム、サイト説明、関連ページへのクイックリンクで離脱を防ぐ設計に
  • ライト/ダークモード対応(フッターのトグル、システム設定にも追従)
  • モバイル対応: ハンバーガーメニュー、レスポンシブグリッド、フォントサイズ調整など

新機能 — 地価情報の表示

  • 地価データ統合 — 国土交通省 不動産情報ライブラリ(地価公示 XCT001 API)から標準地データを取り込み、郵便番号詳細ページに表示
  • 2 段構えで表示: (1) 「最寄りの公示地価(標準地)」カード — 郵便番号エリアの代表地点から半径 1.5 km 以内にある標準地の公示価格を距離順に最大 3 件、無加工で掲載。(2) 「市区町村全体の参考地価」カード — 市区町村単位の平均値・中央値(広域相場感の参考用)
  • JSON レスポンスでも ?include=land_price(市区町村サマリ)と ?include=land_price_nearby(最寄り標準地)の両方を提供

検索の改善

  • 郵便番号検索でハイフン付き入力(100-0001、全角ハイフン、半角スペース区切り)を正規化して 7 桁形式と同じく検索可能に
  • 路線一覧(/lines)に検索フォームを追加(路線名・事業者名で部分一致)。カードレイアウトから行テーブルに変更し、事業者・鉄道区分の詳細ページへリンク
  • 駅一覧(/stations)の路線・事業者列をリンク化し、アイコンの中央寄せを修正
  • 検索結果ページのフォームの二重枠を解消(外枠を撤去し、入力欄自身がポスタル風の単一フレームになるように)

AI エージェント対応 / 配信

  • robots.txt に AI / LLM クローラー(GPTBot, ClaudeBot, anthropic-ai, PerplexityBot, Google-Extended, Applebot-Extended, CCBot, cohere-ai, Meta-ExternalAgent ほか 20+)の Allow ルールを明示。各種ディスカバリリソース(sitemap, llms.txt, OpenAPI, ai-plugin.json, mcp.json)を案内
  • /.well-known/ai-plugin.json をリライト(説明文・タイポ修正・URL 整理)
  • /.well-known/mcp.json を新規追加 — MCP(Model Context Protocol)サーバーのディスカバリカード。インストール手順、ツール一覧、対応プロトコル、代替 API(REST/GraphQL)を JSON 化
  • サイトマップ(/shared/sitemap.xml.gz)が初回デプロイで 404 になる問題を解消 — Coolify ポストデプロイメントコマンドで自動生成

バグ修正

  • 個別ページの URL に日本語を含むとレイアウト側で Encoding::CompatibilityError が発生して 500 になる問題を修正(/buildings?s=ランドマークタワー など)
  • SVG height="auto"(無効値)を preserveAspectRatio に置換
  • 郵便番号詳細の見出しで postcode() ヘルパーが付与する を二重出力していた箇所を修正

その他

  • 新規テーブル land_price_points(個別の公示地価標準地、緯度経度付き)と municipality_land_prices(市区町村単位の集計)を追加
  • 個別ページから運営会社名の表示を削除(フッター・404 ページなど装飾的な箇所のみ)。お問い合わせ・利用規約・プライバシーポリシーの法定情報はそのまま残置
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 省略時はフルの住所文字列を返す