Skip to content

Commit

Permalink
Release 2.3 beta 1
Browse files Browse the repository at this point in the history
  • Loading branch information
vkbo committed Feb 16, 2024
1 parent 9a6d8bc commit aa08802
Show file tree
Hide file tree
Showing 10 changed files with 210 additions and 16 deletions.
2 changes: 1 addition & 1 deletion publish.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash

make clean html
make html
rsync -avPh --delete build/html/ novelwriter.io:www/
62 changes: 61 additions & 1 deletion source/generated/download_pre_release.rst
Original file line number Diff line number Diff line change
@@ -1 +1,61 @@
*There is currently no pre-release available ...*
.. _AppImage website: https://appimage.org/
.. _Ubuntu: https://ubuntu.com/
.. _Debian: https://www.debian.org/
.. _Linux Mint: https://linuxmint.com/
.. _novelWriter Repository: https://github.com/vkbo/novelWriter/

| **Release Version:** Version 2.3 Beta 1
| **Release Date:** February 16, 2024
| **Release Notes:** :ref:`main_release_2_3`
| **GitHub Release:** :octicon:`mark-github` `GitHub <https://github.com/vkbo/novelWriter/releases/tag/v2.3b1>`__
Linux
-----

**AppImage**
The AppImage should run on any recent Linux distro. See the `AppImage website`_ for more info.

| **Download:** :octicon:`download` `novelWriter-2.3b1.AppImage <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelWriter-2.3b1.AppImage>`__ [ 95.2 MB ]
| **Checksum:** :octicon:`hash` ``252d810390f5c70decd5405b46fac515fa13755187968c5d4b6233f1af4997fa`` :octicon:`download` `ShaSum File <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelWriter-2.3b1.AppImage.sha256>`__
**AppImage (Legacy)**
For older Linux distros you may need to download this AppImage instead.

| **Download:** :octicon:`download` `novelWriter-2.3b1-oldlinux.AppImage <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelWriter-2.3b1-oldlinux.AppImage>`__ [ 94.9 MB ]
| **Checksum:** :octicon:`hash` ``d21225ef412f848ed6988370e73ffa30cd1e123775a0f98d59e036571615f414`` :octicon:`download` `ShaSum File <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelWriter-2.3b1-oldlinux.AppImage.sha256>`__

Windows
-------

**Setup Installer**
This is a standard setup installer for Windows. It is made for Windows 10 or newer.

| **Download:** :octicon:`download` `novelwriter-2.3b1-amd64-setup.exe <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelwriter-2.3b1-amd64-setup.exe>`__ [ 36.3 MB ]
| **Checksum:** :octicon:`hash` ``e7941cb0d46dd71779b1ab03b22b184a54654efd4f3af1bd675f2c9a623e1216`` :octicon:`download` `ShaSum File <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelwriter-2.3b1-amd64-setup.exe.sha256>`__

MacOS
-----

**DMG Image**
This is a DMG image for MacOS, and should work on at least MacOS 12 or higher.

| **Download:** :octicon:`download` `novelWriter-2.3b1.dmg <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelWriter-2.3b1.dmg>`__ [ 92.7 MB ]
| **Checksum:** :octicon:`hash` ``0cb2fa5e3c9574b34cd3870ade80691370fe32d800507ba19505105a2b84adac`` :octicon:`download` `ShaSum File <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelWriter-2.3b1.dmg.sha256>`__

Other Packages
--------------

**Python Wheel**
The Wheel package can be installed with ``pip install <file_path>``.

| **Download:** :octicon:`download` `novelWriter-2.3b1-py3-none-any.whl <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelWriter-2.3b1-py3-none-any.whl>`__ [ 3.73 MB ]
| **Checksum:** :octicon:`hash` ``1a5ba42b48219ecc9c417dd3dc3c8fb7504f082666a310c49e3a9df94b0d0f6c`` :octicon:`download` `ShaSum File <https://github.com/vkbo/novelWriter/releases/download/v2.3b1/novelWriter-2.3b1-py3-none-any.whl.sha256>`__
**Source Code**
The source code packages are archived files of the entire source code. See also the `novelWriter Repository`_.

| **Download:** :octicon:`download` `novelWriter-2.3b1.zip <https://api.github.com/repos/vkbo/novelWriter/zipball/v2.3b1>`__
| **Download:** :octicon:`download` `novelWriter-2.3b1.tar.gz <https://api.github.com/repos/vkbo/novelWriter/tarball/v2.3b1>`__
3 changes: 1 addition & 2 deletions source/generated/download_release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ MacOS
-----

**DMG Image**
This is a DMG image for MacOS, and should work on MacOS 10 or higher.
This is a DMG image for MacOS, and should work on at least MacOS 12 or higher.

| **Download:** :octicon:`download` `novelWriter-2.2.1.dmg <https://github.com/vkbo/novelWriter/releases/download/v2.2.1/novelWriter-2.2.1.dmg>`__ [ 92.2 MB ]
| **Checksum:** :octicon:`hash` ``b67101db1d0f358664370a40d1f7cfe25d02f160849d0de87261af3e7c0a6b96`` :octicon:`download` `ShaSum File <https://github.com/vkbo/novelWriter/releases/download/v2.2.1/novelWriter-2.2.1.dmg.sha256>`__
Expand All @@ -65,4 +65,3 @@ The source code packages are archived files of the entire source code. See also

| **Download:** :octicon:`download` `novelWriter-2.2.1.zip <https://api.github.com/repos/vkbo/novelWriter/zipball/v2.2.1>`__
| **Download:** :octicon:`download` `novelWriter-2.2.1.tar.gz <https://api.github.com/repos/vkbo/novelWriter/tarball/v2.2.1>`__
Binary file added source/releases/images/2_3_preferences.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/releases/images/2_3_templates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/releases/images/2_3_welcome_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/releases/images/2_3_welcome_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
137 changes: 135 additions & 2 deletions source/releases/release_2_3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,139 @@
Pre-Release 2.3 Beta 1
**********************

The next upcoming release of novelWriter is 2.3. The first pre-release will be 2.3 Beta 1.
| **Release Date:** February 16, 2024
You can follow the development progress on the `2.3 Beta 1 Milestone <https://github.com/vkbo/novelWriter/milestone/66>`__.
Release Notes
=============

.. attention::

This is a beta release of the next release version, and is intended for testing only. Please be careful when using this version
on live writing projects, and make sure you take frequent backups.


Welcome Dialog
--------------

.. image:: images/2_3_welcome_1.png
:width: 40%
:align: right

The first change you will notice when launching novelWriter 2.3 is the new **Welcome** dialog. It replaces both the old **Load
Project** dialog, as well as the **New Project Wizard**, and combines their functionality into one. You will also notice the amazing
artwork in the background, which has been created specially for novelWriter by `Louis Durrant <https://louisdurrant.art>`__.

The list of projects has gotten a cleaner design, but otherwise contains the same information as before. You can remove projects
from the list by right-clicking on them and selecting "Remove Project".

At the top of the dialog is also information about the current version of novelWriter, and a link to the releases page here on the
website. You can also query for information about the latest release by clicking the "Check Now" text. This replaces the old
**Check for Updates** dialog that used to be in the **Help** menu.

.. image:: images/2_3_welcome_2.png
:width: 40%
:align: right

The functionality that used to be on the **New Project Wizard** is now available when you click the "New Project" button. The
settings are mostly as before, but note that you can now also choose to create a project by copying an existing project. That
project can be a special project you've created to be a template project if you wish. It can also be a novelWriter project in a Zip
file, including one of your backups.

The **About novelWriter** dialog has been updated to a similar design as the **Welcome** dialog, with the same header and version
check capability. All the text tabs have been removed, aside from the credits. The release notes will no longer be available in the
About dialog. They are instead now only kept here on this website. This allows for better formatting of the notes, a capability the
in-app text box lacked.


Consistent Design
-----------------

.. image:: images/2_3_preferences.png
:width: 40%
:align: right

All of the dialogs in novelWriter that contain multiple pages of information or settings have been updated to a new layout and
design first introduced for the new **Manuscript** tool in 2.1.

Most importantly, perhaps, the **Preferences** dialog has been redesigned. All settings are now in a scrollable list, with quick
navigation along the left edge and a search box at the top. The new layout is also a lot more flexible in terms of text flow,
allowing for a better response to languages where text tend to run longer, like German.

In addition to **Preferences**, also the **Project Settings**, **Project Details**, and **Manuscript Build Settings** dialogs have
been updated to use a similar design.


New Features
------------

.. image:: images/2_3_templates.png
:width: 50%
:align: right

New design is not the only new stuff added in 2.3. A number of user-requested features have been added as well.

* A new root folder type called "Templates" is now available. Any document added to this folder will be available in the "Add Item"
menu. You can create a new document like you normally do, but selecting a template from the "From Template" submenu will populate
the new document with the content of the selected template.

* You can now insert the name of a scene or chapter's "Point of View" or "Focus" character directly into the title in the
**Manuscript** tool. They work just the same way as the other header formatting features from the 2.1 version, like automatic
chapter numbers. By default, the name inserted is the text of the ``@tag`` you specify in the character's note. However, if you
want the name to appear in a different way in the manuscript, you can set a "display name" after a ``|`` symbol:

.. code-block:: md
# Main Character: Jane
@tag: Jane | Jane Smith
* A new way to eliminate text you don't want to be included in the manuscript has been added. It's called "Ignore Text" in the
**Format** menu. Previously, you may have "commented out" text you wanted to exclude, but that's impractical if you actually want
your comments included in, say, a draft manuscript. If you instead use this ignore text format, the text will *never* be included
anywhere, regardless of other settings. The format differs only slightly from regular comments:

.. code-block:: md
### My Scene
% This is a comment I want included in my draft.
%~ This is a paragraph I want out of my text, but haven't yet decided to delete.
Just like regular comments, these also don't count towards your word count.


Other Improvements
------------------

Among other, smaller improvements are:

* You can now create regular documents and folders directly by right-clicking in the project tree. Root folders and template
documents must be created from the "Add Item" menu button still.
* You can change the label of a document in the project tree by right-clicking it and selecting "Rename to Heading", if there is a
heading in the document already.
* When multiple paragraphs are selected in the editor, activating one of the formatting commands in the **Format** menu starting
with "Toggle", will apply the formatting change to all selected text instead of just the first paragraph.
* You can now filter out tags from project notes set to "Inactive" in the little triple-dot menu in the **References** panel under
the document viewer.
* You can customise the format of the Document header in Open Document files created from the **Manuscript** tool from the
**Manuscript Build Settings** dialog.
* The words in the **Project Word List** can now be exported to a plain text file, and also imported from such a file. Only unique
words are imported.
* The content of the table in the **Project Outline** can be exported to a CSV file, which can then be imported as a spread sheet in
for instance Excel or Open Office Calc. The export is initiated from a new "Export CSV" button in the toolbar above the outline.


Next Pre-Release
----------------

The next upcoming pre-release of novelWriter 2.3 will be 2.3 RC 1.

You can follow the development progress on the `2.3 RC 1 Milestone <https://github.com/vkbo/novelWriter/milestone/72>`__.

Feedback for the 2.3 Beta 1 release can be posted on the `GitHub Discussions <https://github.com/vkbo/novelWriter/discussions/1699>`__ thread.

Download Links
==============

.. include:: ../generated/download_pre_release.rst
2 changes: 1 addition & 1 deletion tools/assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class AssetOS(Enum):
),
AssetType.MAC_DMG: (
"DMG Image",
"This is a DMG image for MacOS, and should work on MacOS 10 or higher."
"This is a DMG image for MacOS, and should work on at least MacOS 12 or higher."
),
AssetType.PYTHON_WHEEL: (
"Python Wheel",
Expand Down
20 changes: 11 additions & 9 deletions update.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,16 @@
from tools import DownloadAssets, Documentation, AssetType


def hexToInt(value: str, default: int = 0) -> int:
"""Convert a hex string to an integer."""
if isinstance(value, str):
try:
return int(value, 16)
except Exception:
return default
return default
def stripVersion(version: str) -> str:
"""Strip the pre-release part from a version number."""
if "a" in version:
return version.partition("a")[0]
elif "b" in version:
return version.partition("b")[0]
elif "rc" in version:
return version.partition("rc")[0]
else:
return version


def updateSetting(name: str, value: str) -> None:
Expand Down Expand Up @@ -170,7 +172,7 @@ def pullRelease(args):
releaseVersion = data.get("name", "Version ???")
releaseDate = data.get("published_at", "")
shortVersion = data.get("tag_name", "???").lstrip("v")
releaseRef = "main_release_" + "_".join(shortVersion.split(".")[:2])
releaseRef = "main_release_" + "_".join(stripVersion(shortVersion).split(".")[:2])
isPreRelease = data.get("prerelease", False)
tarBall = data.get("tarball_url", "")
zipBall = data.get("zipball_url", "")
Expand Down

0 comments on commit aa08802

Please sign in to comment.