0.6.0 released: the one with "templates 2.0"

This is a big one folks, be sure to install or upgrade to it and tell us what you think!


  • Templates 2.0: templates are now turbo charged (that’s a technical term) and have replaced a lot of previously built in (slash) commands. There’s more to this than will fit this CHANGELOG, have a look at Templates: and more specifically Page Templates, Snippets, Live Template Widgets and Libraries, and read the items below.
  • Upgrade instructions: to get the best experience after upgrading to 0.6.0 as an existing user, do the following:
    • Upgrade your docker image/deno version to 0.6.0 (or latest).
    • Reload your page 2-3x to be sure you have the latest front-end code running.
    • Run the Library: Import command in your space, and enter the following federation URL: !silverbullet.md/Library/ This will import both the Core and Journal libraries into your space, which will bring you roughly on par with 0.5.x versions in terms of functionality (this will include the daily note, weekly note, various slash commands etc.)
  • A quick FAQ on the new template system:
    • Where did my templates go!? They have now moved to the Template Picker, run Navigate: Page Picker (or press Cmd-Shift-t on Mac or Ctrl-Shift-t on Windows/Linux) to get to them.
    • Where did all my slash commands go?! They are now distributed via Libraries. Yep, Libraries are here, enabling an easier way to distribute templates and pages. Read Libraries for more info.
    • But, what about slash templates etc.?! Yeah, we did some rebranding and changed how these are defined. Slash templates are now Snippets and cannot just be instantiated via slash Commands, but through commands and custom keybindings as well. Awesomeness.
    • And my page templates broke!? Yeah, same story as with snippets: the format for defining these changed a bit, but should be easy to update to the new format: check Page Templates.
  • The Getting Started page (that is embedded in the index page that is auto-generated when creating a new space) has been updated to include instructions on how to import the Core library.
  • Directives have now been removed from the code base. Please use Live Queries and Live Templates instead. If you hadn’t migrated yet and want to auto migrate, downgrade your SilverBullet version to 0.5.11 (e.g. using the zefhemel/silverbullet:0.5.11 docker image) and run the Directive: Convert Entire Space to Live/Templates command with that version.
  • (Hopefully subtle) breaking change in how tags work (see Objects):
    • Every object now has a tag attribute, signifying the “main” tag for that object (e.g. page, item)
    • The tags attribute will now only contain explicitly assigned tags (so not the built-in tag, which moved to tag)
    • The new itags attribute (available in many objects) includes both the tag, tags as well as any tags inherited from the page the object appears in.
    • Page tags now no longer need to appear at the top of the page, but can appear anywhere as long as they are the only thing appearing in a paragraph with no additional text.
  • New block type: toc to manually include a Table of Contents
  • Filter list (used by Page Picker, Template Picker and Command Palette) improvements:
    • Better ranking
    • Better positioning of modal (especially on mobile)
    • Better mouse behavior
  • Templates:
    • Somewhat nicer rendering of {{templateVars}} (notice the gray background)
    • Rendering of code widgets such as live queries and templates are now disabled on template pages, which should make them less confusing to read and interpret.
  • The indexPage inSETTINGS can now contain template variables, such as {{today}}
  • Backend work in preparation for supporting more “serverless” deployments (e.g. Cloudflare workers and Deno Deploy) in the future
    • Move from Oak to Hono
    • Support for in-process plug loading (without workers)