CHANGELOG¶
v0.6.0 (2026-04-07)¶
Chores¶
- deps: Bump aiohttp from 3.13.3 to 3.13.4
(
24b513c)
--- updated-dependencies: - dependency-name: aiohttp dependency-version: 3.13.4
dependency-type: direct:production ...
Signed-off-by: dependabot[bot] support@github.com
- deps: Bump requests from 2.32.5 to 2.33.0
(
0e47556)
Bumps requests from 2.32.5 to 2.33.0. - Release notes - Changelog - Commits
--- updated-dependencies: - dependency-name: requests dependency-version: 2.33.0
dependency-type: indirect ...
Signed-off-by: dependabot[bot] support@github.com
Features¶
- Truncate
(
f1d70f6)
v0.5.1 (2026-04-06)¶
Bug Fixes¶
- Remove Py 3.10, add 3.14
(
51b5cb9)
v0.5.0 (2026-04-06)¶
Chores¶
- deps: Bump tornado from 6.5.4 to 6.5.5
(
49e0d7b)
Bumps tornado from 6.5.4 to 6.5.5. - Changelog - Commits
--- updated-dependencies: - dependency-name: tornado dependency-version: 6.5.5
dependency-type: indirect ...
Signed-off-by: dependabot[bot] support@github.com
Documentation¶
- Add AGENTS.md project knowledge base
(
d1a63e4)
Features¶
- Import from CSV export
(
4e569a2)
v0.4.2 (2026-03-04)¶
Bug Fixes¶
- Support auth
(
fbdcf71)
Chores¶
- Format
(
9e71ff4)
v0.4.1 (2026-03-04)¶
Bug Fixes¶
- Handle API errors
(
e676c5b)
Documentation¶
Add extensive documentation covering all aspects of the RepeaterBook library:
- getting-started.md: Complete tutorial for beginners with quick start examples - usage.md: Comprehensive usage guide covering API client, database operations, geographic queries, frequency filtering, digital modes, and data export - architecture.md: Technical architecture documentation with diagrams, data flow explanations, design decisions, and extensibility guide - examples.md: Real-world examples including web apps, codeplug generation, coverage maps, statistics dashboards, travel planning, and network analysis - faq.md: Extensive FAQ covering installation, usage, performance, troubleshooting, and integration questions - README.md: Enhanced with better introduction, features list, quick example, and clear navigation to all documentation sections - mkdocs.yml: Updated navigation structure to include all new documentation pages
This significantly improves the developer experience by providing clear, comprehensive documentation with practical examples for common use cases.
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
- fix: regenerate corrupted uv.lock file
The uv.lock file had a corruption with typing-extensions dependency missing source field. Regenerated the lock file to resolve the issue.
- fix: correct all field names and API usage in documentation examples
Fixed all code examples across documentation to use correct field names and proper API patterns:
- Changed LatLon(latitude=, longitude=) to LatLon(lat=, lon=) - Updated field names to match actual model: - location → location_nearest_city - input_ctcss → pl_ctcss_uplink - output_ctcss → pl_ctcss_tsq_downlink - p25_capable → apco_p_25_capable - p25_nac → p_25_nac - Fixed distance handling: filter_radius() returns sorted repeaters but doesn't add distance attribute, must calculate manually with haversine - Changed states= to state_ids= in ExportQuery - Removed references to non-existent fields (input_dcs, output_dcs, nxdn_ran, trustee) - Fixed emergency services to use actual fields (ares, races, skywarn, canwarn) instead of non-existent Emergency.YES/NO enum - Removed incorrect rb.session usage
All examples now work correctly with the actual codebase.
-
fix: infinite CI
-
chore: update cruft
-
build(CI): fix pre-commit
-
chore: cruft update
-
docs: update documentation for v0.4.0 features
-
Updated API configuration to use max_cache_age (timedelta) instead of cache_ttl - Added documentation for custom exceptions: - RepeaterBookError (base) - RepeaterBookAPIError - RepeaterBookValidationError - RepeaterBookCacheError - Documented model validation (latitude, longitude, frequency) - Added error handling examples to usage guide and FAQ - Added timedelta, haversine, frozenset to wordlist
-
Changed LatLon(latitude=, longitude=) to LatLon(lat=, lon=) - Removed non-existent .distance attribute access - Added inline haversine calculation for distance display - filter_radius() returns sorted repeaters without distance attribute
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
-
fix: remove non-existent field references and update API patterns
-
Remove rep.network references (field doesn't exist in Repeater model) - Update cache_ttl to max_cache_age (timedelta) in examples - Fix filter_radius documentation to not set repeater.distance - Fix square_bounds call signature - Rename Example 7 from network analysis to DMR analysis
-
fix: use FIPS codes for state_ids instead of state names
The state_ids parameter requires numeric FIPS codes (e.g., "06" for California, "48" for Texas), not state names. Updated all documentation examples to use correct FIPS codes.
Examples: - California: "06" - Nevada: "32" - Oregon: "41" - Washington: "53" - Texas: "48" - Oklahoma: "40" - New Mexico: "35" - Florida: "12" - Arizona: "04" - Utah: "49"
- fix: use keyword argument for RepeaterBook database parameter
RepeaterBook's first positional arg is working_dir, not database. Fixed all examples to use database= keyword argument.
Also removed incorrect :memory: example - the current implementation doesn't support in-memory databases as it always constructs a file path.
- chore: mkdocs cfg place
Co-authored-by: Claude Sonnet 4.5 noreply@anthropic.com
v0.4.0 (2026-02-04)¶
Features¶
-
feat: comprehensive codebase improvements
-
Add custom exception classes (RepeaterBookError, RepeaterBookAPIError, RepeaterBookCacheError, RepeaterBookValidationError) - Enable North America endpoint in urls_export() - Fix cache race conditions with atomic write pattern - Add model validation for latitude, longitude, and frequency fields - Replace MD5 with SHA256 for cache key generation - Make configuration injectable (max_cache_age, max_count) - Remove commented-out operating_mode field - Improve type safety with explanatory comments for casts - Optimize cache stat calls (single stat instead of exists + stat)
Test suite expansion: - Add test_exceptions.py for exception hierarchy - Add test_services.py for services module - Add test_models.py for model validation - Add test_queries.py for query builders - Add test_database.py for database operations - Add test_utils.py for utility functions - Expand test_repeaterbook.py for public API
Total: 108 tests passing
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
- feat: add smart routing for NA/ROW endpoints
Implement intelligent endpoint routing in urls_export(): - NA-specific fields (state_id, county, emcomm, stype) route to NA only - ROW-specific fields (region) route to ROW only - NA countries (US, Canada, Mexico) route to NA only - ROW countries route to ROW only - Mixed or common-only queries route to both
This prevents redundant API calls and avoids unfiltered queries that could return thousands of irrelevant results.
Added tests for all routing scenarios.
- test: add comprehensive smart routing integration tests
Add live API integration tests to verify smart routing behavior: - NA-only queries (state_id) route to export.php only - ROW-only queries (region) route to exportROW.php only - NA country queries route to NA endpoint - ROW country queries route to ROW endpoint - Mixed country queries route to both endpoints - Empty queries route to both endpoints - Mode-only queries route to both endpoints
Also fix linting warnings (use next(iter()) instead of list()[0]).
Co-authored-by: Claude Opus 4.5 noreply@anthropic.com
v0.3.0 (2026-02-03)¶
Chores¶
--- updated-dependencies: - dependency-name: aiohttp dependency-version: 3.13.3
dependency-type: direct:production ...
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] 49699333+dependabot[bot]@users.noreply.github.com
Bumps filelock from 3.18.0 to 3.20.3. - Release notes - Changelog - Commits
--- updated-dependencies: - dependency-name: filelock dependency-version: 3.20.3
dependency-type: indirect ...
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] 49699333+dependabot[bot]@users.noreply.github.com
Bumps urllib3 from 2.3.0 to 2.6.3. - Release notes - Changelog - Commits
--- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.6.3
dependency-type: indirect ...
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] 49699333+dependabot[bot]@users.noreply.github.com
Bumps virtualenv from 20.29.3 to 20.36.1. - Release notes - Changelog - Commits
--- updated-dependencies: - dependency-name: virtualenv dependency-version: 20.36.1
dependency-type: direct:production ...
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] 49699333+dependabot[bot]@users.noreply.github.com
Features¶
Testing¶
-
test: add offline cache tests and opt-in live API integration tests
-
refactor: fix linting and type checking issues in tests
-
Add missing init.py to tests/integration/ package - Replace Any with proper StdPath type annotations for tmp_path - Add missing docstring to test function - Fix line length violations (88 char limit) - Use more specific type:ignore[union-attr] for mypy - Extract magic number to named constant - Move pathlib imports to TYPE_CHECKING block
All linting (ruff) and type checking (mypy) now pass.
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
-
refactor(tests): extract local server fixture and clean up test code
-
Add local_server fixture in conftest.py to reduce test duplication - Simplify _live_enabled() with case-insensitive comparison - Move pycountry import to module level in test_live_api.py - Extract _NA_SAMPLE_SIZE constant for magic number 200 - Fix import organization (blank lines after TYPE_CHECKING blocks)
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Co-authored-by: Claude Sonnet 4.5 noreply@anthropic.com
v0.2.2 (2026-01-31)¶
Bug Fixes¶
-
fix: tolerate RepeaterBook API drift (sponsor, NA fields, empty Use)
-
refactor: simplify Region parsing (use .get)
-
refactor: add b() helper for Yes/No + 1/0 fields
v0.2.1 (2025-04-09)¶
Chores¶
- Links
(
1d93cdb)
v0.2.0 (2025-04-08)¶
Bug Fixes¶
- Use
and_forsquarequery (9c09b5e)
Features¶
- Queries
(
78972e5)
v0.1.1 (2025-04-03)¶
Bug Fixes¶
- Merge instead of add to local DB
(
f6dfcbf)
Chores¶
v0.1.0 (2025-03-31)¶
Features¶
- Initial release
(
2a257dd)