# Unreleased ## 🌟 Features - Open theme folder from settings ## ✨ Improvements and fixes - Fix titlebar and editor overflowing slightly along the right edge - Fix system accent color feature - UI and theming refactor - Fix dirty theme colors when switching to an incomplete theme (partial themes now fall back to defaults depending on theme mode). - Automatically contrast text color on accent colored surfaces for better readability - Automatically adjust accent color brightness depending on theme mode for better readability # 1.3.1-beta.1 ## 🌟 Features - Revamped move note dialog to match the main search dialog more closely ## ✨ Improvements and fixes - Drag-drop MIME types are now consistent. Dragging a note property into a note (or the inverse) no longer causes invalid highlighting. - We now remember whether you collapsed properties or not across reboots ## πŸ› Known issues - There's a known ghost click bug when trying to edit a property value while the property name input still has focus (since `1.3.0-beta.1`). A fix will be released soon. # 1.3.0-beta.1 ## 🌟 Features - Add custom properties to notes - Text, checkbox and date properties supported - Properties can be reordered - Properties can be collapsed to make them get out of the way - Properties are exported into Markdown frontmatter - Window controls on Linux now follow your ordering, including left + right mixed setups - [New documentation site](https://darkwrite.app/docs) - Rebuilt entirely with Starlight - Supports search - FAQ, Themes, Workspaces and troubleshooting guides covered with images - Add link to documentation under `Help` menu ## ✨ Improvements and fixes - Fix global context menu catching focus in uneditable surfaces - Fix sidebar items touching the main pane on macOS when overlay scrollbars are enabled - Improved accessbility for "Remove icon" and "Add cover" buttons: they now stay visible when focused. They also fade in/out smoothly. - Window controls on Linux now follow the GTK theme - The old ugly controls are gone thanks to the Electron 44 update - Minimum sidebar width now reacts to changing window decorations on Linux - Reduce horizontal padding in the editor view (96px β†’ 64px) - Fix regression causing import and undo not working in main editor view ## πŸ› οΈ Technical changes - Upgrade to Electron 44 - Drag-and-drop logic used to sort the tree can now be used to sort any list - Website builds are now analyzed for broken links before publish - Biome configurations are now shared across packages # 1.2.6-beta.1 ## 🌟 Features - Add fuzzy search (search should feel actually usable now) - Revamped search UI - Revamped onboarding - It's now a single step you can immediately finish. ## ✨ Improvements and fixes - Disable "Always on top" menu item on Wayland - [Wayland doesn't support it](https://github.com/electron/electron/pull/50560). Use the window menu of your desktop environment instead. For example, KDE users can hit `ALT+F3` or right click the titlebar and pick "Keep Above Others". - Fix disappearing workspace icon when the edit workspace dialog is closed and reopened - Fix "Import theme" button not letting you pick any files at all on macOS - Fix missing "Untitled" text in some search surfaces - Fix value collision in link selector that caused notes with the same title to get highlighted all at once - `Ctrl-k` no longer turns the search UI off and correctly performs vi-style navigation - Search now shows recent notes by default, and doesn't lag on open - Onboarding now triggers a full page reload instead of force rendering the app root - This should prevent invisible first use bugs # 1.2.5-beta.2 ## 🌟 Features - Add Simplified Chinese translations (by @wcxu21) (#37) # 1.2.5-beta.1 ## 🌟 Features - Add Markdown export (#32) ## ✨ Improvements and fixes - Security updates for dependencies ## πŸ› οΈ Technical changes - Upgrade to Electron 43 # 1.2.4-beta.1 ## 🌟 Features - Updated sidebar - Revamped parent tree dropdown - Menu bar now includes the `Help`Β section (macOS users can search the menu bar) - Added links to website and issue tracker - Add reader mode (#32) ## ✨ Improvements and fixes - Significantly improve trash performance - Sidebar no longer lags - Removed the 4px gaps between note items - Drag/drop is now proximity based, the drop gaps don't need to exist anymore - Notes are now easier to reorder - Total drop area for a slot is now ~3x as large - You can drop notes directly to the trash - Expanded notes now remember that they were expanded even if its parent note gets collapsed - Updated workspace switcher - Menu bar items are now localized - Add back missing bottom padding to the editor - Linked files no longer overflow horizontally ## πŸ› οΈ Technical changes - Move translations to a separate `@darkwrite/i18n` package, using gettext (.po) files # 1.2.3-beta.1 ## 🌟 Features - Add center view ## ✨ Improvements and fixes - Update onboarding screens ## πŸ› οΈ Technical changes - Full main process refactor to use functional programming patterns # 1.2.2-beta.1 ## ✨ Improvements and fixes - Fix the image regression introduced in 1.2.1-beta.1 (#30) - Pending note saves now get properly flushed before the UI unloads (no more lost updates) # 1.2.1-beta.1 ## 🌟 Features - Add image resize (percentage based) ## ✨ Improvements and fixes - Fix images reverting to a placeholder when Ctrl+Z is hit after adding an image - Fix images flickering when resizing tables - Remove excess vertical margins from images - The editor now scrolls smoothly ## πŸ› οΈ Technical changes - Update to Electron 42 # 1.2.0-beta.1 ## πŸ’₯ Breaking changes - This update includes database related changes. This is a safe operation, however creating a backup from the settings screen is advised just in case. - Code to migrate data from alpha versions has been removed. **If you are updating from an alpha, update to [1.1.0-beta.1](https://github.com/astudentinearth/darkwrite/releases/tag/v1.1.0-beta.1) first, go through the onboarding process, then update to this release. You will not be able to view your notes otherwise.** (They won't get deleted, but you will need help.) ## 🌟 Features - You can now delete workspaces - Add option to clear the trash at once (#25) - Add bubble menu option to convert a heading to a plain paragraph - Add "system default" font option to font settings (`windows`, `linux`) - Added global context menu actions with spellchecking support (#21) - Add a button to reveal an exported note in the system file manager - Add tooltips - Add support for RTL languages and manual text direction (#26) - The button can be turned on/off from settings - Reworked menu bar, add "Create Note" to `File` menu - Inline links can now link to other notes directly - Added hover tooltips to inline links - Links can now be copied - Add ability to link local files directly from notes (#24) - You can opt into double clicking in settings if you prefer - You can launch apps with this block, though I don't know why you would want to do that - "Link to page" blocks can now be turned into inline links from the context menu (#22) ## ✨ Improvements and fixes - Fix code blocks breaking when all content is deleted with ⌘+⌫ ⌘+Del, Ctrl+⌫ or Ctrl+Del - Fix bubble menu not correctly reacting to the selected heading or list type - Fix bubble menu not correctly displaying bold, italic, strike, quote, code or link state - Bubble menu now slides smoothly instead of suddenly teleporting - Fix illegible emoji picker when system theme mode is different than app theme mode - Improved hover colors on light mode - Fix trash sliding down the screen when many notes are visible on the sidebar - Some UI elements now push into the screen on press and/or react better to active states - Favorites now always fetched to ensure they appear in search - Creating a subpage now navigates to the new page and expands its parent - Bubble menu no longer shows up when the only selection is a horizontal rule - Hide scrollbars when the view is not hovered on - Added notification feedback to various actions (trash, restore, delete etc.) - Change drag handle extension (now using tiptap's official one) - ⌘N works again - Changed back/forward navigation to follow platform conventions - Add missing backgrounds to code blocks in HTML and PDF exports - Code blocks in exports now correctly follow your monospace font choice - Long lines in code blocks are now properly wrapped in HTML and PDF exports - Notes with no title now display "Untitled" placeholders correctly, with localization - Notes no longer get created with the title "Untitled" (or its localized variant). The default title is now empty (`""`) - Typing next to a link doesn't annoyingly add text to the link - "Press '/' for commands" placeholder is now localized ## πŸ› οΈ Technical changes - Drop TypeORM and better-sqlite3, switch to drizzle-orm and libsql # 1.1.0-beta.1 ## 🌟 Features - Added ability to move notes directly via context menu (after a long wait) - Added ability to download images from right click menu - Added a "New page" button to the home page for easier onboarding - Note specific colors now blend in with the titlebar when sidebar is collapsed ## ✨ Improvements and fixes - Removed lots of bloat from the final bundle (#18) - Significantly improved sidebar performance (reordering notes is now instant) - Fixed a bug that allowed you to create circular references when moving notes - Fixed an infinite loop crash when you tried to access a note that was part of a circular reference - Fixed crash when sidebar tree items had colliding order keys - Default note title ("Untitled") is now localized - Preferred page size is now persisted in settings.json - Reduced brightness of borders in Catppuccin themes - Code blocks now correctly follow your monospace font choice - Added visual feedback to the copy button in code blocks to display a checkmark for 1 second - Added highlights to elements that have an open context menu - Language chooser in code blocks no longer go offscreen - Fixed `βŒ₯+←` and `βŒ₯+β†’` interfering with text editing on macOS - `⌘+←` and `⌘+β†’` now handle history navigation instead of `βŒ₯+←` and `βŒ₯+β†’` on macOS to follow conventions - Font selectors are now localized - Undo and redo actions no longer close the menu on click, and get greyed out at both ends of history - Fixed Turkish search not working in /command - Added highlight to links to pages to indicate they are selected - Automatically switch workspace when navigating through history (in addition to page reload) - Note titles are now automatically focused upon navigation - Favorites and all notes views now remember if they were open ## πŸ› οΈ Technical changes (definitely read if you have your own fork) - Dropped `@tanstack/react-query` in favor of Redux + RTK Query - ⚠️ Breaking change: orderHint and favoriteOrderHint are no longer part of note updates or creation. Moving and/or reordering notes are now backend-authoritative commands. - IPC bridge now correctly handles union types - Switched to pnpm workspaces # 1.0.3-beta.1 ## 🌟 Features - Added more page sizes to PDF export (it remembers the latest one) - New logo - Updated about screen ## ✨ Improvements and fixes - Fix macOS build crashing on startup - Fall back to text inputs for font customization on macOS - Fix traffic light position on macOS - Updated sidebar spacing - Update default theme to have softer text color - Add edit and window menus ## πŸ› οΈ Technical changes - Deprecated `appearance.experimental.darwinCustomTitlebarEnabled` settings key - It is now directly tied to `appearance.useSystemWindowFrame`, and the titlebar is now merged by default - Removed compile time metadata: - `windowDefaults.wcoEnabledPlatforms` - since macOS is no longer excluded, the key is no longer used - Icons are now stored in res/icons, and subprojects refer to them with symbolic links to reduce duplication # 1.0.2-beta.2 ## ✨ Improvements and fixes - Fixed image paste - Fixed the spellcheck option not actually toggling spellcheck # 1.0.2-beta.1 ## 🌟 Features - Added tables: headers, custom background colors and resize included - Images are now included in note exports - Added PDF export - Added icon and title to exported documents ## ✨ Improvements and fixes - Added a tooltip on note list items for better accessibility - Improved HTML serialization - Fixed checkbox styling in exports - Fixed recursive render crash in highlight color picker - Fixed obnoxiously large title boxes in wide pages (was caused by a rendering race condition) - Hitting Enter on the title box now moves the cursor into the editor - Removed excess margins around blockquotes # 1.0.1-beta.1 ## ✨ Improvements and fixes - Trashed pages can now be viewed/edited before restoring them - "Check for updates" option in the about screen now works - I had forgotten to bump the version in 1.0.0-beta.2, which showed unnecessary update notifications. This has been fixed in this release # 1.0.0-beta.2 ## πŸš‘ Hotfixes - Fixed failing migration checks on Windows 11 25H2 due to the removal of WMIC utility. - Added additional guards to ensure data is not lost during migrations. # 1.0.0-beta.1 ## 🌟 Features - Introducing workspaces - Stay organized with a space for each of your projects - Workspaces cannot be deleted for now, this will be introduced in the upcoming patches - UI rebuild and refresh - .deb package - Brand new architecture - New theming system - Choose a color scheme for light and dark mode individually - Darkwrite can now follow your system color scheme - New settings format - Add ability to zoom in/out through menu - HTML exports are now styled - Added JSON export and import - `βŽ‡ +b` now toggles sidebar - `βŽ‡ +←` now navigates back - `βŽ‡ +β†’` now navigates forward - Code block syntax highlighting now follows theme colors - Onboarding ## ✨ Improvements and fixes - Add missing translations for various places - Improve note ordering performance by dropping index based ordering - New icon - Make the default theme darker - Fixed full width pages - You can now choose choose fonts from your system font list without having to type its name - Multiple HTML, JSON and Markdown files can now be imported at once # 0.5.3-alpha.2 ## 🌟 Features - Add support for text colors and highlighting (#3, #5) - There are 9 colors available by default, and these follow your theme - It's also possible to choose a custom color using the eyedropper button ## ✨ Improvements and fixes - Removed old editor code, which reduced the app size by ~1MB # 0.5.2-alpha.2 ## 🌟 Features - Upgraded code blocks with syntax highlighting. - Clicking on the empty space below the editor contents now moves the cursor to the end. ## ✨ Improvements and fixes - We have rebuilt the editor from the ground up and extracted it into a new package. You should not notice much difference at first sight other than the new slash menu animation, however this changes a lot under the hood stuff and will speed up development in the long run. # 0.5.1-alpha.2 ## ✨ Improvements and fixes - Fixed a bug which showed the "Darkwrite is up to date" toast on every automatic update check. This toast now appears only when you check for updates explicitly. ## πŸ› οΈ Technical changes - Upgraded `react-router-dom` and `vite` to address dependabot alerts - Upgraded `@radix-ui/react-dropdown-menu` to fix broken unit tests # 0.5.1-alpha.1 ## 🌟 Features - Added update checks on startup. **To protect your privacy, it is disabled by default, but you can enable it in settings.** - - It makes a request to the GitHub API to get the latest release. Although we already developed a server to check for updates, we decided to use the GitHub API for now. ## ✨ Improvements and fixes - Hitting enter after editing a link's URL now saves the link - Fixed editor contents going off screen as window got narrower # 0.5.0-alpha.1 ## 🌟 Features - Added trash search - Added back and forward buttons - Added wide pages - Heading 4 is now in slash command menu (it wasn't there even though it existed) - You can now drag notes into the trash ## ✨ Improvements and fixes - Input focus rings now follow accent color - Fixed tab order in sidebar - Reduced transparency in menus to improve readability - Fix incorrect UI font issue in some elements when using system default - Translated more UI elements, notably the slash command menu - All command descriptions have been rewritten for both English and Turkish. - Fixed image drop not working ## πŸ› οΈ Technical changes - shadcn-ui components now live in a separate package. - Added environment variable `DARKWRITE_ROOT_OVERRIDE` to use a different profile folder. - I added this to share profiles in my dual boot setup. Actual workspace/profile switching will be added later as a feature. # 0.4.0-alpha.3 ## ✨ Improvements and fixes - Fixed the bug which prevented you from creating child items in lists (sinking list items) by hitting Tab - Fix links to pages being unreadable inside blockquotes # 0.4.0-alpha.2 ## 🚨 This update fixes the image upload issues in v0.4.0-alpha.1 # 0.4.0-alpha.1 ## 🌟 Features - You can now toggle todo, bullet and numbered lists directly from the floating menu - Added block quote button to floating menu - Word count can now be always shown in the bottom-right corner of the window. (You can enable or disable it in settings) - Upgraded code blocks - Hitting `β‡₯Tab` inserts a desired number of spaces for indentation - Hitting `⬇️Down Arrow` at the last line exits the code block - Hitting `Ctrl/Cmd` + `⬇️Down Arrow` exits the code block immediately, even if you are on the first line ## ✨ Improvements and fixes - Fixed 7 places where notes without icons were handled incorrectly - Added translations for note customization menu - Fixed issue causing system accent color to be always black - Updated settings UI style ## πŸ› οΈ Technical changes - We developed tools around IPC to accelerate API development and ensure type-safety. - Moved built-in themes to `@darkwrite/common` # 0.3.1-alpha.3 ## 🌟 Features - Added markdown import ## ✨ Improvements and fixes - Notes no longer have an icon by default, you can add or remove it as you wish # 0.3.0-alpha.2 > Quality of life release before moving onto 1.0.0-alpha ## 🌟 Features - Added `Ctrl+n` (or `Cmd+n` on macOS) shortcut to create new notes - Changed icon for development builds # 0.3.0-alpha.1 ## 🌟 Features - You can now paste images directly to the editor - You can now drop image files directly. You can drop more than one image and all of them will be inserted to the page. - Links can now be edited - Editor now has a context menu - Added word count - you can view it by clicking the menu icon on the top right. - Added translations for Turkish - Images are now centered - Add undo and redo options to editor menu (it was possible to perform these with keyboard shortcuts previously) - Added option to follow system accent color on Windows and macOS ## ✨ Improvements and fixes - Removed the empty space to the right side of color pickers - Displaying dates in the recent notes view now follows correct locale - Added background blur to context menus, dropdowns, popovers and search - Disabled dropping into the title box, which should prevent you from accidentally dropping nodes there - Fixed low-resolution desktop icon on Windows. - Fixed inability to interact with other things when heading selector in the bubble is open # 0.2.0-alpha.4 ## ⚠️ Minor breaking change - This release changes the directories in which Chromium session data is stored. This change means the following preferences will be lost: - Sidebar width - Whether sidebar was hidden or not - Whether spell checking was disabled or not - As these are local preferences and are not even persisted in backups, it shouldn't be a problem. ## 🌟 Features - When you collapse favorites or all notes views in the sidebar, that preference will be remembered ## ✨ Improvements and fixes - Fixed a bug where "this note is trashed" alert would go below the cover image - Chromium session data is now stored in directories called `session-dev/` and `session/` when running development and production builds respectively. - Added padding to editor's sides to make drag handles more accessible - Reduced margins above headings - Reduced padding between title and the page - Fixed the use of wrong destructive color in Catppuccin FrappΓ© (it's not blue anymore) - Fixed a bug causing the emoji picker to always appear in dark mode, which caused unreadable text in light themes - Fixed a bug where exporting empty notes would fail when done from the context menu or the editor menu - Fixed a bug which caused trash contents to overflow down the container - Trash panel now has a bottom margin which prevents it from sticking close to the bottom - Top left corner of the editor is no longer rounded when sidebar is collapsed - Fixed a bug where changing the text color of a note would affect icons in formatting bubble - Fixed a bug where changing the text color of a note would also change the color of cover image buttons - Increased startup window size to 1000x700 # 0.2.0-alpha.3 ## 🌟 Features - Added striked text - Added image support - Added cover images ## ✨ Improvements and fixes - Titlebar buttons now have an active style - Fixed nodes being dragged using the wrong background style - Hitting down arrow on the note title now moves the cursor to the editor - Fixed code blocks using the wrong font - Added a divider below the title text # 0.2.0-alpha.2 ## 🌟 Features - Added option to use native window frame - Added option to use custom window frame on macOS as an experimental feature - Notes can have custom background/text colors ## ✨ Improvements and fixes - Fixed potential performance issues when typing on the custom font box - Reworked note customization UI so it's not obnoxious anymore - Headings now follow the theme better # 0.2.0-alpha.1 ## ⚠️ Breaking changes - Directories in which application data is stored has changed. App data will be stored in a subdirectory named `darkwrite-data` when running production builds, and `darkwrite-data-nightly` when running development builds. If you are upgrading from 0.1.0-alpha.x, navigate to Darkwrite's data directory (you can use the application menu for this), move `data.db`, `settings.json` and `notes/` into `darkwrite-data/`. - Alternatively, create a backup before upgrading and restore from the backup after upgrading. ## 🌟 Features - Import and use custom themes - New dark themes: Catppuccin Macchiato, FrappΓ© - New light themes: Catppuccin Latte (experimental) - Themes can now define the color for favorite stars ## ✨ Improvements and fixes - New backups now include a date in their file names by default. - Tweaked emoji picker styles to better follow theme preferences - Fixed overflow of file chooser button in restore dialog when a long path is chosen ## πŸ› οΈ Technical changes - App data is now stored in an isolated folder, which opens the door to safe development sessions without risking data and simplifies the code responsible from backups. # 0.1.0-alpha.2 ## Features - Export entire workspace as HTML - Create backup of all settings and notes - Restore from backups - Added an even darker theme ## Improvements and fixes - Tweaked default font settings to match different systems - Default UI font is now empty, meaning it will follow system by default - Other fonts now include fallbacks to system defaults - Tweaked font settings to preview the font as you type - Home and settings pages are now more responsive - Tweaked dates in home page - Fixed unreachable drag handle bug ## Technical changes - Created an experimental build script (darkwrite-builder.js) - Automates the build process by checking for the operating system and handles rebuilds by removing old artifacts # 0.1.0-alpha.1 Features (that work) - Creating, editing, deleting and moving notes - Adding notes to favorites - Reordering all notes on the sidebar as well as your favorites - Keeping notes in the trash before removing them permanently - The editor, included blocks, and the formatting bubble - Comes with 2 themes: Darkwrite's default theme and Catppuccin Mocha - Pick your own accent color - All fonts are customizable - Search - HTML import and export Features that don't work - You can't change background/text colors yet - Any button/text box/switch that is disabled are features that are not implemented yet