Skip to content

Releases: manwar/Map-Tube

Release v5.1.0

Choose a tag to compare

@manwar manwar released this 10 Jul 17:06
This release is only possible because of help from @GWS.

- A new function has been added that allows for limitations on the
  links of a station. The station has an attribute called "link,"
  which now refers to a specific link limited to certain lines.
  For instance, link="A:x,C" reveals that the link to station A can
  run only on line "x" even if the stations claim to be using more
  than one common line. If more than one link is forbidden from
  operating on one particular line, the lines are separated by pipes
  like this link="A:x|y,C." The previous links will not change as
  there are no additional signs. The invalid id will trigger
  Map::Tube::Exception::InvalidStationLineId.

- The function get_shortest_route() is updated to accept line
  limitations of individual links. As a result, a link becomes
  charged for using a link that travels on a line which is not
  included in its limitations.

- get_next_stations() and get_linked_stations now accept an optional
  $line_name parameter, allowing users to inquire "what is
  specifically linked to this station on this line" in a way that
  enforces link-by-link restrictions, as opposed to simply returning
  all physically linked neighbors regardless of the line.

- The preferred() method of Map::Tube::Route also considers link
  restrictions when determining the ride line(s) to display for each
  segment, in accordance with the cost logic of get_shortest_route()
  (verifiable via t/02-preferred.t on a map that employs the new
  syntax).

- A flaw was fixed that caused an error to occur due to the reading
  of unset link restriction via chained hash dereferencing. Although
  this flaw did not affect routing results, it did lead to faulty
  deep object comparison in Test::Map::Tube's ok_map_routes(), which
  then resulted in passing spurious test failures on maps that do
  not even employ the new syntax (stated in t/ok_map_other_link.t
  and t/ok_map_common_lines.t).

Release v5.0.1

Choose a tag to compare

@manwar manwar released this 24 Jun 13:13
This release is only possible because of help from @GWS.

- The routing algorithm is line-change-aware now:
  when two candidate routes have the same number of stops, the one
  requiring fewer line changes is preferred. Each line change
  incurs a small fractional penalty (0.5) on top of the normal
  per-hop cost of 1, so hop count always dominates but unnecessary
  changes are avoided.
- Switched to dotted-decimal versioning (v-strings).

Release v4.10

Choose a tag to compare

@manwar manwar released this 13 May 11:40
This release prepared by @GWS.

- Removed is_tainted() and untaint_path() from Map::Utils
- Removed call to untaint_path() from Map::Tube::Utils
- Removed dependency on Path::Tiny
- Removed unit test t/ok_map_path_check.t
- Documented Map::Tube::Paris

Release v4.09

Choose a tag to compare

@manwar manwar released this 26 Apr 01:48
- Upgraded minimum Perl v5.14 for better Unicode support.

- Removed the use of Taint::Util
- Added methods untaint_path() and is_tainted() to Map::Tube::Utils
- Added unit test t/ok_map_path_check.t
- Tidied up unit test folder
- Used JSON::MaybeXS rather than JSON.

Release v4.08

Choose a tag to compare

@manwar manwar released this 22 Apr 19:06
- Added support for Unicode characters in station names.

- Added support for Unicode characters in line names.
- Added unit test for Unicode characters in station and line names.

Release v4.07

Choose a tag to compare

@manwar manwar released this 17 Apr 14:51
- Renamed Forked test to OtherLink test to be more explicit.

Release v4.06

Choose a tag to compare

@manwar manwar released this 15 Apr 16:25
- Proposed patch for this FAIL report, thanks Andreas J. Koenig.

  https://www.cpantesters.org/cpan/report/50dde750-1736-11f0-8297-ce01b18213f0

Release v4.05

Choose a tag to compare

@manwar manwar released this 02 Apr 16:39
- Updated doc about color names of line.

Release v4.04

Choose a tag to compare

@manwar manwar released this 29 Mar 05:57
- Fixed empty link issue, thanks @GWS.

Release v4.03

Choose a tag to compare

@manwar manwar released this 28 Mar 00:01
Thanks to @GWS for these changes:

- Fixed over-eager testing in Test::Map::Tube.
  (https://github.com/manwar/Map-Tube/issues/19)
- Fixed possibe infinite loop in _get_shortest_route( ).
  (https://github.com/manwar/Map-Tube/issues/18)
- Augmented test cases.
- Added documentation for available maps.