Releases: notable/notable-insiders
Releases · notable/notable-insiders
v1.9.0-alpha.17
- New command: editor.insert.timestamp
- Mapped “CmdOrCtrl+K T” to “editor.insert.timestamp”
- New commands: note.go.heading.first, note.go.heading.last
- New commands: preview.go.heading.first, preview.go.heading.last
- Accounting for newer content in unsaved editors when jumping to an heading or line, exporting, printing and sharing, without implicitly saving the editors in question
- More reliable heading detection inside editors, it should be perfect now
- More reliable heading detection in previews, it should be perfect now when going forward
- More reliable heading detection in previews, accounting for moving direction and multiple visible headings, it should be ~perfect now
- Removed “tinydate” in favor a much really tiny custom function
- Ensuring using a title that starts with a dot doesn’t result in an hidden note on disk
- Ensuring tasks explicitly put in a list are handled properly
- Generating headings ids in a more reliable way when dealing with multiple similar headings in the same note
- Refactored slugifier
- Added a basic synchronous markdown renderer
- Table of contents: significantly improved handling of headings containing some HTML elements
- Ensuring tasks explicitly put in a list are syntax highlighted properly
- Exposing menu items for toggling modes in the note editor’s context menu
- Exposing a menu item for toggling split mode under the preview submenu too
- Added a basic context menu dedicated to rendered notes
- Ensuring the “Inspect” menu item is always put at the end of context menus
- Added a “Look Up [selection]” menu item, that’s expected on macOS
- Added a “Search with Google” context menu item when there’s a selection, which is expected on macOS
- Added a “Copy Image Markdown Link” menu item when right-clicking external images, for completeness
- Added a “Copy Image” menu item when right-clicking images
- Menu: ensuring “before” and “after” directives work across groups too
- Ensuring tildified paths are actually real working paths
- Improved title generation for data directories, accounting for very generic basenames and other recent data directories with similar paths
- Displaying the current data directory and the title of the current note in the titlebar too, when possible
- Extracted preferences and updater menu items into their own menus for better internal reusability
- Updated app menu to better follow each cross-platform’s conventions
- New command: app.exit — it’s just an alias for app.quit
- New command: cwd.forget
- Added a menu item for deleting a data directory from the list of recent ones
- New command: search.query.forget
- Added a menu item for deleting a search query from the list of recent ones
- Fixed (finally) an issue that caused a small area of the window to be unresponsive to clicks on macOS — As a consequence now windows have a proper title too on macOS
- Fixed a couple of issues when importing loosely structured files
- Updated some dependencies
- Handling middle-clicks more reliably, ensuring the button being clicked is actually the middle one, working around what looks like a chromium-level bug
- Ensuring editor.cursor.line.verystart and editor.cursor.line.veryend have shortcuts assigned to only on macOS
- Ensuring “Alt+F4” is mapped to “window.close” on Linux as well
- Reimplemented zooming in a more Electron-specific but reliable way
- Markdown: improved indentation guides rendering, handling empty lines more appropriatly
- Markdown: more reliable false positive detection when rendering emojis
- Updated some dependencies
- Mapped F1 to opening the palette with the “help “ prefix
- Mapped F3/Shift+F3 to search.item.next/search.item.previous
- Mapped F12 to view.mode.focus.toggle
- Ensuring all IANA TLDs are supported, both in regular urls and emails
- Ensuring “Paste” context menu items account for whether there’s no text but just an image in the clipboard, and whether the target element supports receiving images
- Ensuring Copy/Cut/Paste context menu items for editors always send commands to the right editors
- Ensuring the “editor.paste” command supports pasting images in note editors
- Ensuring all Copy/Cut/Paste context menu items display shortcut hints
- Ensuring pasting multiple times simultaneously in the same line works
- Ensuring tabs can be middle-clicked from anywhere, including inside the tabs palette
- Ensuring notes can be middle-clicked from pretty much anywhere, including inside the palette and from rendered Markdown links
- Ensuring everything is saved right before the OS gets shut down (Linux & Mac)
- Fixed a few path-related issues that happened under Windows
- Avoiding using the current unmatched search query as the title of new notes, it was confusing and not very useful
- Ensuring the tutorial is imported correctly under Windows
- Reversed the order of the parts used in window titles for better stability and hierarchy
- Minor changes
v1.9.0-alpha.16
- Command palette: showing commands-specific shortcuts hints
- Added back support for collapsing/expanding tags in the sidebar with a double-click
- Resolving “CmdOrCtrl” in default shortcuts ahead of time, showing cleaner default shortcuts in the shortcuts editor
- Resolving some static “when” expressions in default shortcuts ahead of time, ensuring these shortcuts aren’t displayed in the default shortcuts editor
- Mapping “CmdOrCtrl+Alt+Z” to “edit.redo” and “editor.redo” on Windows and Linux too
- Aligned palette-related shortcuts more with vscode's
- New command: palette.searchWithCurrent
- Mapping CmdOrCtrl+R to palette.searchWithCurrent while the search bar is in focus (a bit of a nod to FZF)
- Mapping CmdOrCtrl+Esc to view.reset only on macOS, as other platforms handle this shortcut at the OS-level
- Mapping “Esc Esc” to view.reset too
- Mapping Ctrl+H/Ctrl+Shift+H rather than Alt+Tab/Alt+Shift+Tab on Windows and Linux for navigating headings, as the latter shortcuts conflicted with the OS
- Mapping “CmdOrCtrl+K CmdOrCtrl+H” to opening the palette and searching for headings
- Mapping Ctrl+Alt+T/Ctrl+Alt+Shift+T rather than CmdOrCtrl+Alt+Tab/CmdOrCtrl+Alt+Shift+Tab on Windows and Linux for navigating tags, as the latter shortcuts conflicted with the OS
- Mapped “CmdOrCtrl+K CmdOrCtrl+J” to “editor.unfold.all” too for better alignment with vscode
- Unbound Ctrl+A/Ctrl+E for line navigation in the editor from Windows and Linux, as they conflict with other things
- Mapped CtrlOrCmd+U to editor.cursor.undo too for better alignment with vscode (plus thats’s a command that deserves an easier shortcut)
- Mapping CtrlOrCmd+Left/CtrlOrCmd+Right only on macOS
- Updated 15 shortcuts related to the editor for better alignment with vscode and OS-level expectations (Windows & Linux)
- Avoiding using “CmdOrCtrl” on shortcuts defined only for macOS or non-macOS
- Mapped Home/End to quickPick.item.first/quickPick.item.last
- Mapping PageUp/PageDown to quickPick.item.previous/quickPick.item.next rather than quickPick.item.first/quickPick.item.last, aligning this usage of PageUp/PageDown with the rest of the shortcuts
- Mapping Home, End, PageUp and PageDown for natigating search results when the search bar is focused
- Mapping Ctrl+Home/Ctrl+End to tab.first/tab.last when no editable element is in focus
- Reimplemented tags navigation properly, in a way that doesn’t depend on the state of the DOM
- New commands: tag.first, tag.last
- Mapped Ctrl+Alt+Home/Ctrl+Alt+End to tag.first/tag.last
- Added support for shortcuts containing only modifiers
- Mapping “Alt” to view.menubar.toggle on Windows and Linux
- Minor changes
v1.9.0-alpha.15
- Respecting the user’s OS-level preference for what should happen when titlebars are double-clicked (macOS)
- Respecting each OS’ convention when displaying shortcut hints
- Logging crashes of the GPU process to the console
- Logging crashes of any renderer process to the console
- Menubar: ensuring it behaves much more native-like — menus can be navigated by moving the mouse, menus are anchored to the opener and the opener is styled appropriately when its menu is open
- Disallowed attachment of BrowserViews
- Disabled built-in spellchecker, as it can’t be used for our purposes
- Updated some dependencies
- New command: selection.showDefinition (macOS)
- Logging when the window becomes unreponsive
- Fixed an issue that caused absurdly long startup times when other instances of Notable where running, and caused dynamically-generated skeletons to be forgotten
- Minor changes
- Added the code required for intercepting reloads initiated from the devtools, so that state can be saved properly (it would be working already if Electron weren’t buggy here…)
- Ensuring the alpha channel for the computed window background color is always 1
- Ensuring unhandled errors and rejections are logged to the console
- Ensuring sequence shortcuts could be shown as shortcut hints depending on the cirmustances
- Removed the requirement that for a shortcut to be shown in a menu its “when” expression had to evaluate to "true"
- Ensuring all menu items that will ultimately do the same thing will do so by triggering the same commands
- Updated some menu items to use the “toggle” variant of the command they use, when possible, providing more consistent shortcut hints
- Fixed a crash that could have occurred when closing a window
- Added a script for running the production version of the app while still attaching the main process to the terminal
v1.9.0-alpha.14
- Removed “unused-path” in favor of loading only its dependencies we need directly
- Replaced “fs-extra” and “write-file-atomic” with the native “fs” module and “atomically”
- Cleaned up some import statements
- Tracer: reading traces more reliably
- Export: writing files more reliably
- Window state manager: reading and writing state files more reliably
- Settings: populating non-yet-existing files with their default content before opening them in the default app
- Implemented a simple “fetch” function based on Electron’s net module
- Removed “simple-get” in favor of the custom net-based function
- Wired writes to unused paths with the main filesystem scheduler, ensuring pending writes are being waited before actually exiting
- Updated some dependencies
- Simplified some logic around externally-resolvable promises
- Settings: wired writes with the main filesystem scheduler, ensuring pending writes are being waited before actually exiting
- Improved file write performance throught the app
- Note: preserving temporary files on disk in case the full write fails, as a somewhat extreme measure against data loss
- Editor: stopping autocompleting fences in fenced code blocks, as this was more annoying than useful
- Triggering the “palette.cwd” command rather than the “cwd.change” command in a few more places
v1.9.0-alpha.13
- Skeleton: ensuring the fallback one is loaded properly
- Removed “readdirp” dependency
- Added a function for getting the OS’ temp directory
- Added a function for generating a temporary file path
- Updated “critically”, ensuring arbitrary HTML strings are handled correctly
- Export: avoiding writing useless empty files when the export fails
- Export: ensuring any eventual error happening while writing the temporary file to disk is caught properly
- Export: never using data-urls, as Electron v9 introduced a regression when reusing the same window multiple times with different data-urls
- Export: removed “tempy” dependency in favor of a custom oneliner
- Added a “useResizeObserver” React hook
- Removed “use-resize-observer” in favor of the custom hook
- Removed “window-or-global” in favor of a oneliner
- Added a simple text diff library based on “fast-diff"
- Removed “diff” in favor of the custom wrapper around "fast-diff"
- Updated state management library, replacing “deep-object-diff” with a better diff function
- Env: ensuring all values under the “is” object are booleans
- Process explorer: added a statusbar item
- New context key: hasProcessExplorerStatusbar
- New commands: processExplorer.statusbar.enable, processExplorer.statusbar.disable, processExplorer.statusbar.toggle
- Minifying code more aggressively
v1.9.0-alpha.12
- Added a “useContextKey” React hook
- Added a statusbar icon while the tracer is recording
- Updater: ensuring updates can be downloaded and installed automatically, when the platform is supported
- Updater: ensuring silent checks are handled properly too
- New setting: updater.download, set it to false to disable the automatic download and installation of updates while still being notified about them
- New setting: updater.interval, set it to <= 0 to disable automatic checks for updates
- Updater: enforcing a minimum interval of 300 seconds for automatic checks
- useRestorator: restoring states much more reliably by perfoming a visibility check before actually restoring and potentially retrying later
- Updated some dependencies
- Ensuring the “__renderer” variable resolves to the right path during development too
- Added a localStorage-based setting instance
- Reimplemented the skeleton, with support for any theme and any layout configuration
v1.9.0-alpha.11
- Added a “Tracer” library, for easily recording performance traces
- New context key: isTracerRecording
- New commands: tracer.record, tracer.start, tracer.stop
- Middlebar: ensuring clicks on notes are handled correctly
- Tabbar: ensuring clicks are handled properly
- Updated some dependencies
- Added a general-purpose “Sources” synchronizer
- Added a “Setting” synchronizer
- Synchronizing settings using the “Setting” synchronizer
- Added an “Input” synchronizer
- Synchronizing inputs using the “Input” synchronizer
- Data directory statusbar item: opening the data directory palette on click
- Increased number of maximum remembered recent data directories to 50
- Saving the current search query only once per session
- Moved the “editor.enabled” setting to the hidden settings
- Saved searches: ensuring any leading/traling whitespaces are ignored
- Saved searches: saving only searches that lasted for at least 5 seconds
- Ensuring notes with very long titles are still written to disk
- Statusbar: ensuring arbitrarily long headings are still rendered properly
- Implemented a tiny semantic version comparator that supports prefixes, suffixes and non-fully-specified versions
- Removed “semver-compare” in favor of the custom comparator
- Automatically opening the changelog at startup whenever an update is detected
- Ensuring the changelog is not automatically opened on new installations
- Synchronizer: refined logic to better handle immediately-updating sources
- Ensuring focus events are only triggered when necessary, this fixes a huge performance issue
v1.9.0-alpha.10
- Remembering the last picked-into directory when using some file system pickers
- Minor changes
- Remembering the last 300 used search queries
- Ensuring undefined values are accounted for when retrieving from specific settings scopes
- Added a “search” palette and related commands and menu items
- Using the actual version number in changelog ids, ensuring the state preserved about them won’t get confused with other versions
- Titlebar: ensuring the correct foreground color is being used for the close button’s hover and active states
- Resetting the position of the window only if less than 15% of the window is visible, rather than less than 100%
- Ensuring windows can be opened at coordintes where they are not entirely visible
- Opening persistent tabs directly when middle-clicking a note
- New options: editor.rulers.enabled, editor.rulers.columns
- Added a default editor ruler at the 80th column, but disabled rulers by default
- New commands: editor.setting.rulers.enable, editor.setting.rulers.disable, editor.setting.rulers.toggle
- New color: editor:ruler:background
- New context menu item: Editor -> Rulers
- Added some placeholder content when in zen mode with no tabs
- Added some placeholder content when in focus mode with no tabs
- Ensuring the mainbar doesn’t get cropped and very small widths in zen mode
- Added the initial code necessary for producing ARM builds
v1.9.0-alpha.3
- Ensuring the app can be zoomed in and out properly
v1.9.0-alpha.2
- Improved support for debugging inside virtual machines
- Added a bare-bones statusbar
- Added an “useIntervalUpdate” react hook
- Ensuring buttons with both an icon and a label are properly spaced
- Statusbar: added an item displaying the current data directory
- Statusbar: added an item displaying the number of words in the note
- Statusbar: added an item displaying the currently active heading
- Statusbar: added an item displaying info about the cursors and selections in the editor
- Added a context menu for the data directory item in the statusbar
- Updated the submenu in the app menu regarding the data directory
- Added a context menu to the statusbar item displaying the current heading
- Added support for opening context menus programmatically
- Split the app menu into standalone menus
- Ensuring hashing kind of works inside the development virtual machine too
- Minor changes
- Implemented a custom titlebar and menubar (Windows only)
- Refreshing the app menu only right before opening it, if the custom menubar is available
- Ensuring the app can maximized/unmaximized with a double click on the custom titlebar
- Improved support for toggling minimization and maximization state
- Titlebar: ensuring the icon used for toggling maximization changes depending on whether the window is maximized or not
- New context keys: isMaximized, isMinimized
- Ensuring minimization/maximization state changes triggered from outside of what the app controls are still detected
- Updated menus items that trigger commands related to window minimization and maximization
- New commands: window.unminimize, window.toggleMinimize
- Using the same, custom-generated, font for rendering shortcuts hints, whenever possible, across platforms
- Ensuring search is being performance in a case-insensitive way
- Ensuring the commands for enabling/disabling the menubar work
- Ensuring the position of the cursor in a selection, rather than it’s start, is used when inferring the current heading
- Ensuring the current heading is inferred correctly in notes containing only one heading
- New shortcut: Alt+F4 -> window.close (Windows)
- Renamed special “All Notes” sections to “All (Notes|Notebooks|Tags|Templates)”
- Displaying the reference object containing all customizable colors in the same shape that’s used inside the “theme.colors” setting
- Added a dummy overridden color to the default settings object as an hint for to themers