{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/simonwillison-net/2026-09-16-datasette-1-0a40/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "Same security fix as [0.65.5](https://simonwillison.net/2026/Sep/16/datasette-2/), plus some neat new features and bug fixes:\n\n- Plugins can now launch and manage **background tasks** using the new [datasette.add\\_background\\_task()](https://docs.datasette.io/en/latest/internals.html#datasette-add-background-task) method. Thanks, [Alex Garcia](https://alexgarcia.xyz/).\n- I've migrated Datasette to [httpx2](https://github.com/pydantic/httpx2) for features like the internal `datasette.client.get()` method.\n- A whole lot of [bug fixes](https://docs.datasette.io/en/latest/changelog.html#a40-2026-09-16), many of them stemming from a recent effort to triage issues for a 1.0 stable release.\n",
  "authors": [],
  "captured_at": "2026-09-17T01:40:53.278229139+00:00",
  "category": "programming",
  "content_html": "<p>Same security fix as <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://simonwillison.net/2026/Sep/16/datasette-2/\">0.65.5</a>, plus some neat new features and bug fixes:</p>\n<ul>\n<li>Plugins can now launch and manage <strong>background tasks</strong> using the new <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.datasette.io/en/latest/internals.html#datasette-add-background-task\">datasette.add_background_task()</a> method. Thanks, <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://alexgarcia.xyz/\">Alex Garcia</a>.</li>\n<li>I've migrated Datasette to <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/pydantic/httpx2\">httpx2</a> for features like the internal <code>datasette.client.get()</code> method.</li>\n<li>A whole lot of <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.datasette.io/en/latest/changelog.html#a40-2026-09-16\">bug fixes</a>, many of them stemming from a recent effort to triage issues for a 1.0 stable release.</li>\n</ul>\n",
  "content_markdown": "Same security fix as [0.65.5](https://simonwillison.net/2026/Sep/16/datasette-2/), plus some neat new features and bug fixes:\n\n- Plugins can now launch and manage **background tasks** using the new [datasette.add\\_background\\_task()](https://docs.datasette.io/en/latest/internals.html#datasette-add-background-task) method. Thanks, [Alex Garcia](https://alexgarcia.xyz/).\n- I've migrated Datasette to [httpx2](https://github.com/pydantic/httpx2) for features like the internal `datasette.client.get()` method.\n- A whole lot of [bug fixes](https://docs.datasette.io/en/latest/changelog.html#a40-2026-09-16), many of them stemming from a recent effort to triage issues for a 1.0 stable release.\n",
  "dateCreated": "2026-09-17T01:40:53.278229139+00:00",
  "date_created": "2026-09-16T23:51:43+00:00",
  "date_modified": "2026-09-16T23:51:43+00:00",
  "date_published": "2026-09-16T23:51:43+00:00",
  "description": "Release: datasette 1.0a40 Same security fix as 0.65.5, plus some neat new features and bug fixes: Plugins can now launch and manage background tasks using the new datasette.add_background_task() method. Thanks, Alex Garcia. I've migrated…",
  "external_url": "https://simonwillison.net/2026/Sep/16/datasette/",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/simonwillison-net/2026/09/2026-09-16-datasette-1-0a40.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/simonwillison-net/2026/09/2026-09-16-datasette-1-0a40.md"
  },
  "id": "urn:aggr:item:049ccdf3a0e9f6eb127e3e1e32dd710eb2dadcd1",
  "isBasedOn": {
    "@id": "https://simonwillison.net/2026/Sep/16/datasette/"
  },
  "mainEntity": {
    "@id": "https://simonwillison.net/2026/Sep/16/datasette/",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/simonwillison-net/2026-09-16-datasette-1-0a40/#webpage"
    },
    "dateModified": "2026-09-16T23:51:43+00:00",
    "datePublished": "2026-09-16T23:51:43+00:00",
    "headline": "datasette 1.0a40",
    "timeRequired": "PT1M",
    "url": "https://simonwillison.net/2026/Sep/16/datasette/",
    "wordCount": 63
  },
  "name": "Archived snapshot: datasette 1.0a40",
  "preview": null,
  "reading_minutes": 1,
  "replicated_at": null,
  "source": "simonwillison-net",
  "source_name": "Simon Willison's Weblog",
  "summary": "Release: datasette 1.0a40 Same security fix as 0.65.5, plus some neat new features and bug fixes: Plugins can now launch and manage background tasks using the new datasette.add_background_task() method. Thanks, Alex Garcia. I've migrated Datasette to httpx2 for features like the internal datasette.client.get() method. A whole lot of bug fixes, many of them stemming from a recent effort to triage issues for a 1.0 stable release. Tags: security, datasette",
  "tags": [
    "datasette",
    "security"
  ],
  "temporalCoverage": "2026-09-17T01:40:53.278229139+00:00",
  "title": "datasette 1.0a40",
  "url": "https://aggr.aymericbeaumet.com/items/simonwillison-net/2026-09-16-datasette-1-0a40/",
  "word_count": 63
}