An attempt at documenting the changes/new features introduced in each release.

Edge

  • Libraries: are now a more “real” thing, and can be distributed via the Library Manager and grouped into Repositories. For instructions on how to build your own libraries, see Libraries/Development. In time this mechanism will succeed the plugs configuration and Plugs: Update mechanism. Plug authors can already start to update their plugs to get ready, usually all that needs to be done is to add frontmatter to their README file, example.
  • Share: a new mechanism to push content to external places and pull external content in (also used as the foundation of Libraries). This partially will replace many Export. Export will be more for one-off use cases.
  • Services: a new mechanism used behind the scenes to power Share, but also Export and likely other features in the future. Built on top of Events.
  • URIs are now a more formalized and centralized mechanism, used by Share and likely other features in the future.
  • Removed “Import” support, succeeded by Share.
  • Plugs are now loaded from anywhere in the space, as long as they end with .plug.js (so no longer need to be in _plug, in fact all shipped core plugs are now mounted under Library/Std/Plugs)

2.2.0

This is a dot release primarily because due to changes in how IndexedDB databases are named, a fully resync and reindex of your space will happen on all your devices. I’m sorry for the inconvenience, we try to limit how often this is required. If you’d like to clean up unnecessary databases afterwards you can run the Client: Clean command (once) afterwards.

2.1.8

2.1.7

  • Restructure of the Library/Std library, added some more (self) documentation. See ^Library/Std as an entry point.
  • Re-added page:saved event that was removed in 2.1
  • When the clipboard API is used in Safari, will now give a proper error (Safari restriction) by (Noah Stanley)
  • Full text search results now show full page path
  • Space folders now support symlinks again (regression from 2.1)
  • Lua: fixes in arithmetic model (by Matouš Jan Fialka)
  • Lua: Removed unary plus from grammar (wasn’t actually supported) (by Matouš Jan Fialka)
  • Bugfix: auth and service worker caching fixes
  • Bugfix: docker health check failed when SB_URL_PREFIX was used
  • Bugfix: infinite item index loop in obscure cases

2.1.4 - 2.1.6

  • Fixed broken auth in Safari
  • Renamed the inconstently named index.search.enable to index.search.enabled
  • Last opened (for pages) and last run (for commands) timestamps are now kept persistently between client loads (and tabs)
  • Fixed docker user and group creation issues
  • Removed file:deleted triggering when checking for getFileMeta (causing an infinite indexing loop in SilverSearch)
  • Server: HTTP Gzip compression is now enabled for sensible content types
  • Nicer syntax to query tag objects from the index: tags.page becomes an alias for index.tag "page" (implemented here: ^Library/Std/APIs/Tag)
  • Hidden files and folders (starting with .) are no longer synced, as well as files without a file extension (those were not support anyway)

2.1.2

This is a major architectural overhaul compared to 2.0. Please — as always — make sure you regularly backup your space files to avoid any data loss. Nothing should happen, but better be safe than sorry!

  • All new server written in Go (previously written using Deno). Uses significantly less memory and is significantly smaller in size.
  • Docker base image is now based on Alpine (previously Ubuntu), further reducing memory and disk space usage.
  • Significant engine re-architecture: see Architecture and Sync, now lives in the service worker and parallelizes sync. Once upgrading a full resync will need to happen. Documents are no longer synced by default (you can enable this via config, see Sync).
  • More configuration options for what to index (see ^Library/Std/Config under the index section) for the purpose of reducing local storage size and needless CPU waste. Some useful ones:
    • config.set("index.search.enabled", false) to disable Full Text Search entirely (saves on processing and storage if you don’t use it)
    • config.set("index.paragraph.all", false) to disable indexing all (untagged) paragraphs. This is also somewhat wasteful if you don’t query these.
  • Disable ability to rename pages in read-only mode (by Jelenkee)
  • Improved docker build + health check (by Zef)
  • Added templates.tagItem template (by Andy Costanza)
  • Support links in table queryable objects (by Alex Dobin)
  • Refactor of document editors (by MrMugame)
  • Command to toggle markdown syntax rendering (by aphymi)
  • Fix transclusions not being indexed as links (by MrMugame)
  • Render links inside frontmatter code as clickable anchors (by Andy Constanza)
  • New SB_LOG_PUSH option asking clients to push their browser JS logs to the server so they’re visible there.
  • Hot reloading plugs has been disabled because it caused some nasty race condition. To explicitly reload plugs without restarting the client, use the Plugs: Reload command.

2.0.0

  • We’re now live!

For previous versions, see the v1 CHANGELOG