Skip to content

Releases: vkbo/novelWriter

Version 2.2 RC 1

26 Nov 13:52
v2.2rc1
55e0dc3
Compare
Choose a tag to compare
Version 2.2 RC 1 Pre-release
Pre-release

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

  • 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. PR 1616.

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. Issues #925 and #998. PR #1606.
  • 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. Issues #1549 and #1592. PR #1612.
  • 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. Issue #1602. PR #1605.
  • 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. Issue #982. PR #1611.
  • 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. Issue #1503. PR #1614.
  • 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. Issues #1617 and #1621. PRs #1617, #1619 and #1622.

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. Issues #1333 and #1598. PR #1600.
  • The auto complete context menu is now only triggered on actual user input consisting of adding or removing a single character. PR #1601.
  • 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. Issues #1302 and #1478. PR #1608.
  • The Manuscript Build dialog now has a button to open the output folder. Issue #1554. PR #1613.

Code Improvements

  • Improve test coverage. PR #1607.

Version 2.2 Beta 1

12 Nov 14:18
v2.2b1
6c9c1ec
Compare
Choose a tag to compare
Version 2.2 Beta 1 Pre-release
Pre-release

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

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.

Version 2.1.1

05 Nov 17:51
v2.1.1
38c279b
Compare
Choose a tag to compare

Release Notes

This is a patch release that fixes a layout issue and internationalisation issues with the new Manuscript Build tool. It also fixes a number of issues related to bugs in the underlying Qt framework that affects drag and drop functionality in the project tree. These issues were mostly
only affecting Debian Linux package releases.

Other, minor issues related to updating the editor on colour theme change and project word list changes have been fixed as well. See the full changelog for more details.

Detailed Changelog

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.

Usability

  • Changed how the default UI language is selected. It used to default to the system locale, but that is now changed to British English if the system local is not available in novelWriter. The only real effects of this is that the dropdown box in Preferences now selects British English if the system locale is not available rather than the first in the list (currently Deutch). The second effect is that the language on buttons and other Qt components will match the rest of the UI. Issue #1564. PR #1565.
  • There is a bug in Qt on Wayland desktops where menus don't open in the correct location. According to one Qt ticket, QTBUG-68636, this can be mitigated by ensuring all QMenu instances have a parent set. This does not fix all issues, but it should help. The menus without a parent set have now been updated. Issue #1536. PR #1572.

Documentation

  • Fixed a number of spelling errors and typing mistakes in the documentation for 2.1. Contributed by @nisemono-neko. PR #1567.

Version 2.1

17 Oct 14:56
v2.1
a03bd14
Compare
Choose a tag to compare

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

  • Python 3.7 support has officially been dropped. Python 3.7 has reached end of life, and dropping it relaxes some restrictions on development. PR #1515.
  • MacOS and Windows is now tested against Python 3.11, and 3.12 has been added to Linux. PR #1515.

Release 2.1 RC 1

31 Aug 16:43
v2.1rc1
eccb404
Compare
Choose a tag to compare
Release 2.1 RC 1 Pre-release
Pre-release

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

30 Jul 12:31
v2.1b1
7d0e7d7
Compare
Choose a tag to compare
Version 2.1 Beta 1 Pre-release
Pre-release

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 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.

Version 2.0.7

16 Apr 09:43
v2.0.7
58702a8
Compare
Choose a tag to compare

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

  • 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.

Version 2.0.6

26 Feb 20:26
v2.0.6
86d324a
Compare
Choose a tag to compare

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 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.

Version 2.0.5

12 Feb 15:37
v2.0.5
0b9ba78
Compare
Choose a tag to compare

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

  • Added App Bundle and DMG packages for MacOS. Contributed by @Ryex. PRs #1276 and #1340.

Version 2.0.4

29 Jan 01:51
v2.0.4
4f11990
Compare
Choose a tag to compare

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

  • 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.