Skip to content

Releases: vkbo/novelWriter

Version 2.0 RC 1

17 Oct 14:44
v2.0rc1
9b5b00f
Compare
Choose a tag to compare
Version 2.0 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.

Note: As of the 2.0 release, novelWriter requires Qt 5.10 or higher and Python 3.7 or higher.

Detailed Changelog

Note: This will no longer be release 1.7, but 2.0 instead due to the major changes to the User Interface. PR #1146.

Features

  • The add new documents feature has been made a little smarter and now tries to choose whether the added document should be a sibling or a child to the selected document. Issue #1107. PR #1110.
  • A folder in the Project Tree can now be converted to a Novel Document or Project Note from the item's context menu. This makes sense now that documents can have child items. Issue #1071. PR #1128.
  • All child elements of an item in the Project Tree can now be collectively expanded or collapsed from the context menu. The same action can be triggered on the entire tree from the menu button at the top. Issue #1122. PR #1129.
  • If using the auto-insert feature for spaces next to punctuation designed for for instance French, any existing spaces are first stripped before the correct space character is added. Some users find it hard to unlearn the reflex to type the space. Issue #1061. PR #1131.
  • The Project Tree now has Quick Links for navigating directly between root folders. This is convenient for very large projects. Issue #1137. PR #1165.
  • It is now possible to filter out entire root folders on the Build Tool. Issue #1138. PR #1168.

Bugfixes

  • Fix a typo in the Lorem Ipsum tool and set a max width for the views bar. PR #1065.
  • The language set in the Build Tool is now properly exported to Open Document files. Previously, it would be set to English regardless of the user's selection. Issue #1073. PR #1077.
  • Since the text editor cursor extends to the right of its position in the window, it would disappear under the right-hand margin if it reached the edge. A minimum margin of the width of the cursor has been added to the editor, and the same value subtracted from the margin of the viewbox. Thus, the cursor no longer disappears. Issue #1112. PR #1113.
  • The Shift+Enter key combination no longer inserts a Unicode line separator in the text editor. Issue #1150. PR #1151.
  • Fixed an issue where idle time would not be properly reset when a new project was created. Issue #1149. PR #1153.
  • Removed the context menu that would appear on the Views Bar, from which the bar could be hidden. This is some feature imposed by the Qt library, and it is not wanted. Issue #1147. PR #1153.

Known Issues

  • An attempt has been made to fix the missing mime icon for novelWriter projects on Linux. The newer versions of Nautilus don't seem to display the correct icon due to some changes in the way icons are extracted from the theme. The icon displays fine in other places. PR #1068.

Internationalisation

  • Norwegian and US English translations have been updated. PR #1170.

User Interface

  • The New Project Wizard has been updated based on user feedback. The "Working Title" setting is now called "Project Name". The number of root folders one can create on the options page has been reduced to the standard ones. An option to add sample notes has been added, and the option to generate chapter folders has been removed. The "Minimal Project" option also no longer creates folders. An Archive root folder is automatically added to all new projects, and a Trash folder is added to custom projects. PR #1067.
  • The border around a lot of Widgets on the main GUI have been removed. PR #1069.
  • The Views Bar has been updated since the beta re;ease with better icons, tooltips, and an expanding menu on the Settings button. The Build Tool can now also be accessed from the Views Bar. PR #1069.
  • The editor theme setting in Preferences has been moved back to the General tab where users seem to expect to find it. PR #1069.
  • A toolbar has been added to the Outline View where the user can select which Novel folder to view. A refresh button for a forced reload of the selected Novel folder has been added, and the menu to select which columns to show has been added to a new button. This makes it easier to find for users instead of having to right-click the table header. Issue #1105. PRs #1063, #1094, and #1111.
  • The Rebuild Outline and Auto-Update Outline options have been removed from the Main Menu. PR #1063.
  • The Project Tree has been redesigned. The header is now hidden, and the columns resize automatically. A toolbar has been added with buttons for moving items up and down in the tree, a button for adding new files, folders and root folders, and a menu button for further options affecting the whole tree. These features have mostly bee removed from the Main Menu. PR #1079.
  • The context menu of the Project Tree has been rewritten completely. It is now possible to set importance and status directly from this menu. Part of issue #973. PRs #1079 and #1105.
  • The Edit Item dialog has been replaced with a simple Edit Label dialog. Most of the features handled by the old dialog have been moved to the Project Tree context menu. PR #1082.
  • The Novel View has been redesigned to match the new Outline View and Project Tree. The header is now hidden, and the columns auto-size. The third column can be selected from a set of options, or be hidden entirely. A button with a menu can be used to select which Novel folder to show. Issue #1041. PR #1084.
  • An arrow icon has been added behind each item in the Novel View. Clicking it, will pop up a tooltip showing the collected meta data for the heading the item represents. PR #1088.
  • The Project Details dialog now supports multiple novel folders. Issue #1078. PRs #1130 and #1167.
  • The Split and Merge tools have been rewritten to work with the new feature of allowing documents to have child documents. The tools have also had more options added to them. The feature is now accessible through the Project Tree item's context menu, and is no longer available from the Main Menu. Issues #1072 and #1032. PRs #1148 and #1154.

Installation and Packaging

Code Improvements

  • A new test project generator function has been added to replace the dependency on the New Project tools in the app itself. This ensures that changing the in-app feature doesn't affect the entire test suite. Over time, this generator function should also replace the minimal sample project saved in the test suite. PR #1067.
  • The index class has been rewritten. The index data is now stored in a hierarchy of objects rather than a set of nested dictionaries. The itemIndex holds all the data collected from the project, and the tagsIndex is a reverse lookup index for linking tags back to where they are used. The reading/writing of the index to disk between sessions is now handled by pack/unpack functions in each object. The index will be regenerated when the user first opens a project as it has been completely restructured. PR #1074.
  • The index instance is now an instance of the project class, not the main GUI. PR #1074.
  • The Outline View has been restructured into a single parent widget in the same manner as the Novel View was in the previous pre-release. Related to #1041. PR #1063.
  • A lot of main GUI objects have been given new names in the code to better represent what they do. PR #1081.
  • The converter for the old 1.0 project structure has been simplified. Mostly to reduce the amount of code and number of translation labels needed for it. It now produces a single error if something went wrong. PR #1083.
  • A number of unused icons have been removed from the code base. PR #1164.
  • All checks for Qt versions below 5.10 have been removed. PR #1174.

Not Implemented

  • An idea to make the indexer run in the global thread pool was not implemented. Issue #1076.
  • Feature #997 is now obsolete due to the changes made to the Edit Item dialog in #1082.
  • Feature #1106 is not implemented. It proposes to hide the option to select Novel folder if there is only one. We will see if this is really needed based on user feedback.

Version 1.6.5

13 Oct 08:52
v1.6.5
0e94b1c
Compare
Choose a tag to compare

Release Notes

This is a bugfix release that fixes a few minor issues. The idle time for new projects would be artificially inflated as the clock was not reset when the project was first created. This only affects the first entry in the writing statistics. A scaling issue for the Preferences dialog has also been fixed. It only affected screens with UI scaling enabled. Lastly, typing Shift+Enter in the text editor now creates a regular line break instead of a special line separator. The line separator serves no purpose in plain text, and was producing inconsistencies in how text is processed and displayed.

Detailed Changelog

Bugfixes

  • Fixed a bug where the idle time was not properly zeroed when a new project was generated after the wizard was closed. The idle time would be calculated from the time the previous project closed, thus inflating the value. Issue #1149. PR #1159.
  • Fixes an issue where the window size of the Preferences dialog would have the GUI scaling factor applied twice when the dialog was closed, resulting in the dialog growing in size each time it is opened. Issue #989. PR #1159.

Other Changes

  • The text editor no longer creates a Unicode line separator (U+2028) when the user presses Shift+Enter. The line separator serves no purpose in a plain text editor, and the code in general treats them as regular line break. This caused the line separator to display differently before and after saving. The line separator character is now automatically replaced by a paragraph separator. Issue #1150. PR #1159.

Version 1.6.4

29 Sep 17:37
v1.6.4
c04715c
Compare
Choose a tag to compare

Release Notes

This is a bugfix release that fixes a critical bug in the insert non-breaking spaces feature. It basically no longer worked in the 1.6.3 release. This release also fixes a minor issue where the text cursor sometimes disappears when reaching the right-hand edge of the text editor window.

Detailed Changelog

Bugfixes

  • Fixed a bug in the auto-replace feature of the editor that caused a crash when using the insert non-breaking spaces feature was used. Issue #1118. PR #1120.
  • Back ported a bugfix from 1.7 RC1 that resolves an issue with the text cursor sometimes disappearing at the right-hand edge of the text editor. Issues #1112 and #1119. PR #1120.

Version 1.6.3

18 Aug 19:36
v1.6.3
672e368
Compare
Choose a tag to compare

Release Notes

This is a bugfix release that fixes a rare problem causing novelWriter to crash if the spell checker language setting was configured to an empty value.

A few other minor issues have also been fixed: The project language setting is now properly exported to ODT documents. Spaces are no longer inserted automatically in front of colons in certain meta data settings when the feature is enabled (it is primarily used for French). Lastly, the slider splitting the editor and viewer panels can no longer be dragged until the viewer disappears. It was not necessarily obvious how the viewer panel could be restored in such cases.

Detailed Changelog

Bugfixes

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

Version 1.7 Beta 1

17 May 16:59
v1.7b1
15f59c1
Compare
Choose a tag to compare
Version 1.7 Beta 1 Pre-release
Pre-release

Note: The 1.7 release cycle was renamed 2.0 on 2022-10-06. See #1144.

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

  • A simple tool to add Lorem Ipsum placeholder text has been added to the Insert menu. PR #1028.
  • Status and Importance flags can now be reorganised in Project Settings. Issue #1035. PR #1040.
  • It is now possible to create multiple Root Folders of the same kind. This makes it possible to add multiple Novel root folders in a project, for instance. Issue #967. PR #1031.
  • All documents can now be dragged and dropped anywhere in the project tree. The document layout may be converted in the process. PR #1031.
  • Documents in the project tree can now have other documents as child documents. Issue #1002. PR #1047.
  • Folders in the project tree that are not empty, can now be moved to trash. PR #1048.
  • Empty folders are deleted on request, and not moved to trash. Issue #1052. PR #1055.

User Interface

  • The tabs under the project tree and to the right of the main window have been replaced with a toolbar on the left hand side. The toolbar has a set of buttons to change view between Project, Novel and Outline. The three buttons that were available under the project tree have been moved to the bottom of the new toolbar. Issue #1056. PR #1057.
  • When a document changes from a project document to a note, and back again, the Status flag setting is preserved. Previously, the Importance setting would overwrite it during the conversion. PR #1030.
  • Item labels, Status labels, and other labels on the GUI are now run through a "simplify" function before being accepted. This functions strips out all whitespaces and consecutive whitespaces and replace them with single plain whitespaces. This is a safer format to store in XML, and also makes sure there aren't invisible characters floating around in the labels. PR #1038.
  • Due to the changes to how drag and drop works, there are no longer any restrictions on folders and documents. Only root folders remain restricted in terms of moving. Root folders can only be reordered with the Move Up and Move Down commands. PR #1047.
  • The label for the highlighting of redundant spaces in the Preferences dialog has been updated to better reflect what it does. Issue #1043. PR #1046.
  • The New Project Wizard will now try to check if the path selected for the new project can actually be used before letting the user proceed to the next page. Issue #1058. PR #1062.

Internationalisation

  • Dutch translations have been added by Martijn van der Kleijn (@mvdkleijn). PR #1027.

Functionality

  • Documents that are missing in the project index when a project is opened are automatically re-indexed. This also handles cases where the cached index is missing. PR #1039.

Installation and Packaging

  • Python 3.6 is no longer supported. PR #1004.
  • Ubuntu 18.04 packages will no longer be released, due to dropping Python 3.6. Issue #1005. PR #1014.

Project File Format

  • The item nodes in the content section of the main project XML file have been compacted. It now consists of a main item node and meta and a name node. All settings have been made attributes of one of these three nodes, except the item label which is the text value of the name node. The file format version has been bumped to 1.4. Issue #995. PR #993.
  • Both Importance and Status flag values are now saved to the project file. This means if a document changes layout, the value is no longer lost. PR #1030.

Code Improvements

  • The linting settings have been updated to select between mutually exclusive options in pycodestyle. PR #1014.
  • The Tokenizer class has been converted to an abstract base class. PR #1026.
  • The class handling Status and Importance flags has been completely rewritten. The flags are now handled using a unique random key as reference rather than relying on the text of the label itself. This makes it a lot easier to rename them as there is no need to update project items. PR #1034.
  • Many of the decisions regarding where items are allowed to belong has been delegated to the NWItem class that holds the item. Some is also handled by the NWTree class that holds the project tree. A new maintenance function in the NWTree class will also ensure that the meta data of an item is correct and up to date. This is especially important after an item has been moved, but is also checked when items are initially loaded. PRs #1031 and #1054.
  • Item handles are now generated using the standard library random number generator. The new handles have the same format as the old algorithm, so they are compatible. PR #1044.

Version 1.6.2

20 Mar 14:50
v1.6.2
203e353
Compare
Choose a tag to compare

Release Notes

This is a bugfix release that fixes a couple of minor issues. Projects containing one or more empty documents would trigger a rebuild of the index each time the project was opened. This has now been fixed. Another fix resolves an error message being written to the console logging output when a new document was created. Both errors were harmless.

Detailed Changelog

Bugfixes

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

Version 1.6.1

16 Mar 22:09
v1.6.1
4cbbae6
Compare
Choose a tag to compare

Release Notes

This is a bugfix and patch release that fixes two recursion/loop issues. One would potentially cause a crash if the window was resized rapidly, and one would cause a hang with certain search parameters in the editor's search box. The Latin American Spanish translation has also been updated.

Detailed Changelog

Installation

  • When using the new installer on Windows, the project file mime type icon path would not be correctly configured in registry. The correct path is now used. PR #1006.

Internationalisation

  • The Latin American Spanish translation has been updated with two missing translation strings. PR #1017.

Bugfixes

  • Fix a bug where rapidly resizing the main window could trigger the recursion detector in Python if done on a slower system. The actual issue may be a race condition or similar, and the change made at least makes it harder to trigger. PR #1007.
  • With some document searches, it was possible to trigger an infinite loop in the function that counts results. It seems to be caused by the QTextEdit widget's find function returning a successful result status, but no actual result selection. The fix will now write a warning to the log and exit in such cases. The number of results is also now capped at 1000. Issue #1015. PR #1016.

Version 1.6

20 Feb 20:37
v1.6
be703c1
Compare
Choose a tag to compare

Release Notes

This release does not introduce any major new features, but is instead a collection of minor improvements and tweaks based on user requests. There are also a number of changes under the hood to improve the structure and performance of novelWriter.

Some key improvements to the user interface are:

  • The max text width setting in Preferences now also applies to the document viewer, and the setting itself on the Preference dialog has been simplified a bit.
  • When text is selected in the document editor, the number of words selected is displayed in the editor's footer area.
  • The search tool in the document editor now shows the number of results in the document.
  • The Enter and Ctrl+O keyboard shortcuts should now work the same way in all tree views.
  • It is now possible to set a blank section title format on the Build Novel Project tool and get empty paragraphs in the output. Previously, a blank format would just remove the section break entirely. This change allows the user to define hard and soft scene breaks using level three and four headings. The scene and section titles can be hidden completely with two new switches added to the user interface.

Other feature changes include:

  • The project index is now automatically rebuilt in the event it is empty or incomplete when the project is opened.
  • The user can now add their own syntax and GUI theme files in the app folder in their user area on the host operating system. Where the custom files must be added is described in the documentation.
  • A Windows installer is yet again provided for novelWriter. If you have novelWriter installed using another method, make sure you uninstall it properly first as the two methods are not compatible.
  • Release versions for Ubuntu 21.04 have been dropped, and added for the upcoming Ubuntu 22.04.
  • Most translations have been updated. A Dutch translation is in the works.

In addition to these changes, the documentation has been completely restructured and a new theme added. The theme has a light and a dark mode.

These Release Notes also include the changes from 1.6 Beta 1 and RC 1.

Detailed Changelog

User Interface

  • The default OS font is not always suitable for editing documents. The default editor font is now Arial on Windows and Courier on macOS; if those fonts are available on the platform. Issue #988. PR #990.
  • Added some some random error messages from Discworld to the error dialog shown when novelWriter crashes. They are visible on the dialog title bar if the title bar is visible on the platform. This is just a fun addition made to note the #1000 addition to novelWriter. PR #1000.

Installation

  • Dropped the Ubuntu 21.04 release as it is now deprecated, and added a release package for the upcoming Ubuntu 22.04. PR #987.

Internationalisation

  • The French, Norwegian and Portuguese (Brazil) translations have been updated. #992.

Documentation

  • Some minor improvements have been made to the Introduction section of the documentations. PR #991.

Version 1.6 RC 1

06 Feb 22:17
1a2c96d
Compare
Choose a tag to compare
Version 1.6 RC 1 Pre-release
Pre-release

Release Notes

This is a release candidate for 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

  • Added switches to hide scene and section breaks on the Build Novel Project tool. This means the section format can now be used like the scene format in that it is possible to leave them blank to insert an empty paragraph into the manuscript. Issue #972. PR #974.
  • The project index is now automatically rebuilt if any of the project files are missing in it when the project is opened. This also solves the issue of an empty index being silently ignored. Issue #957. PR #975.

User Interface

  • Remove the descriptive labels for all menu entries that were displayed on the status bar. They generally just restated what the menu item label already said, so they weren't very helpful. Removing them, as well as removing or joining a number of other labels and tooltips, reduced the amount of words needing translating for i18n by about 25%. PR #969.

Installation

  • A Windows setup installer build option has been added again to the main setup script. It builds a setup.exe file with Python and dependencies embedded, based on the minimal zip file of the source for Windows. PRs #981 and #983.

Bugfixes

  • Fix an issue on Windows where a crash would occur if project and backup paths were on separate drives. Issue #954. PR #955.
  • Fix a JSON error in the Chinese project file translations. PR #963.
  • Make sure the document save call doesn't crash when renaming the temp file to the permanent file name. This caused a crash on a mapped Google Drive. Google Drive on Linux is not supported, but trying to use it still shouldn't cause a crash. Issue #960. PRs #961 and #976.

Internationalisation

  • Move the whole i18n effort onto Crowdin. This required a few changes to the way i18n files are generated and named. PRs #964, #965, #968, and #970.

Documentation

  • Remove outdated reference to pylupdate5 as a dependency for i18n. The needed code is now included with the i18n framework in the source. PR #963.
  • Add a note in the documentation that if the Launchpad PPA is used on Debian, the end point for Ubuntu 20.04 must be used. This is due to a change in the compression algorithm used in later releases. Issue #956. PR #976.
  • Add a new theme for the documentation, and restructure it with better introduction and overview sections. PR #978.
  • Add information on how to customise novelWriter to the documentation. Issue #892. PR #984.

Version 1.5.5

05 Jan 15:11
5cb48de
Compare
Choose a tag to compare

Release Notes

This is a bugfix release that fixes an issues with the backup tool crashing the app if the project path and backup path are on different drive locations. This issue only affects Windows.

Detailed Changelog

Bugfixes

  • Fixed a bug with using the commonpath command in Python which will raise an error if the two paths don't have a common root. This is particularly an issue on Windows where the paths can be on different drives. The command was used in the project backup function, and has now been replaced by a safer check. Issue #954.