Changelog
All notable changes to this project will be documented in this file.
Release v1.4.0
Released: July 29, 2025 | Tag: v1.4.0
Summary by Sourcery
Standardize CI workflows by adopting uv for dependency management in documentation builds, extend formatting workflow triggers, and set up development tooling and security policies
CI:
- Use astral-sh/setup-uv to install uv and switch pip cache and install steps to use uv in the docs workflow
- Add pull_request trigger to the format workflow and rename the checkout step
Documentation:
- Add SECURITY.md with supported versions and vulnerability reporting guidelines
Tests:
- Introduce pre-commit configuration with YAML, whitespace, and ruff hooks
- Add dev optional dependencies (pre-commit and ruff) to pyproject.toml
Chores:
- Add NOTICE file
Release v1.3.2
Released: July 24, 2025 | Tag: v1.3.2
Summary by Sourcery
Simplify and unify dark theme CSS, refactor resolvers for consistent exception handling and path logic using helper methods and pathlib, update documentation with a new resolver guide and Code of Conduct, adjust project metadata and lint settings, and refine tests to expect specific exception types
Enhancements:
- Consolidate and simplify dark theme CSS rules across documentation with fewer selectors
- Standardize exception handling in all resolvers via helper methods and specific error messages
- Migrate path operations from os.path to pathlib for cleaner file path handling
- Refactor github_releases macro to streamline control flow and handle specific exception types
- Update project URLs in pyproject.toml to point to GitHub Pages
- Enable all lint rules in Ruff config and ignore select codes
- Consistently format and punctuate docstrings across the codebase
Documentation:
- Add "How to Add a New Resolver" guide and link it in navigation
- Add Code of Conduct and update README community section
- Update mkdocs theme accent color and restructure navigation
Tests:
- Expect UnsupportedProviderException for unsupported links and simplify supported-link test with contextlib.suppress
Release v1.3.1
Released: July 22, 2025 | Tag: v1.3.1
Summary by Sourcery
Enhance StreamtapeResolver to support an additional domain and improve extraction reliability through automatic domain fallback
New Features:
- Add support for watchadsontape.com in the StreamtapeResolver domain list
Enhancements:
- Implement a fallback mechanism that retries failed requests using streamtape.net
- Update referer headers to reflect the active domain for direct video URL requests
Release v1.3.0
Released: July 20, 2025 | Tag: v1.3.0
Summary by Sourcery
Implement proxy support in the link resolver core, enhance and expand test coverage, clean up obsolete resolver modules, and update documentation and CI scripts.
New Features:
- Enable proxy parameter in TrueLinkResolver and propagate it to BaseResolver HTTP sessions
Enhancements:
- Remove deprecated resolver modules and clean up resolver registry imports
- Add pytest.ini to include the src directory in the test path
CI:
- Update GitHub Actions release note extraction to use awk for dashed line removal and refine heading formatting
Documentation:
- Add a PR Completion Guide to contributing.md
- Remove the outdated "Not Working" section from index.md
- Add a GitHub issue template under .github/ISSUE_TEMPLATE.md
Tests:
- Enhance link resolution tests with detailed type and attribute assertions, add tests for unsupported links, and skip the flaky Mediafire file test
Chores:
- Delete obsolete resolver files: devuploads, doodstream, filepress, krakenfiles, uploadhaven, and wetransfer
Release v1.2.1
Released: July 19, 2025 | Tag: v1.2.1
Summary by Sourcery
Enable dynamic resolver discovery and caching in TrueLinkResolver, refactor domain handling, enhance type safety, update documentation and CI formatting, and add comprehensive tests.
New Features:
- Add dynamic auto-registration of resolver classes via DOMAINS attributes
- Introduce optional caching in TrueLinkResolver.resolve with a use_cache flag
- Expose is_supported and get_supported_domains as static methods
Enhancements:
- Refactor resolver mapping to eliminate hardcoded lists and cache resolver instances
- Add DOMAINS declarations and strengthen type hints across core, resolvers, and docs macros
- Bump library version to 1.2.1 and refine CI workflow to format release notes
Documentation:
- Document caching usage and static support/domain methods in README and getting-started guide
- Add type annotations and improve docstrings in docs macros
Tests:
- Add unit tests for caching behavior, supported domain detection, and core resolver functionality
- Include async tests for MediaFire and Terabox resolvers
Release v1.2.0
Released: July 19, 2025 | Tag: v1.2.0
Summary by Sourcery
Streamline MIME type guessing, enhance MediaFire URL extraction, and ship a full MkDocs documentation site with automated GitHub Pages deployment.
New Features:
- Replace the old MimeTypes class with a single guess_type function driven by built-in suffix, encoding, and type maps
- Add robust MediaFire resolver methods for decoding scrambled download links and scraping files inside folders
Enhancements:
- Simplify GitHub workflow for release note generation to use only the latest commit body
- Update README with PyPI badges, type-hint badge, and styling tweaks
- Expand data class docstrings for LinkResult, FileItem, and FolderResult with attribute details and examples
Build:
- Adjust pyproject.toml dependencies (remove unused packages and define docs extras)
CI:
- Revise build_and_push workflow to capture only the last commit body for release notes
- Introduce a new GitHub Actions workflow to build and deploy documentation to GitHub Pages
Deployment:
- Automate MkDocs site deployment via actions/deploy-pages
Documentation:
- Add comprehensive MkDocs configuration, documentation pages (installation, usage, API reference, etc.), custom CSS theme, and macros for changelog
Chores:
- Bump package version to 1.2.0
Release v1.1.0
Released: July 15, 2025 | Tag: v1.1.0
Summary by Sourcery
Add comprehensive MIME type support and mime_type propagation to all resolvers, refactor content fetching and error handling patterns, introduce configurable timeouts and retries in the core resolver, add Ranoz.gg support, and clean up deprecated providers.
New Features:
- Add MIME type guessing module for Python<3.14 and integrate mime_type field across LinkResult and FileItem
- Introduce configurable timeout and retry logic in TrueLinkResolver
- Add support for Ranoz.gg resolver
Bug Fixes:
- Correct maintainer email in pyproject.toml
- Ensure error messages and password prompts format consistently
- Handle missing href and invalid URLs more robustly
Enhancements:
- Refactor BaseResolver session management and add helpers for filename extraction
- Unify HTTP content fetching in MediaFire, LinkBox, GoFile, and YandexDisk resolvers and streamline API call patterns
- Standardize mime_type handling and signature of _fetch_file_details in all resolvers
- Remove deprecated HxFile and Qiwi resolvers and tidy supported domains list
Build:
- Add flake8-annotations to lint configuration
Documentation:
- Update README to include mime_type field example and bump version to 1.1.0
Chores:
- Bump package version to 1.1.0
- Mark remaining unimplemented resolvers as TODO
Release v1.0.0
Released: July 10, 2025 | Tag: v1.0.0
Initial Release
- Initial release of TrueLink library