Releases: vkbo/novelWriter
Version 2.6 Beta 1
Release Notes
This is a beta release of the next release version, and is intended for testing purposes. Please be careful when using this version on live writing projects, and make sure you take frequent backups.
Detailed Changelog
New Features
- Added PDF build format. Issue #2046. PR #2048.
- Added DocX (MS Word) format. Issue #1537. PR #2056.
- The Build settings tool has the following changes: Ability to control page break and centring of main titles, an option to disable styling for headings altogether, and the ODT section has been generalised to apply to all document formats. Issue #2023. PR #2045.
- Text and heading margin can now be control in the Manuscript Build tool. Issue #2023. PR #2051.
- Word counts and other such statistics can now be inserted into the manuscript. This is done through new insert actions in the Insert menu, and processed at build time. Issue #2024. PR #2073.
- Forced line breaks can now be inserted as a shortcode. This is useful when line breaks in paragraphs are ignored when building the manuscript. Issue #1991. PR #2063.
- A new
@mentions
keyword has been added that can list any tag in the project as being mentioned in the current section. These are listed separately from tags present in the story section. Issue #1822. PR #2064. - Tags in novel documents can now be referenced with the
@story
keyword. Issue #1990. PR #2072. - URLs starting with http/https are now recognised and clickable in the editor, viewer, and manuscript preview. Issue #1426. PR #2067.
- Added dialogue highlighting for Portuguese and Polish dialogue styles. Issues #2066 and #2070. Related to #1773. PRs #2068, #2079, #2081 and #2082.
- Four dashes in the editor are now replaced by a horizontal bar. This is useful as a replacement symbol for em dash when using dialogue highlighting to avoid triggering it. The horizontal bar is replaced with an em dash in the manuscript. Issue #2070. PR #2079.
- Manuscript Build settings can now be duplicated. Issue #1931. PR #2084.
- Page breaks can optionally be made visible in the Manuscript preview. PR #2086.
- The document status label can now be selected in the Outline View. Issue #1909. PR #2088.
- The document viewer now has an edit button to open the document in the editor. Issue #1963. PR #2089.
User Interface
- The Manuscript Build settings have now been moved into a single scrollable page, using the same layout as in Preferences. The heading and filtering pages are still separate forms, as they are of a more complex nature. PR #2031.
- The currently open document in the editor is now highlighted in the project tree, just like it is in the novel view. Issue #1981. PR #2077.
- The details panel in the Outline view is now resizable. PR #2078.
Improvements
- Add an option to ignore a word in the spell checker. An ignored word is ignored only for the current writing session. PR #2030.
- Word counts and other such statistics is now exported as custom variables to ODT files, and can be inserted in the text in LibreOffice, and similar. Issue #2033. PR #2035.
Code Improvements
- Added Python 3.13 coverage to ensure the new Python release is supported. Issue #2040. PR #2044.
- Preparation for Qt6: Clean up Qt enums. PR #2025.
- Preparation for Qt6: Replace Qt regular expression tools with the internal Python re module for markup processing and syntax highlighting. It is both slightly faster, and there are issues with text encoding in at least some versions of Qt6 or PyQt6. PRs #2028 and #2043.
- Preparation for Qt6: Added a wrapper function for connecting signals to slots that has a different function signature. Python lambdas generate warnings inn Qt6. PR #2075.
- Refactored manuscript formats and moved most of the processing to the Tokenizer class to simplify the format classes and also make them more consistent. PRs #2060, #2061 and #2062.
- The document builder has been refactored to support more generalised format classes. PR #2047.
- Action parent assignment has been rafactored in the main menu. #2075.
- Raw text format output has been refactored and reduced to just appending documents. PR #2087.
Version 2.5.2
Release Notes
This is a patch release that fixes a series of issues mostly affecting dialogue highlighting in the document viewer. The way the text is formatted in the viewer changed a lot in 2.5, and there were a few issues with the new implementation. The tab stop distance setting was also ignored, but has now been fixed as well.
Detailed Changelog
Bugfixes
- Fixed an issue where the tab stop distance setting was being ignored in the document viewer. It must be set again every time a document is loaded. Issue #1996. PR #2014.
- Fixed an issue with overlapping formatting markers when processing text into new formats. This issues was introduced when dialogue highlighting was added to the document viewer and manuscript build. It arises because start and end of dialogue can occur on the same character as other formatting, and then the order these markers are processed matters. This was not properly handled in the code. Issue #2012. PR #2014.
- Dialogue highlighting is now only applied to plain text paragraphs, not comments, headings, and other places where there should be no dialogue. Issue #2013. PR #2014.
- Note documents no longer get dialogue highlighting. Issue #2011. PR #2014.
Documentation
- Added a section about spell checking in the documentation. PR #2015.
Version 2.5.1
Release Notes
This is a patch release that fixes an issue with the lock file being left in the project when the project open is cancelled, a few issues with custom input boxes in Preferences, and a usability issue when selecting to edit a tag or reference from the Tags and References panel as well as fixed an issue with the Importance labels not being updated in the tabs for tags.
Detailed Changelog
Bugfixes
- Fixes an issue where the project lock file was created before certain checks where the user could cancel the project open process, leaving a lock file in the project folder behind. Issue #1977. PR #1978.
- Fixes an issue where the user could add spaces to the pad before and after Preference settings, which would pad every space entered into the text. The Preferences settings no longer accept any white spaces in these boxes (they are removed on save) and also strips duplicate character entries. Issue #1985. PR #1986.
- The narrator break and dialog symbol Preference text boxes will now be cleared if the settings is a white space. PR #1986.
- Fixed an issue where Importance labels were not updated in the viewer panel's tags tabs when they where changed in Project Settings. Issue #1992. PR #1993.
Usability
- When selecting to edit a tag or reference from the panel below the Document Viewer, the editor now scrolls to the relevant heading as it does in the viewer. Issue #1983. PR #1987.
Internationalisation
- Latin American Spanish translation updated by Tommy Marplatt (@tmarplatt). PR #1989.
Version 2.5
Release Notes
The 2.5 release fixes a number of minor issues from the RC 1 pre-release, and updates most translation files. Polish has also been added.
See the website for complete Release Notes.
Detailed Changelog
Bugfixes
- Fix an issue with unresponsiveness when switching from Outline View to Tree View with a keyboard shortcut. Issue #1949. PR #1954.
- Fix an issue with switching focus between editor and viewer when the viewer is hidden. Issue #1950. PR #1954.
- Fix an issue with first line indentation where it would sometimes indent first paragraph when it should not. Issue #1965. PR #1971.
Usability
- Remove the "Apply" button from Preferences as changing theme does not updated the Preferences dialog, which is unexpected behaviour. The Preferences dialog is now also consistent with other settings dialogs. Issue #1951. PR #1954.
- Improved the error messages when opening a project fails. Issue #1944. PR #1956.
- Make sure the Project Name is selected and in focus when switching to the New Project Form on the Welcome dialog. Issue #1967. PR #1968.
Improvements
Internationalisation
- Norwegian and US English translations updated by @vkbo. PR #1955.
- German translation updated by Myian (@HeyMyian). PR #1955.
- Italian translation updated by Lou Cyper (loucyper1). PR #1955.
- Dutch translation updated by Martijn van der Kleijn (mvdkleijn). PR #1955.
- Chinese translation updated by @longqzh. PR #1955.
- Portuguese translation updated by Oli Maia (@nyex). PR #1955.
- Japanese translation updated by @hebekeg. PR #1955.
- French translation updated by Albert Aribaud (@aaribaud). PR #1955.
- Polish translation added by Anna Maria Polak (@nauthiz). PR #1955.
Packaging
- Rewrote the packaging utilities script. Windows builds are now created in GitHub actions, which is needed for signed packages when this is enabled. PRs #1958 and #1959.
Documentation
- Updated the documentation for 2.5. PR #1928.
Version 2.5 RC 1
Release Notes
This is a release candidate of the next release version, and is intended for testing purposes. Please be careful when using this version on live writing projects, and make sure you take frequent backups.
Detailed Changelog
Bugfixes
- The Status bar LEDs are now properly updated when the theme changes. Issue #1893. PR #1906.
- All HTML tags are now properly closed at the end of each paragraph in HTML output. After shortcodes were introduced, it was possible to leave formatting tags open. Issue #1919. PR #1926.
Improvements
- Move the first line indent setting from being an Open Document feature to a general build settings feature that also applies to HTML, and make it visible in the Manuscript build tool preview. Issue #1839 and #1858. PR #1898.
- Make sure the document in the editor is saved before the same document is opened in the viewer. Issue #1884. PR #1902.
- The project name now appears before "novelWriter" in the main window title, which improves the task bar label on at least Linux Mint Cinnamon, and Windows. Issue #1910. PR #1911.
- Dialogue highlighting now only applies to novel documents, not notes. It is also possible to apply it to HTML and ODT manuscripts, and it also shows up in the preview and in the document viewer. Issue #1774. PR #1908.
- The Welcome dialog and other tools that use the project name to generate files of folder names are now less restrictive on what characters it allows in the file or folder names. Issue #1917. PR #1922.
- Last used folder paths are now remembered individually for each tool or feature that requires path input from the user. Issues #1930 and #1933. PR #1934.
- The Manuscript preview will now show line height as set in build settings. Issue #1920. PR #1935.
- Global search now refreshes if any of the search option buttons are toggled, and the search result will show the complete word if the search term only matches part of a word. Issue #1830. PR #1936.
- When a new note is created from a reference tag in the editor, the syntax highlighting is properly updated to indicate the tag is now valid. Issue #1916. PR #1938.
- The
Ctrl+E
shortcut now toggles focus between editor and viewer instead of just going to the editor. The header text colour changes to indicate which panel has focus. This should make it easier to scroll the content of the viewer without having to click it with the mouse first. Issue #1387. PRs #1940 and #1941.
Code Improvements
- Change how dialogs are handled in memory, and drop the calls to deleteLater for the underlying Qt object as it caused problems in some cases. Instead, the dialog is disconnected from the parent object, which seems to let the Python and Qt garbage collectors to kick in. PRs #1899. #1913 and #1921.
- Overload the reject call for dialogs rather to call close, which the default implementation does not. This simplifies the logic when closing dialogs, as reject() is also a slot, which close() is not. Issue #1915. PR #1918.
- Processing of dialogue highlighting has been added to the Tokenizer class, and the RegEx handling moved to a separate factory class. PR #1908.
- The progress bar widgets have been moved to a single module, and test coverage added. PR #1937.
Packaging
- The Windows installer is now built with Inno Setup 6.3, and uses zip compression rather than lzma. It also properly sets the undelete icon, and the undelete process is better at cleaning up files. PR #1932.
Version 2.4.4
Release Notes
This is a patch release that fixes a usage issue when setting document label from an unsaved document, fixes a rare chance of a crash when closing the Manuscript tool, and updates the Portuguese translation.
Detailed Changelog
Bugfixes
- Backported some memory improvements from the upcoming 2.5 release. This also fixes a potential, but low probability crash in the Manuscript tool. If the tool is closed during the milliseconds long window when the clock on the yellow label is updated, the app can crash with a segmentation fault. PRs #1903 and #1905.
- Fixed an issue where changing a document's label to match the document heading would suggest the wrong title if the document was open in the editor, but in an unsaved state. An easy condition to encounter when creating a new document and setting the heading first. Issue #1914. PR #1923.
Internationalisation
- Portuguese translation updated by Oli Maia. PR #1904.
Version 2.5 Beta 1
Release Notes
This is a beta release of the next release version, and is intended for testing purposes. Please be careful when using this version on live writing projects, and make sure you take frequent backups.
Detailed Changelog
General Changes
- novelWriter now requires Python 3.9 and Qt 5.15 as a minimum. That means Ubuntu 20.04 and older are no longer supported for the Debian packages. Users on Ubuntu 20.04 and equivalent Linux distros must use the AppImage. PRs #1826 and #1833.
Major Features
- Status and Importance icons can now be assigned a shape in addition to a colour. Issue #1786. PRs #1810 and #1819.
- Footnotes have been added. They use a modified comment format for specifying the footnote text, and a shortcode for inserting the footnote into the text. They are linked via a key. If the footnote is inserted via the Insert menu, a unique key is generated. Issue #342. PR #1832.
- Comments in general now support formatting, so format tags work just like in regular text. This was needed for footnotes, but has been expanded to include all comments. PR #1832.
- Two new themes have been added. Dracula is available as a set for both the GUI and the editor. Snazzy Light is available for syntax only, but works well with the default light GUI theme. PR #1840.
- Character dialogue highlighting has been completely redesigned. The highlighting rule now specifically relates to dialogue, and not just quoted text in general. To that effect, more rules for detecting what is and isn't dialogue has been added. This is designed to support difference between dialogue conventions in different languages. Issues #1770 and #1771. PR #1864.
- The font settings in Preferences now considers the full range of font options, in particular font style and weight. The changes include the font size in these settings, so the additional setting for font size has been removed. Use the font dialog to pick size as well. Due to this removal, the font size has been reset to default and must be set again by the user. Issue #1733. PR #1881.
- The document viewer and the manuscript preview now uses a completely new class to generate the formatted text. The old method used an outdated HTML format as the go-between, which restricted what formatting could be applied. The main noticeable change to users at the moment should be the size of headings, that now match the size in the editor. Issue #1882. PR #1892.
Improvements
- The default dark theme has been redesigned to match the GUI theme a little better, and is now also consistent with the default light themes. PRs #1836 and #1840.
- Special comments now have a different text colour than plain comments. PR #1836.
- The various Tomorrow themes are now a little more consistent in what colours are used for which components. More variation has also been added. PR #1840.
- The Tango theme has been updated. PR #1840.
- The last cursor position is now always saved when a document is closed in the editor, even if the content has not been changed. PR #1849.
- The settings for first line indent have now been extended to allow setting how deep the indents are and whether or not to indent the first paragraph after a heading or break. The settings have also moved from being Open Document specific to the general formatting tab for manuscripts. PR #1857.
- Preserving in-paragraph line breaks is now a general Manuscript setting that applies to all output formats. PR #1891.
- The Manuscript builds now also uses the full font settings of the selected output font, not just the font family and size option. Since the size option has been merged into the general font choice, the separate font size setting has been dropped and users must set it again. PR #1891.
- It is now possible to disable the usage of the font selection dialog from your operating system. At least on Linux Gnome desktops, the system's font dialog lacks a lot of the selection options available in the font dialog provided with Qt. PR #1891.
Bugfixes
- Fixed an issue where Manuscript dialogs would be left open if the project was closed. PR #1844.
- First line indents are no longer reset after a comment. Issue #1852. PR #1857.
Packaging
- Minimal zip file release packages can no longer be built from the package utility script. The zip file needed for building the Windows installer is still available. PR #1826.
- Added build packages for AARCH64 on MacOS. It seems some dependencies still prevents it from being installed cleanly without requiring some virtualisation feature, but it works. PR #1829.
- AppImages are now released with Python 3.12. PR #1829.
Other Changes
- A new GUI theme setting for error text has been added. It is used when error messages need to be displayed on the GUI. PR #1880.
Code Improvements
- The behaviour of dialogs across various platforms has been unified and improved a little to ensure more consistent behaviour. It is mostly related to modality and z-order. There are still limitations due to platform restrictions, like non-modal dialogs being stuck on top on Linux Wayland. PR #1844.
- Some GUI components have been improved and refactored to rely more on signals and slots rather than reaching into each other's classes and calling methods. This is a little more robust. PR #1849.
- The text tokenizer used to parse the formatting codes in novelWriter has been refactored and improved. In particular, multi-line paragraphs are now processed during the second pass of tokenization rather than when the final format is applied. This allows a much more compact format of the token data, and avoid potential inconsistencies between the various output formats. PR #1885.
Version 2.4.3
Release Notes
This is a patch release that fixes issues with the document font in the editor, viewer and manuscript preview on some Linux distros, and also fixes a potential crash on Windows when using the spell check dictionary install tool.
Detailed Changelog
Bugfixes
- Fix a crash in the dictionaries install tool on Windows if the config folder reported by the third party Enchant spell checker tool didn't already exist prior to adding new dictionaries. The folder is now created when the tool is opened if it doesn't exist. Issue #1874. PR #1876.
- Fix issues setting a different text font for the editor and viewer, and related issues with the preview in the Manuscript Build tool, on certain platforms. Changing the font and setting non-standard font sizes produced unexpected results when reloading. The issue seems to be related to Qt 5.15.3, but that is not fully confirmed. However, the only place so far where the issue is observed is on Mint 21.3. Issues #1862 and #1875. PR #1877.
Version 2.4.2
Release Notes
This is a patch release that fixes two minor font issues and updates the Dutch and Chinese translations.
Detailed Changelog
Bugfixes
- Change the preview widget in the Manuscript Build tool to use the document font only for the document itself, not the yellow heading stating the age of the previewed text. PR #1863.
- Fixes the syntax highlighter so that it is re-initialised when the document editor is re-initialised, so that changes to document font size regenerates the heading font sizes as well. Issue #1865. PR #1866.
Internationalisation
- Dutch translation updated by Martijn van der Kleijn (@mvdkleijn). PR #1872.
- Chinese translation updated by @longqzh. PR #1872.
Version 2.4.1
Release Notes
This is a patch release that fixes a number of minor issues with the Manuscript Build tool. The only critical fix is related to a potential crash when deleting a build entry when its settings dialog is still open.
Detailed Changelog
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