## Release Notes for 1.2

Released on 14 March 2021

This release is mainly focused on the Build Novel Project tool. Completely new export classes have been written to support Open Document and Markdown exports. In addition, the way document layouts are handled have been automated a little to assist the user in keeping header levels and document layout flags in sync. The third new additoion is the ability to record and log idle time during a writing session to improve the writing statistics information as requested by several users. Finally, it is now possible to directly edit the project dictionary via a new, simple GUI dialog.

### The Build Novel Project Tool

The main changes for 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 first, and it also meant that the exported document had limited support for novelWriter-specific features and custom formatting. The new export class 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.

In addition, 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 and it's perfectly reasonable for its first header to be a chapter header.

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 (idle). This feature is optional, and can be controlled from Preferences. The definition of "idle" in this context 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 current document 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 takes idle time into consideration or not. So even if you turn off the idle time switch in Preferences, the other idle time setting still affects the writing stats log entries.

### Other Changes

The user dictionary of the project, where words added to the dictionary from the document editor go, can now be viewed and edited with a new "Project Word List" tool in the "Tools" menu.

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.

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.

Lastly, two bugfixes have been made as well. The Empty Trash feature was no longer working due to an earlier fix solving another issue. The feature has now been restored. In addition, the indexer now checks that a keyword (tag or reference) is valid before saving it to the index. Previously, an invalid keyword could be saved to the index and potentially crash the application.

See also the Releases page.