Releases: vkbo/novelWriter
Version 2.1
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.
These Release Notes also include the changes from the 2.1 Beta 1 and 2.1 RC 1 releases.
Detailed Changelog
Usability
- A widget has been added to the Build Manuscript tool main window to show some select build settings for the selected build definition. This should make it a little easier to find the wanted build definition if there are many available. PR #1516.
- All columns on the Writing Stats tool now uses the same fixed width font. Issue #1442, PR #1518.
Documentation
- The documentation has received significant updates for the 2.1 release. PR #1531.
Packaging and Installation
Release 2.1 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.
Please check the changelog for an overview of changes. The full release notes will be added to the final release.
Detailed Changelog
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.
Version 2.1 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.
Please check the changelog for an overview of changes. The full release notes will be added to the final release.
Detailed Changelog
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
andAlt+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 theLeft
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 Pythonxml
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 oldsetup.py
file are now available inpkgutils.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.
Version 2.0.7
Release Notes
This is a patch release that fixes a few issues and adds a Japanese translation.
The issues were mostly related to spell checking. In particular, issues with finding the word boundary when using underscore characters for italics markup. These issues should now be resolved. In addition, escaped markup characters are now rendered properly in HTML and ODT build formats.
A few usability improvements have also been made. The Add Item menu in the project tree no longer shows the options to create Novel Documents when an item in the tree is selected that cannot hold such a document. In addition, the "Change Label" context menu entry has been changed to say "Rename", which is a more logical choice.
Detailed Changelog
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
Version 2.0.6
Release Notes
This is a patch release that fixes a few minor bugs and a broken feature.
When opening a document from the Novel Tree or Outline View, the Project Tree would receive focus even when it was hidden. This has been corrected and no focus change is made. The Project Tree now also receives focus automatically when a new Project Item is created.
The backlinks in the Reference Panel below the Document Viewer were no longer working. They have now been fixed. They were broken due to a change in the link format in 2.0.
Detailed Changelog
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 asetFocus()
call. It should not do this as global focus is handled by the main GUI class, and doing this explicitly in thesetSelectedItem
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.
Version 2.0.5
Release Notes
This is a patch release that fixes a number of minor bugs and usability issues.
The Project Details dialog now properly updates when another project is opened, and the "Total editing time" value has a less ambiguous time format. The editor no longer inserts blank lines if block formats are applied to an empty line. The optional last column in the Novel Tree will now show all items of the selected type, not only the first, and the column size can be adjusted from the same menu where the column content is selected. The Open Document build output has been updated to ODF 1.3 extended format, and passes validation.
An Italian translation has been added, and Russian is currently available for project builds. A full translation into Russian is on its way.
Detailed Changelog
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
Version 2.0.4
Release Notes
This is a patch release that fixes a bug where novelWriter would crash if PyQt5 version 5.15.8 was installed and imported.
Detailed Changelog
Bugfixes
Version 2.0.3
Release Notes
This is a patch release that fixes a few bugs and usability issues. The editing of status and importance labels in Project Settings should now be a bit more intuitive. Opening a document from the Outline View that is already open in the editor should now switch to the editor view. The convert folder to note or document feature in the project tree has also been fixed. Some icons have been updated and a renderring issue with one of them fixed. Chinese, Norwegian, US English, German and Spanish translations have been updated as well. A new credits tab has been added to the About dialog box, replacing the Credits section on the main About tab.
Detailed Changelog
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
Version 2.0.2
Release Notes
This is a patch release that fixes a minor issues with syntax highlighting not updating when the highlighting preferences were changed. It also fixes an issue that broke the FreeBSD release.
Detailed Changelog
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
Version 2.0.1
Release Notes
This is a patch release that fixes a minor issues with loading custom GUI themes that haven't been updated to include the icon theme setting. The patch also updates the French translation.
Detailed Changelog
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 thetypicons_light
theme by default if no icon theme is set. Issue #1263. PR #1264.
Internationalisation