Skip to content

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

View on GitHub


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

View on GitHub


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

View on GitHub


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

View on GitHub


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

View on GitHub


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

View on GitHub


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

View on GitHub


Release v1.0.0

Released: July 10, 2025 | Tag: v1.0.0

Initial Release

  • Initial release of TrueLink library

View on GitHub