Skip to content
v1.7b1
15f59c1
Compare
Choose a tag to compare

Version 1.7 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

  • 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.
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.
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.
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.
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.
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.
62b93d0
Compare
Choose a tag to compare

Release Notes

This is a bugfix release that fixes an issues with rendering HTML from a document, either in the viewer or the build tool, when there is a greater or lesser than symbol in a text block that isn't a plain text paragraph, like for instance a comment or a heading. Any such document would fail to render.

Detailed Changelog

Bugfixes

  • Fixed a bug where a greater or lesser than symbol would crash the html converter loop if the text block did not have a format with a 'NoneType is not iterable' error. Most blocks that are not plain text have the format set to 'None'. Issue #950, PR #951.
00b3c3e
Compare
Choose a tag to compare

Version 1.6 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

  • When text is selected in the editor, the word counter in the editor's footer bar shows the number of selected words instead of the total document word count. Feature Request #896. PR #899.
  • The way page breaks are automatically and manually added has been improved: The Title format no longer has an automatic page break, Partition and Chapter formats now always have a page break, Scene and Section headers can now have page breaks added manually, and empty scene header format will now result in a larger gap between scenes. Feature Request #912. PR #916.
  • The Enter, Return and Ctrl+O keyboard shortcuts now open the selected document or item on the tree that has focus. That is, on the Project Tree, Novel Tree, or in the Outline Tab. Previously, these key strokes only affected the Project Tree. Feature Request #913. PR #945.
  • The search tool in the document editor now shows the number of search results when the search button is clicked. When the replace tool is used, this number changes if the search result does. Feature Request #645. PRs #946 and #947.

Other Changes

  • The icon themes have been merged and reduced to two complete themes, and the Preferences switch for additional dark icons has been removed. The user either selects the Typicons Dark or Light theme. No need to match further settings. PR #893.
  • Custom GUI themes and syntax themes can now be loaded from the user's data path. The actual storage path is determined by the OS. Part of Feature Request #892. PR #893.
  • A number of text messages and labels on the GUI have been improved. Issue #923. PR #926.
  • The switch in Preferences to disbale fixed width text in the editor has been removed. Instead, the user just sets the fixed with setting to 0 to disable it. The settings is now also applied to the document viewer as well. Issue #924. PR #943.
  • The Open Document export file produced from the build tool is now more LibreOffice and OpenOffice friendly by using the same default styles as these editors do. Issue #948. PR #949.
  • When a document is saved from the document editor, the disk on file is checked for external changes before it is overwritten. Such changes can arise from editing the file from another tool at the same time, from file sync issues, or even from file system issues. If an inconsistency is discovered, the user is asked to confirm the overwrite. Issue #878. PR #890.

Internationalisation

  • A couple of missing translations, and typos, have been fixed. PRs #921 and #926.
  • Latin American Spanish translation has been added by Tommy Marplatt (@tmarplatt). PR #927.

Bugfixes

  • Fixed an issue where greater or lesser than symbols used in text paragraphs which also has formatting tags would cause the formatting tags to be shifted in HTML output. Issue #929. PR 928. This fix was backported to 1.5 as patch 1.5.2. A secondary bug was reported in Issue #950, fixed in PR #951, and backported to 1.5. as patch 1.5.4.

Documentation

  • Documentation has been updated to reflect changes and new features. PRs #903, and #916.
  • The Readme file for internationalisation has been updated and improved. Contributed by Tommy Marplatt (@tmarplatt) PR #917.

Installation and Packaging

  • The Cantarell font is no longer included in the source and releases. PR #893.
  • The way icons are loaded is now simpler and there is no longer a bunch of fallback options. The icon sets have been reduced to just two complete folders of coloured Typicons: one for dark and one for light backgrounds. PR #893.
  • Fixed a couple of issues in the Windows setup scripts where the user never saw the error message reporting on missing Python as the window would close before the user would be able to read the error. PR #903.

Code Improvements

  • Cleaned up log output, formatting, docstrings, and various other code structure and debug related parts of the source. PRs #904, #926, #930, and #947.
  • Optimised various code snippets, either for performance or readability. The code now makes more use of Python list comprehension and built-in functions for iterables. PRs #904, and #926.
  • Tightened up many of the internal classes, making attributes private, and add setter and getter functions where that makes sense. PRs #904, #931, and #937.
  • The tools for adding and updating translation files have been improved. The Qt-specific .pro file has been dropped, and instead the setup tool will scan the entire source tree each time language files are updated. TS files can also be specified to the command, or if none are specified, all files are updated. PR #915.
  • The language file update command in the setup tool now uses the pylupdate6 tool from PyQt6, which has been included directly in the i18n folder. This tool uses the newer TS file format, which the standard PyQt5 tool does not. Related to #911. PR #920.
43471c9
Compare
Choose a tag to compare

Release Notes

This is a bugfix release that fixes two cosmetic issues. The first fix resolves and issue with the emphasis of partition or chapter items in the project tree not changing when the item is changed to a scene item. The second fix changes how the Create Root Folder submenu works. Instead of disabling the menu entries that are no longer available, they are instead removed. Disabled menu entries are not displayed correctly in all colour themes.

Detailed Changelog

Bugfixes

  • The syntax themes lack a proper colouring for disabled menu entries. The only place menu entries are disabled is in the Create Root Folder menu, so the simplest solution was to just replace the enable/disable logic with switching on and off visibility like other menus in novelWriter do. Issue #918.
  • The if-condition that determined whether an item in the Project Tree were to receive a bold and underline formatting for its label lacked the logic to disable these when the item should not receive it any longer. I.e., when a chapter was converted to a scene, the emphasis remained. Issue #935.
3e77c71
Compare
Choose a tag to compare

Release Notes

This is a bugfix release that fixes two issues. The first is an issue with an error in the HTML output if a paragraph has alignment or indentation tags while at the same time containing emphasised text. The second is an issue where the application cannot load a project with spell checking enabled if there is something wrong with the spell check package.

Detailed Changelog

Bugfixes

  • When the HTML converter replaced grater than or smaller than symbols with the corresponding HTML entities. the poisition of the formatting tags following in the text would be shifted, but the positions were not updated. This is now solved by updating these positions when such a symbol is encountered. This issue has been backported from 1.6 development. Issue #929.
  • If the pyenchant package is installed, but the underlying enchant library is broken in one way or another, the pyenchant package will error, causing novelWriter to crash. All calls to the pyenchant package has now been wrapped in try/except blocks to prevent this. Issue #933.