diff --git a/CHANGELOG.md b/CHANGELOG.md
index a78d2d90..40cf45b7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,140 @@
# novelWriter Changelog
-## Version 1.2 Dev (Alpha)
+## Version 1.2 Beta 1 [2021-02-11]
+
+### Release Notes
+
+This release is a beta release of 1.2. The release is intended for testing of new features. There
+is a higher risk of encountering bugs in a beta release than a final release, so be extra careful
+with backups if used on active writing projects.
+
+#### The Build Novel Project Tool
+
+The main changes in this release are to the Build Novel Project tool. The Open Document export, as
+well as the Markdown export, is now handled entirely by code written for novelWriter. Previously,
+these export features depended on the underlying Qt library's save routines connected to the
+preview document shown in the build dialog. Using this method of export both meant that the content
+of the document was dependent on the preview being generated, and that the exported document had
+limited support for novelWriter-specific features and custom formatting. The new export tool should
+generate a much better result, especially for the Open Document formats. The Open Document standard
+is supported by Open Office, Libre Office, Google Docs, Microsoft Word, and probably a number of
+other applications too. The Markdown export hasn't changed a lot, but should be a slight
+improvement on the previous export feature.
+
+These changes to the build tool also imply that the saving process is now independent of the
+content of the preview window, meaning you don't have to rebuild the preview before saving, which
+was previously the case. To make this more consistent, the PDF export option has been moved to the
+print button as it is actually a print-to-file feature under the hood, not technically a proper PDF
+export format. It is exactly the same as printing to file from the print preview dialog.
+
+In addition to the changes to the export features, the Build Novel Project tool now also has
+controls for line height, which applies to all rich text export formats, and the option to replace
+unicode characters with appropriate html entities for html export.
+
+#### Document Layout Automation
+
+Among other changes in this release are a few improvements to the process of creating and changing
+documents. When a new document is first created, the header is generated from the assigned label
+and layout. For some document layouts, when the user changes the header level of the first header
+of the document, the document layout setting is updated accordingly. This should reduce the need
+for the user to maintain two ways of assigning the role of a given document. This automation only
+applies to combinations of header level and current document layouts where there is no ambiguity.
+For instance, changing the header level in a "Scene" document from level 3 to 2 changes the
+document layout automatically to "Chapter". But changing the first header of a "Book" layout
+document from 1 to 2 does not change the document's layout as the "Book" layout is a generic
+document layout.
+
+Keep in mind that novelWriter treats documents with layout "Book", "Chapter" and "Scene" exactly
+the same during exports. The distinction is only meant as a way to indicate the purpose of a
+document in the project tree. This new automation is meant to assist in keeping this information up
+to date. The other layouts do have an effect on formatting during export and are generally left
+alone.
+
+#### The Session Timer and Idle Time
+
+Another change that has been requested by a couple of users is to have the session timer in the
+status bar stop counting when the user is inactive. This feature is optional, and can be controlled
+from Preferences. The definition of idle here is either that the user is active in a different
+application than novelWriter (loss of focus) or that the user has not made any changes to the
+document open in the editor for a given amount of time. The time threshold is by default five
+minutes, but can be altered in Preferences.
+
+In addition, the idle time is also recorded in the session log, and can be viewed in the Writing
+Statistics dialog and exported with the rest of the information. The idle time is recorder in the
+logs regardless of whether the status bar clock displays this information or not.
+
+#### Other Changes
+
+A small additional feature added is also the ability to undo the last move of an item in the
+project tree. The keyboard shortcut for this is `Ctrl+Shift+Z`, or it can be accessed from the
+menu. The feature can only undo the last move, but it includes both documents moved to trash, moves
+by up/down keypress or menu entries, and drag and drop moves.
+
+Lastly, a new keyword has been added to mark characters in the story. The new keyword is intended
+to tag a character as the focus character for a chapter or scene. This is useful for stories where
+the point-of-view character and the focus character are different.
+
+### Detailed Changelog
+
+**New Features**
+
+* A full Open Document exporter has been written and added for the Build Novel Project tool. This
+ replaces the previously used Qt Save to ODT which just saved the content of the preview window to
+ an ODT file. The Qt pathway was very limited and didn't generate proper formatting classes. The
+ new export class can generate both full `.odt` and flat XML `.fodt` files. The formatting support
+ of this exporter is equivalent or better than the HTML5 exporter, which was previously the best
+ supported option. Solves issue #611. PRs #607, #652, #660, and #654.
+* A full Markdown exporter has been written and added for the Build Novel Project tool. This too
+ replaces a Qt feature that was used to save the content of the preview window into a markdown
+ file. The exporter allows for both standard markdown and GitHub flavour markdown. The only
+ relevant difference being that the latter allows strikethrough text. Issue #617. PR #650.
+* The Build Novel Project tool now has a "Line height" property that is applied to the preview, and
+ to the HTML5 and Open Document export formats. Discussion #653. Issue #654. PR #660.
+* The Build Novel Project tool now has an option to convert Unicode characters to HTML entities on
+ export to HTML5. Previously, some symbols were converted while others were not. This option
+ provides a more consistent "all or nothing" option. PR #660.
+* The last file or folder move in the project tree can now be undone from the Project menu or by
+ pressing `Ctrl+Shift+Z`. PR #632.
+* When a document header level is altered in a novel file of layout type Scene, Chapter,
+ Unnumbered, or Partition, and that document is saved, the document's layout setting as seen in
+ the project tree is updated to reflect the new level of that heading. This helps reduce the
+ duplication of effort by the user to keep this information in sync. See discussion #613. This is
+ an acceptable solution to #614. Issue #618. PR #620.
+* The session timer now records the amount of time the user is idle. Idle is defined to be when the
+ application window does not have focus, and when the user hasn't made any changes to the document
+ open in the editor for a specified amount of time. The default is 5 minutes. The idle time is
+ recorded to the session log and can be shown in Writing Statistics. Optionally, the status bar
+ session timer can also be set to pause when the user is considered idle. Issues #606 and #651.
+ PRs #656 and #661.
+* It is now possible to tag a character as the focus character for a give section of text. This is
+ useful for cases where the point-of-view character differs from the main character of the story,
+ or the part of the story. Issue #605. PR #662.
+
+**User Interface**
+
+* A document's class and layout is now displayed next to its status or importance in the document
+ editor footer bar. PR #628.
+* When a new document is created, the header of the file is automatically generated based on the
+ document's tree label, and the level determined by the selected layout. Issue #530. PR #628.
+* On the Build Novel Project GUI, the PDF option has been moved from the "Save As" button to the
+ "Print" button. This more accurately reflects what it actually does: print the content of the
+ preview to a PDF using the printer pathway. This also means that all remaining items on the "Save
+ As" dropdown list now can be executed regardless of the content of the preview window. They all
+ run their own separate build process. This resolves #611. PR #650.
+* Export to plain text has been dropped. PR #617.
+
+**Code Improvements**
+
+* The index class now scans every element of the loaded index cache before accepting it. This means
+ that any unrecognised content will trigger a full re-indexing. This is particularly useful when
+ opening an index that was saved by a later release. Every entry that requires a lookup is checked
+ to avoid potential key errors for instance. All values are also checked for correct data type.
+ The new check is extensive, but still fast enough that it only adds a few milliseconds to the
+ startup time. PR #619.
+
+**Code Maintenance**
+
+* Cleaned up some redundant code after PR #637. PR #638.
----
diff --git a/docs/source/conf.py b/docs/source/conf.py
index eb35d492..71bded54 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.2"
# The full version, including alpha/beta/rc tags
-release = "1.2-alpha0"
+release = "1.2-beta1"
# -- General configuration ---------------------------------------------------
diff --git a/nw/__init__.py b/nw/__init__.py
index 26a7bb60..7aeb7da2 100644
--- a/nw/__init__.py
+++ b/nw/__init__.py
@@ -1,28 +1,27 @@
# -*- coding: utf-8 -*-
-"""novelWriter Init
+"""
+novelWriter – Init File
+=======================
+Application initialisation
- novelWriter – Init File
-=========================
- Application initialisation
+File History:
+Created: 2018-09-22 [0.0.1]
- File History:
- Created: 2018-09-22 [0.0.1]
+This file is a part of novelWriter
+Copyright 2018–2021, Veronica Berglyd Olsen
- This file is a part of novelWriter
- Copyright 2018–2021, Veronica Berglyd Olsen
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see
Released on 7 February 2021
-The main change in this release is the addition of a new tab to the project tree on the left -side of the main window. The regular project tree is now on a tab named "Project", while a new tab -named "Novel" displays a simpler version of the information on the main "Outline" page. It lists -all the headers of the novel part of the project, as well as the word count and point-of-view -character of each section. This is an alternative way to navigate the novel part of the project. -The various tree views are now also kept better in sync when the user selects various documents and -headers.
-In addition, a new information dialog named "Project Details" has been added. It replaces the -"Details" tab in "Project Settings", and adds more information about the novel part of the project. -In particular, a "Table of Contents" in the "Contents" tab displays a summary of the main parts -and chapters of the project, their total word counts, and an estimated page count. This was made in -response to users asking for ways to estimate the total page count of the project. The page count -is estimated based on a words per page setting, which can be changed on the dialog window.
-Since the tabs below the project tree now add some extra room on the GUI, some convenient -buttons have been added in the same area, with direct access to "Project Details", "Writing -Statistics" and "Project Setting".
-A few other minor changes have been made as well. The Preferences dialog has been improved with -clearer categories and hopefully better help text. Some new options have been added too. They allow -syntax highlighting of multi-paragraph quotes. The highlighter can now optionally accept quotes to -be left "hanging", that is, no closing quote in the same paragraph.
+Released on 11 February 2021
+This release is a beta release of 1.2. The release is intended for testing of new features. +There is a higher risk of encountering bugs in a beta release than a final release, so be extra +careful with backups if used on active writing projects.
+ +The main changes in this release are to the Build Novel Project tool. The Open Document export, +as well as the Markdown export, is now handled entirely by code written for novelWriter. +Previously, these export features depended on the underlying Qt library's save routines connected +to the preview document shown in the build dialog. Using this method of export both meant that the +content of the document was dependent on the preview being generated, and that the exported +document had limited support for novelWriter-specific features and custom formatting. The new +export tool should generate a much better result, especially for the Open Document formats. The +Open Document standard is supported by Open Office, Libre Office, Google Docs, Microsoft Word, and +probably a number of other applications too. The Markdown export hasn't changed a lot, but should +be a slight improvement on the previous export feature.
+These changes to the build tool also imply that the saving process is now independent of the +content of the preview window, meaning you don't have to rebuild the preview before saving, which +was previously the case. To make this more consistent, the PDF export option has been moved to the +print button as it is actually a print-to-file feature under the hood, not technically a proper PDF +export format. It is exactly the same as printing to file from the print preview dialog.
+In addition to the changes to the export features, the Build Novel Project tool now also has +controls for line height, which applies to all rich text export formats, and the option to replace +unicode characters with appropriate html entities for html export.
+ +Among other changes in this release are a few improvements to the process of creating and +changing documents. When a new document is first created, the header is generated from the assigned +label and layout. For some document layouts, when the user changes the header level of the first +header of the document, the document layout setting is updated accordingly. This should reduce the +need for the user to maintain two ways of assigning the role of a given document. This automation +only applies to combinations of header level and current document layouts where there is no +ambiguity. For instance, changing the header level in a "Scene" document from level 3 to 2 changes +the document layout automatically to "Chapter". But changing the first header of a "Book" layout +document from 1 to 2 does not change the document's layout as the "Book" layout is a generic +document layout.
+Keep in mind that novelWriter treats documents with layout "Book", "Chapter" and "Scene" exactly +the same during exports. The distinction is only meant as a way to indicate the purpose of a +document in the project tree. This new automation is meant to assist in keeping this information up +to date. The other layouts do have an effect on formatting during export and are generally left +alone.
+ +Another change that has been requested by a couple of users is to have the session timer in the +status bar stop counting when the user is inactive. This feature is optional, and can be controlled +from Preferences. The definition of idle here is either that the user is active in a different +application than novelWriter (loss of focus) or that the user has not made any changes to the +document open in the editor for a given amount of time. The time threshold is by default five +minutes, but can be altered in Preferences.
+In addition, the idle time is also recorded in the session log, and can be viewed in the Writing +Statistics dialog and exported with the rest of the information. The idle time is recorder in the +logs regardless of whether the status bar clock displays this information or not.
+ +A small additional feature added is also the ability to undo the last move of an item in the +project tree. The keyboard shortcut for this is Ctrl+Shift+Z, or it can be accessed from the +menu. The feature can only undo the last move, but it includes both documents moved to trash, moves +by up/down keypress or menu entries, and drag and drop moves.
+Lastly, a new keyword has been added to mark characters in the story. The new keyword is +intended to tag a character as the focus character for a chapter or scene. This is useful for +stories where the point-of-view character and the focus character are different.
The full changelog is available here.
diff --git a/nw/assets/text/release_notes_1.1.htm b/nw/assets/text/release_notes_1.1.htm new file mode 100644 index 00000000..92506344 --- /dev/null +++ b/nw/assets/text/release_notes_1.1.htm @@ -0,0 +1,32 @@ + + + + +Released on 7 February 2021
+The main change in this release is the addition of a new tab to the project tree on the left +side of the main window. The regular project tree is now on a tab named "Project", while a new tab +named "Novel" displays a simpler version of the information on the main "Outline" page. It lists +all the headers of the novel part of the project, as well as the word count and point-of-view +character of each section. This is an alternative way to navigate the novel part of the project. +The various tree views are now also kept better in sync when the user selects various documents and +headers.
+In addition, a new information dialog named "Project Details" has been added. It replaces the +"Details" tab in "Project Settings", and adds more information about the novel part of the project. +In particular, a "Table of Contents" in the "Contents" tab displays a summary of the main parts +and chapters of the project, their total word counts, and an estimated page count. This was made in +response to users asking for ways to estimate the total page count of the project. The page count +is estimated based on a words per page setting, which can be changed on the dialog window.
+Since the tabs below the project tree now add some extra room on the GUI, some convenient +buttons have been added in the same area, with direct access to "Project Details", "Writing +Statistics" and "Project Setting".
+A few other minor changes have been made as well. The Preferences dialog has been improved with +clearer categories and hopefully better help text. Some new options have been added too. They allow +syntax highlighting of multi-paragraph quotes. The highlighter can now optionally accept quotes to +be left "hanging", that is, no closing quote in the same paragraph.
+ +The full changelog is available +here.
+ + + diff --git a/sample/nwProject.nwx b/sample/nwProject.nwx index 9fc95dda..3e1756e3 100644 --- a/sample/nwProject.nwx +++ b/sample/nwProject.nwx @@ -1,13 +1,13 @@ -