Changes
Packaging
- Package is now on [**PyPI**](https://pypi.org/project/gallery-dl-server/0.7.0/) and is installable via `pip install gallery-dl-server` or `pip install gallery-dl-server[full]` for installation with optional dependencies
- Support command-line arguments as well as environment variables when run as a package from the command line
- When the package is installed and not in the current working directory, create the log file in the user's home directory
- When not installed, create the logs directory in the current working directory instead of the parent directory of the package
Dependencies
- New optional dependencies: `brotli` for Brotli content encoding support, `mkvmerge` for accurate Ugoira frame timecodes, `mutagen` for embedding metadata and thumbnails in certain formats, and `pycryptodomex` to decrypt AES-128 HLS streams and other forms of data
- Update requirements.txt and add relevant environment markers: add `AMD64` platform marker to ensure that Uvicorn's Cython-based dependencies are installed on 64-bit Windows systems, add `brotlicffi` as an optional dependency and add `cpython` implementation markers to improve compatibility with PyPy and other non-CPython implementations
- Add `toml` as a dependency for Python <= 3.10 to ensure compatibility with Python 3.10
- `PyYAML` and `toml` are now optional dependencies that will only be imported when a YAML or TOML configuration file is found
Configuration and Logging
- Attempt to load configuration file only if the file exists at the given path and capture OSError log messages during loading
- Add log messages in case of missing imports when loading configuration files
- Strip whitespace from log messages in more places to avoid logging empty lines
Web UI
- Style improvements, fixes and enhancements
- Colour correction: make colours appear lighter and slightly more vibrant while preserving colour harmony
- Update icons with corrected colour and slightly larger font
- Change main page title from `gallery-dl` to `gallery-dl-server`
- Add navigation bar and a new page for viewing logs with links to view the plain text or save as a file
- Scroll page automatically when increasing the vertical height of the embedded logs box
Connectivity and Backend
- Use a WebSocket connection to stream logs after an initial HTTP fetch to avoid constant fetch requests
- Override Uvicorn's `SIGINT` and `SIGTERM` signal handlers on startup to enable WebSocket connections to be closed before Uvicorn initiates its own exit procedure for a graceful shutdown
- Exception handling for functions that read the log file to prevent the application from crashing when the log file is deleted
Docker Image: [GitHub Container Registry](https://github.com/users/qx6ghqkz/packages/container/gallery-dl-server/345458040?tag=0.7.0) / [Docker Hub](https://hub.docker.com/r/qx6ghqkz/gallery-dl-server/tags?name=0.7.0)
**Full Changelog**: https://github.com/qx6ghqkz/gallery-dl-server/compare/v0.6.1...v0.7.0