Curio 28 Release Notes 📖

Release Date

February 7, 2024

Requirements

Curio 28 runs on macOS 12 Monterey through macOS 14 Sonoma on Apple silicon or Intel.

Feature Availability

Features only available in certain editions will be listed with colored tags, like .

New Features

With the help of Curio's new Format > Jump (⌘J) popup you can now easily assign a jump action to a selected figure or, if editing a figure, insert a jump link as a rich text link, markdown wikilink [[wikilink]], or markdown link [title](link).

The jump popup is based on the Quick Find popup. This means that not only can you start typing to search a figure's text or idea space's title via autocomplete, you can also enter a query like #active or modified < 5d or @george to help you find the jump destination. You can also paste a copied local or remote figure or idea space into the Jump popup.

To assign a jump action to a figure, select the figure and press ⌘J to use the jump popup to find and select a jump destination. If editing a text figure, you can create type [[ to create a wikilink via the jump popup, or press ⌘J and use the jump popup to create a normal markdown link (if markdown enabled) or rich text link.

To change a figure's jump action, select the figure and press ⌘J. To change an inline jump link, edit the figure then place the text cursor within the jump link and press ⌘J. The current destination will be displayed in the jump popup. Change the query to find and select a different jump destination.

You can also create a wikilink to a new idea space that doesn't exist yet, like My dog is [[Butternut]], that will get created as a sibling of the current idea space the first time it is clicked.

When editing within a wikilink press Return to skip past the wikilink or Enter to open the wikilink.

If you change the text of a local jump destination, like an idea space's title, then any inline link titles that point to that destination can automatically refresh to reflect that change.

Wikilinks are converted into standard markdown links during markdown export.

Wikilinks has been a very popular request so we're thrilled to finally add this functionality to Curio.

Curio now tracks all inner project backlinks created via wikilinks, markdown jump links, and rich text jump links, as well as jump actions.

Just right-click on a figure or Organizer item and look in the Backlinks submenu to see all items that link to it. Select a backlink to immediately jump to that item.

If a figure has backlinks it can optionally show the link adornment if you'd like.

Backlinks

More New Features

Improvements

Resizable Shelf

You can now resize the shelf wider to give your inspector, Search, Library, Sleuth, and Status more room to breathe. This is especially handy when using AI Sleuth sites, like ChatGPT.

ResizableShelf

Finding Figures Used As References

While you've been able to Quick Find or Search for all items that have references of a specific reference types, you can now search for items that are references of that type.

For instance, if Figure A has a figure NYTimesExtract as a Source reference then a search for ^source would return Figure A. Now you can search for =^source would return NYTimesExtract. This makes it easy to find all figures that are used as references of a given type (or even any type).

QueryIsReferenceSubmenu

Quick Find / Search Organizer Labels

Added Organizer Labels to the Quick Find and Search keyboard button popups so it's easier to create queries with the label pseudo tag.

QueryLabelSubmenu

Query Language Group/Sort By Tag Set

The Quick Find and Search query language now supports grouping and sorting based on the ordering of the tags in a specified tag set such as group:#gtd and sort:#/.

Query Language Figure and Organizer Kind

The query language now supports kind=figure and kind=organizer if you want to restrict the results to only showing figures or Organizer items.

Status Sort By Tag Set

The tasks are of the Status shelf can now be sorted based on the ordering of the tags in the selected tag set.

Smarter Markdown Button

The state of the figure markdown inspector button is now more clear. There are now three button states: markdown rendering enabled MarkdownEnabled, markdown rendering disabled MarkdownDisabled, or markdown autodetect enabled MarkdownAutodetect. This new last state can appear if Format > Default Figure Settings > Detect Markdown is checked. In this state if Curio detects markdown syntax when you finish editing then it will enable markdown rendering automatically.

Better Markdown Table Import

When choosing Paste Markdown As > Table or dragging a markdown file containing a table and converting it into a Curio table has several improvements: (1) <br> tags are now replaced with new lines, (2) cells within the figure will remain as markdown, instead of converting to rich text, so lists within cells render more cleanly, and (3) the table is set to have automatic row heights so imported data is correctly sized.

Sleuth Zoom

Sleuth and Sleuth shelf support View > Zoom In (⌘>), View > Zoom Out (⌘<), and View > Actual Size (⌘0).

Sleuth Google ImageFX

Sleuth now includes Google's experimental ImageFX image generator.

ImageFX

More Improvements

  • References Menu

    The references menu naming has been cleaned up: Refers To is now Reference To, Referenced From is now Reference Backlinks. Non-reference backlinks, like wikilinks, are now also listed in this same popup menu.

    ReferencesContextMenu

  • Default Figure Settings
    There's a new Format > Default Figure Settings submenu that consolidates a number of options that were previously scattered about. Here you can specify the default settings for new figures including support for markdown detection and inline meta detection, and if asset/image figures are displayed as icon or preview.
  • Edit Global Master Markdown Style File
    Hold Option when clicking the Format menu and you can edit the global Markdown Styles.txt file in your personal repository which defines the default master markdown styles for all Curio projects.
  • Exporting Text as Markdown
    When exporting markdown Curio now runs all text figures through the markdown converter so figures that contain a mix of rich text and manually entered markdown syntax are correctly output as markdown. Previously if a figure was marked as markdown then attributed text wasn't handled at all.
  • Inline Meta Detection

    When editing you can now right-click on an inline meta element and via that context menu escape the item (prefixes it with a \), toggle inline meta detection for the figure, or toggle it globally.

    InlineMeta

  • Export Figures as Stencil
    Export As > Stencil has been added to the Share menu so you can more easily export and post figure stencils to the forums.
  • Return Ends Editing
    Normally the Return key on the keyboard (not the Enter key on the numeric keypad) inserts a return. You can now make it so Return ends editing and to insert a return you'll have to type Option-Return instead.
  • Search UI
    Cleaned up the Search shelf UI so saving, updating, and deleting search queries is more clear.
  • Search Results Export
    Added Copy Results as Markdown and Copy Results as CSV to Search export popup menu.
  • Sleuth
    In the past, Sleuth ignored clicks on links that would have opened a new tab if hosted in a browser, like Safari. Now, however, those clicks will instead open within the same Sleuth window, replacing the current contents. For example, using the ChatGPT site you should now be able to click on custom GPT's and they'll open within the Sleuth window.
  • Organizer Pastes
    Tweaks to pasting Organizer items so if the selected item is a parent item which is expanded open, like an opened folder, then a copied item pastes as the first child. If the selected item is collapsed then copied items paste as next siblings of that selected item.

Fixes

  • Exporting Group Figures
    Fixed an issue where group figures couldn't be exported as text or markdown.
  • Export Figures in Scanline Order
    Fixed the ordering of text exported figures so it's top to bottom, left to right as if you were reading down the idea space page.
  • Export Markdown Aliased Asset
    Fixed exporting markdown assets so if an asset is an alias then the resolved file is now copied to the export location instead of the alias file.
  • Renaming an Organizer Alias
    Fixed issue where after renaming an Organizer alias you still saw the original title.
  • Saving Template as Both Personal and Master
    Fixed issue when saving a template as both a personal template and master template at the same time.
  • Option-Dragging Table Separators
    Fixed issue which prevented Option-dragging table row or column separators from working correctly.
  • Drag and Drop Hover Glow
    Fixed issue where dragging external items into Curio may not show hover glows, like in a mind map, if the figure being hovered over was selected.
  • Custom Font Rendering
    Fixed odd text figure rendering issue when using a custom handwriting font.
  • Group > Ungroup > Group
    Fixed issue where grouping figures, then ungrouping them, then grouping subsets on those same figures into different groups results in wonky connecting lines.
  • Status Bar Hover Text
    Fixed issue when trying to edit the meta text associated with a selected figure, if a different figure happened to be scrolled under status bar and the mouse was hovering over over the status bar and thus that figure underneath.
  • Idea Space Resizing
    Fixed issue where simply switching into and out of scribble mode made inadvertently stopped disabled idea space resizing.
  • Idea Space Dimensions
    Fixed issue where idea space dimensions weren't updating in the UI if you attempted to shrink an idea space past the minimum size for its contents.
  • Gradient Rendering
    Fixed an issue where some figure gradients drawn for PDF export, printing, or stencil previews would sometimes render as black. Apparently due to a (possibly recent?) macOS graphics issue with gradients created using colors from the "calibrated" color space. Curio now converts these colors to the standard generic RGB color space which resolves the issue. Relatedly, also fixed a bug where some figure gradients with transparent colors weren't being decoded correctly.
  • Toolbar Graphical Artifact
    Fixed issue where, depending on the appearance theme, the toolbar may show a graphical artifact where the shelf's vertical splitter line was visible up into the toolbar/titlebar area.
  • Dark Mode Sidebar Button
    Fixed issue where Organizer sidebar toolbar button was a bit hard to see in dark mode.
  • License Dialog
    Fixed issue where License dialog's Cancel button may not be available if they have no license key but have an email address retrieved from their preferences.
  • Idea Space Background Tiled Images
    Fixed issue where tiled images used as idea space backgrounds are flipped on macOS 14 Sonoma. This appears to be a bug (or change?) in Sonoma's low-level code and an issue has been submitted to Apple (it's still broken in the latest macOS 14.3). In the meantime, for Sonoma and above we'll default to pre-flipping tiled images as a workaround. If Apple fixes this we'll turn this off. You can also control it via a new Ideaspace Flip Tiled Image setting.
  • Full Screen Tooltips
    Fixed tooltips when in full screen mode so it doesn't switch you out to another space (like when dragging line endpoints).
  • Context Menu Tag Undo
    Fixed issue with supporting undo/redo when you right-click on figure and toggle tags.
  • Status Bar
    Fixed issue where the status bar text when hovering over a figure with a file action was only displaying the file's path but not the file name itself.
  • Grid
    Fixed issue where grid could draw outside the idea space bounds.
  • Presentation Mode
    Fixed issue with not being able to interact with embedded web views when in presentation mode.
  • [28.0.2] Project Open Fix
    Fixed issue where a "missing destination" alert may pop up when opening a new project.

Technical

  • Building with macOS 14 Sonoma and Xcode 15
    We're now building Curio with macOS 14 Sonoma and Xcode 15, up from macOS 13 Ventura and Xcode 14. We're always a bit conservative with our build environment so we make sure everything's stabilized and wrinkles have been ironed out. This change resulted in a number of Xcode 15 compiler warnings and macOS 14 AppKit framework deprecation warnings and UI issues, which were all addressed.
  • Sparkle
    For Curio distributed via our website, our app updating framework is now Sparkle 2.5.2 (up from 2.4.2).
  • RevenueCat
    For Curio distributed via the Mac App Store, our subscription validation framework is now RevenueCat 4.32.3 (up from 4.25.9).
  • Selecting and Dragging Performance
    Several key performance improvements have been made so selecting and dragging figures, especially large numbers of figures, is more responsive.
  • Calendar/Reminder Access
    Compiling against the macOS 14 SDK deprecated the old way of asking for Calendar/Reminder permissions so Curio can sync with those apps. Code has been changed to adopt the new API while still calling the older API on older macOS versions. If you have a problem in Curio's Calendar sync inspector seeing the list of available calendars then macOS goofed and gave Curio Add Only Access permission. To fix it go into System Settings > Privacy & Security > Calendar, and click the Options button next to Curio to enable Full Calendar Access, then relaunch Curio.
  • Miscellaneous Hidden Windows
    Tracked down a number of miscellaneous residual hidden windows that were either never used or weren't being properly released. This mainly came up when using AppleScript to iterate through all of Curio's windows.