# Octarine 0.24.0 Changelog

Released: 2025-03-22

Big changes! A little change here, a big refactor there, and we got ourselves a performance improvement patch!

**Performance**



<video autoPlay loop muted playsInline>
  <source
    src="https://pub-d9b2979edab5442388c14f8014e177b7.r2.dev/0_24_0/filetree.mp4"
    type="video/mp4"
  />
</video>

- The Notes file tree implementation has been rewritten to efficiently manage extremely long lists.

- Using `Cmd/Ctrl + P` for file navigation now instantly updates the tree, centering on the selected note.

- The file navigation architecture has transitioned from using unique IDs to file names, ensuring more reliable note navigation.

- Updating a note no longer triggers unnecessary file tree recalculations, reducing CPU usage.

**Graph View**

<video autoPlay loop muted playsInline>
  <source
    src="https://pub-d9b2979edab5442388c14f8014e177b7.r2.dev/0_24_0/graph.mp4"
    type="video/mp4"
  />
</video>

- The Graph View has been completely rewritten with a custom solution for improved performance.

- Nodes with more outgoing links are now larger, with their size increasing exponentially based on the number of connections.

- Hovering over a node dims the rest of the graph, enhancing focus on the hovered node and its connections.

**Daily Desk**

<video autoPlay loop muted playsInline>
  <source
    src="https://pub-d9b2979edab5442388c14f8014e177b7.r2.dev/0_24_0/migrate.mp4"
    type="video/mp4"
  />
</video>

- Calendar navigation is now possible using shortcuts, which are listed below the calendar.

- Changes to the `Migrate Incomplete` automation:

  - A `Migrated from <date>` line is now added above incomplete todos in the transferred date note, helping to identify their origin.
  - A property (front-matter) indicating where incomplete tasks were migrated is added to the extracted date note.

- Performance improvements have been made to finding incomplete todos.

**Meta Sidebar**

<video autoPlay loop muted playsInline>
  <source
    src="https://pub-d9b2979edab5442388c14f8014e177b7.r2.dev/0_24_0/stats.mp4"
    type="video/mp4"
  />
</video>

- Note stats now display `Characters` and `Lines`.

- Selecting text in a note updates the stats for the selected text.

- Linked Notes and Attached Media headers now reflect the number of items they contain.

- External reference calculations have been optimized for better performance.

**Reacting to Outside File Changes**

<video autoPlay loop muted playsInline>
  <source
    src="https://pub-d9b2979edab5442388c14f8014e177b7.r2.dev/0_24_0/file-changes.mp4"
    type="video/mp4"
  />
</video>

- Octarine now reacts to in-note changes made outside the app, in addition to detecting directory-level changes (creating, deleting, moving notes/folders).

**Improvements**

- The Ask Assistant now fetches models compatible with your `OpenAI` server (defaulting to OpenAI) for the model selector, allowing the use of Deepseek, Grok, or any OpenAI API-compatible server without errors.
- Navigation buttons have been removed from breadcrumbs.
- The notes breadcrumb now adjusts to the app's size, truncating folder names as necessary.
- The note name in the breadcrumb now features a background around its input.
- Pinning or locking a note now updates its status in the note's property (front-matter) instead of the local database, preserving its status across devices or workspaces.
- LaTeX equations now support chemical equations — [See ref](https://mhchem.github.io/MathJax-mhchem/).
- A `Yesterday` option has been added to the slash command.

**Fixes**

- Resolved a bug that prevented proper recognition of Chinese characters in word count.
- Fixed an issue where moving a note containing a `.` would result in a renamed file with missing characters.
- Corrected a bug where an error message regarding the existence of a note/folder during renaming would be obscured by other note items in the list.
- Relaxed the math equation regex to accommodate spaces between characters.
- Fixed an issue where pressing enter in the command bar while the editor had the cursor on a tag, would cause the tag to be entered incorrectly.

**Breaking Changes**

- Due to database changes, the following will be reset:
  - Your recently viewed notes list.
  - Any pinned or locked notes.
- A dialog will appear on load to inform you about the breaking changes and perform a fresh database cleanup for using Octarine.
