Link Search Menu Expand Document

2020-10-19 Release Notes (version 0.13)

Dendron 0.13 is here 🌱

It’s been a few weeks since the last minor release. This iteration was mostly spent on our server migration as well as a series of quality of life improvements across Dendron’s core features. You can find the details of all this in the highlights below.

Highlights

  • move to the final phase of the server migration
    • Dendron server mode is now at feature parity with existing functionality
    • the server migration is a complete re-write of Dendron’s internal to go from a client to client (local) server model
    • this is pre-requisite for a bunch of upcoming features like multi vault support, rich graphical interfaces, and realtime graph updates
    • server mode will be the default for all workspaces going forward
    • existing workspaces will be transparently migrated over after next week
  • order of magnitude speed improvements (server mode only)
    • initializing large vaults
    • updating links through Rename and Refactor operations
  • better note references
    • note references can now be nested
    • a reference to a header can be made by selecting any part of the header before running Copy Note Ref
  • better timestamps (server mode only)
    • the updated timestamp on notes now updates on every save
    • timestamp will now print a human friendly label
  • improved publishing
    • dendron sites now support latex
    • dendron will generate a bad link report for all links that do not resolve when publishing
    • bad links will now resolve to a custom 404 link
    • you can define a custom site repository that will be used by publishing commands
  • consolidated lookup
    • creating journal notes and scratch notes are now part of the Lookup Command instead of being separate commands (the old keyboard shortcuts still work - they now map to lookup commands with custom arguments)
    • lookup now accepts arguments that can be passed in via custom keyboard shortcuts
    • you can control the creation of special notes as well as note selection behavior from lookup

Seeds

Aside from features, we’ve also launched two seeds. Seeds are open source dendron sites that consolidate reference material about a particular vertical. Content from the catalogues is derived from existing open source content as well as manual user input. Your 🙏 is welcomed and encouraged.

Sustainability

Finally, a bunch of you have asked if you can support Dendron financially. The answer is coming at the end of the month! Dendron will be coming out of preview in November, at which point we will launch our Environmentalist Plan 🌲. This is a monthly subscription to support the development of Dendron. Environmentalist will get a special badge on Discord, priority email/discord access to the development team, and stickers! More details on this soon.

Thank You

Last and most of all, a big to the following gardeners that brought up issues, contributions, and fixes to this release.

Features

Recursive Note References

Note references can refer to notes with references inside. Dendron current supports references two levels deep. This applies to both the local preview as well as publishing.

Bug Fixes

  • time decorator lose position: updating the frontmatter will cause the time decorator to sometimes lose its position
  • time decorator not updating: turned off temporarily to investigate performance impact
  • rename note: doesn’t update all links in some cases

Other

  • we’ve created a bug catcher role for folks that reported bugs to Dendron. currently trying to backfill with all the people that have contributed bugs. feel free to ping me if I missed you and big thanks to the current bug catchers!

0.12.10 (2020-10-16)

Features

Rename and Refactor Commands an Order of Magnitude Faster Now (server mode) 🚀🚀🚀

These commands have been completely re-written and use a proper markdown parser to find links (vs many fragile regex statements). The re-write results in both much faster performance as well as a more correct implementation.

Enhancements

  • progress indicator on startup (server mode): loading indicator to help with large workspaces
  • rename command support (server mode): rename command is now available in server mode
  • refactor command support (server mode): refactor hierarchy command is now available in server mode
  • publish notes support (server mode): publish notes command is now available in server mode
  • archive command support (server mode): archive hierarchy is now available in server mode
  • doctor command support (server mode): doctor command is now available in server mode

Bug Fixes

  • schema templates not working (server mode): issue where schema templates were not being applied

0.12.9 (2020-10-15)

Features

Human Friendly Timestamps (server mode)

Timestamps now have human friendly decorators on the side.

Enhancements

  • copyAssets configuration: when publishing, you can now toggle whether you want to copy assets or not
  • dump state: dendron now has a Dump State command which will dump the internal state into the logs (useful for debugging)

Bug Fixes

  • assets not being copied: assets not copied on publishing when assetsPrefix was set
  • GoUp comman go to wrong note (server mode): GoUp would sometimes try to open a stub node which would result in an error
  • Multiple workspaces result in bad timestamps (server mode): Having multiple workspaces of the same vaults open could result in bad timestamps

Documentation

Error upgrading

Dendron will update keybindings/settings/etc to the latest defaults if not currently set on upgrade. If you see the above error, it means that Dendron had trouble parsing one of your settings files. This doesn’t stop dendron from starting but it does mean that the latest settings aren’t being applied.

The most likely culprit of this error is a bad snippets file. To fix, bring up the command prompt, type >Configure User Snippets, open dendron.code-snippets and see if there’s anything funky with the json on the line mentioned by the error. You can also use tools like jsonlint to validate your JSON.

0.12.8 (2020-10-14)

Features

Really update time in frontmatter (server only)

Dendron notes have frontmatter with an updated field. This field is supposed to show you the time in milliseconds of when the document was last updated. Until today’s update, this field did not actually change 😅

id: 65b03213-d3d1-46c0-9881-a6280ed9bdeb
title: New
desc: ''
updated: 1602096212957
created: 1602096212957

Today’s update makes updated update!

Enhancements

  • support BuildPod command (server mode): build pod now works when server mode is enabled

Bug Fixes

  • navigating to special notes: scratch/journal notes could fail to open if note already exists

Other

Useful Extensions

Git

  • Git Automator: one command to commit and push all changes
  • Git Doc: auto-commit and (optionally) auto push your notes at fixed intervals
  • Gitlens: Repository/File/Line history and annotations of all your files

Other

  • Macros: Define custom macros
  • Vim: VIM key bindings 😍
  • Bookmarks: Bookmark lines within Files
  • Vertical Limit: Work with multiple cursors and blocks of text
  • CodeUI: Easier customization of every part of the VSCode UI

Browser Extensions

Web Clipper

Copy and Paste Web Content into Dendron

First copy it into Notion or use the notion web clipper to clip it. This will format it nicely in markdown. You can then paste it into Dendron with markdown and everything :)

Mobile Support

Dendron does not have a dedicated mobile client at this time. There are numerous mobile markdown editors that can be used to view and edit Dendron notes. Some popular options are listed below:

0.12.7 (2020-10-13)

Features

(Local) Server Side Indexing

Dendron can now index and manage your notes as a standalone local server independent from VSCode.

This is part of the server migration milestone which we took on for October.

Dendron’s server side indexing is a complete rewrite of the Dendron engine which powers Dendron’s lookup capabilities. The new engine is leaner, meaner, and significantly faster (especially when initializing your workspace with a large amount of notes).

Server site indexing is a pre-cursor enables our upcoming roadmap items which include:

  • multi-vault support
  • rich graphical interfaces for schemas, pods, and publishing
  • unified index for all dendron extensions (currently each extension makes a separate index of your notes and requires manual reloading)
  • realtime updates for graph extensions
  • custom dendron extensions written in any language

Server side indexing is currently off by default since it’s still a beta feature. You can turn it on by adding the following in your settings.

"dendron.useExperimentalLSPSupport": true

Note that the current commands are currently un-available when you switch on on server side indexing:

  • RenameNote
  • Refactor Hierarchy
  • Archive Hierarchy
  • Realtime Schema Updates
  • Pod Commands

You can switch back to regular indexing at anytime by changing the above setting to false and running > Developer: Reload Window.

Enhancements

  • Additional Arguments for lookup: You can now use noConfirm and value arguments when creating custom lookup shortcuts (docs)
  • Update Default Snippets: default todo snippet now leaves a space after insertion
  • Set custom log levels: you can now define the verbosity of dendron logs using the dendron.logLevel configuration
  • Upgraded Schema defaults (server only): new schemas will be created using version one defaults
  • Cleaner note frontmatter (server only): new notes won’t have the optional attributes in frontmatter

Bug Fixes

  • Missing logs: issue where Open Logs would not show logs
  • Tree View empty: tree view would not populate in some cases
  • Upgrade Snippets with comments: Upgrading settings would fail if they had comments inside the JSON

Breaking Changes

  • Remove Scratch Note Command: replaced by Lookup Scratch Note shortcut
  • Remove Journal Note Command: replaced by Lookup Journal Note shortcut

Progress

Server Migration

These past two weeks have been spent on server migration work. We are almost at the end and I’m aiming to have full coverage of all existing functionality by early next week.

  • add LSP server to Dendron (0.12)
  • add api server to Dendron (0.12)
  • hook server into dendron startup (0.12.4)
  • migrate lookup to server model
    • support query notes (0.12.6)
    • support query notes with schema (0.12.6)
    • support write notes (0.12.6)
    • support write note with schema (0.12.6)
    • support delete note (0.12.7)
    • support query schema (0.12.7)
    • support write schema (0.12.7)
    • support delete schema (0.12.7)
  • optimize server lookup performance (0.12.7)
  • enable file watcher (0.12.7)
  • dendron tree view (0.12.7)
  • migrate commands
    • scratch note (0.12.7)
    • journal note (0.12.7)
    • copy note command (0.12.7)
    • copy note url (0.12.7)
    • lookup scratch note (0.12.7)
    • lookup journal note (0.12.7)
    • global journal note (0.12.7)
    • build pod (0.12.8)
    • rename note
    • archive hierarchy
    • refactor hiearchy
    • doctor
  • integration tests for all server functionality

Other

0.12.6 (2020-10-07)

Features

Default Snippets

Dendron now initializes your workspace with common default snippets

Dendron comes with a series of default snippets when you first initialize your workspace. They are located in {workspace}/vault/.vscode/dendron.code-snippets.

{
todo: {
    prefix: "to",
    scope: "markdown",
    body: "- [ ]",
    description: "render todo box",
},
tag: {
    prefix: "#",
    scope: "markdown,yaml",
    body: "[[#${1:my-tag}|tag.${1}]]",
    description: "tag",
},
date: {
    prefix: "date",
    scope: "markdown,yaml",
    body: "$CURRENT_YEAR.$CURRENT_MONTH.$CURRENT_DATE",
    description: "today's date",
},
time: {
    prefix: "time",
    scope: "markdown,yaml",
    body: "$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE",
    description: "time",
}
}

Latex Support on Published Site

You can enable math using the following options in the _config.yml. By default, this will be located in {workspace}/docs/_config.yml

enable_mathjax: true;
kramdown:
  math_engine: mathjax
  • NOTE: If you are using the local preview, be sure to reload your server to have the changes take place.

You can now add math using the standard mathjax notation.

  • NOTE: only block level mathjax is supported at the current time

Introduce siteRepoDir Customization

  • required: no
  • type: string

Location of the github repo where your site notes are located. By default, this is assumed to be your workspaceRoot if not set. This is used with the Publish Notes command

Bug Fixes

  • trying to publish the dendron-template no longer results in a missing links report
  • issue with schemas not showing up under lookup

Progress

This section tracks our progress against the milestones in our public roadmap

  • Seeds v0
  • Server migration, progress: 70/100 ```
    • below is a summary of our progress. we are currently about half way done
    • aiming to have a workable version using the Dendron server by next week ```
  • add LSP server to Dendron (0.12)
  • add api server to Dendron (0.12)
  • hook server into dendron startup (0.12.4)
  • migrate lookup to server model
    • support query notes (0.12.6)
    • support query notes with schema (0.12.6)
    • support write notes (0.12.6)
    • support write note with schema (0.12.6)
    • support delete note (0.12.7)
    • support query schema (0.12.7)
    • support write schema (0.12.7)
    • support delete schema (0.12.7)
  • optimize server lookup performance (0.12.7)
  • enable file watcher (0.12.7)
  • dendron tree view (0.12.7)
  • migrate commands
    • scratch note (0.12.7)
    • journal note (0.12.7)
    • copy note command (0.12.7)
    • copy note url (0.12.7)
    • lookup scratch note (0.12.7)
    • lookup journal note (0.12.7)
    • global journal note (0.12.7)
    • build pod (0.12.8)
    • rename note
    • archive hierarchy
    • refactor hiearchy
    • doctor
  • integration tests for all server functionality

    </div>
    </div>

Other

Seeds

  • We launched two seeds. A seed is a dendron site that tries to be be a all encompassing reference for a particular vertical. Dendron provides specific libraries and CLIs that make it easy for users to create seeds from existing open source content as well as personal notes.

Current Seeds:

- open PKM catalogue
- open AWS catalogue

Alternatives

this announcement also comes with an ask. Dendron is now in AlternativesTo, a crowdsourced catalogue for software recommendations. If you like Dendron and want to help us spread the word 🌱, please leave us a review here 🙏

0.12.4 (2020-09-30)

Features

Live schema updates

  • schema changes are now updated in realtime. no more Reload Index
  • NOTE: this doesn’t yet apply to Show Schema Graph. you’ll still need to run Reload Index to see the changes in the graph

Enhancements

  • lookup: special notes are now created via lookup (da825a9)
    • instead of being a separate command, journal and scratch notes are now created using the regular lookup interface
    • new keybindings have been introduced to map old commands to new style lookups
    • Create Journal Note and Create Scratch Note still exist as commands but will be deprecated in the next minor release
  • lookup: support lookups opening with a new split (da825a9)

Split toggle

When opening a note via lookup, you can decide to have the note open in a horizontal split.This works when you’re creating new notes or opening an existing note

  • refs: easier note ref selection(114ff87)

Dendron will now recognize a header selection if you have any part of the header highlighted (vs needing to highlight the entire line)

Copy Note Ref

  • shortcuts:
    • key: ctrl+shift+r
    • mac: cmd+shift+r
    • when: editorFocus

Copies a reference to the current open document

Lets you quickly create a note reference to the current note.

If you have a header selected while running this command, it will copy the note ref with the selected header to the next note ref

Documentation

  • we published our public roadmap

Project Public Roadmap

The Dendron Public Roadmap is a list of all the things we’re working on for the year.

You can see the corresponding issues on github where you can leave comments and feedback. You can also comment in our #feedback channel on discord.

Legend

  • [x]: done
  • #wip: work in progress
  • #feedback: actively looking for feedback

Epics

Long Lived Initiatives

These projects don’t have an end date. They are something we’ll continuously work towards.

  • changelog moved to dedicated page
  • lookup menu docs

    Lookup Menu

    When working with lookup, users can toggle one of the different menu items on the upper right corner.

    These menus are divided into 4 categories:

  • filter toggle
  • selection toggle
  • note toggle
  • split toggle

    </div>
    </div>

Community Highlights

0.12.3 (2020-09-26)

Features

When building your site by running Dendron: Build Pod, Dendron will generate a bad links report of all wiki-links that did not resolve. It will also update the links to point to a 404 page instead.

Enhancements

  • lookup: lookup command accept args (3e1fe8a)
  • publishing: better 404 page (e74c4a2)
  • plugin: dramatically reduce extension bundle size (22cfff8)

0.12.2 (2020-09-24)

Enhancements

  • refs: support partial header selection (6e35393)

Bug Fixes

  • publishing: incremental builds not setting correct links (e3dedf5)

0.12.1 (2020-09-22)

Features

Create scratch or journal notes via lookup

A journal note is a self contained note that is meant to track something over time. Examples of journals include recording workout sessions, making meeting notes, and keeping a mood journal.

To create a journal note, trigger a lookup and then click on the calendar icon.

A scratch note is a self contained note that is meant to be used as scratchpad. Use it for thoughts or when you want to expand on a bullet point. Scratch notes are created in the scratch domain and have the following format: {domain}.journal.{Y-MM-DD-HHHHmmss}.

  • lookup: support selection modifiers when creating special notes (591c55f)

Enhancements

  • lookup: support selection and note toggles (70cf9eb)
  • refs: better header selection (ba9a4d9)
  • refs: emit error when header not found (5deb2d1)
  • publish: configure repoDir via config (fa838e4)