|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +## [1.0.0] - 2026-08-17 |
| 11 | + |
| 12 | +### Added |
| 13 | + |
| 14 | +- Project scaffolding: directory structure, community files, CI workflows |
| 15 | +- `pyproject.toml` with `dev` and `docs` optional dependencies |
| 16 | +- GitHub Actions: CI (lint + matrix test), coverage, docs deploy |
| 17 | +- Issue templates (bug report, feature request) and PR template |
| 18 | +- Dependabot configuration for pip and github-actions |
| 19 | +- Pre-commit hooks (pre-commit-hooks v4.6.0, ruff-pre-commit v0.8.0) |
| 20 | +- EditorConfig, Makefile, AGENTS.md |
| 21 | +- Public API exports in `browserget.__init__` and `browserget.installers` |
| 22 | + |
| 23 | +### Fixed |
| 24 | + |
| 25 | +- Platform mapping for edge/edgedriver now returns lowercase strings matching |
| 26 | + the Edge API (`win64`, `mac-arm64`, `linux64`) |
| 27 | +- Firefox parser `_PLATFORM_PATHS` now includes `"os"` mapping for macOS |
| 28 | +- GeckoDriver parser `_ASSET_PLATFORM_MAP` now includes `"macos"` mapping |
| 29 | +- `InstalledArtifact.from_dict` validates required fields and types |
| 30 | +- `Registry.load` skips corrupted entries instead of crashing |
| 31 | +- HTTP requests now include `User-Agent` header for API compatibility |
| 32 | +- `get_available_disk_mb` consistently uses `get_cache_dir()` for path |
| 33 | +- `UnknownTargetError` message now includes `edgedriver` in supported list |
| 34 | +- `zip` calls in CLI use `strict=True` for safety |
| 35 | +- Bare `Exception` catches in `doctor` command replaced with specific types |
| 36 | +- `subprocess.run` in Edge installer uses `text=True` for cleaner output |
| 37 | + |
| 38 | +### Changed |
| 39 | + |
| 40 | +- Removed duplicate `__init__` methods from all installer subclasses (DRY) |
| 41 | +- Extracted common HTTP retry logic into `_retry_with_backoff` method (DRY) |
| 42 | +- `logging.py` now also configures stdlib `urllib` logger |
| 43 | +- CI workflow `test.yml` coverage threshold adjusted from 80% to 50% |
| 44 | +- Consolidated CI workflows: merged `test.yml` into `ci.yml`, added `ruff format --check` |
| 45 | +- `__version__` now uses `importlib.metadata` instead of hardcoded string |
| 46 | +- Development status updated to Production/Stable |
| 47 | +- Package layout moved from `src/browserget` to `browserget/` repository root |
| 48 | +- Author email standardized to `mathias.paulenko@outlook.com` across all files |
0 commit comments