Skip to content

Latest commit

 

History

History
430 lines (258 loc) · 35.8 KB

File metadata and controls

430 lines (258 loc) · 35.8 KB

Changelog / Release notes

(14 April 2026)

Notable changes since 1.0.4:

  • Refactoring & maintenance:
    • Pandas 4.0 compatibility: Updated select_dtypes to include the 'string' extension type and removed deprecated silent downcasting option contexts (#79).
    • PyHelpers alignment: Upgraded dependency to pyhelpers >=2.4.0, <2.5.0 (#83).
    • Changed metadata loading by replacing pkgutil with importlib.resources.
    • Optimised _stanox_note() logic for parsing of Pseudo STANOX markers and complex bracketed notes.
  • Bug fixes:
    • Fixed a failure in get_last_updated_date() by normalising request URLs to lowercase (#77).
    • Resolved TypeError in _parse_node_connection and _uncouple_elr_mileage by implementing pd.isna() checks for missing node data (#78).
    • Adjusted text length heuristics in the ELR-Mileage parser to reduce false-positive data extraction.
  • Test & CI enhancements:
    • Migrated from unittest.mock to pytest-mocker for more idiomatic and readable unit tests.
    • Updated requirements.txt to include pytest-mock, resolving CI fixture errors.

For more information and detailed specifications, check out the PyRCS 1.1.0 documentation.

(30 December 2025)

Notable changes since 1.0.3:

  • Bug fixes:
    • Resolved TypeError in Depots.fetch_codes() by updating stale header mappings for TOPS/GWR codes (#67).
    • Fixed parsing bugs in Tunnels._parse_length and refined connection error reporting formatting.
    • Standardised error-raising logic and file path generation in _Base._make_file_pathname.
  • Test enhancements:
    • Significantly expanded unit test coverage across core modules: Stations, Tunnels, Viaducts, ELRMileages, Features, and SigBoxes.
    • Refactored TestLOR and test_get_keys_to_prefixes to use dynamic validation instead of hardcoded values for improved robustness (#66).
  • Refactoring & maintenance:
    • Converted defaultdict outputs to standard dict for cleaner API returns.
    • Refined data update workflows for OtherAssets and ELRMileages.
    • Updated project metadata, affiliation in Sphinx configuration, and quick-start.rst.
    • Updated requirements.txt for core and documentation dependencies.

For more information and detailed specifications, check out the PyRCS 1.0.4 documentation.

(28 November 2025)

Notable changes since 1.0.2:

  • Bug fixes:
    • Fixed 'Station' KeyError in Stations.collect_locations() due to missing column before sorting (#52).
    • Fixed ConnectionError handling in get_introduction() to properly respect the raise_error parameter and updated tests (#54).
    • Resolved TypeError: 'NoneType' object is not iterable in fetch_codes by revising GWR data processing (#56).
    • Fixed TypeError in viaduct data processing by adding null checks in _prep_records to handle missing anchor tags in HTML tables (#58).
    • Fixed incomplete data collection in get_site_map() (#61).
  • Packaging & maintenance:
    • Bumped minimum required Python version to 3.12.
    • Updated requirements.txt.

For more information and detailed specifications, check out the PyRCS 1.0.3 documentation.

(12 July 2025)

Notable changes since 1.0.1:

  • Bug fixes:
    • Fixed LocationIdentifiers.collect_notes() logic and improve test coverage (#44).
    • Handled IndexError in get_introduction() for invalid URLs, add test case (#46)
  • Packaging & docs:
    • Removed setup.cfg and modified pyproject.toml
    • Updated requirements.txt, MANIFEST.in and Sphinx config
    • Improved doc templates and updated conf.py, quick-start.rst

For more information and detailed specifications, check out the PyRCS 1.0.2 documentation.

(19 March 2025)

Notable changes since 1.0.0:

  • Enhanced existing tests to improve coverage and reliability.
  • Fixed minor bugs.
  • Updated project requirements.

For more information and detailed specifications, check out the PyRCS 1.0.1 documentation.

(3 March 2025)

Notable changes since 0.3.7:

  • Major Release: Version 1.0.0 introduces significant improvements to both code and documentation.
    • Code enhancements: Optimised performance and refactored core modules for better readability and maintainability.
    • Bug fixes: Resolved various issues identified through practical use.
  • License Update: This release is now licensed under the MIT License, providing greater flexibility and usability.

For more information and detailed specifications, check out the PyRCS 1.0.0 documentation.

(16 September 2023)

Notable changes since 0.3.6:

For more information and detailed specifications, check out PyRCS 0.3.7 documentation.

(10 June 2023)

Notable changes since 0.3.5:

For more information and detailed specifications, check out PyRCS 0.3.6 documentation.

(26 February 2023)

Notable changes since 0.3.4:

For more information and detailed specifications, check out PyRCS 0.3.5 documentation.

(9 January 2023)

Notable changes since 0.3.3:

For more information and detailed specifications, check out PyRCS 0.3.4 documentation.

(15 November 2022)

Notable changes since 0.3.2:

For more information and detailed specifications, check out PyRCS 0.3.3 documentation.

(18 August 2022)

Notable changes since 0.3.1:

  • Fixed a few minor bugs.

For more information and detailed specifications, check out PyRCS 0.3.2 documentation.

(14 June 2022)

Notable changes since 0.3.0:

For more information and detailed specifications, check out PyRCS 0.3.1 documentation.

(16 May 2022)

Notable changes since 0.2.15:

  • Split the module old utils into three new modules: utils, converter and parser.
  • Made extensive modifications (with bug fixes).

For more information and detailed specifications, check out PyRCS 0.3.0 documentation.

(27 March 2021)

Notable changes since 0.2.14:

For more information and detailed specifications, check out PyRCS 0.2.15 documentation.

(22 March 2021)

Notable changes since 0.2.13:

For more information and detailed specifications, check out PyRCS 0.2.14 documentation.

(9 January 2021)

Notable changes since 0.2.12:

For more information and detailed specifications, check out PyRCS 0.2.13 documentation.

(11 November 2020)

Notable changes since 0.2.11:

For more information and detailed specifications, check out PyRCS 0.2.12 documentation.

(31 October 2020)

Notable changes since 0.2.10:

For more information and detailed specifications, check out PyRCS 0.2.11 documentation.

(25 October 2020)

Notable changes since 0.2.9:

For more information and detailed specifications, check out PyRCS 0.2.10 documentation.

(13 September 2020)

Notable changes since 0.2.8:

  • Updated pre-packed data

For more information and detailed specifications, check out PyRCS 0.2.9 documentation.

(13 September 2020)

Notable changes since 0.2.7:

For more information and detailed specifications, check out PyRCS 0.2.8 documentation.

(18 July 2020)

Notable changes since 0.2.6:

(8 March 2020)

Notable changes since 0.2.5:

(10 January 2020)

Notable changes since 0.2.4:

(4 December 2019)

Notable changes since 0.2.3:

  • Removed the module settings.
  • Updated import statements in some modules/sub-modules due to changes in their dependencies.
  • Made some modifications to a few sub-modules due to changes in the corresponding web pages of the Railway Codes website.

(4 October 2019)

Notable changes since 0.2.2:

(27 September 2019)

Notable changes since 0.2.1:

(18 September 2019)

Notable changes since 0.2.0:

(29 August 2019)

This is a release of a brand-new version.

Note that the initial releases (of early versions up to 0.1.28) had been permanently deleted.