← NetlifyCONTENT HISTORY

Update to Netlify

Snapshot Sep 30, 2026 · 23:18 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED · RULE-BASED ANALYSIS

Supporting file metadata differs

Newly listed paths: LICENSE.txt, agents/openai.yaml. This compares saved file lists, not package contents; a different collection source can change the list.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Supporting files

Before

[{"relative_path":"assets/netlify-small.svg","size_in_bytes":1291},{"relative_path":"assets/netlify.png","size_in_bytes":2686}]

After

[{"relative_path":"LICENSE.txt","size_in_bytes":10776},{"relative_path":"agents/openai.yaml","size_in_bytes":332},{"relative_path":"assets/netlify-small.svg","size_in_bytes":1291},{"relative_path":"assets/netlify.png","size_in_bytes":2686}]

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /included_files

BEFORE
[
  {
    "relative_path": "assets/netlify-small.svg",
    "size_in_bytes": 1291
  },
  {
    "relative_path": "assets/netlify.png",
    "size_in_bytes": 2686
  }
]
AFTER
[
  {
    "relative_path": "LICENSE.txt",
    "size_in_bytes": 10776
  },
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 332
  },
  {
    "relative_path": "assets/netlify-small.svg",
    "size_in_bytes": 1291
  },
  {
    "relative_path": "assets/netlify.png",
    "size_in_bytes": 2686
  }
]
Full snapshot data
{
  "name": "netlify-config",
  "description": "Reference for netlify.toml configuration. Use when configuring build settings, redirects, rewrites, headers, deploy contexts, environment variables, or any site-level configuration. Covers the complete netlify.toml syntax including redirects with splats/conditions, headers, deploy contexts, functions config, and edge functions config.",
  "included_files": [
    {
      "relative_path": "LICENSE.txt",
      "size_in_bytes": 10776
    },
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 332
    },
    {
      "relative_path": "assets/netlify-small.svg",
      "size_in_bytes": 1291
    },
    {
      "relative_path": "assets/netlify.png",
      "size_in_bytes": 2686
    }
  ],
  "skill_md_contents": "---\nname: netlify-config\ndescription: Reference for netlify.toml configuration. Use when configuring build settings, redirects, rewrites, headers, deploy contexts, environment variables, or any site-level configuration. Covers the complete netlify.toml syntax including redirects with splats/conditions, headers, deploy contexts, functions config, and edge functions config.\n---\n\n# Netlify Configuration (netlify.toml)\n\nPlace `netlify.toml` at the repository root (or at the base directory for monorepos).\n\n## Build Settings\n\n```toml\n[build]\n  base = \"project/\"          # Base directory (default: root)\n  command = \"npm run build\"  # Build command\n  publish = \"dist/\"          # Output directory\n```\n\n## Redirects\n\n```toml\n# Basic redirect\n[[redirects]]\nfrom = \"/old\"\nto = \"/new\"\nstatus = 301              # 301 (default), 302, 200 (rewrite), 404\n\n# SPA catch-all\n[[redirects]]\nfrom = \"/*\"\nto = \"/index.html\"\nstatus = 200\n\n# Splat (wildcard)\n[[redirects]]\nfrom = \"/blog/*\"\nto = \"/news/:splat\"\n\n# Path parameters\n[[redirects]]\nfrom = \"/users/:id\"\nto = \"/api/users/:id\"\nstatus = 200\n\n# Force (override existing files)\n[[redirects]]\nfrom = \"/app/*\"\nto = \"/index.html\"\nstatus = 200\nforce = true\n\n# Proxy to external service\n[[redirects]]\nfrom = \"/api/*\"\nto = \"https://api.example.com/:splat\"\nstatus = 200\n[redirects.headers]\n  X-Custom = \"value\"\n\n# Country/language conditions\n[[redirects]]\nfrom = \"/*\"\nto = \"/fr/:splat\"\nstatus = 200\nconditions = { Country = [\"FR\"], Language = [\"fr\"] }\n```\n\n**Rule order matters** — Netlify processes the first matching rule. Place specific rules before general ones.\n\n## Headers\n\n```toml\n[[headers]]\nfor = \"/*\"\n[headers.values]\n  X-Frame-Options = \"DENY\"\n  X-Content-Type-Options = \"nosniff\"\n\n[[headers]]\nfor = \"/assets/*\"\n[headers.values]\n  Cache-Control = \"public, max-age=31536000, immutable\"\n```\n\nHeaders apply only to files served from Netlify's CDN (not to function or edge function responses — set those in code).\n\n## Deploy Contexts\n\nOverride settings per deploy context:\n\n```toml\n[context.production]\ncommand = \"npm run build\"\nenvironment = { NODE_ENV = \"production\" }\n\n[context.deploy-preview]\ncommand = \"npm run build:preview\"\n\n[context.branch-deploy]\ncommand = \"npm run build:staging\"\n\n[context.dev]\nenvironment = { NODE_ENV = \"development\" }\n\n# Specific branch\n[context.\"staging\"]\ncommand = \"npm run build:staging\"\n```\n\n## Environment Variables\n\n```toml\n[build.environment]\nNODE_VERSION = \"20\"\n\n[context.production.environment]\nAPI_URL = \"https://api.prod.com\"\n\n[context.deploy-preview.environment]\nAPI_URL = \"https://api.staging.com\"\n```\n\n**Do not put secrets in netlify.toml** (it's committed to source control). Use the Netlify UI or CLI for sensitive values. See the **netlify-cli-and-deploy** skill for CLI environment variable management.\n\n## Functions Configuration\n\n```toml\n[functions]\ndirectory = \"netlify/functions\"   # Default\nnode_bundler = \"esbuild\"\n\n# Scheduled function\n[functions.\"cleanup\"]\nschedule = \"@daily\"\n```\n\n## Edge Functions Configuration\n\n```toml\n[[edge_functions]]\npath = \"/admin\"\nfunction = \"auth\"\n\n# Import map for Deno URL imports\n[functions]\ndeno_import_map = \"./import_map.json\"\n```\n\n## Dev Server\n\n```toml\n[dev]\ncommand = \"npm start\"       # Dev server command\nport = 8888                 # Netlify Dev port\ntargetPort = 3000           # Your app's dev server port\nframework = \"#auto\"         # \"#auto\", \"#static\", \"#custom\"\n```\n\n## Plugins\n\n```toml\n[[plugins]]\npackage = \"@netlify/plugin-lighthouse\"\n[plugins.inputs]\n  audits = [\"performance\", \"accessibility\"]\n```\n\n## Image CDN\n\n```toml\n[images]\nremote_images = [\"https://example\\\\.com/.*\"]\n```\n\nSee the **netlify-image-cdn** skill for full Image CDN usage.\n"
}

SHA-256: 7a685234bf86888fd3a6dfc880d2fdfc418085140a920582cd712019c66b6225