diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b08b2ac..2d9a7744 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,97 @@ # novelWriter Changelog +## Version 1.4 Beta 1 [2021-06-13] + +### Release Notes + +This is a preview release of novelWriter 1.4. It contains some new features and a lot of code +refactoring. This release is a testing release, and may contain bugs. Please be careful when using +this version to work on your projects. + +Below are the main feature changes of this release. + +#### Line Breaks + +The way line breaks inside paragraphs work has been changed. A single line break is now treated as +a proper line break and will show up in the document viewer and exported documents. A single line +break does not start a new paragraph, but forces a break inside the paragraph like a Shift + Enter +does in most rich text editors. Two line breaks is still needed to start a new paragraph. + +The old syntax of adding two spaces to force a line break within a paragraph will still work as +before, so there is no need to change your existing text if you've used this feature. However, +there is a new highlighting feature that will show you where in the text you have redundant spaces. +If you are used to having double spaces between sentences, you may want to switch off this +highlighting feature in Preferences as it will also detect those. + +A helper function has been added to the Format menu that can look through a paragraph and remove +line breaks in case you've been using line breaks inside your existing text under the assumption +that the exporter and viewer will ignore them. + +I hope this change will not be too inconvenient. I believe the new behaviour will make more sense +for most people. Especially considering some of the feedback I've gotten on how line breaks work. +The original implementation was following the Markdown standard, but since novelWriter is not a +proper Markdown editor and instead just borrows from Markdown, this behaviour always seemed a bit +unnecessary. + +#### Text Alignment and Indentation + +The default text alignment is left or justified based on your preferences. For documents with the +layout set to Title Page or Partitions, the default is centred. However, sometimes you may want to +override this default. A new set of codes have therefore been added to allow specifying alignment +as well as additional text margins on individual paragraphs. + +The logic of the syntax is as follows: + +A single angle bracket will push the text away from the edge it points away from. Therefore, a +single `>` before the paragraph, or a single `<` after the paragraph, will add indentation on the +respective side. It's perfectly valid to do this on both sides at the same time. + +A double set of angle brackets will push the text all the way towards the opposite aide. Therefore, +a double set of `>>` before the paragraph will indicate right alignment, and a double set of `<<` +after the paragraph will force left alignment. Also here both can be used at the same time, which +results in the paragraph being centred. + +Format menu entries and keyboard shortcuts have been added so that you don't have to memorise these +codes. + +### Detailed Changelog + +**Bugfixes** + +* A number of calls for the pop-up alert box were missing translation wrappers. That means they + could not be translated into other languages. The alerts have been fixed, but the PR does not add + the missing translations. PR #806. +* A duplicate error message from the index class has been removed. PR #758. + +**Features** + +* Single line breaks are now treated as proper line breaks within paragraphs. Paragraphs are still + separated by two line breaks like before. This means that it is no longer necessary to leave two + spaces at the end of the line to force a line break. This is a rather obscure and little known + feature taken from Markdown, and it isn't very intuitive. Issue #785. PR #786. +* It is now possible to specify text alignment and additional indentation on individual paragraphs + in the text. Both features use a similar syntax that I hope is fairly intuitive. Menu entries and + keyboard shortcuts have also been added to make it easier to use these features. Issues #595 and + #803. PR #804. + +**Code Improvements** + +* Class initialisation has been made consistent. All GUI classes now inherit the main window as its + parent class, and all other classes inherit the main project class as its parent. Since the + project class and the main window class have pointers to each other, all needed pointers are + available from their respective classes. PR #758. +* The document class has been changed from a reusable class to a class that is intended to wrap a + single document via its handle. The class was originally written for the document editor where + the reusable approach made more sense. But it is much simple to create and destroy them in other + parts of the code when they are not reusable. PRs #758 and #760. +* The document class no longer generates any pop-up alerts. Errors are recorded and retrieved and + displayed by the parent or caller class. PR #758. +* Refactored the code of the editor class to make it more isolated by making most class variables + private. PR #779. +* Made similar changes to the viewer class and item details class. PR #780. + +---- + ## Version 1.3.3 [2021-06-13] ### Release Notes diff --git a/docs/source/conf.py b/docs/source/conf.py index ce1dc720..477affed 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -27,7 +27,7 @@ author = "Veronica Berglyd Olsen" # The short X.Y version version = "1.4" # The full version, including alpha/beta/rc tags -release = "1.4-alpha0" +release = "1.4-beta1" # -- General configuration --------------------------------------------------- diff --git a/nw/__init__.py b/nw/__init__.py index 85b8bc30..637e1b62 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -62,9 +62,9 @@ __license__ = "GPLv3" __author__ = "Veronica Berglyd Olsen" __maintainer__ = "Veronica Berglyd Olsen" __email__ = "code@vkbo.net" -__version__ = "1.4a0" -__hexversion__ = "0x010400a0" -__date__ = "2021-04-01" +__version__ = "1.4b1" +__hexversion__ = "0x010400b1" +__date__ = "2021-06-13" __status__ = "Stable" __domain__ = "novelwriter.io" __url__ = "https://novelwriter.io" diff --git a/nw/assets/text/release_notes.htm b/nw/assets/text/release_notes.htm index e0f6882f..efecbd93 100644 --- a/nw/assets/text/release_notes.htm +++ b/nw/assets/text/release_notes.htm @@ -2,59 +2,51 @@ -

Release Notes for 1.3.3

+

Release Notes for 1.4 Beta 1

Released on 13 June 2021

-

This patch release fixes a potential file encoding issue when running setup on Windows, and a -minor issue with the project word count not being updated immediately when a file is deleted. In -addition, the keyboard shortcuts to change focus between the project tree, the editor, the viewer, -and the outline panel, have been changed for Windows users. They keyboard shortcuts were -interfering with the Alt codes used for special characters. The shortcuts are unchanged for Linux -and macOS.

+ +

This is a preview release of novelWriter 1.4. It contains some new features and a lot of code +refactoring. This release is a testing release, and may contain bugs. Please be careful when using +this version to work on your projects.

+

Below are the main feature changes of this release.

+ +

Line Breaks

+ +

The way line breaks inside paragraphs work has been changed. A single line break is now treated +as a proper line break and will show up in the document viewer and exported documents. A single +line break does not start a new paragraph, but forces a break inside the paragraph like a Shift + +Enter does in most rich text editors. Two line breaks is still needed to start a new paragraph.

+

The old syntax of adding two spaces to force a line break within a paragraph will still work +as before, so there is no need to change your existing text if you've used this feature. However, +there is a new highlighting feature that will show you where in the text you have redundant spaces. +If you are used to having double spaces between sentences, you may want to switch off this +highlighting feature in Preferences as it will also detect those.

+

A helper function has been added to the Format menu that can look through a paragraph and remove +line breaks in case you've been using line breaks inside your existing text under the assumption +that the exporter and viewer will ignore them.

+

I hope this change will not be too inconvenient. I believe the new behaviour will make more +sense for most people. Especially considering some of the feedback I've gotten on how line breaks +work. The original implementation was following the Markdown standard, but since novelWriter is not +a proper Markdown editor and instead just borrows from Markdown, this behaviour always seemed a bit +unnecessary.

+ +

Text Alignment and Indentation

+

The default text alignment is left or justified based on your preferences. For documents with +the layout set to Title Page or Partitions, the default is centred. However, sometimes you may +want to override this default. A new set of codes have therefore been added to allow specifying +alignment as well as additional text margins on individual paragraphs.

+

The logic of the syntax is as follows:

+

A single angle bracket will push the text away from the edge it points away from. Therefore, a +single '>' before the paragraph, or a single '<' after the paragraph, will add indentation on +the respective side. It's perfectly valid to do this on both sides at the same time.

+

A double set of angle brackets will push the text all the way towards the opposite aide. +Therefore, a double set of '>>' before the paragraph will indicate right alignment, and a +double set of '<<' after the paragraph will force left alignment. Also here both can be used +at the same time, which results in the paragraph being centred.

+

Format menu entries and keyboard shortcuts have been added so that you don't have to memorise +these codes.

See also the Releases page.

-
- -

Release Notes for 1.3.2

-

Released on 30 May 2021

-

This is a patch release that fixes some minor issues. One issue was with the split tool, which -would drop the last line from the source document during a split if it was missing a final line -break. A minor issue with the display of word counts on the details panel under the project tree -has also been fixed. In addition, the setup script commands for Linux have been improved a bit.

- -
- -

Release Notes for 1.3.1

-

Released on 6 May 2021

-

This is a patch release primarily to fix a problem with the Qt translation library used to make -novelWriter available in multiple languages. One of the function calls made to the library was -added recently, in Qt 5.15, which many users on Linux will not have installed on their system. The -issue could be resolved by updating the library, but it's an unnecessary and inconvenient -restriction.

- -
- -

Release Notes for 1.3

-

Released on 2 May 2021

-

The main feature of the 1.3 release is internationalisation. The release introduces support for -Portuguese, French, and Norwegian for the main GUI, in addition to the default English. The -settings for choosing the GUI language can be found in the main Preferences.

-

The implementation is such that the projects themselves can use a different language than the -one selected for the GUI. To allow for better support for multiple language projects, the Build -Novel Project tool has the added option to select the language of the injected text into exported -documents. In particularly for the number words that can be added for chapter headers. Available -languages here are the same as mentioned above for the main GUI, plus German.

-

Settings have also been added in Preferences to allow for automatic injection of spaces or -non-breaking spaces in front of, or behind, certain characters. These are features generally -available in text editors for French, but the implementation in novelWriter simply makes them a -free text box where you can list all characters or symbols where you want a space added -automatically.

-

The translation files for this release have been provided by Bruno Meneguello for the Portuguese -translation, by Jan Lüdke (jyhelle) for the French translation, by Veronica Berglyd Olsen for the -Norwegian translation as well as the minor modifications for US English, and Marian Lückhof -provided the translation file for chapter numbers in German.

-

The work to rewrite novelWriter to allow for internationalisation was done by Bruno Meneguello -and Veronica Berglyd Olsen.

- diff --git a/nw/assets/text/release_notes_1.3.htm b/nw/assets/text/release_notes_1.3.htm new file mode 100644 index 00000000..e0f6882f --- /dev/null +++ b/nw/assets/text/release_notes_1.3.htm @@ -0,0 +1,60 @@ + + + + +

Release Notes for 1.3.3

+

Released on 13 June 2021

+

This patch release fixes a potential file encoding issue when running setup on Windows, and a +minor issue with the project word count not being updated immediately when a file is deleted. In +addition, the keyboard shortcuts to change focus between the project tree, the editor, the viewer, +and the outline panel, have been changed for Windows users. They keyboard shortcuts were +interfering with the Alt codes used for special characters. The shortcuts are unchanged for Linux +and macOS.

+ +

See also the Releases page.

+ +
+ +

Release Notes for 1.3.2

+

Released on 30 May 2021

+

This is a patch release that fixes some minor issues. One issue was with the split tool, which +would drop the last line from the source document during a split if it was missing a final line +break. A minor issue with the display of word counts on the details panel under the project tree +has also been fixed. In addition, the setup script commands for Linux have been improved a bit.

+ +
+ +

Release Notes for 1.3.1

+

Released on 6 May 2021

+

This is a patch release primarily to fix a problem with the Qt translation library used to make +novelWriter available in multiple languages. One of the function calls made to the library was +added recently, in Qt 5.15, which many users on Linux will not have installed on their system. The +issue could be resolved by updating the library, but it's an unnecessary and inconvenient +restriction.

+ +
+ +

Release Notes for 1.3

+

Released on 2 May 2021

+

The main feature of the 1.3 release is internationalisation. The release introduces support for +Portuguese, French, and Norwegian for the main GUI, in addition to the default English. The +settings for choosing the GUI language can be found in the main Preferences.

+

The implementation is such that the projects themselves can use a different language than the +one selected for the GUI. To allow for better support for multiple language projects, the Build +Novel Project tool has the added option to select the language of the injected text into exported +documents. In particularly for the number words that can be added for chapter headers. Available +languages here are the same as mentioned above for the main GUI, plus German.

+

Settings have also been added in Preferences to allow for automatic injection of spaces or +non-breaking spaces in front of, or behind, certain characters. These are features generally +available in text editors for French, but the implementation in novelWriter simply makes them a +free text box where you can list all characters or symbols where you want a space added +automatically.

+

The translation files for this release have been provided by Bruno Meneguello for the Portuguese +translation, by Jan Lüdke (jyhelle) for the French translation, by Veronica Berglyd Olsen for the +Norwegian translation as well as the minor modifications for US English, and Marian Lückhof +provided the translation file for chapter numbers in German.

+

The work to rewrite novelWriter to allow for internationalisation was done by Bruno Meneguello +and Veronica Berglyd Olsen.

+ + + diff --git a/sample/nwProject.nwx b/sample/nwProject.nwx index 067fa0a3..491cfadf 100644 --- a/sample/nwProject.nwx +++ b/sample/nwProject.nwx @@ -1,13 +1,13 @@ - + Sample Project Sample Project Jane Smith Jay Doh - 1107 + 1108 189 - 52789 + 53069 False