|
| 1 | +## Description |
| 2 | + |
| 3 | +This page describes changes for existing Logseq features on the [database version](https://github.com/logseq/logseq/pull/9858). Some of these changes may change depending on user feedback. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +* [Changes for All Graphs](#changes-for-all-graphs) |
| 8 | +* [DB Graph Changes](#db-graph-changes) |
| 9 | +* [File Graph Changes](#file-graph-changes) |
| 10 | + |
| 11 | +## Changes for All Graphs |
| 12 | + |
| 13 | +The following changes affect both file and the new db graphs: |
| 14 | +* To simplify editor `/` commands, [Commands](https://docs.logseq.com/#/page/commands) and [Advanced Commands](https://docs.logseq.com/#/page/advanced%20commands) are merged together under `/`. |
| 15 | +* A good amount of the UI is rewritten to use [shadcn](https://github.com/shadcn-ui/ui). This means a more beautiful, consistent and powerful UI! |
| 16 | +* The application performance is better - loading faster, handling larger graphs and large tables. See https://github.com/logseq/logseq/pull/11774 for latest details. |
| 17 | +* On desktop, the graph cache directory `~/.logseq/graphs/` has moved to `~/logseq/graphs`. See [DB Graph Directories](#db-graph-directories) for how they are used for DB graphs. |
| 18 | +* Plugins can be used from the web. For security reasons only [plugins configured with no "effect"](https://github.com/logseq/marketplace#how-to-submit-your-plugin) are usable. We will gradually open up effect plugins to certified/trustworthy plugins. |
| 19 | +* On browser, multiple tabs can be opened and kept in sync, even when offline. Syncing between tabs _does not_ require a sync server. |
| 20 | +* The visibility of left sidebar items are configurable. To configure, hover over the `Navigations` header and click on the filter icon to open a dropdown for toggling visibility of sidebar items. |
| 21 | + |
| 22 | +## DB Graph Changes |
| 23 | + |
| 24 | +High level changes: |
| 25 | +* Blocks and pages are united as [nodes](./db-version.md#nodes). They are referenced as `[[]]` and blocks no longer use `(())` for referencing. |
| 26 | +* Properties have a lot more functionality with the [new properties](./db-version.md#properties)! |
| 27 | +* Previous tags should behave like before that an inline tag is entered using `Cmd-Enter`. |
| 28 | + * NOTE: Pressing enter on a `#` input triggers a powerful [new tags](./db-version.md#new-tags) feature. |
| 29 | +* All blocks and pages have created-at and updated-at timestamps! With this built-in dimension of time, time powered features are possible. |
| 30 | +* The [previous tables](https://docs.logseq.com/#/page/tables) including version 2 are replaced by a shadcn based table. The new tables have inline editing like spreadsheets by default. See [here](./db-version.md#tables) for more. |
| 31 | +* Flashcards have been re-implemented with [a new algorithm](https://github.com/open-spaced-repetition/free-spaced-repetition-scheduler). It isn't compatible with the previous flashcards so none of the properties and srs data from the previous version is imported. |
| 32 | +* Markdown is the only supported format. Org mode file graphs will be able to convert to DB graphs. |
| 33 | +* Zotero integration isn't planned to be a built-in feature and will hopefully be moved to a plugin. |
| 34 | +* A few [Advanced Commands](https://docs.logseq.com/#/page/advanced%20commands) are available. More may become available as requested. The available commands are: |
| 35 | + * `>Query` is now `/Advanced Query` |
| 36 | + * `>Src` is now `/Code block` |
| 37 | + * `>Quote` is `/Quote` |
| 38 | +* Code blocks, quote blocks and math blocks [have tags](./db-version.md#more-new-tags). Since properties are not are a part of the block content, properties can more naturally be added to these blocks. |
| 39 | +* Pdf annotations [have a tag](./db-version.md#more-new-tags). This allows annotations to be viewed across pdfs and to have custom views of annotations while using the pdf viewer. |
| 40 | +* Markdown syntax for blocks e.g. a heading or quote is no longer visible or editable. Removing a block's heading is done by right-click on a block and choosing the crossed out H icon. |
| 41 | + |
| 42 | +WIP changes: |
| 43 | +* Whiteboards are disabled for now and will be enabled later. |
| 44 | +* Exports to more formats including markdown. |
| 45 | +* Sync and RTC will be enabled later. |
| 46 | + |
| 47 | +Miscelleanous changes: |
| 48 | +* Scripts using [nbb-logseq](https://github.com/logseq/nbb-logseq) can read and write graphs. Previously with file graphs, scripts could only read graphs. |
| 49 | +* Embedded pages and blocks look almost the same as other nodes. The main indicator of an embed will be an icon to the left of the block. |
| 50 | +* Default date picker now has an input for typing a date in natural language. |
| 51 | +* There is no re-index like in file graphs. |
| 52 | +* For browsers, currently only one tab can be open. This is a limitation we hope to remove later. |
| 53 | +* `All Pages` view can toggle between table and list view. |
| 54 | +* Run the command `Customize appearance` to display a modal of appearance related settings. |
| 55 | +* For developers, there is a `Validate current graph` command. |
| 56 | + |
| 57 | +### Changes by Feature |
| 58 | + |
| 59 | +#### Pages |
| 60 | +* Page properties are no longer set by using the first block of a page. Rather, a page property is [set the same way a block property is](./db-version.md#add-and-edit-property-values) - by editing from the page title (block content). |
| 61 | +* `#` and `/` are disallowered characters for page names. |
| 62 | + |
| 63 | +#### Tags |
| 64 | +* Tags have [a lot of new functionality](./db-version.md#new-tags). |
| 65 | +* When a tag is added on a block, it now displays to the right of the block. To inline a tag like before, press `Cmd-Enter` in the tag dropdown. |
| 66 | + |
| 67 | +#### Tasks |
| 68 | + |
| 69 | +* Using terms from the [previous tasks](https://docs.logseq.com/#/page/tasks), a task marker, priority, deadline and scheduled are respectively now `Status`, `Priority`, `Deadline` and `Scheduled` properties on a task. |
| 70 | +* Logbook timestamps have been replaced with Status change history. |
| 71 | +* Tasks are no longer created by typing keywords like `TODO` but instead with commands like '/todo'. |
| 72 | +* Read more about the [new tasks](./db-version.md#tasks). |
| 73 | + |
| 74 | +#### Assets |
| 75 | +* Assets can have custom user properties. |
| 76 | +* Assets are blocks and thus can show their linked references when zoomed in on the asset block. |
| 77 | +* Assets are resized by hovering over them and then dragging the left-right arrows that are visible over the scrollbars. |
| 78 | + |
| 79 | +#### Queries |
| 80 | + |
| 81 | +* Read more about the [new queries](./db-version.md#queries). |
| 82 | +* [Simple queries](https://docs.logseq.com/#/page/queries) |
| 83 | + * Simple queries are created via the `/Query` command and not the `{{query}}` macro. This means that user macros cannot be used to create specialized queries. |
| 84 | + * Simple queries can have titles. |
| 85 | + * When using the query builder, the resulting query's text is not meant to be easily read as internal ids are used for some concepts e.g. properties. |
| 86 | + * The query builder's queries run against all [nodes](./db-version.md#nodes) instead of forcing the user to choose between blocks or pages. |
| 87 | + * Query filter changes: |
| 88 | + * These previous query filters will no longer work and should be manually converted: |
| 89 | + * `(page-tags)` -> `(tags)` |
| 90 | + * `(page-property)` -> `(property)` |
| 91 | + * `(priority A)` -> `(priority high)` |
| 92 | + * The `all-page-tags` and `sort-by` query filters no longer exists. Sorting is done via the table component. |
| 93 | +* [Advanced queries](https://docs.logseq.com/#/page/advanced%20queries) |
| 94 | + * Advanced queries are now edited in a code block which means queries are syntax highlighted. |
| 95 | + * Some old advanced queries will no longer work and need to be rewritten. For engineers, compare the [db graph `schema`](https://github.com/logseq/logseq/blob/feat/db/deps/db/src/logseq/db/frontend/schema.cljs) vs the [file graph `schema`](https://github.com/logseq/logseq/blob/feat/db/deps/db/src/logseq/db/file_based/schema.cljs). |
| 96 | + * The attribute `:block/content` was renamed to `:block/title`. If used in an advanced query including in config.edn's `:default-queries`, change it to use `:block/title` e.g. `[?b :block/content "content"]` -> `[?b :block/title "content"]` |
| 97 | + * These advanced query options are deprecated: :title, :group-by-page? and :collapsed?. |
| 98 | +* Since block timestamps are available, they display in table view where possible. |
| 99 | +* `{{function}}` used with queries is a TODO. |
| 100 | + |
| 101 | +#### Namespaces |
| 102 | +* Creating namespaces through `/` in `[[]]` should work as before e.g. `[[foo/bar/baz]]` creates the hierarchy of `foo` > `bar` > `baz`. Unlike before, the reference will turn into `[[baz]]` after it is created. |
| 103 | +* Namespaced pages no longer have their namespace embedded in their page name. The big advantage of this is that renaming any part of the namespace does not affect all the pages under a namespace. |
| 104 | +* Pages can manage their namespace explicitly by using the `Parent` property. Previously managing a namespace could only be done by renaming a namespace. Using a property allows for easier management of namespace relationships. |
| 105 | +* The `Hierarchy` section is called `Children` for DB graphs. It now displays as a collapsible tree as this allows for viewing large namespaces more easily. |
| 106 | +* Children pages like `baz` above link back to its parent(namespace) with the `Parent` property. |
| 107 | +* The macro `{{namespace}}` is TODO. |
| 108 | + |
| 109 | +#### User Config |
| 110 | + |
| 111 | +* A graph's config.edn, custom.js and custom.css files are only editable within Logseq from `Settings`. |
| 112 | +* The following config.edn options are no longer used: `:block-hidden-properties, :favorites, :hidden, :ignored-page-references-keywords, :preferred-format, :preferred-workflow, :feature/enable-block-timestamps?, :file/name-format, :org-mode/insert-file-link?, :property/separated-by-commas, :property-pages/enabled?, :property-pages/excludelist`. See [this code](https://github.com/logseq/logseq/blob/043927031e11053a837d8289e3334368e6647bea/src/main/frontend/handler/common/config_edn.cljs#L89-L115) for more details. |
| 113 | + |
| 114 | +#### Search |
| 115 | +* When search modal first opens, recently updated pages display at the top. |
| 116 | +* Tags can be created from the modal as described in [new tags](./db-version.md#new-tags). |
| 117 | + |
| 118 | +#### DB Graph Directories |
| 119 | + |
| 120 | +* Graphs have a convention of `~/logseq/graphs/GRAPH-NAME` where `GRAPH-NAME` is the graph name. |
| 121 | +* Inside a graph directory: |
| 122 | + * `db.sqlite` - Stores all your graph's data including user configs. |
| 123 | + * `assets/` - Stores assets like before. |
| 124 | +* `logseq/` inside a directory no longer exists. |
| 125 | + |
| 126 | +## File Graph Changes |
| 127 | + |
| 128 | +* File graphs are no longer supported in browser. |
| 129 | +* There is no longer a [conversion feature for filename formats](https://docs.logseq.com/#/page/filename%20format) |
| 130 | +* Attribute changes: |
| 131 | + * The attribute `:block/content` was renamed to `:block/title`. If used in an advanced query including in config.edn's `:default-queries`, change it to use `:block/title` e.g. `[?b :block/content "content"]` -> `[?b :block/title "content"]` |
| 132 | + * The attribute `:block/original-name` was renamed to `:block/title`. If used in an advanced query including in config.edn's `:default-queries`, change it to use `:block/title` e.g. `[?b :block/original-name "name"]` -> `[?b :block/title "name"]` |
| 133 | + * The attribute `:block/journal?` no longer exists. If used in an advanced query including in config.edn's `:default-queries`, change it to use `:block/type` e.g. `[?p :block/journal? true]` -> `[?p :block/type "journal"]` |
| 134 | + * The attribute `:block/left` no longer exists and has been replaced by `:block/order`. It is not recommended to write queries with this attribute. |
0 commit comments