novelWriter Changelog

What's new in novelWriter 2.4.1

May 7, 2024
  • Bugfixes:
  • Fixed an issue that could crash novelWriter if a build settings entry was deleted from the Manuscript tool while its settings window was open. PR #1845.
  • Improvements:
  • Changed the font used for the document editor and viewer header and footer from the one used for the document text to the one used for the user interface. Issue #1842. PR #1843.
  • Added a save document step in the editor before running a manuscript build or a preview job. This ensures that the text in the editor is included in the manuscript. Issue #1835. PR #1846.
  • Restore preview panel scroll bar position after updating the preview on the Manuscript tool. Issue #1837. PR #1846.
  • Close all non-modal dialogs when a project is closed. PR #1848.
  • Code Improvements:
  • Fixed an issue with the Build Settings dialog that blocks the garbage collector from deleting the dialog after it's been closed. PR #1843.
  • Remove some deprecated translation entries from the translation files. PR #1850.

New in novelWriter 2.4 (Apr 21, 2024)

  • Bugfixes:
  • Fixed background colour on some widgets on the new Project Search tool. PR #1800.
  • Fixed a bug when using bold/italic/strike through toggle on an existing text selection in the editor. Issue #1807. PR #1808.
  • An index out of bounds error in the word counter has been fixed. It could only be triggered by a single line only containing a ">" character. Issues #1816 and #1825. PR #1817.
  • Fixed an issue where not all theme colours were completely reset before changing theme. PR #1820.
  • Shortcodes are no longer passed to the spell checker. PR #1823.
  • Improvements:
  • Made placeholder text for search read as "Search for" and "Replace with". PR #1799.
  • The initial count for adding chapter and scenes to new project in the Welcome dialog has been changed to 0. The user must now select to add chapters and scenes. Issue #1811. PR #1815.
  • Documentation:
  • Updated the documentation for 2.4 features. PR #1818.
  • Internationalisation:
  • Norwegian and US English translations updated by Veronica Berglyd Olsen (@vkbo). PRs #1799 and #1814.
  • Latin American Spanish translation updated by Tommy Marplatt (@tmarplatt). PR #1814.
  • Italian translation updated by Lou Cyper (loucyper1). PR #1814.
  • Japanese translation updated by @hebekeg. PR #1814.
  • French translation updated by Albert Aribaud (@aaribaud). PR #1821.
  • German translation updated by Myian (@HeyMyian). PR #1821.

New in novelWriter 2.4 RC 1 (Apr 6, 2024)

  • Bugfixes:
  • A number of issues GUI icon scaling has been fixed. Icons and buttons are supposed to scale relative to the GUI font size, but several of them were not. Issue #1787. PR #1788.
  • The persistence of button state for the editor search box has been improved. The present state was only saved when the search box was actively closed, and there were several scenarios where this didn't happen. The button states are now tracked in the central config, and will always be preserved. Issue #1794. PR #1795.
  • Other Improvements:
  • A placeholder icon has been added for cases where users have their own icon theme, and icons are missing. Issue #1780. PR #1781.
  • The project search now refreshes the search results for the currently open document when it's being edited. PR #1782.
  • When activating project search from the editor while text is selected, the search box is populated with this text. Issue #1789. PR #1790.
  • Packaging:
  • The project has moved from using a setup.cfg to only using the pyproject.toml meta data file for packaging. This is the preferred file format now. PR #1791.
  • Code Improvements:
  • The part of the code related to Qt widgets and flags has been updated and refactored in preparation for the eventual move to the Qt6 framework. Part of issue #1142. PR #1792.
  • The Open Document writer class has been refactored and improved. PR #1796.

New in novelWriter 2.4 Beta 1 (Mar 26, 2024)

  • Major Features:
  • A global search feature has been added to the main sidebar. The search panel replaces the project and novel tree when activated. PR #1775. Issue #894.
  • A new shortcode to highlight text has been added. PR #1715. Issue #705.
  • A new heading format for hard scene breaks has been added. It uses ###! heading markup. The only affect this has in the GUI is that these headings can be independently formatted in the Manuscript tool. PR #1753. Issue #1050.
  • The document editor and viewer now have a dropdown menu in the header listing all headings of the current document for quick navigation. The list is capped at 30 entries. PR #1764. issue #1059.
  • Build Tool Improvements:
  • The Manuscript Build Tool now has a word stats section below the preview that shows a number of word and character counts for the previewed text. PR #1717. Issues #1114 and #1116.
  • The Manuscript Build Tool now shows an outline of the previewed document as a tab next to the build settings list. PR #1768. Issue #1765.
  • Tabs handling in HTML output now has a separate setting from the other format. PR #1723.
  • Hard line breaks can now be excluded from Markdown builds. PR #1723. Issue #944.
  • It is now possible to control the centring and page breaks of partition, chapter and scene headings. PR #1723. Issues #1117 and #1661.
  • Special titles (#!) can now be used in notes as well. PR #1723.
  • Meta data categories can be filtered out from the manuscript. PR #1723. issue #1132.
  • Any heading in a novel document can now be hidden in the manuscript. PR #1759. Issue #1756.
  • First line of a paragraph can now be indented in the manuscript. PR #1761. Issue #906.
  • Each meta data entry in HTML builds have a new class assigned to it that matches the tag used in the text. PR #1767. Issue #1134.
  • Other Improvements:
  • The percentage progress counter in the editor document footer now counts progress per character instead of per line. This is only noticeable on short documents. PR #1725.
  • Some improvements have been made to terms on the GUI and some strings have been simplified in order to be easier to understand and to translate. PR #1727. Issue #1726.
  • Dates are now formatted according to the selected locale, if such a locale is available. If not, it falls back to the local system locale. PR #1755. Issue #1739.
  • Code Improvements:
  • The tokenization of the novelWriter markup format has been refactored and improved. PR #1724.
  • A way to read project documents fast has been added. It is useful many places in the code where only the text is needed, not the meta data. PR #1777.

New in novelWriter 2.3.1 (Mar 17, 2024)

  • Internationalisation:
  • Fix untranslated text on the "Project Word List" dialog.
  • Fix untranslated text on the dialog that pops up after an upgrade,
  • Fix error in Norwegian translation.
  • Allow the translated text for adding chapter and scenes on the Welcome dialog to flow around the number selector since the number is inserted into the sentence, and not all languages will split the sentence around the number like is done in English. PR #1754. Issue #1750.
  • French translation updated by Albert Aribaud
  • Minor updates to other translations for the 2.3.1 fixes by other contributors.
  • Other Changes:
  • Bump the revision of the project file format to 1.5 Revision 3 from Revision 2. This should have been done in the 2.3 release due to the addition of the Templates root folder type.

New in novelWriter 2.3 (Mar 10, 2024)

  • Bugfixes:
  • Fix an issue where the Tags and References panel below the document viewer was not cleared if a project was opened, closed, and a new project with no tags defined were opened again. PR #1720. Issue #1718.
  • Fixed an issue where multi-selecting documents in Trash would give the option to again move items to Trash. The menu now properly offers the option to permanently delete the documents. PR #1728.
  • Fixed an issue where multi-select for deletion would only process the item right-clicked, and not all the selected items. PR #1728.
  • Changed the error message that pops up when trying to open a project from the Welcome dialog that no longer exists. The error message should no indicate that the project was not found, as opposed to unreadable. PR #1740. Issue #1737.
  • Improvements:
  • The build tool no longer inserts a scene separator immediately after a partition heading, and should now behave the same way as for chapters. If there is text before the first scene break, the text flows continuously without a separator. PR #1716. Issue #1704.
  • Added one new GUI theme named "Cyberpunk Night" by @alemvigh. Also added a matching "Cyberpunk Night" document editor theme by @alemvigh, and a new Tango theme by @vkbo. PR #1738. Issue #1730.
  • When the Welcome dialog fails to open a project, and there is not already a project open in the app, the Welcome dialog appears again. PR #1740. Issue #1737.
  • Internationalisation:
  • Norwegian and US English translations updated by @vkbo. PR #1714.
  • Japanese translation updated by @hebekeg. PR #1714.
  • Italian translation updated by Lou Cyper (loucyper1). PR #1714.
  • Dutch translation updated by Annelotte and Martijn van der Kleijn (@mvdkleijn). PR #1714.
  • Latin American Spanish translation updated by @tmarplatt. PR #1741.
  • German translation updated by Myian (@HeyMyian). PR #1741.
  • Other Changes:
  • Removed the novelwriter-cli entry point that was in any case broken. PR #1734. Issue #1732.

New in novelWriter 2.3 Beta 1 (Feb 16, 2024)

  • Major Features:
  • A new Welcome dialog has been added. The dialog replaces the Open Project dialog and the New Project Wizard. The Welcome dialog features artwork created by Louis Durrant, and a custom design for the project list. New projects can be created by a form available from the same dialog, and features a simplified set of options. Issue #1506. PRs #1647, #1681 and #1689.
  • It is now possible to create a new project by copying the content of another project, or a Zip file of a project, including a backup. This option is available from the New Project feature of the Welcome dialog. Issue #841. PRs #1680 and #1684.
  • The Preferences dialog has been completely redesigned. All options are now available in a single, scrollable list with appropriate section headers. All sections are available as navigation buttons along the side, and it is also possible to search for settings in a search box at the
  • top. The design matches that created for the Manuscript Build Settings dialog added in 2.1. Issues #1603 and #1604. PR #1652.
  • The Project Details dialog has been redesigned to match the other new dialogs. It has also been modified to properly handle multiple novel folders. The novel selector is placed at the top of the dialog, and affects all data in the tabs. The Novel Title info has been removed. PR #1665.
  • The Manuscript Build Settings dialog has been updated to use the new config layout classes, which are more flexible in terms of content flow. PR #1674.
  • A new root folder type called "Templates" has been added. Any document added here will show up in the Add Item menu in the Project Tree view under a "From Template" submenu. Selecting such an entry will create a new document at the selected location in the project, and populate it with the content of the template file. Issues #996 and #1125. PR #1688.
  • The About novelWriter dialog has been simplified to only show some key information and the credits text. A link to the releases page is available for checking release notes. Keeping the release notes online means it is easier to update them, and make them more visually interesting as the formatting of the dialog box is limited. PR #1695.
  • The old Check for Updates dialog has been removed. Checking for new releases of novelWriter can be done directly in the Welcome dialog or the About dialog by clicking "Check Now" next to the "Latest Version" label. PR #1696.
  • Minor Features:
  • A new drop down menu in the References panel below the Document Viewer has an option to filter out inactive notes in the various tag lists in the tabs on the panel. Issue #1653. PR #1654.
  • The Novel Title fields, which no longer makes much sense after it was possible to add multiple novel folders to a project, has been fully dropped. Issue #1655. PR #1669.
  • The document header for ODT manuscript files can now be customised. Issue #1505. PR #1675.
  • The Manuscript Build tool can now insert characters (Point of View or Focus) into chapter headers and other headers. By default, it inserts the tag value, but the display name for a tag can be set with a | character in the @tag definition if a different text is desired. Issue #1468. PR #1677.
  • A new modified comment format for the editor has been added. Instead of the regular comment using %, this one uses %~. The only difference is that the latter will never be exported to a manuscript at all, while regular comments can be exported when a setting is enabled. Issue #1075. PR #1690.
  • It is now possible to change a document's label from the first heading in the document by right-clicking on it and selecting "Rename to heading". Issue #1443. PR #1692.
  • The content of the Project Word List can now be exported and imported using plain text files. Issue #1560. PR #1691.
  • The content of the Outline View can now be exported to a CSV file to be opened in any spreadsheet application. Issue #1507. PR #1697.
  • Usability:
  • A Create New submenu in the Project Tree context menu has been added, which give quick access to the items at the top level of the Add Item menu. Issue #1519. PR #1679.
  • When multiple paragraphs are selected in the editor, and any of the comment features are toggled, or formatting is reset, the action is applied to all selected paragraphs, not just the first. Issue #1042 and #1687. PR #1690.
  • Packaging:
  • The in-app version format is now identical to the version tag, and the format for Ubuntu pre-release packages has been updated so that they are compatible with release packages. That is, if you add both the release and pre-release repos from Launchpad, release packages will now properly replace pre-release packages when running apt upgrade. PR #1659.
  • Code Improvements:
  • The Storage class has been refactored. It is the class that handles the project storage folder for a novelWriter project. The refactoring is a step towards allowing single file storage for projects as an alternative to project folders. Issue #977. PR #1635.
  • All theme colours are now proper QColor objects from the start, which avoids the need to create a large number of these where they are used. PR #1656.
  • A nwProject.bak file is no longer kept in the project folder. It never really served any purpose. The project file is still written to a temp file before the old file is replaced, which prevents partial overwrites. PR #1670.
  • Other minor code improvements in PRs #1693 and 1694.

New in novelWriter 2.2.1 (Jan 27, 2024)

  • Bugfixes:
  • Fix a bug in the toggle for the tree view on the left would trigger each time a new project item was created.
  • Fix an issue where multiple Manuscript and Writing Stats dialogs could be opened.
  • Internationalisation:
  • Updated German translation
  • Updated Chinese translation

New in novelWriter 2.2 (Dec 18, 2023)

  • Bugfixes:
  • Fix column widths for columns with no text in the viewer panel lists, and fix an issues where icons were not updated on theme switch. Issue #1627. PR #1626.
  • Fix auto-selection of words with apostrophes. Issue #1624. PR #1632.
  • Usability:
  • Use Ctrl+K, H for inserting short description comments (alias to synopsis), drop the space after the % symbol when inserting special comments, add a browse icon to the open open project dialog, and remove the popup warning for Alpha releases. PR #1626.
  • Menu entries no longer clear the status bar message when they are hovered. This was caused by a status tip feature in Qt, which prints a blank message to the status bar. PR #1630.
  • The novel view panel now scrolls to bring the current document into view when iteratively searching through documents in the project. Issue #1555. PR #1632.
  • The progress bar on the Manuscript Build dialog now stays for 3 seconds after completion instead of 1 second. PR #1634.
  • The document viewer panel now shows the importance label next to each entry, and double-clicking an entry will open it in the viewer. All entries also now show the content in tooltips so that the columns can be shrunk to only view the icon if there is too little space. Issue #16220. PR #1639.
  • The editor toolbar no longer uses the same buttons for markdown and shortcodes style formatting. They have each received their separate buttons. Some additional space has been added between the two types of buttons to visually separate them. Issues #1636 and #1637. PR #1638.
  • Convert the Synopsis and Comment buttons in the document viewer footer to buttons with both icon and text, and drop the label. Issue #1628. PR #1638.
  • Internationalisation:
  • Updated US English, Norwegian, Japanese, Latin American Spanish, French, and Italian translations. PRs #1625 and #1641.
  • Documentation:
  • The documentation has been updated to cover new features in 2.2. PR #1640.
  • Code Improvements:
  • Improve memory usage by making sure C++ objects are deleted when they are no longer used. There is an issue between the Python and Qt side of things where objects are left in memory and not properly garbage collected when they run out of scope. A number of deferred delete calls have been added that seems to solve most of these cases. A --meminfo flag has been added to the command line arguments to provide diagnostic data to help debug such issues. PR #1629.
  • Improve handling of alert boxes and their memory clean up, and refactor event filters. PR #1631.
  • Clean up unused methods in GUI extensions. PR #1634.

New in novelWriter 2.2 RC 1 (Nov 26, 2023)

  • Bugfixes:
  • Revert the change of keyboard shortcut to delete a project tree item made in 2.2 Beta 1 as it blocks certain features in the editor. This is a regression.
  • Features:
  • The old References panel under the Document Viewer has been replaced with a completely new widget with a lot more features. The Back-references panel is still there, but is now a scrollable list with a lot more information. In addition, tabs for each category of tags are available when there are tags defined for them. These panels list all available tags, with a good deal of information about them that may be useful to the writer, as well as buttons to open them in the viewer or editor.
  • Multi-select is now possible in the project tree, with some limitations. Drag and drop is only permitted if the selected items have the same parent item. Any other drag and drop selection will be cancelled and the user notified. A new context menu has been added for the case when multiple items are selected, with a reduced set of options that can be collectively applied to them.
  • The "Scroll Past End" setting in Preferences has been added back in. It is slightly different than the old one, as this one uses the Qt Plain Text Editor implementation, which has some side effects some users may want to avoid.
  • For Windows users, there is now an "Add Dictionaries" tool in the Tools menu where new spell check dictionaries can be added. Links are provided to sources for these dictionaries, and a file selector tool to import the files into novelWriter.
  • You can now update the name of a document by right-clicking on any heading inside the document and select "Set as Document Name". This will open the Rename dialog with the text of the heading pre-filled.
  • A new special comment, called "Short" can be added to Project Notes. They are identical to Synopsis comments, and are in fact just an alias for them. The "Short Description" will be displayed alongside the tags in the new panel under the Document Viewer.
  • Usability:
  • The feature to auto select word under cursor no longer uses the default Qt implementation, and has instead been implemented by iterating backward and forward in the text to find the nearest word boundaries. It will stop on characters that aren't Unicode alphanumeric as per Python's definition. Toggling markup will also move the cursor to after the markup if it was already at the end of the word. Otherwise it remains within the word at the same position. The word is not selected after formatting if it wasn't selected before. If no selection was made, and no word is auto selected, the formatting tags are inserted in-place with the cursor in the middle.
  • The auto complete context menu is now only triggered on actual user input consisting of adding or removing a single character.
  • Various improvements to the visibility of the cursor when the dimensions of the editor changes have been added. Like for instance keeping the cursor visible when opening or closing the Viewer panel, or toggling Focus Mode.
  • The Manuscript Build dialog now has a button to open the output folder.
  • Code Improvements:
  • Improve test coverage.

New in novelWriter 2.2 Beta 1 (Nov 12, 2023)

  • Features:
  • novelWriter has a new logo and icon. PR #1593.
  • The Document Editor is now a true plain text editor. This has a number of benefits and a couple of drawbacks. The most important benefits is that the editor responds a lot faster, and can hold much larger text documents. The big document limit has therefore been removed. It mostly affected automatic spell checking. The syntax highlighter and spell checker are also more efficient, which allows for needed improvements to these. The drawbacks are mainly that the editor now scrolls one line at a time, instead of scrolling pixel by pixel like before. PRs #1521 and #1525.
  • Tags and References are now case insensitive. Their display name on the user interface remains the same as the value set for the @tag entry. Issue #1313. PRs #1522 and #1578.
  • Keywords for Tags and References, and the References themselves, now have an auto-complete menu that pops up in the editor on lines starting with the @ character. It will first suggest what keyword you want to use, and when it has been added, use that keyword to look up suggestions for references to add. The suggestions improve as you type by looking for the characters you've already typed in the tags you've previously defined. Issue #823. PR #1581.
  • You can now right-click an undefined tag, and a context menu option to create a Project Note for that tag will appear in the menu. On selection, it will create a note in the first root folder of the correct kind, and set the title and tag to match the undefined reference, making it instantly defined. Issues #1580 and #823. PR #1582.
  • Shortcodes have been added to the Document Editor. Shorcodes are HTML-like syntax, but uses square brackets instead of angular brackets. So [b]text[/b] will make the word "text" appear as bold. Shortcodes currently support bold, italic, striketrough, underline, superscript and subscript text. The first three are complimentary to the Markdown-like syntax that. The benefit of the shortcode emphasis syntax, however, is that it does not care about word boundaries, and can therefore be used any place in the text. Including in the middle of words. Issues #1337 and #1444. PRs #1540 and #1583.
  • A show/hide toolbar has been added to the editor where toolbuttons for formatting options are available. The toolbar is hidden by default, but can be activated from a three dots icon in the top left corner of the editor. Issue #1585. PR #1584.
  • Build Definitions in the Manuscript Build tool can now be re-ordered, and the order is preserved when the tool is closed and re-opened. Issue #1542. PR #1591.
  • Usability:
  • The Settings menu in the sidebar now always pops out to the right and upwards from the bottom of the icon. The previous behaviour was not guaranteed to stay in the visible area of the screen. PR #1520.
  • The right click action on a misspelled word now uses the actual spell checker data for lookup. Previously, the spell checker would underline a word that was misspelled, but the right click action actually had no way of reading where the error line was, so it had to guess again what word the user was clicking. Since these two parts of the code used different logic, they sometimes produced different results. The spell checker now saves the location of each spell check error, and the right click action retrieves this data when generating suggestions, which should eliminate the problem of picking the correct word boundaries. Issue #1532. PR #1525.
  • The language of a project is not set in the New Project Wizard and in Project Settings. It is no longer defined in the Build Settings panel. Issue #1588. PR #1589.
  • The way switching focus and view in the main GUI has changed. Pressing Ctrl+T will now switch focus to the Project or Novel Tree if focus is elsewhere, or if either have focus already, it will switch view to the other tree. Pressing Ctrl+E will switch focus and view to the Document Editor. Pressing Ctrl+Shift+T will do the same for the Outline View. The old Alt-based shortcuts have been removed. Issues #1310 and #1291. PR #1590.
  • User Interface:
  • The labels under the sidebar buttons have been removed. The tool tips have the necessary information. PR #1520.
  • Other Improvements:
  • Also the Tags and References keywords are now translated into the project language when these are included in Manuscript builds. As long as the phrases have been translated. PR #1586.

New in novelWriter 2.1.1 (Nov 6, 2023)

  • Bugfixes
  • Fix an issue with width of the last two columns on Selection page of the Build Settings dialog on Windows. They were far too wide by default. Issue #1551. PR #1553.
  • Fix an issue where a lot of string were not translated to the UI language in the new Manuscript Build tool. Issue #1563. PR #1565.
  • Fix an issue in the Document Viewer where it wouldn't scroll to a heading further down the page when following a reference pointing to it. Issue #1566. PR #1568.
  • Add back in checks for illegal drag and drop moves in the project tree. In 2.0, the logic here was changed to set certain restrictions on the elements of the project tree itself, but there are numerous bugs in the Qt framework related to drag and drop, so the checks are ignored on at least Qt 5.15.8. In particular, it is possible to drop items on the root level, and it's possible to move root items to other locations. Neither should be possible and will severely mess up the project if done. Issue #1569. PR #1570.
  • Add a custom autoscroll feature when dragging an item in the project tree to near the top or bottom. This is actually a default feature of the tree widget in the Qt library, but this too is broken in some versions of Qt 5.15.x. The default feature has been permanently disabled and replaced by a custom written feature that behaves similarly. Issue #1561. PR #1571.
  • Fix an issue where the editor document wasn't re-highlighted when the Syntax Theme for it was changed. Issue #1535. PR #1573.
  • Fix an issue where editing the Project Word List would not refresh the spell checking of the editor. Issue #1559. PR #1573.

New in novelWriter 2.1 (Oct 18, 2023)

  • Release Notes:
  • The primary focus of this release has been a complete redesign of the Build Tool, that is, the tool that assembles your project into a manuscript document. The new tool, called the "Manuscript Build Tool" allows you to define multiple build definitions for your project. The build definitions are edited in a new Manuscript Build Settings dialog, with a lot more options than the old tool.
  • The reason for this redesign is a long list of feature requests that could not easily be accommodated in the old, much simpler tool. Far from all the features have been added yet, but now that the new tool is in place, they will be gradually added in the coming releases.
  • The key feature added in this release is the extended control you now have for selecting exactly what part of your project is included in a given build definition. You have the same filters for selecting documents and notes, and turning on or off root folders as before, but you can now easily override on a per-document basis what is included or excluded in addition to the filter.
  • A second major improvement is a better tool to format your manuscript headings. You no longer have to look up formatting codes and add them manually. Instead, there is now a heading format editor in the Build Settings dialog for creating the header format, with syntax highlighting included.
  • Other Changes:
  • Among other features is a new option to duplicate documents and folders in the project tree. The duplicate feature is available from the right-click menu. A proper light colour theme has also been added. In most cases it will be the same as the default theme, depending on your platform.
  • There are other, minor improvements as well, and a lot of code improvements under the hood. For a full list of changes, see the detailed changelogs.

New in novelWriter 2.1 Beta 1 (Aug 31, 2023)

  • Bugfixes:
  • Fixed an issue where closing modal dialogs would close their parent. Issue #1494. PR #1496.
  • The log output no longer prints an error message if the project does not have anything in its custom dictionary. PR #1495.
  • Usability:
  • novelWriter will no longer try to restore full screen mode if full screen was activated when it was last closed. This never worked right anyway. PR #1498.
  • There are several usability updates for the Build Settings tool. Please check the PR for details. Some key changes are that the build dialogs are now children of the main GUI, so they can be moved freely from each other. The Selection page has been given a new look that should hopefully make it easier to understand, and the side bar for the tool has been redesigned. A few labels have also been changed to be easier to understand. Issue #1497. PR #1499.
  • The alert and message boxes have been reimplemented with the full feature set of the Qt message box dialog instead of using the quick access functions with limited functionality. PR #1501.
  • A project's spell check dictionary can now be set directly from the Tools menu. Issue #1260. PR #1508.
  • The document details dialog box now shows a document's creation and update date if that has been set. Issue #1423. PR #1510.
  • Moving the mouse wheel on any area within the border of the text editor or viewer will now scroll the document. Issue #1425. PR #1511.
  • Code Improvements:
  • A new shared data instance now owns the Gui Theme, the Project class and holds a link to the main Gui instance as well. This new class also handles message and alert boxes. The project instance is now destroyed and recreated between each project close/open cycle. This should guard better from project to project data leakage. PRs #1502 and #1504.
  • The spell checker instance has been moved to the new shared data instance where it is destroyed and recreated together with the project instance. This blocks against bleed-through of the user's custom dictionary. PR #1508.
  • Text hash (SHA1) and creation and update time stamps are now added to the document file's meta data section. The hash is used to detect file changes outside of novelWriter while documents are open. The old checker has been deleted. Issue #1423. PR #1509.

New in novelWriter 2.1 Beta 1 (Jul 30, 2023)

  • Usability:
  • When the main window is resized, the change in size is only assigned to the editor and viewer. To resize the project tree area, its slider needs to be moved. PR #1388.
  • The default text font on MacOS is now Helvetica instead of Courier. Issue #1463. PR #1479.
  • Backup files now contain the project name again. Issue #1476. PR #1484.
  • The backup success dialog now displays the file size of the backup file. Issue #1453. PR #1484.
  • New root folders in the Project Tree now appear next to the root folder of the item selected when the request to make the root folder was made. Previously, it would appear at the bottom of the Project Tree. Issue #1259. PR #1487.
  • Features:
  • A new Manuscript Build Tool has been added. The new tool allows for detailed handling of which documents are included in a build, as well as a much better tool for formatting headers. It also allows for saving multiple build presets. PRs #1389 and #1466. Issues #971, #1315 and #1448.
  • Exported ODT documents now have an accessible style for scene separators. It is also possible to define page size and margin sizes from the new build tool. Issue #622. PR #1477.
  • A proper light colour theme has been added. The default theme will usually default to light colours, but in Qt6 it will not depending on host OS settings, so creating a proper light theme is needed. This also allows for some tweaking of the colours. The contrast of the dark theme has been improved a bit as well, and a default icon theme is now selected based on the lightness of the background if an icon theme is not specified in the theme definition file. Issues #1472 and #1473. PR #1475.
  • Documents, folders and root folders can now be duplicated from the Project Tree, including all child elements. The duplicated content is stored next to the source items, and can then be moved to wherever the user wants a copy. Issue #1469. PR #1480.
  • A set of new keyboard shortcuts have been added to make some types of navigation in the Project Tree easier. Alt+Up and Alt+Down will move between sibling items in the tree, skipping child items. Alt+Left will move to the parent of the selected item without triggering the collapse of the node like the Left key does. Alt+Right does the reverse, and both expands the node and moves to the first child in one click. Issue #1348. PRs #1488 and #1489.
  • Packaging and Installation:
  • Support for Python 3.7 is no longer maintained, but has not officially been dropped. It is expected to be dropped for the final release of 2.1. PR #1452.
  • The lxml package has been removed from the source code, dropping it as a dependency of novelWriter. The standard Python xml library is used instead. The standard library is somewhat limited, which is why it wasn't originally used, but when dropping support for Python 3.7, it is now good alternative. Issue #1257. PR #1452.
  • The setup.py file has been removed. The custom packaging utilities in the old setup.py file are now available in pkgutils.py instead. Issues #1437 and #1438. PR #1483.
  • Code Improvements:
  • All imports of modules are now direct imports instead of going via init files. All subfolder init files have been reduced to empty files. PR #1262.
  • The mocking of the main config object in the test suite has been rewritten to be easier to deal with when writing tests. The new approach also removes the need to access the config object via an attribute in many classes, and is now instead accessed directly. This should give a tiny performance boost as a bonus. PR #1447.
  • The building of manuscript documents from novelWriter source text is now handled by a core builder class, thus separating it from any GUI module. Previously, this was baked into the build tool. PR #1316.
  • SVG icons have been optimised in terms of storage size and object complexity. PR #1456.
  • The file names for the project meta data files have been simplified and references to legacy formats removed. The wordlist has been converted to a JSON file, and the session log to a JSON Lines file. All old files are renamed or converted on the fly when opening the project. PR #1464.
  • The core project item and tree classes have been modified to improve how items, and in particular, orphaned items are handled. These are mostly internal changes that simplifies how items are accessed in the source code. Issue #1481. PR #1482.
  • Many of the above PRs add type annotations to classes and functions in the source code. These will be added gradually to the entire source code going forward.

New in novelWriter 2.0.7 (Apr 16, 2023)

  • Bugfixes:
  • Fixed an issue where novelWriter sometimes shows up in the desktop environment on Linux under another name than it's supposed to, which meant it would show up without the correct icon. The desktop environment was apparently guessing its name based on various values. It is now set explicitly. PR #1405.
  • Fixed an issue where the syntax highlighting for spell checked words were not cleared when spell checking was disabled. Issue #1414. PR #1416.
  • Fixed a series of issues with spell checking of words and sentences with italics styling using underscores. The spell checker relies on RegEx for splitting words, and RegEx considers the underscore a word character. Issue #1415. PR #1417.
  • Fixed an issue where escaped markup characters were not being cleaned up when building HTML and ODT outputs. Issue #1412. PR #1418.
  • Usability Fixes:
  • The context menu entry "Change Label" in the project tree has now been changed to say "Rename", which matches with the main menu, and is also more in line with what users expect. PR #1403.
  • The entries for creating new Novel Documents in the project tree's Add Item menu are now hidden when the select item in the tree does not allow Novel Documents. This is less confusing than the previous behaviour where it would just create a Project Note regardless of selected file option. Issue #1404. PR #1406.
  • Internationalisation:
  • Added Japanese translation, contributed by @hebekeg. PR #1407.
  • Updated existing translations. PR #1407.
  • Packaging:
  • Legacy AppImage formats have been added to support glibc 2.24. This is a temporary solution until the AppImage base image is deprecated later in 2023. Issue #1391. PR #1410.

New in novelWriter 2.0.6 (Feb 26, 2023)

  • Bugfixes:
  • The Reference Panel link would no longer recognise the new, shorter links after the 2.0 project index change. The explicit check has now been made more lenient and will accept any link that is at least 13 characters long (the length of a document handle). Test coverage has been added for handling Reference Panel links. Issue #1378. PR #1379.
  • The setSelectedItem method of the project tree class had a setFocus() call. It should not do this as global focus is handled by the main GUI class, and doing this explicitly in the setSelectedItem method is presumptuous. Issue #1369. PR #1379.
  • Usability Fixes:
  • When creating new items in the project tree via shortcuts, the project tree receives focus. Since these actions can be accessed when the project tree does not have focus, a user would have to switch focus to be able to open new items. The tree now automatically receives focus when a new item is created. Issue #1376. PR #1379.

New in novelWriter 2.0.5 (Feb 12, 2023)

  • Bugfixes:
  • Fixed an issue where the Title, Project Name and Author values of the Project Dialog would not refresh when a project was closed and another opened. The issue is with the Qt library and caching of the dialog, but novelWriter forces a refresh of the labels. These three were previously missing though. Issue #1336. PR #1339.
  • Add a check to the data storage class that a path exists before it is returned to other classes that uses them for file I/O. Issue #1317. PR #1342.
  • Fixed some issues with the Open Document build format as the produced document wasn't compliant with the standard. It is now compliant with ODF 1.3 extended format. Issue #1359. PR #1360.
  • Usability Fixes:
  • The "Total editing time" label on the Project Details dialog now uses the same time format as the status bar. That is, HH:MM:SS for times less than 24 hours, and D-HH:MM:SS for times from 24 hours and above. Issue #1335. PR #1339.
  • Fixed an issue where applying block formatting to an empty line would insert a blank line before it. This is a consequence of the change from #1175. The line break is now only added if the line is not blank. Issues #1349 and #1350. PR #1354.
  • The optional third column in the Novel Tree now shows all references for the selected category instead of just the first one. The maximum width of the column can also be selected from the Novel Tree config menu. Issue #1351. PR #1355.
  • The Open Document produced by the build tool now has the necessary title and author meta data set so that it can be used in LibreOffice. Other meta data has also been added. Issue #1359. PR #1360.
  • Internationalisation:
  • Existing translations for US English, Norwegian, Brazilian Portuguese, Latin American Spanish, and German have been updated. French and Dutch are partially updated. PR #1341.
  • Russian project variables have been added. Full translation is forthcoming. Contributed by Aleksey (@SKYnv). PR #1341.
  • A complete Italian translation has been added. Contributed by Riccardo Mangili. PR #1341.
  • Packaging:
  • Added App Bundle and DMG packages for MacOS. Contributed by @Ryex. PRs #1276 and #1340.

New in novelWriter 2.0.4 (Jan 29, 2023)

  • Bugfixes:
  • Fix an issue with the version check against PyQt5, which was imported from the wrong package when running novelWriter with PyQt5 version 5.15.8, released 2023-01-28. Issue #1324. PR #1325.

New in novelWriter 2.0.3 (Jan 9, 2023)

  • Bugfixes:
  • Fix an issue with one of the active icons for the project tree. The SVG paths were not properly joined. Issue #1297. PR #1299.
  • Fix an issue where the new open project routine for 2.0 would not check that a project exists before trying to open it. This resulted in the open process creating all the expected folders in the designated location before realising there was no project there. Issue #1300. PR #1301.
  • Fix an issue with the convert folder to document or note functionality was no longer working. The context menu entries were actually just calling the function for converting a file. Issue #1305. PR #1306.
  • Fix an issue where the app may crash if an item is added as a child of an item that exists, but has invalid settings such that it is rejected by the project tree builder function when the project is opened. Now, only items with a parent item that has already been added will be allowed into the project tree. The issue was caused by an invalid project file, and is not likely to occur during normal use, but such events should still be handled rather than crash the app. Issue #1283. PR #1309.
  • User Interface:
  • The CREDITS.md file has been updated, and its content is now also available in a "Credits" tab in the About dialog in the app. The old credits section of the "About" tab has been removed. PR #1298.
  • Fix a usability issue where double-clicking an entry in the Outline that belongs to a document that is already open in the editor does nothing. Now, the app switches view to the editor when the heading is clicked. Issue #1291. PR #1306.
  • Change how the editing of status and importance labels work in Project Settings. The form at the bottom of the tabs is now always active when a label is selected, and always inactive when none is selected. Issue #1290. PR #1308.
  • Internationalisation:
  • Update Chinese translation. PR #1298.
  • Update Norwegian, US English, German and Spanish translations. PR #1311.
  • Other CHanges:
  • An icon theme can now be loaded from the user's data folder alongside a custom user theme. Issue #1297. PR #1299.
  • Some Inkscape format SVG files have been converted to Plain SVG. PR #1299.

New in novelWriter 2.0.2 (Dec 1, 2022)

  • Bugfixes:
  • Fix an issue where changing the Highlighting Preferences for highlighting quotes, emphasis, and multiple or trailing spaces would not reload the syntax highlighter in the editor. The changes would only take effect after restarting the app. Issue #1274. PR #1278.
  • Packaging and Installation:
  • The 2.0.1 release was broken on Linux, but was fixed and the packages rebuilt. However, the FreeBSD port was still broken. This release fixes this issue. Issue #1277. PR #1272.

New in novelWriter 2.0.1 (Nov 29, 2022)

  • Bugfixes:
  • Fix an issue where starting the app with a custom GUI theme enabled would not load any icons at all if the icontheme setting isn't specified. The app now loads the typicons_light theme by default if no icon theme is set. Issue #1263. PR #1264.
  • Internationalisation:
  • The French translations has now been completed by @aaribaud. PR #1265.

New in novelWriter 2.0 (Nov 29, 2022)

  • User Interface:
  • The novel tree now updates items that have meta data changes, including for the optional third column. Issue #1240. PR #1241.
  • When the editor opens or moves on a specific line, the line is now scrolled to the position in the editor defined by the typewriter scrolling setting in Preferences. Previously, lines were scrolled to the bottom of the editor. Issue #1239. PR #1243.
  • When a document is requested opened, but is already open, it is no longer re-opened. Previously, this was treated as an implied refresh request, but there are a number of other cases where this may be triggered. The main issue here is that it would reset the undo history, which can be annoying. Issue #1242. PR #1243.
  • The third column in the novel tree now has a max width, and will only display the first reference of the list of references for that item. Issue #1238. PR #1245.
  • The label at the top of the novel tree becomes a dropdown box when there are more than one novel root folder in the project. Issue #1250. PR #1252.
  • The author setting in the New Project Wizard and Project Settings is now a normal text box, instead of a multi line input box. Only one author value is now saved in the project XML file. The field is anyway free text, so the user is free to add multiple authors in the box. For projects that already have multiple authors set, the value needs to be set anew. PR #1258.
  • Internationalisation:
  • German translation has been added by @HeyMyian. PR #1033.
  • Other translations have been updated from Crowdin for 2.0. PRs #1251, #1253
  • Documentation:
  • The documentation has been updated to reflect 2.0 changes. Issue #1070, #1158 and #1181. PRs #1248 and #1255.
  • Add project XML file format specification. Issue #1012. PRs #1249 and #1254.
  • Code Improvements:
  • Fix an issue with circular imports mainly triggered from the test suite. PR #1166.
  • Instead of assigning headers in a document a key by its line number, the headings are now assigned sequential keys. This makes it easier to detect actual meta data changes, which would otherwise be triggered by a change of line number as well. PR #1241.
  • Cleaned up the closing project process. Issue #1237. PR #1247.
  • The combo boxes to select which novel root folder to display in various locations have been merged into a special novel selector class to avoid duplication of code and inconsistent behaviour. PRs #1252 and #1253.

New in novelWriter 2.0 RC 2 (Nov 13, 2022)

  • Bugfixes:
  • The custom folders for user defined themes and syntax were not created properly when the app was first launched on a new computer. The folders were successfully created on a second launch. The error was handled, but reported. This was caused by the folder creation process being in the wrong order.
  • Fixed context menu entries for split and merge having inconsistent labels.
  • User Interface:
  • The exported status for document items have been renamed to active/inactive. Their icons have also been updated.
  • The status/importance context menu now shows which label is the current.
  • The status/importance context menu now has a "Manage Labels" action that opens the Project Settings dialog at the correct place.
  • Both GUI theme and syntax theme can now be updated without restarting the app.
  • The GUI theme now determines which icon theme is to be loaded. It is no longer a separate setting. The icon theme can also be reloaded without restart.
  • The block formating features in the Format menu now also works on empty lines.
  • There is now a Format menu entry and shortcut code for synopsis comments.
  • The split document dialog now has the option to move teh source document to trash.
  • Other Changes:
  • Archived documents are now partially indexed. This mainly means that the item will have the correct document icon in the project tree corresponding to its main heading.
  • The option to add notes files in the Project Wizard now automatically switches off if there are no notes categories enabled.
  • When a project is opened for the first time, the first document in the project is also opened.
  • When there is no project open, the toolbars on the Project Tree, Novel View and Outline View are disabled. They are enabled only when a project is loaded.
  • Installation and Packaging:
  • The AppImage release now has version information in the package name.
  • Code Improvements:
  • The main heading of a document is now stored in the item class instead of the index. PR.
  • The common module checker functions no longer allow None values. The only one needing it was the string checker. A new string checker that allows None has been added for those cases. This makes type discovery in the code editor easier.
  • Verbose logging has been removed. The lowest severity level is now DEBUG.
  • Added a number of None checks in the code where especially Qt calls could potentially return None, even if they were unlikely to do so. PR.
  • Renamed the status bar attribute in the main GUI class as it conflicts with a Qt method..
  • The data access methods for the custom config file parser have been improved to better report correct type information. PR.
  • Saving and loading of XML data is now handled by a separate set of reader and writer classes. The reader class is capable of reading all file formats that have been used thus far. The various data classes have been improved, and a new XML file formart version 1.5 added.
  • The index is now automatically rebuilt when the project file format is updated.
  • The project folder on disk is now wrapped in a storage class that the project accesses files through. It also handles lock files and archiving used for backup. The change is in preparation for adding a potential single file format.
  • The Project Wizard now creates the project on disk, and then opens it. This replaces the old method where the new project was built directly into the current session. This caused a few inconsistencies from time to time, and was a duplicate way of getting a project into the session.
  • The Config class has been refactored extensively and now also uses pathlib for all paths. Tests are also switched to using pathlib.
  • The updating of tree order method of the project tree class has been updated for better performance.

New in novelWriter 1.6.6 (Oct 25, 2022)

  • Bugfixes:
  • Fix a bug where only the word under the cursor would be looked up when the user tried to follow a tag in the editor. The lookup function now uses the same parser for the @-line as the syntax highlighter does, so they should behave consistently. Issue #1195. PR #1209.

New in novelWriter 2.0 RC 1 (Oct 17, 2022)

  • Features:
  • The add new documents feature has been made a little smarter and now tries to choose whether the added document should be a sibling or a child to the selected document. Issue #1107. PR #1110.
  • A folder in the Project Tree can now be converted to a Novel Document or Project Note from the item's context menu. This makes sense now that documents can have child items. Issue #1071. PR #1128.
  • All child elements of an item in the Project Tree can now be collectively expanded or collapsed from the context menu. The same action can be triggered on the entire tree from the menu button at the top. Issue #1122. PR #1129.
  • If using the auto-insert feature for spaces next to punctuation designed for for instance French, any existing spaces are first stripped before the correct space character is added. Some users find it hard to unlearn the reflex to type the space. Issue #1061. PR #1131.
  • The Project Tree now has Quick Links for navigating directly between root folders. This is convenient for very large projects. Issue #1137. PR #1165.
  • It is now possible to filter out entire root folders on the Build Tool. Issue #1138. PR #1168.
  • Bugfixes:
  • Fix a typo in the Lorem Ipsum tool and set a max width for the views bar. PR #1065.
  • The language set in the Build Tool is now properly exported to Open Document files. Previously, it would be set to English regardless of the user's selection. Issue #1073. PR #1077.
  • Since the text editor cursor extends to the right of its position in the window, it would disappear under the right-hand margin if it reached the edge. A minimum margin of the width of the cursor has been added to the editor, and the same value subtracted from the margin of the viewbox. Thus, the cursor no longer disappears. Issue #1112. PR #1113.
  • The Shift+Enter key combination no longer inserts a Unicode line separator in the text editor. Issue #1150. PR #1151.
  • Fixed an issue where idle time would not be properly reset when a new project was created. Issue #1149. PR #1153.
  • Removed the context menu that would appear on the Views Bar, from which the bar could be hidden. This is some feature imposed by the Qt library, and it is not wanted. Issue #1147. PR #1153.
  • Known Issues:
  • An attempt has been made to fix the missing mime icon for novelWriter projects on Linux. The newer versions of Nautilus don't seem to display the correct icon due to some changes in the way icons are extracted from the theme. The icon displays fine in other places. PR #1068.
  • Internationalisation
  • Norwegian and US English translations have been updated. PR #1170.
  • User Interface:
  • The New Project Wizard has been updated based on user feedback. The "Working Title" setting is now called "Project Name". The number of root folders one can create on the options page has been reduced to the standard ones. An option to add sample notes has been added, and the option to generate chapter folders has been removed. The "Minimal Project" option also no longer creates folders. An Archive root folder is automatically added to all new projects, and a Trash folder is added to custom projects. PR #1067.
  • The border around a lot of Widgets on the main GUI have been removed. PR #1069.
  • The Views Bar has been updated since the beta re;ease with better icons, tooltips, and an expanding menu on the Settings button. The Build Tool can now also be accessed from the Views Bar. PR #1069.
  • The editor theme setting in Preferences has been moved back to the General tab where users seem to expect to find it. PR #1069.
  • A toolbar has been added to the Outline View where the user can select which Novel folder to view. A refresh button for a forced reload of the selected Novel folder has been added, and the menu to select which columns to show has been added to a new button. This makes it easier to find for users instead of having to right-click the table header. Issue #1105. PRs #1063, #1094, and #1111.
  • The Rebuild Outline and Auto-Update Outline options have been removed from the Main Menu. PR #1063.
  • The Project Tree has been redesigned. The header is now hidden, and the columns resize automatically. A toolbar has been added with buttons for moving items up and down in the tree, a button for adding new files, folders and root folders, and a menu button for further options affecting the whole tree. These features have mostly bee removed from the Main Menu. PR #1079.
  • The context menu of the Project Tree has been rewritten completely. It is now possible to set importance and status directly from this menu. Part of issue #973. PRs #1079 and #1105.
  • The Edit Item dialog has been replaced with a simple Edit Label dialog. Most of the features handled by the old dialog have been moved to the Project Tree context menu. PR #1082.
  • The Novel View has been redesigned to match the new Outline View and Project Tree. The header is now hidden, and the columns auto-size. The third column can be selected from a set of options, or be hidden entirely. A button with a menu can be used to select which Novel folder to show. Issue #1041. PR #1084.
  • An arrow icon has been added behind each item in the Novel View. Clicking it, will pop up a tooltip showing the collected meta data for the heading the item represents. PR #1088.
  • The Project Details dialog now supports multiple novel folders. Issue #1078. PRs #1130 and #1167.
  • The Split and Merge tools have been rewritten to work with the new feature of allowing documents to have child documents. The tools have also had more options added to them. The feature is now accessible through the Project Tree item's context menu, and is no longer available from the Main Menu. Issues #1072 and #1032. PRs #1148 and #1154.
  • Installation and Packaging:
  • AppImage distribution has been added by @Ryex. Issue #1091. PR #1092.
  • Code Improvements:
  • A new test project generator function has been added to replace the dependency on the New Project tools in the app itself. This ensures that changing the in-app feature doesn't affect the entire test suite. Over time, this generator function should also replace the minimal sample project saved in the test suite. PR #1067.
  • The index class has been rewritten. The index data is now stored in a hierarchy of objects rather than a set of nested dictionaries. The itemIndex holds all the data collected from the project, and the tagsIndex is a reverse lookup index for linking tags back to where they are used. The reading/writing of the index to disk between sessions is now handled by pack/unpack functions in each object. The index will be regenerated when the user first opens a project as it has been completely restructured. PR #1074.
  • The index instance is now an instance of the project class, not the main GUI. PR #1074.
  • The Outline View has been restructured into a single parent widget in the same manner as the Novel View was in the previous pre-release. Related to #1041. PR #1063.
  • A lot of main GUI objects have been given new names in the code to better represent what they do. PR #1081.
  • The converter for the old 1.0 project structure has been simplified. Mostly to reduce the amount of code and number of translation labels needed for it. It now produces a single error if something went wrong. PR #1083.
  • A number of unused icons have been removed from the code base. PR #1164.
  • All checks for Qt versions below 5.10 have been removed. PR #1174.
  • Not Implemented:
  • An idea to make the indexer run in the global thread pool was not implemented. Issue #1076.
  • Feature #997 is now obsolete due to the changes made to the Edit Item dialog in #1082.
  • Feature #1106 is not implemented. It proposes to hide the option to select Novel folder if there is only one. We will see if this is really needed based on user feedback.

New in novelWriter 1.6.5 (Oct 13, 2022)

  • Bugfixes:
  • Fixed a bug where the idle time was not properly zeroed when a new project was generated after the wizard was closed. The idle time would be calculated from the time the previous project closed, thus inflating the value.
  • Fixes an issue where the window size of the Preferences dialog would have the GUI scaling factor applied twice when the dialog was closed, resulting in the dialog growing in size each time it is opened.
  • Other Changes:
  • The text editor no longer creates a Unicode line separator (U+2028) when the user presses Shift+Enter. The line separator serves no purpose in a plain text editor, and the code in general treats them as regular line break. This caused the line separator to display differently before and after saving. The line separator character is now automatically replaced by a paragraph separator.

New in novelWriter 1.6.4 (Sep 30, 2022)

  • This is a bugfix release that fixes a critical bug in the insert non-breaking spaces feature. It basically no longer worked in the 1.6.3 release. This release also fixes a minor issue where the text cursor sometimes disappears when reaching the right-hand edge of the text editor window.
  • Bugfixes:
  • Fixed a bug in the auto-replace feature of the editor that caused a crash when using the insert non-breaking spaces feature was used. Issue #1118. PR #1120.
  • Back ported a bugfix from 1.7 RC1 that resolves an issue with the text cursor sometimes disappearing at the right-hand edge of the text editor. Issues #1112 and #1119. PR #1120.

New in novelWriter 1.6.3 (Aug 19, 2022)

  • Bugfixes:
  • Fixed an issue where the project language setting was not exported when building Open Document files. Issue #1073. PR #1087.
  • Fixed an issue where the splitter in the main window could be dragged until it hid the document viewer panel. This is no longer possible. Issue #1085. PR #1087.
  • Fixed an issue where an empty spell check language setting would crash novelWriter. Issue #1096. PR #1098.
  • Added a checker that blocks the automatic insertion of spaces in front of special characters in the cases where the character is a colon in either a meta tag, or as part of the synopsis keyword. This feature is used for certain languages like French and Spanish. Issue #1090. PR #1099.

New in novelWriter 1.7 Beta 1 (Jun 6, 2022)

  • Features:
  • A simple tool to add Lorem Ipsum placeholder text has been added to the Insert menu. PR #1028.
  • Status and Importance flags can now be reorganised in Project Settings. Issue #1035. PR #1040.
  • It is now possible to create multiple Root Folders of the same kind. This makes it possible to add multiple Novel root folders in a project, for instance. Issue #967. PR #1031.
  • All documents can now be dragged and dropped anywhere in the project tree. The document layout may be converted in the process. PR #1031.
  • Documents in the project tree can now have other documents as child documents. Issue #1002. PR #1047.
  • Folders in the project tree that are not empty, can now be moved to trash. PR #1048.
  • Empty folders are deleted on request, and not moved to trash. Issue #1052. PR #1055.
  • User Interface:
  • The tabs under the project tree and to the right of the main window have been replaced with a toolbar on the left hand side. The toolbar has a set of buttons to change view between Project, Novel and Outline. The three buttons that were available under the project tree have been moved to the bottom of the new toolbar. Issue #1056. PR #1057.
  • When a document changes from a project document to a note, and back again, the Status flag setting is preserved. Previously, the Importance setting would overwrite it during the conversion. PR #1030.
  • Item labels, Status labels, and other labels on the GUI are now run through a "simplify" function before being accepted. This functions strips out all whitespaces and consecutive whitespaces and replace them with single plain whitespaces. This is a safer format to store in XML, and also makes sure there aren't invisible characters floating around in the labels. PR #1038.
  • Due to the changes to how drag and drop works, there are no longer any restrictions on folders and documents. Only root folders remain restricted in terms of moving. Root folders can only be reordered with the Move Up and Move Down commands. PR #1047.
  • The label for the highlighting of redundant spaces in the Preferences dialog has been updated to better reflect what it does. Issue #1043. PR #1046.
  • The New Project Wizard will now try to check if the path selected for the new project can actually be used before letting the user proceed to the next page. Issue #1058. PR #1062.
  • Internationalisation:
  • Dutch translations have been added by Martijn van der Kleijn (@mvdkleijn). PR #1027.
  • Functionality:
  • Documents that are missing in the project index when a project is opened are automatically re-indexed. This also handles cases where the cached index is missing. PR #1039.
  • Installation and Packaging:
  • Python 3.6 is no longer supported. PR #1004.
  • Ubuntu 18.04 packages will no longer be released, due to dropping Python 3.6. Issue #1005. PR #1014.
  • Project File Format:
  • The item nodes in the content section of the main project XML file have been compacted. It now consists of a main item node and meta and a name node. All settings have been made attributes of one of these three nodes, except the item label which is the text value of the name node. The file format version has been bumped to 1.4. Issue #995. PR #993.
  • Both Importance and Status flag values are now saved to the project file. This means if a document changes layout, the value is no longer lost. PR #1030.
  • Code Improvements:
  • The linting settings have been updated to select between mutually exclusive options in pycodestyle. PR #1014.
  • The Tokenizer class has been converted to an abstract base class. PR #1026.
  • The class handling Status and Importance flags has been completely rewritten. The flags are now handled using a unique random key as reference rather than relying on the text of the label itself. This makes it a lot easier to rename them as there is no need to update project items. PR #1034.
  • Many of the decisions regarding where items are allowed to belong has been delegated to the NWItem class that holds the item. Some is also handled by the NWTree class that holds the project tree. A new maintenance function in the NWTree class will also ensure that the meta data of an item is correct and up to date. This is especially important after an item has been moved, but is also checked when items are initially loaded. PRs #1031 and #1054.
  • Item handles are now generated using the standard library random number generator. The new handles have the same format as the old algorithm, so they are compatible. PR #1044.

New in novelWriter 1.6.2 (Jun 6, 2022)

  • Bugfixes:
  • Fixed an issue where projects containing empty documents would trigger an index rebuild on open, but the empty document would be skipped due to a check that skips empty documents. As a consequence, the index would be rebuilt each time the project was opened. Empty documents are now added to the index, resolving this issue. Issue #1020. PR #1022.
  • Fixed an issue where the shasum calculation would be performed when a new document was created, which would fail as the file did not yet exist. The error was handled, but an error message was printed to the console log. The shasum is now no longer called if the file doesn't already exist. Issue #1021. PR #1023.