manga-dlp/CHANGELOG.md
Ivan Schaller 987f72715c
Some checks failed
ci/woodpecker/pr/tests Pipeline was successful
ci/woodpecker/pr/test_docker_amd64 Pipeline was successful
ci/woodpecker/pr/test_docker_arm64 Pipeline was successful
ci/woodpecker/pr/test_release Pipeline was successful
ci/woodpecker/pr/test_tox_arm64 Pipeline failed
ci/woodpecker/pr/test_tox_amd64 Pipeline failed
update release date [CI SKIP]
Signed-off-by: Ivan Schaller <ivan@schaller.sh>
2023-03-12 00:32:37 +01:00

11 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

  • Add support for more sites

[2.3.1] - 2023-03-12

Added

  • Added TypedDicts for type checkers and type annotation

Fixed

  • Fixed some typos in the README

Changed

  • Switched from pylint/pylama/isort/autoflake to ruff
  • Switched from mypy to pyright and added strict type checking
  • Updated the api template

[2.3.0] - 2023-02-15

Added

  • Metadata is now added to each chapter. Schema standard: https://anansi-project.github.io/docs/comicinfo/schemas/v2.0
  • Added xmltodict as a package requirement
  • Cache now also saves the manga title
  • New tests
  • More typo annotations for function, compatible with python3.8
  • File format checker if you use the MangaDLP class directly

Fixed

  • API template typos
  • Some useless type annotations

Changed

  • Simplified the chapter info generation
  • Updated the license year
  • Updated the API template
  • Updated the API detection and removed it from the MangaDLP class

[2.2.20] - 2023-02-12

Fixed

  • Script now doesn't exit if multiple mangas were requested and one had an error

[2.2.19] - 2023-02-11

Added

  • First version of the chapter cache (very basic functionality)

Fixed

  • Fixed all exception re-raises to include the original stack trace

Changed

  • Simplified chapter download loop

[2.2.18] - 2023-01-21

Fixed

  • Fixed manga titles on non english language
  • Fixed title & filename fixing to not use ascii but uft8

Added

  • Fallback title to english of none was found in requested language
  • More debug logs
  • More tests

Changed

  • Now uses the first found alt-title. Before it was the last
  • Removed sys.exit in the api

[2.2.17] - 2023-01-15

Fixed

  • Set a timeout of 10 seconds for the api requests

Added

  • --name-format and --name-format-none flags to add a custom naming scheme for the downloaded files. See docs: https://manga-dlp.ivn.sh/download/
  • More debug log messages
  • More tests for the custom naming scheme
  • More type hints

Changed

  • Make --format a click.Choice option
  • In the --format option the leading dot is now invalid. --format .cbz -> --format cbz
  • Changed empty values from the api from None to an empty string
  • Minor code readability improvements

[2.2.16] - 2022-12-30

Fixed

  • Log level is now fixed and should not default to 0
  • Docker schedule should now work again

Changed

  • Integrate logging logs to loguru via custom sink
  • Simplify docker shell scripts

[2.2.15] - 2022-12-29

Added

  • --warn and --loglevel flags

Removed

  • Remove --lean and --verbose flags and remove custom log levels

Changed

  • Move from standard library logging to loguru
  • Move from standard library argparse to click

[2.2.14] - 2022-10-06

Changed

  • Changed logging format to ISO 8601
  • Small logging corrections

[2.2.13] - 2022-08-15

Added

  • Option to run custom hooks before and after each chapter/manga download
  • Tests for the new hooks
  • Docs for the new hooks
  • Tests for mkdocs generation

Changed

  • Verbose and Debug logging now have a space as a seperator between log level-name and log-level
  • APIs now have an attribute with their name (for the hooks) - api.api_name
  • Docs moved to Cloudflare pages (generated with mkdocs)

[2.1.12] - 2022-07-25

Fixed

  • Image publishing with hatch on pypi should now work again
  • The schedule fixer for the new .sh schedule should now work correctly

Added

  • More CI tests: pylint, pylama and autoflake
  • New function in get_release_notes.sh to get the latest version
  • Docstrings for MangaDLP and the api module Mangadex

Changed

  • CI workflow is now faster and runs natively on arm64 (before it was buildx/emulation)
  • Pylint/pylama code improvements
  • Version management is now done with hatch (in __about__.py)

[2.1.11] - 2022-07-18

Fixed

  • The --read option now filters empty lines, so it will not generate an error anymore
  • An error which was caused by the interactive input method when you did not specify a chapter or to list them
  • Some typos

Added

  • Options to configure the default schedule in the docker container via environment variables
  • Section the the docker README.md for the new environment variables
  • autoflake test in justfile
  • Some more things which get logged

Changed

  • BREAKING: renamed the default schedule from daily to daily.sh. Don't forget to fix your bind-mounts to overwrite the default schedule
  • Added the .sh suffix to the s6 init scripts for better compatibility
  • Adjusted the new logging implementation. It shows now more info about the module the log is from, and some other improvements

[2.1.10] - 2022-07-14

Fixed

  • Removed some unused files

Added

  • logger.py for all log related settings and functions

Changed

  • Logging of output. The script now uses the logging library

[2.1.9] - 2022-06-26

Fixed

  • Timeouts in tests, due to api limitations. Now added a wait time between tests
  • Pytest path

Added

Changed

  • Handling of verbosity and logging. Now there are 4 types of verbosity: normal, lean, verbose and debug
  • CI/CD pipeline for testing and releases
  • Coverage testing now also done with tox
  • Default verbosity of docker container is now --lean
  • Reorganised pyproject.toml

[2.1.8] - 2022-06-22

Fixed

  • Interactive input

[2.1.7] - 2022-06-22

Added

  • tox version testing
  • New pre-release tests
  • Build info's with hatch
  • Pypi build with hatch
  • Pypi section in README.md
  • Snyk test results in README.md

Changed

  • Moved code from manga-dlp.py to input.py for uniformity
  • The default entrypoint is now mangadlp.input:main

[2.1.6] - 2022-06-21

Fixed

  • Docker labels are now working
  • Global variables are now fully uppercase
  • Some errors with static types

Added

  • bump2version config for releases
  • More tests with: mypy and isort
  • New issue templates

Changed

  • Release workflow now is based on configuration files
  • Switched from setup.py to pyproject.toml
  • README.md now has sorted badges
  • Imports are now sorted with isort
  • Static types are now checked with mypy
  • Release note generation is now simplified

[2.1.5] - 2022-06-18

Fixed

  • Image names now have a suffix, as some comic readers have problems with no suffix [fixes issue #2]

Added

  • --format section in the README

[2.1.4] - 2022-05-29

Fixed

  • Docker container now works again
  • Fixed cron in docker container

Changed

  • Docker container scheduling is now more practical

[2.1.3] - 2022-05-29

Fixed

  • Error-chapters and skipped-chapters list are now shown again
  • The Interactive input version now matches --version

Added

  • Ability to list chapters with interactive input

Changed

  • Replace exit() with sys.exit()
  • Renamed class methods to not look like dunder methods
  • Script execution moved from os.system() to subprocess.call()

[2.1.2] - 2022-05-20

Fixed

  • List chapters when none were specified
  • Typos

Added

  • Ability to download whole volumes

Changed

  • Moved processing of list with links to input.py
  • Updated README for volume and chapter selection

[2.1.1] - 2022-05-18

Fixed

  • Progress bar on verbose output
  • Sonarqube link for CI
  • A few typos
  • Removed unnecessary escapes from file rename regex

Added

  • API template

Changed

  • Updated docker baseimage
  • Rewrote app.py to a class

[2.1.0] - 2022-05-16

Fixed

  • Detection of files. Now it will skip them again

Added

  • Ability to save the chapters as pdf (only on amd64/x86)
  • New output formats: rar, zip
  • Progress bar to show image download
  • Interactive input if no command line flags are given
  • Better KeyboardInterrupt handling
  • Better error handling
  • Removed duplicate code

Changed

  • How the variables are used inside the script
  • Variables have now the same name as in other scripts (mostly)
  • Better retrying when a task fails

[2.0.8] - 2022-05-13

Changed

  • Rewrote parts of script to be easier to maintain
  • Moved the input script to the base folder
  • Moved all arguments to a class
  • Docker container creation

[2.0.7] - 2022-05-13

Changed

  • Changed CI/CD Platform from Drone-CI to Woodpecker-CI
  • Release title is now only the version

[2.0.6] - 2022-05-11

Fixed

  • Filenames on windows (ntfs). Removed double quote from file and folder names

[2.0.5] - 2022-05-11

Fixed

  • Better error handling on "KeyboardInterrupt"
  • Release notes now fixed

Added

  • New test cases

[2.0.4] - 2022-05-10

Added

  • New test cases for more coverage
  • Github release
  • Updated docker baseimage

[2.0.3] - 2022-05-10

Fixed

  • Test cases now work again
  • Sonarqube settings

Added

  • Coverage report in sonarqube
  • Gitea release

[2.0.2] - 2022-05-09

Fixed

  • Restart failed api requests
  • Added wait time for image gathering, as to stop api rate limiting from mangadex
  • "--wait" options now works properly again

[2.0.1] - 2022-05-09

Fixed

  • Regex for removing illegal characters in the filenames now doesn't remove quotes
  • Updated docker baseimage and fixed the mangadlp tag in it
  • Update license for 2022

Added

  • Quick start section in README
  • Preperation for pypi

[2.0.0] - 2022-05-09

Fixed

  • Support for new mangadex api

Changed

  • Code is now formatted with black
  • Now also supports just the uuid for managex (not a full link)