diff --git a/CHANGELOG.md b/CHANGELOG.md index a06ac4f..2d5abfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,458 +7,472 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] -- Add support for more sites +- Add support for more sites + +## [2.4.0] - 2024-02-01 + +### Fixed + +- Some issues with Python3.8 compatibility + +### Changed + +- Moved build system from woodpecker-ci to gitea actions +- Updated some dependencies +- Updated the docker image +- Switched from formatter/linter `black` to `ruff` +- Switches typing from `pyright` to `mypy` ## [2.3.1] - 2023-03-12 ### Added -- Added TypedDicts for type checkers and type annotation +- Added TypedDicts for type checkers and type annotation ### Fixed -- Fixed some typos in the README +- 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 +- 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](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 +- Metadata is now added to each chapter. Schema + standard: [https://anansi-project.github.io/docs/comicinfo/schemas/v2.0](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 +- 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 +- 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 +- 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) +- First version of the chapter cache (very basic functionality) ### Fixed -- Fixed all exception re-raises to include the original stack trace +- Fixed all exception re-raises to include the original stack trace ### Changed -- Simplified chapter download loop +- 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` +- 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 +- 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 +- 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 +- 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 +- `--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 +- 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 +- 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 +- Integrate logging logs to loguru via custom sink +- Simplify docker shell scripts ## [2.2.15] - 2022-12-29 ### Added -- `--warn` and `--loglevel` flags +- `--warn` and `--loglevel` flags ### Removed -- Remove `--lean` and `--verbose` flags and remove custom log levels +- Remove `--lean` and `--verbose` flags and remove custom log levels ### Changed -- Move from standard library logging to [loguru](https://loguru.readthedocs.io/en/stable/index.html) -- Move from standard library argparse to [click](https://click.palletsprojects.com/en/8.1.x/) +- Move from standard library logging to [loguru](https://loguru.readthedocs.io/en/stable/index.html) +- Move from standard library argparse to [click](https://click.palletsprojects.com/en/8.1.x/) ## [2.2.14] - 2022-10-06 ### Changed -- Changed logging format to ISO 8601 -- Small logging corrections +- 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_ +- 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) +- 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 +- 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` +- 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`) +- 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 +- 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](docker/README.md) for the new environment variables -- `autoflake` test in `justfile` -- Some more things which get logged +- Options to configure the default schedule in the docker container via environment variables +- Section the the docker [README.md](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 +- **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 +- Removed some unused files ### Added -- `logger.py` for all log related settings and functions +- `logger.py` for all log related settings and functions ### Changed -- Logging of output. The script now uses the `logging` library +- 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 +- Timeouts in tests, due to api limitations. Now added a wait time between tests +- Pytest path ### Added -- `--lean` flag for less output -- [justfile](https://github.com/casey/just) for setting up a dev environment and testing the code -- [asdf](https://github.com/asdf-vm/asdf) for version management -- Dev requirements in [contrib/requirements_dev.txt](contrib/requirements_dev.txt) -- `README` in [contrib](contrib) +- `--lean` flag for less output +- [justfile](https://github.com/casey/just) for setting up a dev environment and testing the code +- [asdf](https://github.com/asdf-vm/asdf) for version management +- Dev requirements in [contrib/requirements_dev.txt](contrib/requirements_dev.txt) +- `README` in [contrib](contrib) ### 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](pyproject.toml) +- 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](pyproject.toml) ## [2.1.8] - 2022-06-22 ### Fixed -- Interactive input +- Interactive input ## [2.1.7] - 2022-06-22 ### Added -- tox version testing -- New pre-release tests -- Build info's with hatch -- [Pypi](https://pypi.org/project/manga-dlp/) build with hatch -- Pypi section in `README.md` -- [Snyk](https://app.snyk.io/org/olofvndrhr-t6h/project/aae9609d-a4e4-41f8-b1ac-f2561b2ad4e3) test results - in `README.md` +- tox version testing +- New pre-release tests +- Build info's with hatch +- [Pypi](https://pypi.org/project/manga-dlp/) build with hatch +- Pypi section in `README.md` +- [Snyk](https://app.snyk.io/org/olofvndrhr-t6h/project/aae9609d-a4e4-41f8-b1ac-f2561b2ad4e3) 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` +- 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 +- 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 +- 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 +- 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] +- Image names now have a suffix, as some comic readers have problems with no + suffix [fixes issue #2] ### Added -- `--format` section in the README +- `--format` section in the README ## [2.1.4] - 2022-05-29 ### Fixed -- Docker container now works again -- Fixed cron in docker container +- Docker container now works again +- Fixed cron in docker container ### Changed -- Docker container scheduling is now more practical +- 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` +- 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 +- 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()` +- 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 +- List chapters when none were specified +- Typos ### Added -- Ability to download whole volumes +- Ability to download whole volumes ### Changed -- Moved processing of list with links to input.py -- Updated README for volume and chapter selection +- 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 +- Progress bar on verbose output +- Sonarqube link for CI +- A few typos +- Removed unnecessary escapes from file rename regex ### Added -- API template +- API template ### Changed -- Updated docker baseimage -- Rewrote app.py to a class +- 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 +- 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 +- 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 +- 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 +- 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 +- 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 +- 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 +- Better error handling on "KeyboardInterrupt" +- Release notes now fixed ### Added -- New test cases +- New test cases ## [2.0.4] - 2022-05-10 ### Added -- New test cases for more coverage -- Github release -- Updated docker baseimage +- 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 +- Test cases now work again +- Sonarqube settings ### Added -- Coverage report in sonarqube -- Gitea release +- 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 +- 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 +- 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 +- Quick start section in README +- Preperation for pypi ## [2.0.0] - 2022-05-09 ### Fixed -- Support for new mangadex api +- Support for new mangadex api ### Changed -- Code is now formatted with [black](https://github.com/psf/black) -- Now also supports just the uuid for managex (not a full link) +- Code is now formatted with [black](https://github.com/psf/black) +- Now also supports just the uuid for managex (not a full link)