Skip to content

0.4a0

Pre-release
Pre-release

Choose a tag to compare

@simonw simonw released this 15 Nov 04:02
· 1 commit to main since this release
  • Apps can now keep view state in the URL fragment. location.hash, the hashchange event and <a href="#/customer/42"> links all work inside the sandbox, and the fragment is mirrored to the page URL in both directions, so the current view of an app can be bookmarked, reloaded, shared and navigated with the browser back and forward buttons. #44
  • history.pushState() and history.replaceState() now set location.hash when passed a fragment-only URL such as #/customer/42. replaceState() does this without adding a browser history entry.
  • Apps can link to a view in another app using a root-relative URL such as /-/apps/ULID#/customer/42.
  • Apps can advertise the fragment URLs they support using a <script type="application/json" id="datasette-app-links"> manifest in their HTML. Manifests are extracted into a new app_links table each time the app is saved. External apps can pass the same list as metadata={"links": [...]} to Registry.add_app().
  • New app_links tool for datasette-agent, listing the links advertised by every app the current user can view, optionally filtered to those that accept a value from a given table. This lets the agent link rows in a new app to views in existing apps.
  • The app_debug agent tool accepts a new hash option, for checking that a link shows the right view.
  • Redesigned the /-/apps list for consistency with the datasette-agent index page, with a full-width search bar and pagination.
  • Now requires datasette>=1.0a42.