Skip to content

Version 2027.1.0 [BETA 2]

Pre-release
Pre-release

Choose a tag to compare

@anonymous44401 anonymous44401 released this 29 May 12:19
6643f22

Release Notes

Version 2027.1.0 [BETA 2] (Launched on 29/05/2026 for all modes).

This release introduces full support for the Next Generation Realtime Trains API, replacing the legacy API implementation.

Warning

Multiple Breaking Changes

Unfortunately, due to the API data requirements changing, we've had to make a number of internal code changes to support these.

These include:

  • Advanced mode has been removed since the data provided by the API is too basic to warrant a different mode for it.
  • Complexity modes are now literals. Their names have been changed - for example, s.n is now simple_normal.
  • Some data within objects has been changed to better reflect the data of the API.
  • The date format has changed from YYYY/MM/DD to YYYY-MM-DD. Time format has remained unchanged.
  • The get_arrivals and get_station methods have been removed since the API doesn't support an arrivals request anymore. The get_departures method now features the same functionality as the previous get_station method.
  • The get_departures method now has filter_from and filter_to fields.
  • The username and password parameters have been replaced with request_token.

We apologise for any inconvenience these changes have made.

Check out the source code for this release.

Please note that the wiki is not updated for this version. If you're unsure about anything, open a discussion or create an issue.

Code Changes:

  • New features

    • Added new error handlers
    • Added support for the next generation RTT API
    • Added three customisation options for Live Boards:
      • LCD (Liquid Crystal Display) - default
      • DMI (Yellow) (Display Machine Interface - Yellow)
      • DMI (White) (Display Machine Interface - White)
    • Changed empty classes to data classes
    • Implemented literals
  • Code Enhancements

    • Added a link to the wiki inside method information
    • Added a new access token generator
    • Moved error handling for validation into utilities.py
    • Added filter_from and filter_to parameters
    • Complexity modes are now literals
    • Modes for get_live are literals
    • Moved setting up complex mode to a separate method
  • Error Handling

  • Performance Improvements

    • Removed some duplicated code
  • Refactoring

    • Minor code updates
    • Removed some unneeded code
    • Removed status codes from return data
    • Updated display order in details.py
    • Updated example code and example data
    • Updated return types
    • Updated some code that could return errors
    • Updated some comments
    • Updated type notation

Wiki Changes:

  • Added contents pages to some pages
  • Added new documentation for error handling
  • Removed documentation for get_arrivals and get_station
  • Updated complexity documentation
  • Updated documentation for get_departures, get_service & get_live
  • Various QOL updates to the Wiki
  • Various readability updates to documentation
  • Various spelling & grammar changes

Other Changes:

  • Updated example code
  • Updated supported versions

Bugs

Fixes:

  • Fixed a bug causing methods to crash in example code snippets.

Awaiting Allocation:

  • None

What's Changed

Full Changelog: v2025.3.3...v2027.1.0-beta.2

Other associated releases

Version 2026.1.0 was cancelled, so beta versions of version 2026.1.0 are included as associated releases.

How to Solve Problems from Breaking Changes

Advanced mode removed

rtt = RealtimeTrainsPy(
    request_token="YOUR_REQUEST_TOKEN", # 
    complexity="a"
    #           ^ change the "a" to "s"
)

Date format has changed

2026/05/2026
#   ^  ^ 
#   Change to "-" instead

Complexity Modes: Literals

complexity="s"      # now complexity="simple"
complexity="s.n"    # now complexity="simple_normal"
complexity="c"      # now complexity="complex"

Data Within Objects Changed

Check individual documentation for each method for any changes.

The get_arrivals and get_station methods removed

get_arrivals()
#   ^^^^^^^^ 
#   Change to "departures" instead

get_station()
#   ^^^^^^^
#   Change to "departures" instead

The get_departures method now has filter_from and filter_to fields.

...filter="SVG"...
#  ^^^^^^
#  Change any current filters to filter_to

username and password parameters have been replaced

rtt = RealtimeTrainsPy(
    request_token="YOUR_REQUEST_TOKEN",
#   ^^^^^^^^^^^^^
#   Remove old password and username fields
    complexity="s.n"
)