-
-
Notifications
You must be signed in to change notification settings - Fork 21
/
news.yaml
422 lines (419 loc) · 35.7 KB
/
news.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
- date: 2024-10-07
body: |-
[Python 3.13](https://docs.python.org/3.13/whatsnew/3.13.html) was released today. [Datasette 1.0a16](https://docs.datasette.io/en/latest/changelog.html#a16-2024-09-05) is compatible with Python 3.13, but Datasette 0.64.8 was not. The new [Datasette 0.65](https://docs.datasette.io/en/stable/changelog.html#v0-65) release fixes compatibility with the new version of Python.
- date: 2024-08-05
body: |-
[Datasette 1.0a14](https://docs.datasette.io/en/latest/changelog.html#a14-2024-08-05) includes some breaking changes to how metadata works for plugins, described in detail in the new [upgrade guide](https://docs.datasette.io/en/latest/upgrade_guide.html). See also the [annotated release notes](https://simonwillison.net/2024/Aug/5/datasette-1a14/) that accompany this release.
- date: 2024-02-18
body: |-
[Datasette 1.0a10](https://docs.datasette.io/en/latest/changelog.html#a10-2024-02-17) is a focused alpha that changes some internal details about how Datasette handles transactions. The `datasette.execute_write_fn()` internal method now wraps the function in a database transaction unless you pass `transaction=False`.
- date: 2024-02-16
body: |-
[Datasette 1.0a9](https://docs.datasette.io/en/latest/changelog.html#a9-2024-02-16) adds basic alter table support to the JSON API, tweaks how permissions works and introduces some new plugin debugging utilities.
- date: 2024-02-07
body: |-
[Datasette 1.0a8](https://docs.datasette.io/en/1.0a8/changelog.html#a8-2024-02-07) introduces several new plugin hooks, a JavaScript plugin system and moves plugin configuration from `metadata.yaml` to `datasette.yaml`. Read more about the release in [the annotated release notes for 1.0a8](https://simonwillison.net/2024/Feb/7/datasette-1a8/).
- date: 2023-12-01
body: |-
[Datasette Enrichments](https://enrichments.datasette.io/) is a new feature for Datasette that supports enriching data by running custom code against every selected row in a table. Read [Datasette Enrichments: a new plugin framework for augmenting your data](https://simonwillison.net/2023/Dec/1/datasette-enrichments/) for more details, plus a video demo of enrichments for geocoding addresses and processing text and images using GPT-4.
- date: 2023-11-30
body: |-
[datasette-comments](https://datasette.io/plugins/datasette-comments) is a new plugin by Alex Garcia which adds collaborative commenting to Datasette. Alex built the plugin for Datasette Cloud, but it's also available as an open source package for people who are hosting their own Datasette instances. See [Annotate and explore your data with datasette-comments](https://www.datasette.cloud/blog/2023/datasette-comments/) on the Datasette Cloud blog for more details.
- date: 2023-08-22
body: |-
[Datasette 1.0a4](https://docs.datasette.io/en/1.0a4/changelog.html#a4-2023-08-21) has a fix for a security vulnerability in the Datasette 1.0 alpha series: the API explorer interface exposed the names of private databases and tables in public instances that were protected by a plugin such as [datasette-auth-passwords](https://datasette.io/plugins/datasette-auth-passwords), though not the actual content of those tables. See the [security advisory](https://github.com/simonw/datasette/security/advisories/GHSA-7ch3-7pp7-7cpq) for more details and workarounds for if you can't upgrade immediately. The [latest edition of the Datasette Newsletter](https://datasette.substack.com/p/datasette-cloud-and-the-datasette) also talks about this issue.
- date: 2023-08-15
body: |-
[datasette-write-ui: a Datasette plugin for editing, inserting, and deleting rows](https://www.datasette.cloud/blog/2023/datasette-write-ui/) introduces a new plugin adding add/edit/delete functionality to Datasette, developed by Alex Garcia. Alex built this for [Datasette Cloud](https://www.datasette.cloud/), and this post is the first announcement made on the new Datasette Cloud blog - see also [Welcome to Datasette Cloud](https://www.datasette.cloud/blog/2023/welcome/).
- date: 2023-08-09
body: |-
[Datasette 1.0a3](https://docs.datasette.io/en/latest/changelog.html#a3-2023-08-09) is an alpha release of Datasette that previews the new default JSON API design that’s coming in version 1.0 - the single most significant change planned for that 1.0 release.
- date: 2023-07-01
body: |-
New tutorial: [Data analysis with SQLite and Python](https://datasette.io/tutorials/data-analysis). This tutorial, originally presented at PyCon 2023, includes a 2h45m video and an extensive handout that should be useful with or without the video. Topics covered include Python's `sqlite3` module, `sqlite-utils`, Datasette, Datasette Lite, advanced SQL patterns and more.
- date: 2023-03-24
body: |-
[I built a ChatGPT plugin to answer questions about data hosted in Datasette](https://simonwillison.net/2023/Mar/24/datasette-chatgpt-plugin/) describes a new experimental Datasette plugin to enable people to query data hosted in a Datasette interface via ChatGPT, asking human language questions that are automatically converted to SQL and used to generate a readable response.
- date: 2023-02-23
body: |-
[Using Datasette in GitHub Codespaces](https://datasette.io/tutorials/codespaces) is a new tutorial showing how Datasette can be run in GitHub's free Codespaces browser-based development environments, using the new [datasette-codespaces plugin](https://datasette.io/plugins/datasette-codespaces).
- date: 2023-01-28
body: |-
[Examples of sites built using Datasette](https://datasette.io/examples) now includes screenshots of Datasette deployments that illustrate a variety of problems that can be addressed using Datasette and its plugins.
- date: 2023-01-13
body: |-
[Semantic search answers: Q&A against documentation with GPT3 + OpenAI embeddings](https://simonwillison.net/2023/Jan/13/semantic-search-answers/) shows how Datasette can be used to implement semantic search and build a system for answering questions against an existing corpus of text, using two new plugins: [datasette-openai](https://datasette.io/plugins/datasette-openai) and [datasette-faiss](https://datasette.io/plugins/datasette-faiss), and a new tool: [openai-to-sqlite](https://datasette.io/tools/openai-to-sqlite).
- date: 2023-01-09
body: |-
[Datasette 0.64](https://docs.datasette.io/en/stable/changelog.html#v0-64) is out, and includes [a strong warning](https://docs.datasette.io/en/stable/spatialite.html#warning) against running SpatiaLite in production without disabling arbitrary SQL queries, plus a new [--setting default_allow_sql off](https://docs.datasette.io/en/stable/settings.html#setting-default-allow-sql) setting to make it easier to do that. See [Datasette 0.64, with a warning about SpatiaLite](https://simonwillison.net/2023/Jan/9/datasette-064/) for more about this release. A new tutorial, [Building a location to time zone API with SpatiaLite](https://datasette.io/tutorials/spatialite), describes how to safely use SpatiaLite and Datasette to build and deploy an API for looking up time zones for a latitude/longitude location.
- date: 2022-12-15
body: |-
[Datasette 1.0a2: Upserts and finely grained permissions](https://simonwillison.net/2022/Dec/15/datasette-1a2/) describes the new upsert API and much improved permissions capabilities introduced in the latest [Datasette 1.0a2 alpha](https://docs.datasette.io/en/latest/changelog.html#a2-2022-12-14) release.
- date: 2022-12-02
body: |-
[Datasette’s new JSON write API: The first alpha of Datasette 1.0](https://simonwillison.net/2022/Dec/2/datasette-write-api/) introduces the new write API shipped in the first of the Datasette 1.0 alpha series of releases, including detailed descriptions of two demos that show how the API can be used.
- date: 2022-10-27
body: |-
[Datasette 0.63](https://docs.datasette.io/en/stable/changelog.html#v0-63) is out. Here are the [annotated release notes](https://simonwillison.net/2022/Oct/27/datasette-0-63/).
- date: 2022-09-08
body: |-
[Exploring the training data behind Stable Diffusion](https://simonwillison.net/2022/Sep/5/laion-aesthetics-weeknotes/) describes the process of building and deploying a 4GB searchable SQLite database using Datasette, starting with Parquet data that was used to train the Stable Diffusion image generation model. See also [Exploring 12 Million of the 2.3 Billion Images Used to Train Stable Diffusion’s Image Generator](https://waxy.org/2022/08/exploring-12-million-of-the-images-used-to-train-stable-diffusions-image-generator/).
- date: 2022-08-21
body: |-
[Analyzing ScotRail audio announcements with Datasette—from prototype to production](https://simonwillison.net/2022/Aug/21/scotrail/) provides a detailed walk-through of the process of constructing an initial rapid prototype using Datasette Lite, extending it with a custom plugin and then deploying it as a full Datasette instance using GitHub Actions and Vercel.
- date: 2022-08-14
body: |-
[Datasette 0.62](https://docs.datasette.io/en/stable/changelog.html#v0-62) introduces compatibility with Pyodide for [Datasette Lite](https://lite.datasette.io/), and incorporates a number of bug fixes, plugin hook upgrades and other improvements.
- date: 2022-07-31
body: |-
New tutorial and accompanying ten minute video: [Cleaning data with sqlite-utils and Datasette](https://datasette.io/tutorials/clean-data).
- date: 2022-06-30
body: |-
[s3-ocr](https://datasette.io/tools/s3-ocr) is a new tool which can run OCR (via Amazon Textract) against every PDF file in an S3 bucket and write the results to a searchable SQLite database, ready to use with Datasette. Read more about it in [s3-ocr: Extract text from PDF files stored in an S3 bucket](https://simonwillison.net/2022/Jun/30/s3-ocr/).
- date: 2022-05-05
body: |-
[Datasette Lite](https://lite.datasette.io/) is a new way to run Datasette: entirely in your browser, thanks to the [Pyodide](https://pyodide.org/) project which provides a full Python environment compiled to WebAssembly. You can use it to explore any SQLite database file hosted on a CORS-enabled static hosting provider, which includes GitHub and GitHub Pages. Read more about this project in [Datasette Lite: a server-side Python web application running in a browser](https://simonwillison.net/2022/May/4/datasette-lite/).
- date: 2022-04-12
body: |-
[Datasette for geospatial analysis](https://datasette.io/for/geospatial) describes how Datasette can be used in conjunction with SpatiaLite to work with geospatial data, including details of several geospatial plugins and tools from the Datasette ecosystem.
- date: 2022-03-23
body: |-
[Datasette 0.61](https://docs.datasette.io/en/stable/changelog.html#v0-61) introduces two potentially backwards-incompatible changes in preparation for the forthcoming 1.0 release: hashed URL mode has been moved to [a new plugin](https://datasette.io/plugins/datasette-hashed-urls), and the way URLs are generated to tables or databases containing special characters such as `.` or `/` has changed. [Datasette 0.61.1](https://docs.datasette.io/en/stable/changelog.html#v0-61-1) fixes a small bug in that release. See also [the annotated release notes](https://simonwillison.net/2022/Mar/24/datasette-061/) for these two versions.
- date: 2022-02-27
body: |-
The first two of an ongoing series of official Datasette tutorials are now available: [Exploring a database with Datasette](/tutorials/explore) introduces the Datasette web interface and shows how it can be used to explore a new database, and [Learn SQL with Datasette](/tutorials/learn-sql) provides an introduction to SQL using Datasette as a learning environment.
- date: 2022-01-13
body: |-
[Datasette 0.60](https://docs.datasette.io/en/stable/changelog.html#v0-60) adds a new `filters_from_request` plugin hook, new internal methods for writing to the database, better performance and various faceting improvements. See also [the annotated release notes](https://simonwillison.net/2022/Jan/14/datasette-060/).
- date: 2021-12-05
body: |-
[Observable](https://observablehq.com/) notebooks recently added a SQL cell type, allowing SQL queries to be executed as part of an interactive notebook workflow. Alex Garcia built a [Datasette Client](https://observablehq.com/@ambassadors/datasette-client) for these which allows you to excute queries against any Datasette instance and explore and visualize the results using JavaScript code running in a notebook.
- date: 2021-10-14
body: |-
[Datasette 0.59](https://docs.datasette.io/en/stable/changelog.html#v0-59) adds column descriptions in metadata, a new `register_command` plugin hook, enhanced `--cors` support and a bunch of other fixes and documentation improvements. See also [the annotated release notes](https://simonwillison.net/2021/Oct/19/datasette-059/).
- date: 2021-09-08
body: |-
[Datasette Desktop](https://datasette.io/desktop) is a new macOS desktop application version of Datasette, which supports opening SQLite files on your computer, importing CSV files and installing plugins. I wrote more about how it works in [Datasette Desktop—a macOS desktop application for Datasette](https://simonwillison.net/2021/Sep/8/datasette-desktop/).
- date: 2021-07-28
body: |-
[The Baked Data architectural pattern](https://simonwillison.net/2021/Jul/28/baked-data/) describes a pattern commonly used with Datasette where the content for a site is bundled inside a SQLite database file and included alongside templates and application code in a deployment to a serverless hosting provider.
- date: 2021-07-15
body: |-
[Datasette 0.58](https://docs.datasette.io/en/stable/changelog.html#v0-58) has new plugin hooks, a huge performance improvement for faceting, support for Unix domain sockets and several other improvements. Read [the annotated release notes](https://simonwillison.net/2021/Jul/16/datasette-058/) for extra background and context on the release.
- date: 2021-06-05
body: |-
[Datasette 0.57](https://docs.datasette.io/en/stable/changelog.html#v0-57) is out with an important [security patch](https://github.com/simonw/datasette/security/advisories/GHSA-xw7c-jx9m-xh5g) plus a number of new features and bug fixes. Datasette 0.56.1, also out today, provides the security patch for users who are not yet ready to upgrade to the latest version.
- date: 2021-05-10
body: |-
[Django SQL Dashboard](https://simonwillison.net/2021/May/10/django-sql-dashboard/) is a new tool that brings a useful authenticated subset of Datasette to Django projects that are built on top of PostgreSQL.
- date: 2021-03-28
body: |-
[Datasette 0.56](https://docs.datasette.io/en/stable/changelog.html#v0-56) has bug fixes and documentation improvements, plus some new documented internal APIs for plugin authors and SpatiaLite 5 bundled with the official [Datasette Docker container](https://docs.datasette.io/en/stable/installation.html#using-docker).
- date: 2021-02-18
body: |-
[Datasette 0.55](https://docs.datasette.io/en/stable/changelog.html#v0-55) adds support for cross-database SQL queries. You can now run `datasette --crossdb one.db two.db` and then run queries that join data from tables in both of those database files - see [cross-database queries](https://docs.datasette.io/en/stable/sql_queries.html#cross-database-queries) in the documentation for more details.
[sqlite-utils 3.6](https://sqlite-utils.datasette.io/en/stable/changelog.html#v3-6) adds similar features: a `db.attach(alias, filepath)` Python API method and `--attach alias filepath.db` command-line option, both for attaching additional databases in order to execute cross-database queries.
- date: 2021-02-07
body: >-
This new [Video introduction to Datasette and sqlite-utils](https://simonwillison.net/2021/Feb/7/video/) provides a full introduction to both Datasette and [sqlite-utils](https://sqlite-utils.datasette.io/) in 17 minutes, including a live demo of creating a database from a CSV file and publishing it to Google Cloud Run.
- date: 2021-02-03
body: >-
[Serving map tiles from SQLite with MBTiles and datasette-tiles](https://simonwillison.net/2021/Feb/4/datasette-tiles/). [datasette-tiles](https://datasette.io/plugins/datasette-tiles) is a new plugin that adds a tile server to Datasette, serving map tiles from databases that conform to [the MBTiles specification](https://github.com/mapbox/mbtiles-spec). [download-tiles](https://datasette.io/tools/download-tiles) is a tool for building these databases, and [datasette-basemap](https://datasette.io/plugins/datasette-basemap) is a plugin that bundles a 22MB SQLite database with OpenStreetMap tiles covering zoom levels 0-6 for the entire world.
- date: 2021-01-25
body: >-
[Datasette 0.54](https://docs.datasette.io/en/stable/changelog.html#v0-54) is out today. Highlights include the new `_internal` in-memory database exposing details of connected tables, plus support for JavaScript modules in plugins and add-on scripts. More commentary on this release is available in the [annotated release notes](https://simonwillison.net/2021/Jan/25/datasette/).
- date: 2021-01-24
body: >-
[Drawing shapes on a map to query a SpatiaLite database](https://simonwillison.net/2021/Jan/24/drawing-shapes-spatialite/) introduces the new [datasette-leaflet-freedraw](https://datasette.io/plugins/datasette-leaflet-freedraw) plugin, which adds support for drawing shapes on a map to specify a GeoJSON MultiPolygon that can be used to query SpatiaLite databases.
- date: 2021-01-07
body: >-
[APIs from CSS without JavaScript: the datasette-css-properties plugin](https://simonwillison.net/2021/Jan/7/css-apis-no-javascript/) introduces [datasette-css-properties](https://datasette.io/plugins/datasette-css-properties), a highly experimental plugin that can output table rows and SQL query results as CSS stylesheets defining custom properties that can then be used to customize a static HTML page.
- date: 2020-12-19
body: >-
New on this site: a [Datasette Tools](https://datasette.io/tools) directory and a [search engine](https://datasette.io/-/beta) that covers documentation, tools, plugins, releases and more. The search engine uses [Dogsheep Beta](https://github.com/dogsheep/dogsheep-beta) - I wrote about how that works in [Building a search engine for datasette.io](https://simonwillison.net/2020/Dec/19/dogsheep-beta/).
- date: 2020-12-13
body: >-
I wrote more about how this site works in [Weeknotes: datasette.io, an official project website for Datasette](https://simonwillison.net/2020/Dec/13/datasette-io/).
- date: 2020-12-10
body: >-
[Datasette 0.53](https://docs.datasette.io/en/stable/changelog.html#v0-53) - `datasette serve --create` option, `?column__arraynotcontains=` table filter, `?_header=off` CSV option and updated links to reflect the new project website.
- date: 2020-12-10
body: >-
[New Datasette project website](https://datasette.io/) - three years after the first release Datasette finally has its own website! The site includes project [news](https://datasette.io/news), a [plugin directory](https://datasette.io/plugins), [use-cases](https://datasette.io/for) and [examples](https://datasette.io/examples). The site is implemented using Datasette custom templates, and the source code is available [on GitHub](https://github.com/simonw/datasette.io).
- date: 2020-11-28
body: >-
[Datasette 0.52](https://docs.datasette.io/en/stable/changelog.html#v0-52) - `--config` is now `--setting`,
new `database_actions` plugin hook, `datasette publish cloudrun --apt-get-install` option and several
bug fixes.
- date: 2020-10-31
body: >-
[Datasette 0.51](https://docs.datasette.io/en/stable/changelog.html#v0-51) - A new visual design,
plugin hooks for adding navigation options, better handling of binary data, URL building utility methods
and better support for running Datasette behind a proxy. [Annotated release notes](https://simonwillison.net/2020/Nov/1/datasette-0-51/).
- date: 2020-10-09
body: >-
[Datasette 0.50](https://docs.datasette.io/en/stable/changelog.html#v0-50) - New column actions menu.
`datasette.client` object for plugins to make internal API requests. Improved documentation on deploying
Datasette. [Annotated release notes](https://simonwillison.net/2020/Oct/9/datasette-0-50/).
- date: 2020-09-14
body: >-
[Datasette 0.49](https://docs.datasette.io/en/stable/changelog.html#v0-49) - JSON API for writable
canned queries, path parameters for custom pages. See also [Datasette 0.49: The annotated release
notes](https://simonwillison.net/2020/Sep/15/datasette-0-49/).
- date: 2020-08-16
body: >-
[Datasette 0.48](https://docs.datasette.io/en/stable/changelog.html#v0-48) - Documentation now lives
at [docs.datasette.io](https://docs.datasette.io/), improvements to the `extra_template_vars`, `extra_css_urls`,
`extra_js_urls` and `extra_body_script` plugin hooks.
- date: 2020-08-11
body: >-
[Datasette 0.47](https://docs.datasette.io/en/stable/changelog.html#v0-47) - Datasette can now be
installed using Homebrew! `brew install simonw/datasette/datasette`. Also new: `datasette install
name-of-plugin` and `datasette uninstall name-of-plugin` commands, and `datasette --get '/-/versions.json'`
to output the result of Datasette HTTP calls on the command-line.
- date: 2020-08-09
body: >-
[Datasette 0.46](https://docs.datasette.io/en/stable/changelog.html#v0-46) - security fix relating
to CSRF protection for writable canned queries, a new logo, new debugging tools, improved file downloads
and more.
- date: 2020-08-06
body: >-
[GraphQL in Datasette with the new datasette-graphql plugin](https://simonwillison.net/2020/Aug/7/datasette-graphql/)
- date: 2020-07-24
body: >-
Two new plugins: [datasette-copyable and datasette-insert-api](https://simonwillison.net/2020/Jul/23/datasette-copyable-datasette-insert-api/).
`datasette-copyable` adds copy-and-paste export options, and `datasette-insert-api` lets you create
tables and insert or update data by POSTing JSON directly to Datasette.
- date: 2020-07-01
body: >-
[Datasette 0.45](https://docs.datasette.io/en/stable/changelog.html#v0-45) - [Magic parameters for
canned queries](https://docs.datasette.io/en/stable/sql_queries.html#canned-queries-magic-parameters),
a log out feature, improved plugin documentation and four new plugin hooks. See also [Datasette 0.45:
The annotated release notes](https://simonwillison.net/2020/Jul/1/datasette-045/).
- date: 2020-06-20
body: >-
[A cookiecutter template for writing Datasette plugins](https://simonwillison.net/2020/Jun/20/cookiecutter-plugins/)
- date: 2020-06-11
body: >-
[Datasette 0.44](https://docs.datasette.io/en/stable/changelog.html#v0-44) - [Authentication and permissions](https://docs.datasette.io/en/stable/authentication.html),
[writable canned queries](https://docs.datasette.io/en/stable/sql_queries.html#writable-canned-queries),
flash messages, new plugin hooks and much, much more.
- date: 2020-05-28
body: >-
[Datasette 0.43](https://docs.datasette.io/en/stable/changelog.html#v0-43) - Redesigned [register_output_renderer](https://docs.datasette.io/en/stable/plugins.html#plugin-register-output-renderer)
plugin hook and various small improvements and fixes.
- date: 2020-05-08
body: >-
[Datasette 0.42](https://docs.datasette.io/en/stable/changelog.html#v0-42) - Documented internal methods
for plugins to execute read queries against a database.
- date: 2020-05-06
body: >-
[Datasette 0.41](https://docs.datasette.io/en/stable/changelog.html#v0-41) - New mechanism for [creating
custom pages](https://docs.datasette.io/en/0.41/custom_templates.html#custom-pages), new [configuration
directory mode](https://docs.datasette.io/en/0.41/config.html#configuration-directory-mode), new `?column__notlike=`
table filter and various other smaller improvements.
- date: 2020-04-21
body: >-
[Datasette 0.40](https://docs.datasette.io/en/stable/changelog.html#v0-40) - Metadata can now be provided
as YAML instead of JSON. Publishing to Zeit Now v1 is no longer supported, but Now v2 support is provided
by the new [datasette-publish-now](https://github.com/simonw/datasette-publish-now) plugin. Various
bug fixes.
- date: 2020-03-24
body: >-
[Datasette 0.39](https://docs.datasette.io/en/stable/changelog.html#v0-39) - New `base_url` configuration
option for running Datasette under a different URL prefix, `"sort"` and `"sort_desc"` metadata options
for setting a default sort order for a table.
- date: 2020-03-08
body: >-
[Datasette 0.38](https://docs.datasette.io/en/stable/changelog.html#v0-38) - New `--memory` option
for `datasete publish cloudrun`, [Docker image](https://hub.docker.com/r/datasetteproject/datasette)
upgraded to SQLite 3.31.1.
- date: 2020-02-25
body: >-
[Datasette 0.37](https://docs.datasette.io/en/stable/changelog.html#v0-37) - new internal APIs enabling
plugins to safely write to databases. Read more here: [Datasette Writes](https://simonwillison.net/2020/Feb/26/weeknotes-datasette-writes/).
- date: 2020-02-21
body: >-
[Datasette 0.36](https://docs.datasette.io/en/stable/changelog.html#v0-36) - new internals documentation
for plugins, `prepare_connection()` now accepts optional `database` and `datasette` arguments.
- date: 2020-02-04
body: >-
[Datasette 0.35](https://docs.datasette.io/en/stable/changelog.html#v0-35) - new `.render_template()`
method for plugins.
- date: 2020-01-29
body: >-
[Datasette 0.34](https://docs.datasette.io/en/stable/changelog.html#v0-34) - improvements to search,
`datasette publish cloudrun` and `datasette package`.
- date: 2020-01-21
body: >-
[Deploying a data API using GitHub Actions and Cloud Run](https://simonwillison.net/2020/Jan/21/github-actions-cloud-run/)
- how to use GitHub Actions and Google Cloud Run to automatically scrape data and deploy the result
as an API with Datasette.
- date: 2019-12-22
body: >-
[Datasette 0.33](https://docs.datasette.io/en/stable/changelog.html#v0-33) - various small improvements.
- date: 2019-12-19
body: >-
[Building tools to bring data-driven reporting to more newsrooms](https://medium.com/jsk-class-of-2020/building-tools-to-bring-data-driven-reporting-to-more-newsrooms-4520a0c9b3f2)
- some notes on my JSK fellowship so far.
- date: 2019-12-02
body: >-
[Niche Museums](https://www.niche-museums.com/) is a new site entirely powered by Datasette, using
custom templates and plugins. [niche-museums.com, powered by Datasette](https://simonwillison.net/2019/Nov/25/niche-museums/)
describes how the site works, and [datasette-atom: Define an Atom feed using a custom SQL query](https://simonwillison.net/2019/Dec/3/datasette-atom/)
describes how the new [datasette-atom plugin](https://github.com/simonw/datasette-atom) was used to
add an Atom syndication feed to the site.
- date: 2019-11-14
body: >-
[Datasette 0.32](https://docs.datasette.io/en/stable/changelog.html#v0-32) now uses asynchronous rendering
in Jinja templates, which means template functions can perform asynchronous operations such as executing
SQL queries. [datasette-template-sql](https://github.com/simonw/datasette-template-sql) is a new plugin
uses this capability to add a new custom `sql(sql_query)` template function.
- date: 2019-11-11
body: >-
[Datasette 0.31](https://docs.datasette.io/en/stable/changelog.html#v0-31) - the first version of
Datasette to support Python 3.8, which means dropping support for Python 3.5.
- date: 2019-10-18
body: >-
[Datasette 0.30](https://docs.datasette.io/en/stable/changelog.html#v0-30)
- date: 2019-07-13
body: >-
[Single sign-on against GitHub using ASGI middleware](https://simonwillison.net/2019/Jul/14/sso-asgi/)
talks about the implementation of [datasette-auth-github](https://github.com/simonw/datasette-auth-github)
in more detail.
- date: 2019-07-07
body: |-
[Datasette 0.29](https://docs.datasette.io/en/stable/changelog.html#v0-29) - ASGI, new plugin hooks,
facet by date and much, much more...
* [datasette-auth-github](https://github.com/simonw/datasette-auth-github) - a new plugin for Datasette
0.29 that lets you require users to authenticate against GitHub before accessing your Datasette instance.
You can whitelist specific users, or you can restrict access to members of specific GitHub organizations
or teams.
* [datasette-cors](https://github.com/simonw/datasette-cors) - a plugin that lets you configure
CORS access from a list of domains (or a set of domain wildcards) so you can make JavaScript calls
to a Datasette instance from a specific set of other hosts.
- date: 2019-06-23
body: >-
[Porting Datasette to ASGI, and Turtles all the way down](https://simonwillison.net/2019/Jun/23/datasette-asgi/)
- date: 2019-05-21
body: >-
The anonymized raw data from [the Stack Overflow Developer Survey 2019](https://stackoverflow.blog/2019/05/21/public-data-release-of-stack-overflows-2019-developer-survey/)
has been [published in partnership with Glitch](https://glitch.com/culture/discover-insights-explore-developer-survey-results-2019/),
powered by Datasette.
- date: 2019-05-19
body: |-
[Datasette 0.28](https://docs.datasette.io/en/stable/changelog.html#v0-28) - a salmagundi of new features!
* No longer immutable! Datasette now supports [databases that change](https://docs.datasette.io/en/stable/changelog.html#supporting-databases-that-change).
* [Faceting improvements](https://docs.datasette.io/en/stable/changelog.html#faceting-improvements-and-faceting-plugins)
including facet-by-JSON-array and the ability to define custom faceting using plugins.
* [datasette publish cloudrun](https://docs.datasette.io/en/stable/changelog.html#datasette-publish-cloudrun)
lets you publish databases to Google's new Cloud Run hosting service.
* New [register_output_renderer](https://docs.datasette.io/en/stable/changelog.html#register-output-renderer-plugins)
plugin hook for adding custom output extensions to Datasette in addition to the default `.json` and `.csv`.
* Dozens of other smaller features and tweaks - see [the release notes](https://docs.datasette.io/en/stable/changelog.html#v0-28) for full details.
* Read more about this release here: [Datasette 0.28 - and why master should always be releasable](https://simonwillison.net/2019/May/19/datasette-0-28/)
- date: 2019-02-24
body: >-
[sqlite-utils: a Python library and CLI tool for building SQLite databases](https://simonwillison.net/2019/Feb/25/sqlite-utils/)
- a partner tool for easily creating SQLite databases for use with Datasette.
- date: 2019-01-31
body: >-
[Datasette 0.27](https://docs.datasette.io/en/stable/changelog.html#v0-27) - `datasette plugins` command,
newline-delimited JSON export option, new documentation on [The Datasette Ecosystem](https://docs.datasette.io/en/stable/ecosystem.html).
- date: 2019-01-10
body: >-
[Datasette 0.26.1](https://docs.datasette.io/en/stable/changelog.html#v0-26-1) - SQLite upgrade in
Docker image, `/-/versions` now shows SQLite compile options.
- date: 2019-01-02
body: >-
[Datasette 0.26](https://docs.datasette.io/en/stable/changelog.html#v0-26) - minor bug fixes, `datasette
publish now --alias` argument.
- date: 2018-12-18
body: >-
[Fast Autocomplete Search for Your Website](https://simonwillison.net/2018/Dec/19/fast-autocomplete-search/)
- a new tutorial on using Datasette to build a JavaScript autocomplete search engine.
- date: 2018-10-03
body: >-
[The interesting ideas in Datasette](https://simonwillison.net/2018/Oct/4/datasette-ideas/) - a write-up
of some of the less obvious interesting ideas embedded in the Datasette project.
- date: 2018-09-19
body: >-
[Datasette 0.25](https://docs.datasette.io/en/stable/changelog.html#v0-25) - New plugin hooks, improved
database view support and an easier way to use more recent versions of SQLite.
- date: 2018-07-23
body: >-
[Datasette 0.24](https://docs.datasette.io/en/stable/changelog.html#v0-24) - a number of small new
features
- date: 2018-06-29
body: >-
[datasette-vega](https://github.com/simonw/datasette-vega), a new plugin for visualizing data as bar,
line or scatter charts
- date: 2018-06-21
body: >-
[Datasette 0.23.1](https://docs.datasette.io/en/stable/changelog.html#v0-23-1) - minor bug fixes
- date: 2018-06-18
body: >-
[Datasette 0.23: CSV, SpatiaLite and more](https://docs.datasette.io/en/stable/changelog.html#v0-23)
- CSV export, foreign key expansion in JSON and CSV, new config options, improved support for SpatiaLite
and a bunch of other improvements
- date: 2018-05-23
body: >-
[Datasette 0.22.1 bugfix](https://github.com/simonw/datasette/releases/tag/0.22.1) plus we now use
[versioneer](https://github.com/warner/python-versioneer)
- date: 2018-05-20
body: >-
[Datasette 0.22: Datasette Facets](https://simonwillison.net/2018/May/20/datasette-facets)
- date: 2018-05-05
body: >-
[Datasette 0.21: New _shape=, new _size=, search within columns](https://github.com/simonw/datasette/releases/tag/0.21)
- date: 2018-04-25
body: >-
[Exploring the UK Register of Members Interests with SQL and Datasette](https://simonwillison.net/2018/Apr/25/register-members-interests/)
- a tutorial describing how [register-of-members-interests.datasettes.com](https://register-of-members-interests.datasettes.com/)
was built ([source code here](https://github.com/simonw/register-of-members-interests))
- date: 2018-04-20
body: >-
[Datasette plugins, and building a clustered map visualization](https://simonwillison.net/2018/Apr/20/datasette-plugins/)
- introducing Datasette's new plugin system and [datasette-cluster-map](https://pypi.org/project/datasette-cluster-map/),
a plugin for visualizing data on a map
- date: 2018-04-20
body: >-
[Datasette 0.20: static assets and templates for plugins](https://github.com/simonw/datasette/releases/tag/0.20)
- date: 2018-04-16
body: >-
[Datasette 0.19: plugins preview](https://github.com/simonw/datasette/releases/tag/0.19)
- date: 2018-04-14
body: >-
[Datasette 0.18: units](https://github.com/simonw/datasette/releases/tag/0.18)
- date: 2018-04-09
body: >-
[Datasette 0.15: sort by column](https://github.com/simonw/datasette/releases/tag/0.15)
- date: 2018-03-28
body: >-
[Baltimore Sun Public Salary Records](https://simonwillison.net/2018/Mar/28/datasette-in-the-wild/)
- a data journalism project from the Baltimore Sun powered by Datasette - source code [is available
here](https://github.com/baltimore-sun-data/salaries-datasette)
- date: 2018-03-27
body: >-
[Cloud-first: Rapid webapp deployment using containers](https://wwwf.imperial.ac.uk/blog/research-software-engineering/2018/03/27/cloud-first-rapid-webapp-deployment-using-containers/)
- a tutorial covering deploying Datasette using Microsoft Azure by the Research Software Engineering
team at Imperial College London
- date: 2018-01-28
body: >-
[Analyzing my Twitter followers with Datasette](https://simonwillison.net/2018/Jan/28/analyzing-my-twitter-followers/)
- a tutorial on using Datasette to analyze follower data pulled from the Twitter API
- date: 2018-01-17
body: >-
[Datasette Publish: a web app for publishing CSV files as an online database](https://simonwillison.net/2018/Jan/17/datasette-publish/)
- date: 2017-12-12
body: >-
[Building a location to time zone API with SpatiaLite, OpenStreetMap and Datasette](https://simonwillison.net/2017/Dec/12/building-a-location-time-zone-api/)
- date: 2017-12-09
body: >-
[Datasette 0.14: customization edition](https://github.com/simonw/datasette/releases/tag/0.14)
- date: 2017-11-25
body: >-
[New in Datasette: filters, foreign keys and search](https://simonwillison.net/2017/Nov/25/new-in-datasette/)
- date: 2017-11-13
body: >-
[Datasette: instantly create and publish an API for your SQLite databases](https://simonwillison.net/2017/Nov/13/datasette/)