summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorWolfgang Müller2025-02-24 18:54:13 +0100
committerWolfgang Müller2025-02-24 18:54:13 +0100
commit6c116f03d0b233f7ac8e348b8d49e6a0178b1f45 (patch)
tree20ca9b5ffa8c7ef58564ad803a4d14e3a2a436a8
parent9548152c3e948e2737f442045f7dd967bcd7ee4f (diff)
downloadhircine-0.4.0.tar.gz
release: Version 0.4.0 "Profligate Pixie"0.4.0
-rw-r--r--docs/advanced/api.rst14
-rw-r--r--docs/changelog.rst58
-rw-r--r--docs/setup.rst4
-rw-r--r--frontend/package-lock.json4
-rw-r--r--frontend/package.json2
-rw-r--r--frontend/src/lib/Meta.ts2
-rw-r--r--poetry.lock2
-rw-r--r--pyproject.toml2
-rw-r--r--src/hircine/__init__.py2
9 files changed, 81 insertions, 9 deletions
diff --git a/docs/advanced/api.rst b/docs/advanced/api.rst
index 61f6d01..f5e0e47 100644
--- a/docs/advanced/api.rst
+++ b/docs/advanced/api.rst
@@ -12,3 +12,17 @@ Versioning
**hircine** uses `Semantic Versioning <https://semver.org>`_. The *public API*
consists of both the frontend (command-line interface and web application) and
the backend (GraphQL API and plugin infrastructure).
+
+Breaking changes
+----------------
+
+.. _api-breaking-0.4.0:
+
+0.4.0
+^^^^^
+
+- With the addition of filtering on association counts in
+ :commit:`9c460c6db7e6a4e7f8ed3e8d93032c7ef070efee`, the old ``empty`` field on
+ ``AssociationFilter`` is now obsolete. Instead use the ``count`` field and
+ match on a ``value`` of ``0`` with the ``EQUAL`` operator (which is the
+ default).
diff --git a/docs/changelog.rst b/docs/changelog.rst
index e2dba1d..a5e4243 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -1,6 +1,64 @@
Changelog
=========
+0.4.0 "Profligate Pixie"
+------------------------
+
+- hircine now runs on `Svelte 5 <https://svelte.dev/blog/svelte-5-is-alive>`_.
+ See :commit:`dc4db405d2991d3ec6a114f3b08d3fccd057d3ee`,
+ :commit:`3f6bd71aaac4277d046485fe8ea2a791ea089cd8`, and
+ :commit:`e0bce6b5780ccceb90ba6aec5593dc5f6100447b`.
+- hircine now runs on `Tailwind 4.0
+ <https://tailwindcss.com/blog/tailwindcss-v4>`_. See
+ :commit:`1421152a9356c7def86143dfb31a3586d5491d55`.
+- The GraphQL API now supports advanced filtering on association counts,
+ i.e. values describing how many items are linked to a specific association
+ (the amount of Artists tagged on a Comic, for example). See
+ :commit:`9c460c6db7e6a4e7f8ed3e8d93032c7ef070efee`.
+
+ This is a **breaking change** for the GraphQL API. For detailed information,
+ see :ref:`breaking API changes in 0.4.0 <api-breaking-0.4.0>`.
+- Sort options have been expanded to include all reasonable association counts.
+ See :commit:`c6bf35aea63969b90463d6e70cb02ed61e4e3270`.
+- Orphaned associations (e.g. Artists that are not tagged on any Comic) can now
+ be filtered. See :commit:`8e9aa5f6286a15c818a47344fc80964f5288bb52`.
+- Frequently accessed shortcuts have been streamlined to only require the hand
+ on the left side of the keyboard. Additionally, all filter fields are now
+ focusable with a shortcut. See
+ :commit:`b028f5337ed8525e29247974636f9e7757900f65` and :doc:`/usage/shortcuts`.
+- Comic and Archive cards now show some metadata information in the footer. See
+ :commit:`361f506cd3677f61d2203ff91fab70ba3a1c5851`.
+- The reader's page indicator has been improved. See
+ :commit:`6bc3ca7032c78c77a6e2b316789938221d686d8b`.
+- The reader can now be put into fullscreen mode. See
+ :commit:`f90f3604cf161a82336ed1f81967933adedfeb96`.
+- Mismatched image sizes when showing double pages no longer cause the smaller
+ image to appear squished. See
+ :commit:`2177d004c88d1daccc9ae4808dc75b66eb0f2d3a`.
+- Comics may now be filtered by URL. See
+ :commit:`747eea878eb4b22def2d5a60d711402d79d1b3ff`.
+- The frontpage no longer randomizes the "Favourites" and "Bookmarks" selection
+ every time. Instead, the selection is updated every day. See
+ :commit:`bbf03cbc2822094cffe868e0710d2a8f7e1096c0`.
+- The filter toolbar now expands automatically when filters are present. See
+ :commit:`fc92c14cc47e90f997813156905369a2652dc4b8`.
+- Opening tagged comics is now also possible when ctrl-clicking metadata
+ cardlets. See :commit:`618f72b31d57ac17f475dbe983a31627cff3b96e`.
+- The reader now preloads up to two images in both forward and backward
+ direction. See :commit:`341fc19d4b7e9d8fb8b9a9d72377cf36565f2f2e`.
+- The reader now no longer shows a loading indicator. See
+ :commit:`cf817a050a82b526ad230d2677f23f2efd7f3455`.
+- A basic statistics page is now available. See
+ :commit:`261ceaa057742fc70c52885021221d7a89c28af7` and
+ :commit:`91cfd5d306aedb4bdcc1c4045611bee7d2270462`.
+- :class:`~hircine.plugins.scrapers.anchira.AnchiraYamlScraper` now also matches
+ on hentainexus.com.
+- A scraper for `info.yaml` files from schale.network is now available. See
+ :commit:`22fd0e2b1b117e78529c9f562cab79da4c02797e`.
+- Lots of miscellaneous UI consistency, tabbing, and focus fixes. Updates for
+ both JavaScript and Python dependencies. For the full list of changes, see
+ `the 0.4.0 log <https://git.oriole.systems/hircine/log/?qt=range&q=0.3.0..0.4.0>`_.
+
0.3.0
-----
diff --git a/docs/setup.rst b/docs/setup.rst
index 51ec383..388e262 100644
--- a/docs/setup.rst
+++ b/docs/setup.rst
@@ -43,7 +43,7 @@ Installation
``VENVDIR``.
Once the environment is set up, download the `latest wheel
-<https://hircine.oriole.systems/dist/hircine-0.3.0-py3-none-any.whl>`_ and
+<https://hircine.oriole.systems/dist/hircine-0.4.0-py3-none-any.whl>`_ and
install it using `pip <https://pip.pypa.io/en/stable/>`_:
.. code-block:: console
@@ -55,7 +55,7 @@ Now the ``hircine`` command is available from within your shell:
.. code-block:: console
(.venv) $ hircine version
- hircine 0.3.0 "Satanic Satyr"
+ hircine 0.4.0 "Profligate Pixie"
.. important::
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 7eca843..79aa2be 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "hircine",
- "version": "0.3.0",
+ "version": "0.4.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "hircine",
- "version": "0.3.0",
+ "version": "0.4.0",
"license": "ISC",
"dependencies": {
"@jsonurl/jsonurl": "^1.1.8",
diff --git a/frontend/package.json b/frontend/package.json
index e46a537..e9fd0c6 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -1,6 +1,6 @@
{
"name": "hircine",
- "version": "0.3.0",
+ "version": "0.4.0",
"license": "ISC",
"private": true,
"scripts": {
diff --git a/frontend/src/lib/Meta.ts b/frontend/src/lib/Meta.ts
index 8cfad6b..24012cb 100644
--- a/frontend/src/lib/Meta.ts
+++ b/frontend/src/lib/Meta.ts
@@ -1 +1 @@
-export const codename = 'Satanic Satyr';
+export const codename = 'Profligate Pixie';
diff --git a/poetry.lock b/poetry.lock
index fb8db1b..fac7e4b 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1426,7 +1426,7 @@ files = [
[package.dependencies]
aiosqlite = {version = "*", optional = true, markers = "extra == \"aiosqlite\""}
greenlet = [
- {version = "!=0.4.17", optional = true, markers = "python_version < \"3.14\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\") or extra == \"asyncio\" or extra == \"aiosqlite\""},
+ {version = "!=0.4.17", markers = "python_version < \"3.14\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"},
{version = "!=0.4.17", optional = true, markers = "python_version < \"3.14\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\") or extra == \"asyncio\" or extra == \"aiosqlite\""},
]
typing-extensions = [
diff --git a/pyproject.toml b/pyproject.toml
index 5e5b2e3..ca9baaa 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "hircine"
-version = "0.3.0"
+version = "0.4.0"
description = "A web-based comic organizer"
authors = ["Wolfgang Müller <wolf@oriole.systems>"]
license = "ISC"
diff --git a/src/hircine/__init__.py b/src/hircine/__init__.py
index 38b969d..935742b 100644
--- a/src/hircine/__init__.py
+++ b/src/hircine/__init__.py
@@ -1 +1 @@
-codename = "Satanic Satyr"
+codename = "Profligate Pixie"