{
  "schema_version": 1,
  "documentation_version": "3.x",
  "channel": "development",
  "release_context": null,
  "source_revision": "252018d861d008b380109414280f99e51433e238",
  "working_tree_clean": true,
  "note": "Select the documentation version before implementing. Maintenance documents a branch snapshot and can include unreleased changes; consult release_context and each example target. Development is not a stable release. Check prerequisites, execution phase, lifetime and sample provenance in the linked pages. Version identifies a release line, not a release tag. source_at_revision compares the original source file with HEAD; source_sha256 hashes that original file, not the transformed Markdown. A dirty working-tree preview can differ from its source revision. An untranslated Japanese HTML page links to its English Markdown source; no translation is fabricated.",
  "status_vocabulary": {
    "implemented": "Present in the documented source revision; development is not a stable release.",
    "planned": "Named in the agreed plan; not an available API or executable proof.",
    "under-design": "Unresolved design; no settled API contract."
  },
  "pages": [
    {
      "title": "Developing ngx_mruby",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/DEVELOPMENT.md",
      "source_sha256": "90afcc3cafdbca1ae3a0aacc2ec0aa8946ce89335893379d2405c6b3823d44d3",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/DEVELOPMENT.md",
      "html_url": "https://ngx.mruby.org/contributing/development/",
      "markdown_url": "https://ngx.mruby.org/markdown/contributing/development.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Handoff: the state of the work",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/HANDOFF.md",
      "source_sha256": "2d6cfbeb956021dbc38bf3a687988581bdce993adddc691dab352fa0de897dee",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/HANDOFF.md",
      "html_url": "https://ngx.mruby.org/contributing/handoff/",
      "markdown_url": "https://ngx.mruby.org/markdown/contributing/handoff.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Documentation",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/README.md",
      "source_sha256": "deb18e505b2845ebb3ec35bb04f698875bb2c1aae44e27e14a3c2a8625d5f47e",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/README.md",
      "html_url": "https://ngx.mruby.org/docs/",
      "markdown_url": "https://ngx.mruby.org/markdown/docs.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Ruby classes and methods",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/class_and_method/README.md",
      "source_sha256": "4269dfc7fa866b949f62759114a3a6b0da693e7876a487e0858c5a58ec18877f",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/class_and_method/README.md",
      "html_url": "https://ngx.mruby.org/reference/ruby/",
      "markdown_url": "https://ngx.mruby.org/markdown/reference/ruby.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Concepts",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/concepts/README.md",
      "source_sha256": "4a5e58242c9ad49e21c34b7981e4b13e4f08121b9e7bd84497417bb94b29fd9c",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/concepts/README.md",
      "html_url": "https://ngx.mruby.org/concepts/",
      "markdown_url": "https://ngx.mruby.org/markdown/concepts.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Waiting without blocking",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/concepts/async.md",
      "source_sha256": "6ee177706dba8c01a9c7638e01a5a0ff7a5678a99d1e65456fe6a2197e8afd0a",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/concepts/async.md",
      "html_url": "https://ngx.mruby.org/concepts/async/",
      "markdown_url": "https://ngx.mruby.org/markdown/concepts/async.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Filters",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/concepts/filters.md",
      "source_sha256": "b7ca7d4adce83058eab642d12aaafa512343d77dc2dc261caf84da4b012422e0",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/concepts/filters.md",
      "html_url": "https://ngx.mruby.org/concepts/filters/",
      "markdown_url": "https://ngx.mruby.org/markdown/concepts/filters.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Lifetimes",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/concepts/lifetimes.md",
      "source_sha256": "20fb50370ea0c4ef2105e7de0ff24a1c18d3fa216e6da29777ff4a19146676da",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/concepts/lifetimes.md",
      "html_url": "https://ngx.mruby.org/concepts/lifetimes/",
      "markdown_url": "https://ngx.mruby.org/markdown/concepts/lifetimes.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Request phases",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/concepts/request-phases.md",
      "source_sha256": "8c9b165dd99f9a538c8fd0860ea8bd142ed0a4ec926036511284689fa527cdca",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/concepts/request-phases.md",
      "html_url": "https://ngx.mruby.org/concepts/request-phases/",
      "markdown_url": "https://ngx.mruby.org/markdown/concepts/request-phases.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Directives",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/directives/README.md",
      "source_sha256": "31d76f5739b0e102d54eacd2e8984b379adbd24876fa369789d26cd10c131846",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/directives/README.md",
      "html_url": "https://ngx.mruby.org/reference/directives/",
      "markdown_url": "https://ngx.mruby.org/markdown/reference/directives.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Deny clients listed in a file",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/guides/access-control.md",
      "source_sha256": "f40e287a9070760d6cdcf65d35705eb6c9895a36c83aae3bf42ca15f53b1554e",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/guides/access-control.md",
      "html_url": "https://ngx.mruby.org/guides/access-control/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/access-control.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Agent proxy",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/guides/agent-proxy.md",
      "source_sha256": "326f4450adce05546783568a6acb0eaa8c75ce18d352cd1b18e3359dbb13488a",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/guides/agent-proxy.md",
      "html_url": "https://ngx.mruby.org/guides/agent-proxy/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/agent-proxy.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Change a response body",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/guides/body-filter.md",
      "source_sha256": "bd8b728e72a1ea8ac3c9b1c5b293e4741a1b9c80d9095a88774cb971bf18564e",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/guides/body-filter.md",
      "html_url": "https://ngx.mruby.org/guides/body-filter/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/body-filter.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Routing a document service behind one MCP URL",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/guides/mcp-gateway.md",
      "source_sha256": "5a57becfbb5e879c12688c1bbc02f9ed9645c185b7ef89b5283db66ccb2bf2eb",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/guides/mcp-gateway.md",
      "html_url": "https://ngx.mruby.org/guides/mcp-gateway/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/mcp-gateway.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Limit the rate per API key",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/guides/rate-limit.md",
      "source_sha256": "6560a864e27e246632b7ee2007b24a9c8b62962bdbbdd8fd709ac1fa5fbeeeee",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/guides/rate-limit.md",
      "html_url": "https://ngx.mruby.org/guides/rate-limit/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/rate-limit.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Route requests to a backend",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/guides/routing.md",
      "source_sha256": "156ef8bc1bded36e116ec67c77b80517b17987fadef05ec53cc15121a421bdc6",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/guides/routing.md",
      "html_url": "https://ngx.mruby.org/guides/routing/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/routing.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Allow TCP connections in Ruby",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/guides/tcp.md",
      "source_sha256": "ce41f0268f758cbad5821a654dd5e9a3cb9e4e0f1d1d9d3fb208c103803b5b4d",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/guides/tcp.md",
      "html_url": "https://ngx.mruby.org/guides/tcp/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/tcp.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Installing ngx_mruby 3.x development",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/install/README.md",
      "source_sha256": "61d12a53a9d14101d0d7c8d0ce4c042e139705c1cdf12481eccf1f928591d159",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/install/README.md",
      "html_url": "https://ngx.mruby.org/guides/install/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/install.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "ドキュメント",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/README.md",
      "source_sha256": "3e11cbefad709ecb64b54aab4896c9aeef79b519ab5c814ff185febbf6f65b12",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/README.md",
      "html_url": "https://ngx.mruby.org/ja/docs/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/docs.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "コンセプト",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/concepts/README.md",
      "source_sha256": "5a7022121b4b948cf07e38802a81d9032130c5895833dd2362343968ef24c4f5",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/concepts/README.md",
      "html_url": "https://ngx.mruby.org/ja/concepts/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/concepts.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "ブロックせずに待つ",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/concepts/async.md",
      "source_sha256": "07b7916f46b9a275fbec30b574c3dd8d6fd2f20d2aa561ba88f3f9395bb6847e",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/concepts/async.md",
      "html_url": "https://ngx.mruby.org/ja/concepts/async/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/concepts/async.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "フィルタ",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/concepts/filters.md",
      "source_sha256": "d16dfc402e96da14e62dc4919afa46b6451bc74b1de040ff494b287d9351372b",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/concepts/filters.md",
      "html_url": "https://ngx.mruby.org/ja/concepts/filters/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/concepts/filters.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "ライフタイム",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/concepts/lifetimes.md",
      "source_sha256": "fc68821aa8286fab41f252f04709fedf4916cfab1a0365b0a5feb19b5a61e8ab",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/concepts/lifetimes.md",
      "html_url": "https://ngx.mruby.org/ja/concepts/lifetimes/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/concepts/lifetimes.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "リクエストのフェーズ",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/concepts/request-phases.md",
      "source_sha256": "f9e771eea73faa619716183fe8881666cb2c876f16d7c610c1c7ed0228df59aa",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/concepts/request-phases.md",
      "html_url": "https://ngx.mruby.org/ja/concepts/request-phases/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/concepts/request-phases.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "アクセスを拒否する",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/guides/access-control.md",
      "source_sha256": "c54f6ab6944a45d4b0ce1fcfce1aadb4462bb21d5d7cc4b734852940185cd0fc",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/guides/access-control.md",
      "html_url": "https://ngx.mruby.org/ja/guides/access-control/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/access-control.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "エージェントプロキシ",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/guides/agent-proxy.md",
      "source_sha256": "946e510b5dc488e90c26707895dc7d3f73ca8703f6f93e64501dbc134c68f387",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/guides/agent-proxy.md",
      "html_url": "https://ngx.mruby.org/ja/guides/agent-proxy/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/agent-proxy.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "ボディを書き換える",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/guides/body-filter.md",
      "source_sha256": "7bd6a0546ccbdd1f0d7b8cd3271012b6d62b7d4bbb01b965bb74ff60a48704a3",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/guides/body-filter.md",
      "html_url": "https://ngx.mruby.org/ja/guides/body-filter/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/body-filter.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "文書MCPの振り分け",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/guides/mcp-gateway.md",
      "source_sha256": "70c13b9fa61b5773f7b1580096186b407677bb16651fca1a8a58366ffe460a07",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/guides/mcp-gateway.md",
      "html_url": "https://ngx.mruby.org/ja/guides/mcp-gateway/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/mcp-gateway.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "レートを制限する",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/guides/rate-limit.md",
      "source_sha256": "ff6a050fdf9b869047e41c6d5088c9d2d6d120d510cb2d3042592fb7462ded29",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/guides/rate-limit.md",
      "html_url": "https://ngx.mruby.org/ja/guides/rate-limit/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/rate-limit.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "バックエンドを選ぶ",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/guides/routing.md",
      "source_sha256": "32deaf016e78067856f8f5a9671e93f8e407f2eadcd34f7d7ab44115b14f3e0d",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/guides/routing.md",
      "html_url": "https://ngx.mruby.org/ja/guides/routing/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/routing.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "TCPの接続を許可する",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/guides/tcp.md",
      "source_sha256": "55138531559fab8234bbb6b04010bc2ba9a135a862cc4cf0a1965d5cf5bd9a56",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/guides/tcp.md",
      "html_url": "https://ngx.mruby.org/ja/guides/tcp/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/tcp.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "インストール",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/install/README.md",
      "source_sha256": "515f75768f3b58b6ea3713b983f96134b35222c64d2fcc3978d51acb8ca1f471",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/install/README.md",
      "html_url": "https://ngx.mruby.org/ja/guides/install/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/install.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "3.0.0への移行",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/migration/README.md",
      "source_sha256": "a416698d1345020792599eb3cc11b60d33a4a8f953cbf3168aba8eac8509d06a",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/migration/README.md",
      "html_url": "https://ngx.mruby.org/ja/releases/migration/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/releases/migration.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "ビルド",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/reference/build.md",
      "source_sha256": "c63a0efe430a12943bf88a5f64a63180005502bedbf5b3a3caf1ccf398b8a818",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/reference/build.md",
      "html_url": "https://ngx.mruby.org/ja/reference/build/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/reference/build.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "はじめに",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/start/README.md",
      "source_sha256": "8a83d323a7ff30f40ec91c3455c6c2bb27d5dcc3dc609fbe68ae0dda8d7877f4",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/start/README.md",
      "html_url": "https://ngx.mruby.org/ja/start/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/start.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "ユースケース",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/ja/use_case/README.md",
      "source_sha256": "814b357836231dc742b64274cf8dc7431e6bb16071951f87126cf0066ae09cb2",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/ja/use_case/README.md",
      "html_url": "https://ngx.mruby.org/ja/guides/use-cases/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/guides/use-cases.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Migrating from ngx_mruby 2.x to 3.0.0",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/migration/README.md",
      "source_sha256": "a07d9bc5ba0c16b07943a92ddf90499a2ff20b36da4b062bad65f307b83c1862",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/migration/README.md",
      "html_url": "https://ngx.mruby.org/releases/migration/",
      "markdown_url": "https://ngx.mruby.org/markdown/releases/migration.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Build",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/reference/build.md",
      "source_sha256": "ff843526016ab6fd59af27af398c1d300087dbced6b2e98d71c93bf8e0f69be7",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/reference/build.md",
      "html_url": "https://ngx.mruby.org/reference/build/",
      "markdown_url": "https://ngx.mruby.org/markdown/reference/build.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Release notes",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/README.md",
      "source_sha256": "ac32e28e9eb4db2b6d19fb2a46ad99cc70ca1189f287e5e9a42aa0c40b3c9809",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/README.md",
      "html_url": "https://ngx.mruby.org/releases/",
      "markdown_url": "https://ngx.mruby.org/markdown/releases.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "ngx_mruby v2.7.1",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/v2.7.1.ja.md",
      "source_sha256": "209f82a1c502c5bb1d953e5a46a38bc609a9ea0b491877d3c6c9fdff84953b16",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/v2.7.1.ja.md",
      "html_url": "https://ngx.mruby.org/ja/releases/v2.7.1/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/releases/v2.7.1.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "ngx_mruby v2.7.1",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/v2.7.1.md",
      "source_sha256": "018b2e3cd2b0669ef9f7f179ab4875bd2018842712ee754e089083cf3027ec4a",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/v2.7.1.md",
      "html_url": "https://ngx.mruby.org/releases/v2.7.1/",
      "markdown_url": "https://ngx.mruby.org/markdown/releases/v2.7.1.md",
      "last_updated": "2026-10-19"
    },
    {
      "title": "ngx_mruby v2.7.2",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/v2.7.2.ja.md",
      "source_sha256": "5184e7247723b1ff8210f8bca3f4afd910c1bd46546f367c7855d9b726c8c58b",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/v2.7.2.ja.md",
      "html_url": "https://ngx.mruby.org/ja/releases/v2.7.2/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/releases/v2.7.2.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "ngx_mruby v2.7.2",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/v2.7.2.md",
      "source_sha256": "680b9f1e779d1c6634f013eb8215a4fb0b5bcea9c1eb5e8767d9217c27139d93",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/v2.7.2.md",
      "html_url": "https://ngx.mruby.org/releases/v2.7.2/",
      "markdown_url": "https://ngx.mruby.org/markdown/releases/v2.7.2.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "ngx_mruby v2.7.3",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/v2.7.3.ja.md",
      "source_sha256": "bb5ea8525216c11c9fba7feff2da81e2c2a72c878902ac5988cf5bb48f3990c7",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/v2.7.3.ja.md",
      "html_url": "https://ngx.mruby.org/ja/releases/v2.7.3/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/releases/v2.7.3.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "ngx_mruby v2.7.3",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/v2.7.3.md",
      "source_sha256": "444828a706f0831e3f6e8c815d0c018d7d08507571cc57eb002e0992c0344bec",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/v2.7.3.md",
      "html_url": "https://ngx.mruby.org/releases/v2.7.3/",
      "markdown_url": "https://ngx.mruby.org/markdown/releases/v2.7.3.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "ngx_mruby v3.0.0",
      "language": "ja",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/v3.0.0.ja.md",
      "source_sha256": "3d7782c7ec8340ccafe3df7bd116d057d69c748708f3832b65db04c420bfee28",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/v3.0.0.ja.md",
      "html_url": "https://ngx.mruby.org/ja/releases/v3.0.0/",
      "markdown_url": "https://ngx.mruby.org/markdown/ja/releases/v3.0.0.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "ngx_mruby v3.0.0",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/releases/v3.0.0.md",
      "source_sha256": "fae8ea9cd5637619e7020436915de16bfcb3248ce2d56acacf87340903c4f52b",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/releases/v3.0.0.md",
      "html_url": "https://ngx.mruby.org/releases/v3.0.0/",
      "markdown_url": "https://ngx.mruby.org/markdown/releases/v3.0.0.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Trust boundary",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/security/trust-boundary.md",
      "source_sha256": "c6245876d5458facd1e2527c18253743ce754a20d041ac1121e347a27ceb5951",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/security/trust-boundary.md",
      "html_url": "https://ngx.mruby.org/security/trust-boundary/",
      "markdown_url": "https://ngx.mruby.org/markdown/security/trust-boundary.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Add test",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/test/README.md",
      "source_sha256": "f69019a4b9ec4c09d8399e4fbcd0944beb5cc42d4673964a74b7230a7fee77a2",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/test/README.md",
      "html_url": "https://ngx.mruby.org/contributing/test/",
      "markdown_url": "https://ngx.mruby.org/markdown/contributing/test.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Use cases",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "docs/use_case/README.md",
      "source_sha256": "f40f58cdc4343b894aaab0039f33dfdd7767bf22058812ed831a83d7c13f377c",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/docs/use_case/README.md",
      "html_url": "https://ngx.mruby.org/guides/use-cases/",
      "markdown_url": "https://ngx.mruby.org/markdown/guides/use-cases.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Get started",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "examples/start/README.md",
      "source_sha256": "110ca1ff075a87d7501a8c2e3e0a578d1ed5332b6e8c143a824fe34817c123ad",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/examples/start/README.md",
      "html_url": "https://ngx.mruby.org/start/",
      "markdown_url": "https://ngx.mruby.org/markdown/start.md",
      "last_updated": "2026-10-30"
    },
    {
      "title": "Security Policy",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "SECURITY.md",
      "source_sha256": "2943883ff23d1948651d9dea4cefe1d26264b1e5802dd9d8946d7d08271f2e7f",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/SECURITY.md",
      "html_url": "https://ngx.mruby.org/security/",
      "markdown_url": "https://ngx.mruby.org/markdown/security.md",
      "last_updated": "2026-10-29"
    },
    {
      "title": "Contributing",
      "language": "en",
      "documentation_version": "3.x",
      "channel": "development",
      "release_context": null,
      "source_revision": "252018d861d008b380109414280f99e51433e238",
      "working_tree_clean": true,
      "source_path": "CONTRIBUTING.md",
      "source_sha256": "3a96d4ab00f729f664ecf3dbb27ca9b7a28b92cd89e4fbab5efaf9b331fa4b7f",
      "source_at_revision": true,
      "source_url": "https://github.com/matsumotory/ngx_mruby/blob/252018d861d008b380109414280f99e51433e238/CONTRIBUTING.md",
      "html_url": "https://ngx.mruby.org/contributing/",
      "markdown_url": "https://ngx.mruby.org/markdown/contributing.md",
      "last_updated": "2026-10-29"
    }
  ]
}
