Releases: vkbo/novelWriter
Release 2.7 Alpha 2 (Windows Only)
This is a Windows only test release of 2.7 Alpha 2. Normally these are only released to Launchpad for Ubuntu, but this alpha package changes how novelWriter is installed and launched on Windows.
The package and installer contains the following changes:
- The release moves to Qt 6.4 from Qt 5.15, which is a major change.
- The app now launches with a
novelWriter.exe
file instead of a custom launch command that links directly to thepythonw.exe
in the install folder. This is a cleaner way to launch the novelWriter GUI. The app itself is still distributed as pure Python code. All the launcher does is callpythonw.exe
with thenovelWriter.pyw
file as the argument. - This
novelWriter.exe
should work from command line, by double click, and when right-clicked and shortcut created. It can take a single argument when called from command line: a path to a project to open. - The launcher should work even when the Visual C/C++ Redistributable library is not installed on the target system.
- Both the alpha release installer and the
novelWriter.exe
launcher are signed.
This pre-release is only intended for testing the new install and launch method. Any feedback and issue reports are appreciated. Please use the discussion thread at #2200.
Version 2.6 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
New Features
- The session timer in the status bar can now be hidden by clicking on it. Issue #1029. PR #2149.
- Status and importance labels can now be exported and imported. Issue #1847. PRs #2152 and #2153.
Bugfixes
- Fix a beta release bug where it was not possible to change the status or importance flag on folders in the project tree. Issue #2145. PR #2147.
- Fix an issue where the word counter would override the selection counter in the editor. This was caused by the selection counter being on a much shorter timer than the word counter, so in some cases the latter result came in after the former even if the user actions where the other way around. The selection counter now takes precedence, always. Issue #2155. PRs #2156 and #2157.
- Fix a minor issue where the search panel header background would not update colour when the theme was changed. Issue #2162. PR #2167.
Improvements
- It is no longer necessary to click the "Apply" button when making changes to status and importance labels, or auto-replace settings, in Project Settings. The changes are applied directly to the listed items. They are not applied to the project until the Project Settings are accepted. This is a more intuitive approach. Issue #2150. PR #2151.
Packaging and Installation
- MacOS packages are now built on the latest MacOS image available on GitHub. The x86_64 build was previously locked to MacOS 12, which is no loner available. PR #2141.
Version 2.6 Beta 2
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
- The project tree has been completely rewritten under the hood. The main difference in the GUI is a lifting of restrictions on drag and drop. You can now select multiple items in multiple places in the tree, and drag them to a new location. It is still not allowed to drag root level items, or drop items on the root level. PR #2119.
- You can now drag and drop items from the project tree onto the editor and viewer to load the documents there. PR #2119.
Bugfixes
- Make line height in DocX scale correctly. Issue #2099. PR #2102.
- Make margins scale with font size in ODT and HTML output. PR #2102.
- Fix DocX page count to work with Office 365. PR #2102.
- Fix font scaling issues for PDF output. Issue #2100. PR #2104.
- Fix an issue that cleared the editor when the return key was used on a folder item. PR #2113.
- Fix an issue where the viewer and preview would not reset text emphasis when selecting a default font style with emphasis features. Issue #2121. PR #2122.
- Change how custom fonts are loaded to ensure that the Qt framework don't take shortcuts by using a similar font instead of the chosen font. This is a side effect of the Qt font matching feature. Issue #2118. PR #2122.
Improvements
- Move processing of alternative apostrophe and dash to a later point in the tokenization process. It needs to happen after dialogue is processed to work as intended. PR #2095.
- Use icons for text margin settings in Build Settings. Issue #2098. PR #2102.
- Replace the toolbar icon in the editor. PR #2103.
- Turn off auto-default button on the Build dialog. Issue #2101. PR #2105.
- Add ANSI colours to log output for easier debugging. PRs #2114 and #2117.
- Document header is now aligned to the bottom of the top page margin in the same way for ODT and DocX output. Issue #2120. PR #2128.
- Dialogue detection for quoted dialogue has been improved to better support Chinese, and other languages that don't use whitespaces to separate words. Some improvements have also been made to how single quoted dialogues are processed when apostrophes are present. Issue #2131. PR #2138.
Code Improvements
- Complete rewrite of the project tree into a model/view set with one single definition if the project structure. PR #2109.
- The auto-replace feature in the editor has been refactored. It is now better separated from the editor code, and may have some minor performance improvements. Issue #2129. PR #2132.
Version 2.5.3
Release Notes
This is a patch release that fixes a few minor bugs in the user interface, and with the HTML manuscript format. This patch also adds a Russian translation, and updates the German and Portuguese translations.
Detailed Changelog
Bugfixes
- Fixed the red/green LEDs on the statusbar for the Default Light theme. The colours were swapped. Issue #2057. PR #2059.
- Moved the styles tag into the head tag for HTML manuscript output, which is the correct placement for them. Issue #2080. PR #2085.
- Fixed a bug in the project tree where it was possible to drag content to root level on some Qt versions where the disallow flag is not obeyed. The illegal action is now additionally blocked by code. Issue #2108. PR #2109.
Documentation
Internationalisation
- Russian translation added by Konstantin Tan (@k1kimosha). PR #2126
- Updated German and Portuguese translations. PR #2126
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.