From 2bd519aa5b8fad8da13d65132cc42f2cec58c41f Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 30 Jul 2023 14:07:28 +0200 Subject: [PATCH 1/2] Update release date, change log and release notes --- CHANGELOG.md | 78 +++++++++++- novelwriter/__init__.py | 2 +- novelwriter/assets/text/release_notes.htm | 147 ++-------------------- 3 files changed, 85 insertions(+), 142 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af4be83e..6afcca95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,81 @@ # novelWriter Changelog +## Version 2.1 Beta 1 [2023-07-30] + +### 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 applied to the editor and viewer. To + resize the project tree area, the slider needs to be moved. PR #1388. +* The default text font on MacOS is now Helvetica. 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. +* ODT builds now have an accessible style for scene separators, and it is also possible to define + page size and margins from the new build tool. Issue #622. PR #1477. +* A proper light theme has been added. The default theme will usually default to light colours, but + in Qt6 it will not, so creating a proper light theme is needed. It also allows for some tweaking + of the colours. The contrast of the dark theme has been improved a bit as well, and default icon + theme is now selected based on the lightness of the background if a 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 a better 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 file 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 instance via + an attribute in many classes, and is now instead accessed directly. This should give a tiny + performance boost. 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 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. + +---- + ## Version 2.0.7 [2023-04-16] ### Release Notes @@ -208,7 +284,7 @@ dialog box, replacing the Credits section on the main About tab. * Update Chinese translation. PR #1298. * Update Norwegian, US English, German and Spanish translations. PR #1311. -**Other CHanges** +**Other Changes** * An icon theme can now be loaded from the user's data folder alongside a custom user theme. Issue #1297. PR #1299. diff --git a/novelwriter/__init__.py b/novelwriter/__init__.py index 6dbd27bc..2e591ee6 100644 --- a/novelwriter/__init__.py +++ b/novelwriter/__init__.py @@ -60,7 +60,7 @@ __maintainer__ = "Veronica Berglyd Olsen" __email__ = "code@vkbo.net" __version__ = "2.1-beta1" __hexversion__ = "0x020100b1" -__date__ = "2023-06-19" +__date__ = "2023-07-30" __status__ = "Stable" __domain__ = "novelwriter.io" diff --git a/novelwriter/assets/text/release_notes.htm b/novelwriter/assets/text/release_notes.htm index 7487a167..eb6d242e 100644 --- a/novelwriter/assets/text/release_notes.htm +++ b/novelwriter/assets/text/release_notes.htm @@ -2,149 +2,16 @@ -

Release Notes for 2.0

-

Released on 28 November 2022

+

Release Notes for 2.1 Beta 1

+

Released on 30 July 2023

-

Scroll down for Patch Notes

- -

This release includes a major update to the way your project is managed. It also modernises the -user interface. The project file format has also been updated, and your projects will be upgraded -the first time you open them in this release.

-

There are some major changes under the hood in this release. A lot of the code has been -rewritten and split up into smaller components. A lot of this is to make it more efficient, but -also to make it more modular in preparation for planned future additions. Most of these changes -don't affect you as the user, but there are also a number of big feature changes that you will -notice.

- -

User Interface Changes

-

The tabs used to switch between the Project Tree and Novel Tree, as well as between the Editor -and Outline views, have been replaced with a side bar. The side bar is located on the left side of -the main window, and gives you the option to select between "Project Tree View", "Novel Tree View" -and "Outline Tree View". They correspond to the previous tabs.

-

The side bar also includes a shortcut to the "Build Novel Project" tool. The "Project Details", -"Writing Statistics" and "Settings" buttons that were previously below the project tree are now -located at the bottom of the side bar.

-

All three views have also been given updates. They each have a label and a toolbar. The Project -Tree View has a dropdown with quick links to all your root folders, which should make it easier to -navigate a large project tree. You can activate the link menu by pressing `Ctrl+L` while in the -Project Tree, so you don't need to move your mouse.

-

A dropdown menu with all the options for adding new items to your project has also been added to -this toolbar. This too can be activated directly with a shortcut, `Ctrl+N`. More options are -available under the menu button, and there are also a set of move up and down buttons for moving -items.

-

The Novel Tree View and Novel Outline View have also received toolbars and controls that let you -select which data to show, and customise the view.

- -

Changes to Project Structure

-

A number of changes have been made to how you organise your project in the Project Tree View. -For instance, you are now allowed to add as many root folders as you want, and as many of each kind -as you want. Several users have asked for the ability to add multiple Novel folders, so the old -restriction of only one of each has been removed.

-

You can now also move documents freely between all folders. The Status or Importance values will -switch place depending on the type of root folder your document is in, but the other value should -be preserved if you move the document back. Previously, they were saved as the same value in your -project, so moving them would imply they were overwritten. The new project file format introduced -with this release has no such restriction.

-

Your documents are now also able to have other documents as child items. This is another feature -added based on feedback. You no longer need to make a chapter folder and add chapter files inside -it together with the scene documents. You can add the scene documents directly under the chapter -document and drop the folder entirely. If needed, you can convert an existing folder into a -document at any time. However, you are not allowed to convert a document into a folder.

-

The check mark icon that previously indicated whether a document was included or not in a -manuscript build has been replaced with an active/inactive flag. This was done in preparation for -changes to the Build Novel Project tool which will come in the next release. The active/inactive -flag is now primarily just an indicator to you as the writer whether the document is to be -considered a part of your project or not. That said, an inactive setting still causes it to be -excluded from the Novel Tree View and the Novel Outline View.

-

The context (right click) menu for the Project Tree has also been updated. You can make nearly -all changes to the item directly from this menu, with the exception of editing the item label, -which still requires a dialog box.

-

The Split and Merge tools have been rewritten from scratch. You should now have multiple options -on how to structure the resulting document or documents. You can access the new tools from the -"Transform" submenu when right-clicking a project item that supports splitting or merging.

- -

Novel and Outline View

-

The Novel Tree View and Novel Outline View panels have been given a new design. The heading -level is now shown as an indent with a coloured bar that uses the same colour coding as the -document icons. They are technically no longer tree views, but rather a Table of Contents of a -specific novel root folder. If you have multiple novel root folders, you can select which one to -view.

-

In the Novel Tree View, you now also have the option to hide or show a third column of data. -Currently, you can choose between "Point of View Character", "Focus Character" and "Novel Plot". If -you referenced more than one in the document, the column will only show the first entry, so make -sure the most important one is listed first in your document if you use this feature. An arrow icon -is also visible at the end of each row in the tree, and if you click on it, a tool tip should pop -up showing you all the meta data collected for that specific heading in your text.

- -

Other Changes

-

There has been a lot of changes under the hood as well, especially in regards to how the project -structure is handled and saved. The project index has also been almost completely rewritten, and -now collects information about your project more efficiently. This improves the way the project -tree determines which document icon to show you, and it also makes the Novel Tree View more -informative as the data there is updated a lot more frequently.

-

The New Project Wizard has been updated with some new features, and simplified a bit. The -Project Settings dialog has been updated to reflect some of the same changes.

+

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.

See also the Releases page.

-

Patch Notes

- -

Patch 2.0.1 – 29 November 2022

- -

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.

- -

Patch 2.0.2 – 1 December 2022

- -

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.

- -

Patch 2.0.3 – 8 January 2023

- -

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.

- -

Patch 2.0.4 – 29 January 2023

- -

This is a patch release that fixes a bug where novelWriter would crash if PyQt5 version 5.15.8 -was installed and imported.

- -

Patch 2.0.5 – 12 February 2023

- -

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.

- -

Patch 2.0.6 – 26 February 2023

- -

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.

- -

Patch 2.0.7 – 16 April 2023

- -

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

- From 4b2b4117a5b456df692b02366866931c6723b0d8 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 30 Jul 2023 14:17:34 +0200 Subject: [PATCH 2/2] Make some minor improvements to the change log --- CHANGELOG.md | 53 +++++++++++++++++++++++--------------------- sample/nwProject.nwx | 4 ++-- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6afcca95..a1d76814 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,9 +14,9 @@ final release. **Usability** -* When the main window is resized, the change in size is only applied to the editor and viewer. To - resize the project tree area, the slider needs to be moved. PR #1388. -* The default text font on MacOS is now Helvetica. Issue #1463. PR #1479. +* 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 @@ -28,41 +28,42 @@ final release. * 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. -* ODT builds now have an accessible style for scene separators, and it is also possible to define - page size and margins from the new build tool. Issue #622. PR #1477. -* A proper light theme has been added. The default theme will usually default to light colours, but - in Qt6 it will not, so creating a proper light theme is needed. It also allows for some tweaking - of the colours. The contrast of the dark theme has been improved a bit as well, and default icon - theme is now selected based on the lightness of the background if a theme is not specified in the - theme definition file. Issues #1472 and #1473. PR #1475. +* 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. + 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 +* 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 a better 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. + 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 file 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 instance via +* 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. PR #1447. + 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. @@ -70,9 +71,11 @@ final release. * 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 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. +* 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 adds type annotations to classes and functions in the source code. These + will be added gradually to the entire source code going forward. ---- diff --git a/sample/nwProject.nwx b/sample/nwProject.nwx index 18efb9d6..c37f48cd 100644 --- a/sample/nwProject.nwx +++ b/sample/nwProject.nwx @@ -1,6 +1,6 @@ - - + + Sample Project Sample Project Jane Smith