# Changelog

## 0.51.3

### Features

The Google Docs Import Pod imports contents of a google document to a specified hierarchy in your selected vault as a note. The import config has additional options to import comments in the doc.

### Enhancements

• selection modiifier to NoteLookup Command
• delay frontmatter warning while user is typing

### Bug Fixes

• autocomplete takes a long time

## 0.51.2

### Features

#### Non-Blocking Workspace initialization

When you open a Dendron workspace, you might have noticed that you needed to wait for the workspace to initialize before VSCode itself became usable. This is because even though Dendron uses a local server to index your files, this server ran on the same process as VSCode.

We have offloaded the local server to a separate process so that all engine operations (eg. indexing) no longer affect the main VSCode process.

What this means in practice is that you can use VSCode immediately when the workspace is open. It also means you'll notice better responsiveness across all engine related features (eg. refactoring, preview, etc)

### Enhancements

• find missing links in entire workspace (docs)
• hide the filter view in the note graph
• warn against missing frontmatter (docs)
• hashtag autocomplete improvements (docs)
• doctor command to automatically fix the frontmatter (docs)

### Bug Fixes

• hashtag links duplicate following text
• issues with parsing wikilinks with unicode and special symbols

## 0.51.1

### Enhancements

• reduce size of dendron-cli

## 0.50.2

### Features

#### Custom Graph Syliing

Dendron supports custom styling of schema and note graphs. Styling follows the Cytoscape.js format, which is CSS-like with a couple of differences. Full Cytoscape.js styling documentation can be found here.

#### Built-In Note Templates

This experimental feature will allow you to pull down a set of templates for commonly used scenarios. The template selection is currently limited, but we will be expanding on the template set in the future.

You can also pick from a set of built-in templates that contain a set of commonly used note styles to help you get started. These templates can be pulled down with the seeds mechanism. The seed containing templates is called dendron.templates, substitute dendron.dendron-site for dendron.templates in the example below

## Adding a seed to an existing workspace

In this example, dendron.dendron-site is the name of the seed. Replace this string with your desired seed.

1. Navigate to your current workspace
cd {workspace}

dendron seed add dendron.dendron-site

1. Open the workspace. You should find your workspace initialized with the contents from wiki.dendron.so.

2. (Clean up)

dendron seed remove dendron.dendron-site


We are continually working to expand the types of templates available in the dendron.template seed.

### Bug Fixes

• dendron not updating journal behavior based on journal config in dendron.yml

## 0.50.1

### Features

Candidate backlinks are plain text words that match the name of the current note, which can potentially be converted into a (linked) backlink.

#### Smart hierarchy selection when creating notes with multiple vaults

The behavior around selecting which vault to create a note in has been improved for multi-vault workspaces. If the new note matches an existing hierarchy in a different vault, a prompt will come up with vault suggestions for your new note.

#### Vault Location when Creating a Note

When creating a note in lookup, Dendron will try to create your note in the correct vault. By default, it will place the note into the same vault as the currently opened note. But if it detects that the new note matches an existing hierarchy in a different vault, you will get prompted to pick the destination vault:

### lookupConfirmVaultOnCreate

With this set, you will be prompted to select the vault location each time you create a note when you have multiple vaults in your workspace.

To enable, add lookupConfirmVaultOnCreate: true in the dendron configuration. Instructions to do so below.

1. Dendron: Configure (yaml)

2. add lookupConfirmVaultOnCreate: true so your configuration looks like the following:
version: 0
...
lookupConfirmVaultOnCreate: true


#### Hashtag support

Dendron includes support for tags. You can put a tag in your note by typing:

#example.my-example


The tag will look like #example.my-example

In Dendron, tags are just a shorthand for writing tags.example.my-example. You can format your tags as wikilinks if you want to do something regular tags can't, for example adding an alias.

#### Preview V2 Enhancements

Almost at feature parity with current preview. You can now toggle it to be the default preview by setting dev.enablePreviewV2 to true in your dendron.yml

The Dendron Preview gives you a rich HTML preview for your notes.

• NOTE: Preview V2 is missing the following features compared to the current preview:
• scroll sync
• export to PDF

If you discover any issues that are not listed above, please submit a bug repo here so we can add it to our roadmap!

### Enhancements

• sort completions by vault names
• Insert Note will now resolve snippet variables (docs)
• custom syntax highlighting for wiki links (docs)
• replace prefix with value of original match when running refactor command

### Bug Fixes

• updated timestamp in frontmatter not updating

## 0.49.2

### Features

#### Local Graph

Shows a graph of your current note and immediate neighbors. This is the default view when you run Show Note Graph.

### Enhancements

• block anchors are de-emphasized in text editor
• doctor command will fix bad frontmatter ids

### Bug Fixes

• image preview not showing up on hover
• only generate alphanumeric ids to be compatible with github pages urls

## 0.49.1

### Features

• same file autocomplete headers and anchors (docs)

### Enhancements

• legacy preview will open links in the first window instead of overriding current window
• better field validation when running publish pod
• ability to toggle labels on the graph
• block anchors are hidden in published sites
• filter stubs when using the directChildOnly modifier

### Bug Fixes

• issue with opening md links on legacy preview in windows
• case sensitive windows drives cause preview to not work

### House Cleaning

• better analytics for initial tutorial workspace (docs)
• run eslint on commit

## 0.48.3

### Enhancements

• better styling for preview v2

### Bug Fixes

• schema graph not showing schemas more than one level deep
• support images, blockquotes, katex for preview v2

## 0.48.2

### Features

• native dendron preview (docs)
• updated onboarding experience (docs)

### Enhancements

• better validation for pods
• higher contrast for nodes and edges
• anchors and links are not updated in realtime (vs on file save)

### Bug Fixes

• workbench: horizontal line folded as frontmatter
• workbench: default config sometimes not applied
• calendar: pop up on save even when hidden
• calendar: navigating to new month creates new note
• graph: toggling stub filter can fail
• graph: lookup for insert and rename note doesn't return all results
• pods: graphviz pod can fail if dest is nested directory

### House Cleaning

• change blacklist/whitelist filter on graph to allow and deny list
• add analytics around command invocation (docs)

## 0.48.1

### Bug Fixes

• issue with finding links and anchors on newly created files

## 0.47.3

### Enhancements

• autofolding frontmatter (docs)
• position cursor to end of file when new note created
• new seo frontmatter options when publishing (docs)

## 0.47.2

### Features

• Markdown Pod supports exporting to folders
• Support filtering graph by regex (docs)
• Support filtering graph by stubs (docs)

### Enhancements

• don't update update time in note if content hasn't changed
• bad note frontmatter won't crash workspace
• support canonical url option when publishing (docs)
• dendron cli doesn't need wsRoot option if executing inside subdirectory of a workspace
• VS Code Workspace Trust: Dendron now supports Workspace Trust as 'limited in restricted mode' - all Dendron functionality will work except for hooks. For more information see VS Code Workspace Trust

## 0.47.1

### Bug Fixes

• issue with upgrade causing lookup to fail

## 0.46.3

### Enhancements

• support default daily journal vault (docs)

### Bug Fixes

• lookupConfirmVaultOnCreate is respected when creating a daily journal

## 0.46.2

### Features

#### Dendron Seed Bank

The Seed Bank is an open database of workspaces (seeds) that anyone can access and contribute to.

You can see all currently available seeds here

#### Calendar View

The Dendron Calendar View lets you view your daily journal in calendar form.

The Dendron Calendar View has the following capabilities:

• Clicking on a given day date will open the corresponding daily journal note

• Clicking on a given day without a daily journal note will create one

• Days without daily journal note are grayed out and days that contain an entry are displayed in white.

• Shows indicators in the form of dots (max 5) to reflect the word count of that entry. Each dot repesents 250 words.

• Switching between month/year view

• In a multi-vault workspace it shows the daily journal from the vault associated with the active note

• NOTE: the calendar view will only work if you have default journal settings in your dendron.yml

journal:
dailyDomain: daily
name: journal
dateFormat: y.MM.dd


#### Airtable Pod

The Airtable export pod can transfer contents of a dendron hierarchy to an airtable table. The export config have additional options to export a specific hierarchy.

The pod also maintains a checkpointing file to keep track of the latest file that has been successfully exported to airtable.

• Create notes that do not exist yet but has a wikilink to it.
• A preview pane will appear with the notes that will be created before proceeding.
• In a multi-vault workspace, wikilinks that do not specify a vault prefix will be omitted from the candidates.
• In a workspace that has 2 vaults named foo and bar, the wikilink [[missing-note]] will not be a candidate for missing note creation with this command.
• However, [[dendron://foo/missing-note]] and / or [[dendron://bar/missing-note]] will be recognized as a missing note and will be listed as candidates.

### Bug Fixes

• tree view shows error on rename

### House Cleaning

• remove dendorn markdonw links and github theme as recommended extensions at startup
• defaultJournal* commands have been moved to journal property in dendron.yml (docs)

## 0.46.1

### Bug Fixes

• issue with publishing using dendron cli

## 0.45.3

### Enhancements

• Rename and Refactor will now replace links without formatting the file
• Dendron respects VSCode Telemetry settgs (docs)

### Bug Fixes

• Dendron Preview Go to Text will sometimes not appear for note references
• Dendron Preview links not working in VsCode 1.57
• Dendron Preview renders the first line of note ref as markdown
• Dendron Preview removes # from links

### House Cleaning

• Shorter UUIDs
• Analytics
• Added a reason field to (Enable|Disable)Telemetry metrics (docs)

## 45.2

### Features

#### Copy Note Ref Range Selections

If you highlight multiple blocks, Dendron can create a range selection that spans the blocks selected. Watch the following video starting at the 10s mark for an example.

#### Random Note Command

Navigates to a random note in the workspace. By default, all notes are included in the set that can be navigated to with this command. This can be adjusted with the randomNote setting in the Dendron Config (see [[Configure (yaml)|dendron.topic.commands#configure-yaml]]).

# Sample configuration in dendron.yml:
randomNote:
include:
- alpha
- beta.foo
exclude:
- alpha.bar


This pattern would specify a set including all notes under alpha except for notes in the alpha.bar hierarchy. The set would also include notes under beta.foo*.

• If include is not specified, then the include matching pattern will match all notes.
• exclude takes precedence over include, so if the patterns are identical, no notes will match.

### Show Schema Graph V2

Launch the command palette (see docs): > Dendron: Show Schema Graph V2

Click on a node to open up the corresponding schema in your workspace.

Use the filter view in the top left to filter and modify the data shown by the graph.

The schema graph shows high level connections between a vault's root schema and other schemas within the vault. These other schemas may have other nodes connected to them representing additional children of that schema.

#### Better Graph Filtering Options

In the top left of both the note and schema graphs lives the graph filter view. This UI element contains information about the graph and various filtering options.

### Vaults

This view contains a list of each vault in the workspace. The visibility of each vault in the graph can be toggled to better filter the graph.

### Connections

• Hierarchy: When checked, include hierarchical graph connections

### Filter

This view contains various options to filter the graph.

#### String Filters

Use these string filters to include/exclude graph nodes by filename or name. These fields support multiple arguments in the form of a comma-separated or space-separated list.

• Allowlist: Graph nodes including any of these string arguments will be included in the graph
• Blocklist: Graph nodes including any of these string arguments will be excluded from the graph

Here's a quick example:

• Allow: journal.2021, dog
• Include any notes that include either journal.2021 or dog in their name or filename
• Block: cat
• Exclude any notes with cat in their name or filename

#### Other Filters

• Show Stubs: When checked, show stub notes in the graph

### Options

• Show Local Graph (Note Only): When checked, show local graph centered around the current open note. Otherwise, show the full workspace-wide note graph.

• Allow Relayout: When checked, layout the graph again when the graph configuration is updated.

• This is useful in instances you'd like to preserve the current layout but add/remove information, e.g. adding link connections to a hierarchical graph while maintaining readability

### Information

Primarily for debugging, this section has information about graph size. Edge counts are calculated individually from the actual rendered edges, so may not represent the true rendered count if a certain type of edge is hidden.

• Hierarchical Edges: Number of hierarchical connections between nodes
• Nodes: Number of nodes in the graph

## Custom Styling

Dendron supports custom styling of schema and note graphs. Styling follows the Cytoscape.js format, which is CSS-like with a couple of differences. Full Cytoscape.js styling documentation can be found here.

Launch the command palette (see docs): > Dendron: Configure Graph Style (css)

Once the styles.css file is open, add your styles and save. The styles will be visible in the graph the next time it is opened.

### Selectors

In order to style the graph, there are a variety of selectors to choose from. Currently supported selectors include:

SelectorDescription
nodeAny node
edgeAny edge
:selectedAny selected node
.parentAny parent node (local note graph only)
.linksAny link connection edge
.hierarchyAny hierarchy connection edge

There are also some vault-specific selectors. These include:

SelectorDescription
.vault-VAULT_NAMEAny node or edge in the VAULT_NAME vault

Selectors can be chained together, just like in regular CSS. For example, node.vault-VAULT_NAME would target only nodes in the VAULT_NAME vault.

### Style Properties

#### Styling Nodes

Some common node style properties are listed below. Full node style property list →

PropertyDescription
widthThe width of the node’s body.
heightThe height of the node’s body.
shapeThe shape of the node's body (ellipse, triangle, etc.)
background-colorThe color of the node's body.
border-widthThe size of the node’s border.
border-colorThe color of the node’s border.

#### Styling Node Labels

Some common node label style properties are listed below. Select labels by selecting the node associated with them. Full node label style property list →

PropertyDescription
colorThe color of the label.
font-sizeThe size of the label text.
font-weightThe font weight of the label text.

#### Styling Edges

Some common edge style properties are listed below. Full edge style property list →

PropertyDescription
widthThe width of the edge line.
line-colorThe color of the edge line.
line-styleThe style of the edge line (solid, dotted, or dashed).

### Troubleshooting

If styles are not showing up in the graph, try the following steps:

1. Check that every style property ends in a semi-colon.
2. Check that you have no unused selectors (e.g. node {}). Cytoscape can be a bit particular at times, so just comment out selectors if not in use.
3. Close and re-open the graph view. Styles only apply on graph open at the moment.

### Enhancements

• copy note ref will create a block ref and insert block anchors when you have a block element selected (docs)
• copy note link will create a block link and insert block anchors when you have a block element selected (docs)

#### Bug Fixes

• published assets now respect vault configuration
• template error when publishing in windows

### House Cleaning

• Analytics
• we now measure duration when installing and upgrading Dendron (see docs)
• Deprecation Notices
• Dendron Markdown Links is now deprecated and replaced with Dendron's Native Graph Commands. It will be removed July 12, 2021

## 0.45.1

### Bug Fixes

• published assets now respect vault configuration
• template error when publishing in windows

## 0.44.2

### Features

#### Native Note Graph

• Visualize the notes and schemas in your workspace in a graph view
• Click on a node to open up the corresponding note/schema in your workspace
• Filter graph view to show only desired data
• Much faster startup times than the legacy note/schema graph
• Scales to virtually any size graph

## Types

### Note Graph

#### Full Note Graph

Show graph of all your notes. You can activate this by using the Show Note Graph Command command and toggling the Show Note Graph option.

#### Local Note Graph

Shows a graph of your current note and immediate neighbors. This is the default view when you run Show Note Graph.

### Schema Graph

Show graph of your schemas. You can activate by running the Show Schema Graph command.

## Commands

### Show Note Graph V2

Launch the command palette (see docs): > Dendron: Show Note Graph V2

Click on a node to open up the corresponding note in your workspace, or open a note to center the graph on that note.

Use the filter view in the top left to filter and modify the data shown by the graph.

### Show Schema Graph V2

Launch the command palette (see docs): > Dendron: Show Schema Graph V2

Click on a node to open up the corresponding schema in your workspace.

Use the filter view in the top left to filter and modify the data shown by the graph.

The schema graph shows high level connections between a vault's root schema and other schemas within the vault. These other schemas may have other nodes connected to them representing additional children of that schema.

## Filter View

In the top left of both the note and schema graphs lives the graph filter view. This UI element contains information about the graph and various filtering options.

### Vaults

This view contains a list of each vault in the workspace. The visibility of each vault in the graph can be toggled to better filter the graph.

### Connections

• Hierarchy: When checked, include hierarchical graph connections

### Filter

This view contains various options to filter the graph.

#### String Filters

Use these string filters to include/exclude graph nodes by filename or name. These fields support multiple arguments in the form of a comma-separated or space-separated list.

• Allowlist: Graph nodes including any of these string arguments will be included in the graph
• Blocklist: Graph nodes including any of these string arguments will be excluded from the graph

Here's a quick example:

• Allow: journal.2021, dog
• Include any notes that include either journal.2021 or dog in their name or filename
• Block: cat
• Exclude any notes with cat in their name or filename

#### Other Filters

• Show Stubs: When checked, show stub notes in the graph

### Options

• Show Local Graph (Note Only): When checked, show local graph centered around the current open note. Otherwise, show the full workspace-wide note graph.

• Allow Relayout: When checked, layout the graph again when the graph configuration is updated.

• This is useful in instances you'd like to preserve the current layout but add/remove information, e.g. adding link connections to a hierarchical graph while maintaining readability

### Information

Primarily for debugging, this section has information about graph size. Edge counts are calculated individually from the actual rendered edges, so may not represent the true rendered count if a certain type of edge is hidden.

• Hierarchical Edges: Number of hierarchical connections between nodes
• Nodes: Number of nodes in the graph

## Custom Styling

Dendron supports custom styling of schema and note graphs. Styling follows the Cytoscape.js format, which is CSS-like with a couple of differences. Full Cytoscape.js styling documentation can be found here.

Launch the command palette (see docs): > Dendron: Configure Graph Style (css)

Once the styles.css file is open, add your styles and save. The styles will be visible in the graph the next time it is opened.

### Selectors

In order to style the graph, there are a variety of selectors to choose from. Currently supported selectors include:

SelectorDescription
nodeAny node
edgeAny edge
:selectedAny selected node
.parentAny parent node (local note graph only)
.linksAny link connection edge
.hierarchyAny hierarchy connection edge

There are also some vault-specific selectors. These include:

SelectorDescription
.vault-VAULT_NAMEAny node or edge in the VAULT_NAME vault

Selectors can be chained together, just like in regular CSS. For example, node.vault-VAULT_NAME would target only nodes in the VAULT_NAME vault.

### Style Properties

#### Styling Nodes

Some common node style properties are listed below. Full node style property list →

PropertyDescription
widthThe width of the node’s body.
heightThe height of the node’s body.
shapeThe shape of the node's body (ellipse, triangle, etc.)
background-colorThe color of the node's body.
border-widthThe size of the node’s border.
border-colorThe color of the node’s border.

#### Styling Node Labels

Some common node label style properties are listed below. Select labels by selecting the node associated with them. Full node label style property list →

PropertyDescription
colorThe color of the label.
font-sizeThe size of the label text.
font-weightThe font weight of the label text.

#### Styling Edges

Some common edge style properties are listed below. Full edge style property list →

PropertyDescription
widthThe width of the edge line.
line-colorThe color of the edge line.
line-styleThe style of the edge line (solid, dotted, or dashed).

### Troubleshooting

If styles are not showing up in the graph, try the following steps:

1. Check that every style property ends in a semi-colon.
2. Check that you have no unused selectors (e.g. node {}). Cytoscape can be a bit particular at times, so just comment out selectors if not in use.
3. Close and re-open the graph view. Styles only apply on graph open at the moment.

### Enhancements

• fine grained control for workspace sync (docs)
• improved startup speed
• block references fully supported in publishing and preview @hikchoi
• toggle scope when running the doctor command (plugin docs) (cli docs)

## 0.44.1

### Enhancements

• faster workspace initialization

### Bug Fixes

• tree view not displaying

## 0.43.3

### Features

Insert the note link into the current document using lookup.

### Enhancements

• Block Reference Support in Dendron Preview

## 0.43.2

### Features

• Better Fuzzy Match for Lookup

### Enhancements

• Block Reference Support in Published Site
• Open Link is Vault Aware (docs)

## 0.43.1

### Bug Fixes

• welcome page not showing up unless workspace is initialized
• paste file command should handle names with spaces and special characters
• markdown import pod not working

## 0.43

### Features

#### Dendron Web UI with a new Tree View

The Dendron Web UI refers to Dendron's native UI components build using the latest web technologies (instead of VSCode components). This lets us create dynamic interfaces with dynamic dropdowns, drag and drop and custom made components.

#### Paste File Command

Takes the path currently in the clipboard, copies the file into {vault}/assets, and inserts markdown link in the current note. This is the file equivalent of Dendron's Paste Image command

Note that most file types won't be natively supported in the preview. You'll need to use the vscode built-in > Open Link command to open the file.

If you are on macOs, you can find instructions for getting the path to the current file here

#### GraphViz Pod

The GraphViz export pod will take Dendron markdown and convert it into a graph structured using DOT Language. The export config some additional options for filtering the graph output by the type of note connection.

In the graph output, hierarchical connections are notated with a solid line and edge connections are notated with a dotted line.

### Enhancements

• Workspace Sync Command is now available as a native Dendron command (docs)

### Bug Fixes

• dendron caching old links at startup

### House Cleaning

• collect analytics on Web UI load time (docs)
• internal interface refactoring

## Summary

The schema library is a collection of existing schemas contributed by the community. You can find the full library as well as instructions on getting started here.

This project is still in its early stages so if you have ideas on how to make it better, please leave a comment in this github discussion.

### Enhancements

• Specify initial value with custom keyboard shortcuts for lookup (docs)

### Bug Fixes

• issue with latex not displaying in latest preview

## 0.41

### Enhancements

• new welcome page for new users
• running site preview will fetch latest changes from current workspace session
• running site build will fetch latest changes from current workspace session
• support configurable site preview port in workspace
• better error messages when building site

### Bug Fixes

• double confirmation message when using publish pod

### House Cleaning

• collect telemetry around lookup performance (docs)
• remove initialize with tutorial notes when initializing a new workspace (functionality replaced with the new getting started guide (docs))

### Docs

• new getting started guide (docs)

## Summary

Hooks allow users to attach custom scripts to various parts of Dendron's lifecycle.

## Use Cases

• carry over all your uncompleted todos from one note to the next
• pull in the weather report in your daily journal note
• automatically add citations to all images in a note on save

### Enhancements

• Dendron will successfully initialize on recoverable errors (eg. bad schema file)
• nicer error messages

### Bug Fixes

• footer text occludes published content on mobile
• tree view order for newly created notes

### Dev

• we documented the organization of utility modules here

## 0.40.2

### Bug Fixes

• Navigating siblings not working

## 0.40.1

### Bug Fixes

• Go to prev hierarchy command accidentally removed

# 0.40

## 0.39.3

### Enhancements

• Sort numeric siblings in GoToSiblingCommand
• Disable Dendron shortcuts when plugin is not active

### Bug Fixes

• Nested note refs in preview can display incorrectly

### House Cleaning

• Update initialization telemetry to only collect rounded numbers of notes (docs)

## 0.39.2

### Features

#### More Caching Improvements

Even if your workspace is +10k notes, initialization of said workspace should happen in the matter of seconds. You can read about the details here

### Enhancements

• progress indicator when adding a remote vault
• init engine from cli (docs)
• move note now shows completions via lookup
• rename note now shows completions via lookup

### Bug Fixes

• Tree widget doesn't update when new files are added
• Goto note prefer existing note for multi-vault workspace
• MarkdownPod still using legacy note refs
• Move note will sometimes fail
• Insert note will sometimes fail
• Vault picker toggle for move note will execute if user clicks escape

### House Cleaning

• Rename note is now just a re-mapped version of the Move Note command. In the future, we might deprecate Rename altogether and replace with Move Note

## 0.39.1

### Bug Fixes

• proper initialization of backlinks when initializing from cache