Revision history for Map::Tube 4.10 2025-05-13T12:40:00+00:00 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 4.09 2025-04-26T02:50:00+00:00 - 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 - Tidied up unit test folder - Used JSON::MaybeXS rather than JSON. 4.08 2025-04-22T20:10:00+00:00 - 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. 4.07 2025-04-17T15:50:00+00:00 - Renamed Forked test to OtherLink test to be more explicit. 4.06 2025-04-15T17:25:00+00:00 - Proposed patch for this FAIL report, thanks Andreas J. Koenig. https://www.cpantesters.org/cpan/report/50dde750-1736-11f0-8297-ce01b18213f0 4.05 2025-04-02T17:40:00+00:00 - Updated doc about color names of line. 4.04 2025-03-29T06:00:00+00:00 - Fixed empty link issue, thanks @GWS. 4.03 2025-03-27T11:58:00+00:00 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. 4.02 2025-03-01T13:15:00+00:00 - Removed redundant code as suggested by @GWS. 4.01 2025-02-27T21:30:00+00:00 - Improved test and pod, thanks @GWS. 3.99 2025-02-26T20:40:00+00:00 - Line Id is no longer case sensitive. 3.98 2025-02-24T21:45:00+00:00 - Proposed patch for the reported issue, thanks @SREZIC. https://rt.cpan.org/Ticket/Display.html?id=160042 3.97 2025-02-22T22:55:00+00:00 - Proposed patch for the reported issues below, thanks @SREZIC. https://rt.cpan.org/Ticket/Display.html?id=159900 https://rt.cpan.org/Ticket/Display.html?id=159941 3.96 2025-02-21T12:35:00+00:00 - Updated pod and documented Map::Tube::Stockholm. - Restructured and improved the entire test suite, thanks @GWS. 3.95 2025-02-18T14:05:00+00:00 - Updated pod and documented Map::Tube::Toulouse. 3.94 2025-02-14T22:00:00+00:00 - Fixed the dist package. 3.93 2025-02-13T13:25:00+00:00 - Improved malformed data error, thanks @gwselke. https://rt.cpan.org/Ticket/Display.html?id=159293 3.92 2025-01-15T21:50:00+00:00 - Documented new map Map::Tube::RheinRuhr by @gwselke. 3.91 2025-01-10T19:45:00+00:00 - Fixed regex quoting order as pointed out by @gwselke. 3.90 2025-01-10T14:55:00+00:00 - Dealt with subtle bug #16 in _is_directly_linked(), thanks @gwselke. 3.89 2024-12-18T10:00:00+00:00 - Updated pod to reflect the recent changes. 3.88 2024-12-17T12:35:00+00:00 - Strip space from start/end before lookup station name. 3.87 2024-12-13T19:05:00+00:00 - Added test for unidirection map. 3.86 2024-12-13T12:10:00+00:00 - Ignore common lines with station index. - Fixed typo in exception error. 3.85 2024-12-12T16:10:00+00:00 - Handle route not found exception. - Handle unidirection route better. 3.84 2024-12-12T13:20:00+00:00 - Updated pod and added 2 new maps: Rome and Hamburg. 3.83 2024-12-11T20:10:00+00:00 - Updated get_node_by_name() to handle invalid name. 3.82 2024-12-03T21:00:00+00:00 - Handle duplicate station name. 3.81 2024-12-03T14:35:00+00:00 - Added test for invalid station line id. 3.80 2024-12-01T00:40:00+00:00 - Tidied up unit test to make less noisy as reported by @srezic and @gwselke. https://rt.cpan.org/Ticket/Display.html?id=157584 3.79 2024-11-30T15:15:00+00:00 - Fixed the test failure reported by @srezic. https://www.cpantesters.org/cpan/report/918741da-af20-11ef-82be-e5166e8775ea https://rt.cpan.org/Ticket/Display.html?id=157584 3.78 2024-11-30T12:45:00+00:00 - Fixed subtle bug in filter() of Map::Tube::Utils, thanks @gwselke. 3.77 2024-09-03T14:50:00+00:00 - Proposed fix for CPANTESTER failed report. https://www.cpantesters.org/cpan/report/f74db456-6964-11ef-98b0-b3c3213a625c 3.76 2024-09-02T12:40:00+00:00 - Updated pod w.r.t Test::Map::Tube, thanks @mohawk2. 3.75 2024-09-02T12:20:00+00:00 - Added Test::Map::Tube to the dist, thanks @mohawk2. 3.74 2024-08-27T00:20:00+00:00 - Updated pod for Map::Tube::Cookbook. 3.73 2024-08-27T00:05:00+00:00 - Added Map::Tube::Cookbook as suggested by @mohawk2. 3.72 2024-08-26T01:50:00+00:00 - Revert changes done in v3.65. 3.71 2024-08-26T00:50:00+00:00 - Updated requirement of Test::Map::Tube v0.60. 3.70 2024-02-29T21:15:00+00:00 - Corrected pod w.r.t the creator of new map Bielefeld. 3.69 2024-01-28T17:20:00+00:00 - Updated pod, new map Bielefeld. - Updated copyright year. 3.68 2022-05-19T19:20:00+00:00 - Removed reference to CPAN search. - Removed reference to RT - issues. - Updated copyright year details. 3.67 2022-05-19T14:30:00+00:00 - Updated pod w.r.t the new map Map::Tube::Hongkong. 3.66 2022-05-19T00:15:00+00:00 - Handle reverse map when start and end share common line. 3.65 2022-05-18T20:50:00+00:00 - Fixed the flaw in logic in sub _get_next_link(). (If start station is linked to station which is on the same line as end station then follow the link first before trying any other linked stations). 3.64 2019-07-05T16:45:00+00:00 - Moved author test scripts to xt/ subfolder. 3.63 2019-06-18T18:00:00+00:00 - Added SYNOPSIS section to Map::Tube::Route. - Added more codes to SYNOPSIS section of Map::Tube::Node and Map::Tube::Line. 3.62 2019-05-11T12:03:45+00:00 - Refactored Map::Tube::Plugin::Formatter and plugged into object directly. 3.61 2019-04-17T16:00:00+00:00 - Tidied up pod documentation. 3.60 2019-02-25T17:30:00+00:00 - Added dependency on Map::Tube::Exception v3.19. 3.59 2019-01-03T19:10:00+00:00 - Merged PR #6 (fix typo), thanks @reneeb. 3.58 2018-12-20T11:00:00+00:00 - Used Test::Exception catching error. 3.57 2018-09-27T17:00:00+00:00 - Updated method is_valid_color() in the package Map::Tube::Utils to return hexcode if it is valid color. - Added more color names to the supported color name list. 3.56 2018-09-04T09:15:00+00:00 - Tidied up test scripts to use "namespace::autoclean". 3.55 2018-08-09T18:00:00+00:00 - Documented the newly added attribute "bgcolor". 3.54 2018-07-31T10:50:00+00:00 - Added optional attribute 'bgcolor' for map background color. 3.53 2018-06-27T12:00:00+00:00 - Patched issue RT #125685, thanks @TobyInk. 3.52 2018-06-26T11:00:00+00:00 - Used File::ShareDir v1.114 instead of File::Share to cover the FAIL report. http://www.cpantesters.org/cpan/report/548008f4-7312-11e8-9697-652b7347484a - Upgraded min version File::ShareDir::Install v0.13. 3.51 2018-05-30T00:12:10+00:00 - Added test for map data structure. 3.50 2018-04-23T20:40:00+00:00 - Fixed "Insecure dependency in eval while running with -T switch" error. 3.49 2018-04-07T08:30:00+00:00 - Updated mininmum version of Test::Map::Tube v0.41. 3.48 2018-04-05T06:00:00+00:00 - Fixed bug in the method get_next_stations() w.r.t. fetching links. 3.47 2018-04-04T07:20:00+00:00 - Added handy method get_next_stations(). 3.46 2018-04-03T11:45:00+00:00 - Updated mininmum version of Test::Map::Tube v0.40. 3.45 2018-03-18T05:05:00+00:00 - Documented method get_stations() for Map::Tube::Line. - Added test script line-stations.t. 3.44 2018-01-12T19:45:00+00:00 - Improved method exporting. - Tidied up map-data-converter script. - Updated "Map Leader Board" section in the pod. 3.43 2017-12-26T10:30:00+00:00 - Used 3 argument open() now. - Stopped using bareword for file handle. - Improved sample code in the pod. 3.42 2017-11-24T10:45:00+00:00 - Improved applying approved plugins. 3.41 2017-11-20T14:30:00+00:00 - Added sample code for all the supported plugins. - Updated CONTRIBUTORS section. 3.40 2017-11-18T03:00:00+00:00 - Handle one line in xml format map data. 3.39 2017-11-17T10:45:00+00:00 - Fixed double encoding of map data in JSON format. 3.38 2017-11-16T10:20:00+00:00 - Replaced namespace::clean with namespace::autoclean. - Used allow_nonref where ever json decoding happens. 3.37 2017-11-07T15:35:00+00:00 - Updated method get_stations() to return all map stations if no line name is passed. 3.36 2017-10-18T13:40:00+00:00 - Added support for partial station index. 3.35 2017-09-21T11:30:00+00:00 - Hide unnecessary noise during the test. 3.34 2017-08-11T11:25:00+00:00 - Added dependency on Map::Tube::Exceptions v3.13. 3.33 2017-08-10T12:00:00+00:00 - Handled malformed map data correctly. 3.32 2017-07-03T11:20:00+00:00 - Downgraded dependency on File::Basename v2.6 (RT #122294), thanks @JWRIGHT. - Added optionally experimental flag. - Marked the inter-changeable route change as 'experimental'. 3.31 2017-06-18T03:55:00+00:00 - Updated method get_shortest_route() to return least inter-changeable route. - Tidied up attribute definitions in general. 3.30 2017-05-26T09:35:00+00:00 - Finally nailed the error "Can't locate Moose.pm" when there was no direct pre-reqs. http://www.cpantesters.org/cpan/report/585fd1e6-3b5c-11e7-a074-e1beba07c9dd - Tidied up attributes definition slightly. - Added dependency on Map::Tube::Exceptions v3.12. 3.29 2017-05-13T12:40:00+00:00 - Handle lazy attribute correctly as reported below: http://www.cpantesters.org/cpan/report/55997338-100d-11e7-b84f-b08edccf8c31 3.28 2017-03-06T11:20:00+00:00 - Fixed error handling in the method Map::Tube::get_map_data(). 3.27 2017-02-24T10:50:00+00:00 - Added required attribute checks. 3.26 2017-02-21T13:35:00+00:00 - Removed dependency on JSON::Parse. - Added new method to_perl() to the helper package Map::Tube::Utils. - Refactored script map-data-converter to make use of newly created method to_perl(). 3.25 2017-02-20T11:55:00+00:00 - Removed dependency on XML::Simple. - Refactored script map-data-converter to workout with XML::Twig when creating xml file. 3.24 2017-02-19T07:25:00+00:00 - Added dependency on MooX::Options v4.023. - Added dependency on Map::Tube::Exceptions v3.11. - Refactored script map-data-converter to handle error appropriately. 3.23 2017-02-16T16:00:00+00:00 - Added script map-data-converter. - Documented supported map data format. 3.22 2017-02-07T15:50:00+00:00 - Added support for map data in JSON format as well. XML is still the default format. - Added test for bad map data. - Updated dependency on Map::Tube::Exception v3.09. - Updated optional minimum dependency on Test::Map::Tube v0.22. 3.21 2016-10-10T09:45:00+00:00 - Added validation for line color. - Updated dependency on Map::Tube::Exception v3.08. 3.20 2016-10-04T12:00:00+00:00 - Added missing pre-reqs Type::Tiny and File::Share. - Added some more attribute types 'Table', 'Tables', 'NodeMap' and 'LineMap'. 3.19 2016-10-03T09:40:00+00:00 - Added attribute type class 'Map::Tube::Types'. 3.18 2016-07-30T10:30:00+00:00 - Documented method ok_map_routes(). 3.17 2016-07-11T09:45:00+00:00 - Added unit test (t/map.t). 3.16 2016-07-03T03:25:00+00:00 - Addressed issue raised in the CPAN Tester Report. http://www.cpantesters.org/cpan/report/297cf692-3f1d-11e6-a514-8183992ad5f0 3.15 2016-06-24T10:30:00+00:00 - Added explicit dependency on XML::Parser v2.23 to address the CPAN Tester FAIL report: http://www.cpantesters.org/cpan/report/059a00cc-38a5-11e6-a16d-92a790c50306 3.14 2016-06-20T11:20:00+00:00 - Updated unit test meta-json.t and meta-yml.t to check consistent version correctly. 3.13 2016-06-14T10:45:00+00:00 - Propose fix to handle standard line and other link appropriately. - Updated copyright year information. 3.12 2015-10-30T10:25:00+00:00 - Upgraded to use Map::Tube::Exception v3.06. - Added missing plugin handler properly using AUTOLOAD. 3.11 2015-10-23T14:20:00+00:00 - Ordered lines attached to station RT# 107745. - Updated 'Changes' log history. 3.10 2015-10-22T18:40:00+00:00 - Fixed the side effects of fix for RT# 107745. 3.09 2015-10-20T11:40:00+00:00 - Proposed solution to RT# 107745. 3.08 2015-10-19T12:00:00+00:00 - Updated pod document about map functional validation provided by Test::Map::Tube v0.09. - Updated exception error message in the method Map::Tube::Line::add_station(). 3.07 2015-10-18T12:15:00+00:00 - Added new method _xml_data() to the package Map::Tube. - Updated method get_line_by_id() to fixed the warning. - Updated method _init_map() to make use of new method _xml_data(). - Updated pod document about method name(), earlier it was documented as get_name(). 3.06 2015-10-15T11:50:00+00:00 - Removed the minimum version requirements from 'overload' and 'Throwable'. - Removed redundant exception handling code. - Made exception error message consistent. - Fix comparison of line IDs, thanks to Michal Spacek. 3.05 2015-10-14T12:55:00+00:00 - Import the missing exceptions (Map::Tube::Exception::InvalidLineId and Map::Tube::Exception::MissingLineId). - Upgraded to use Map::Tube::Exception v3.05. 3.04 2015-10-14T10:25:00+00:00 - Patched issue RT# 107752. 3.03 2015-10-13T13:00:00+00:00 - Updated method get_stations() in the package Map::Tube, to check if the line name is defined before applying uc() and raise exception accordingly. - Also updated pod document slightly for the method get_stations(). 3.02 2015-10-10T08:35:00+00:00 - Replaced XML::Simple with XML::Twig, long pending task, as XML::Simple can't cope with unicode characters under XML::SAX v0.99 as reported by the report below: http://www.cpantesters.org/cpan/report/968a3680-6e00-11e5-aa10-096acfe82091 3.01 2015-09-17T10:25:00+00:00 - Removed local package Map::Tube::Exception. - Removed local package Map::Tube::Error. - Updated to use new external package Map::Tube::Exception::*. 3.00 2015-04-01T10:10:00+00:00 - Proposed solution for issue RT: #103169 subject to feedbacks. - Added section "SYNOPSIS" to the pod document of packages Map::Tube::Node and Map::Tube::Line. - Added section "CONSTRUCTOR" to the pod document of package Map::Tube::Node. 2.99 2015-03-30T10:35:00+01:00 - Updated method get_node_by_id() to check if the given node id is defined. - Updated private method _init_map) to check if the node id is duplicate. 2.98 2015-03-29T17:35:00+01:00 - Proposed solution for issue RT: #103168 subject to feedbacks. 2.97 2015-03-27T20:30:00+01:00 - Updated method Map::Tube::Route::preferred() to return an object of type L. 2.96 2015-03-27T12:00:00+01:00 - Added the following methods to the package Map::Tube. - get_line_by_id() - get_line_by_name() 2.95 2015-03-26T11:05:00+01:00 - Proposed solution for issue RT: #103103 subject to feedbacks. 2.94 2015-03-24T11:35:00+01:00 - Tidied up pod document in general. 2.93 2015-03-22T22:00:00+01:00 - Updated method get_lines() in the package Map::Tube to filter out other links. 2.92 2015-03-22T11:45:00+01:00 - Documented new plugin Map::Tube::Plugin::Formatter in the package Map::Tube. 2.91 2015-03-22T11:05:00+01:00 - Added section "SYNOPSIS" to the package Map::Tube. 2.90 2015-03-22T09:45:00+01:00 - Added new method preferred() to the package Map::Tube::Route. 2.89 2015-03-15T17:15:00+01:00 - Proposed solution for issue RT: #102438 subject to feedbacks. 2.88 2015-03-10T12:20:00+01:00 - Added new package Map::Tube::Utils. - Updated unit test t/00-load.t to load the new package. - Updated Map::Tube::Pluggable to set the max_depth to 4. 2.87 2015-02-22T17:45:00+01:00 - Tidied up the pod document. 2.86 2015-02-20T16:05:00+01:00 - Removed call to method _validate_map_data() at the point of object creation, instead it would now be validated at the build time if you have Test::Map::Tube installed. 2.85 2015-02-18T17:25:00+01:00 - Fixed the nasty regex bug in the method Map::Tube::_get_shortest_route(), issue raised by Map::Tube::Beijing (author Gisbert W. Selke). 2.84 2015-02-17T17:25:00+01:00 - Documented plugin Map::Tube::Plugin::FuzzyFind by Gisbert W. Selke in the pod document of Map::Tube. 2.83 2015-02-12T23:20:00+01:00 - Fixed the typo in class description of Map::Tube::Error and Map::Tube::Exception. 2.82 2015-02-12T17:50:00+01:00 - Documented method get_name() in the pod document of Map::Tube. - Tidied up description of some other methods as well in the pod document. 2.81 2015-02-12T13:05:00+01:00 - Tidied up pod document, in general. - Optimised method Map::Tube::_format(). 2.80 2015-02-10T11:55:00+01:00 - Updated pod document of Map::Tube regarding the plugin Map::Tube::Plugin::Graph. 2.79 2015-02-09T22:55:00+01:00 - Refactored the plugin integration code as conceived by Gisbert W. Selke. 2.78 2015-02-05T17:30:00+01:00 - Updated method Map::Tube::as_image() the way it gets graph plugin and process it. 2.77 2015-01-27T16:30:00+01:00 - Ongoing improvement work on method get_shortest_route(). 2.76 2015-01-27T13:13:00+01:00 - Further improvement to the method get_shortest_route(), down to 17 wallclock seconds. 2.75 2015-01-26T17:15:00+01:00 - Improved performance from 33 wallclock seconds to 25 wallclock seconds for method get_shortest_route() as recent changes to data validation was adding the load. 2.74 2015-01-25T08:15:00+01:00 - Making use of Map::Tube::Exception instead of die to be consistent as raised by GWS. 2.73 2015-01-25T02:55:00+01:00 - Cherry picked commit from the pull request from TUPINEK to the method Map::Tube::_init_map(). 2.72 2015-01-23T20:45:00+01:00 - Merged pull request from Michal Špaček regarding fix to the method Map::Tube::Node::as_string(). 2.71 2015-01-23T16:45:00+01:00 - Patched for issue RT: 101703. 2.70 2015-01-22T16:40:00+01:00 - Updated method _init_map() to read xml data for detailed line information if available. - Updated package Map::Tube::Line and added attribute 'id'. - Updated package Map::Tube::Line and made attribute 'color' readwrite. 2.69 2015-01-21T20:30:00+01:00 - Tidied up the pod document for Map::Tube::Pluggable. 2.68 2015-01-20T20:25:00+01:00 - Improved error handling in the method as_image(). - Updated test script 00-load.t. 2.67 2015-01-20T10:35:00+01:00 - Patched for issue RT: 101627. 2.66 2015-01-20T00:20:00+01:00 - Using Module::Pluggable to lookup and process Map::Tube::Plugin::Graph instead of using eval {}; 2.65 2015-01-19T16:20:00+01:00 - Added map data validation code provided by Gisbert W. Selke. 2.64 2015-01-18T23:30:00+01:00 - Added method as_image() to return base64 encoded string of Line image with the help of Map::Tube::Plugin::Graph. - Added new error codes related to the above method. 2.63 2015-01-14T21:10:00+01:00 - Added "SEE ALSO" section to the pod document of the package Map::Tube. 2.62 2015-01-13T14:30:00+01:00 - Added missing 'use strict; use warnings;' to change.t script. - Added missing 'use 5.006;' line to meta-json.t, meta-yml.t and change.t scripts. 2.61 2015-01-07T12:50:20+01:00 - Tidied up the test scripts meta-yml.t and meta-json.t. 2.60 2015-01-06T17:40:20+01:00 - Oops forgot to update Changes file. 2.59 2015-01-06T17:30:20+01:00 - Tidied up the LICENSE file. 2.58 2015-01-06T17:10:20+01:00 - Tidied up the MANIFEST.SKIP file. 2.57 2015-01-03T10:30:00+01:00 - Updated unit test meta-yml.t and meta-json.t to check the version of modules in the 'provides' list agains the distribution version. 2.56 2015-01-03T09:50:00+01:00 - Explicitly assign version to the provides list in the Makefile.PL. 2.55 2015-01-03T09:30:00+01:00 - Updated Makefile.PL to generate the key 'provides' for META file correctly. - Added unit test to test META files. 2.54 2015-01-03T00:25:00+01:00 - The recent package ExtUtils-MakeMaker-7.05_05 now generates the following files missing in MANIFEST: - _eumm/Map-Tube.ppd - _eumm/META_new.json - _eumm/META_new.yml as reported by CPANTESTER as below: http://www.cpantesters.org/cpan/report/7d977ff4-9271-11e4-95d4-59833a6893cb - Added the above files in the MANIFEST.SKIP file. 2.53 2015-01-02T23:15:00+01:00 - Added missing package Map::Tube::Line to the 'provides' key in the Makefile.PL file. 2.52 2015-01-02T10:30:00+01:00 - Updated Changes file according to CPAN::Changes::Spec package. - Added unit test changes.t file. - Defined $AUTHORITY in all the packages of the distribution. - Added LICENSE file. - Updated Copyright year information. 2.51 2015-01-01T18:40:00+01:00 - Tidied up pod document for method get_stations() in the package Map::Tube. 2.50 2015-01-01T10:15:00+01:00 - Updated method get_shortest_route() to stay on the same line as much as possible unless it is expensive in terms of stoppage. 2.49 2014-12-31T10:40:00+01:00 - Improved the performance of method get_shortest_route() slightly. 2.48 2014-12-30T13:00:00+01:00 - Documented public method defined in the package Map::Tube. - Tidied up code in general. 2.47 2014-12-29T20:30:30+01:00 - Applied request RT: 101190. 2.46 2014-12-19T00:47:30+01:00 - Removed redundant code from the methods get_shortest_route() and _get_shortest_route(). - Minor cosmetics changes to some of the pod documents. 2.45 2014-12-18T17:08:10+01:00 - Fixed invalid pod tag in the section "DESCRIPTION" of the package Map::Tube::Error. - Added section "DESCRIPTION" to the package Map::Tube::Exception. - Updated description of the method Map::Tube::get_stations in the package Map::Tube. - Updated section "DESCRIPTION" of the package Map::Tube::Table. 2.44 2014-12-18T15:18:10+01:00 - Added new package Map::Tube::Line to hold map line information. - Updated method Map::Tube::get_lines() to return ref to a list of objects of type Map::Tube::Line. 2.43 2014-12-18T12:00:10+01:00 - Added two new methods get_lines() and get_stations($line) to the package Map::Tube (RT: 100971). - Added new error codes to the package Map::Tube::Error. 2.42 2014-12-08T14:48:20+01:00 - Added 'provides' key to the Makefile.PL file. 2.41 2014-12-07T19:50:20+01:00 - Tidied up pod document of the package Map::Tube. 2.40 2014-12-07T19:15:20+01:00 - Added new attribute 'name' to package Map::Tube to hold the map name. [RT: 100771] 2.39 2014-12-07T17:45:20+01:00 - Removed dependency on 'Encode' from Makefile.PL as it is no longer required. 2.38 2014-12-07T17:20:20+01:00 - Removed the new attribute 'utf8' from Map::Tube and Map::Tube::Node as it was causing more trouble for end user than any help as added in v2.36. 2.37 2014-12-07T16:38:20+01:00 - Removed 'use utf8;' line from all the packages of the distribution Map-Tube. 2.36 2014-12-07T14:15:00+01:00 - Added new attribute 'utf8' to Map::Tube which default to true. - Also added new mandatory attribute 'utf8' which inherits the setting of 'utf8' attribute of Map::Tube. - Now utf8 encode/decode happens depending on this new attribute. 2.35 2014-12-07T11:45:00+01:00 - Updated method Map::Tube::get_shortest_route() to decode (utf8) the station names. - Updated method Map::Tube::Node::to_string() to encode (utf8) the response. - Marked method Map::Tube::get_all_routes() as EXPERIMENTAL. - Added package Encode as pre-requisite in the Makefile.PL file. - Updated pod document to reflect the change in behaviour of the two methods Map::Tube::get_shortest_route() and Map::Tube::get_all_routes(). 2.34 2014-12-05T21:19:00+01:00 - Fixed the pod tag for method link() in the package Map::Tube::Node. 2.33 2014-12-05T19:36:00+01:00 - Tidied up the pod document of Map::Tube and removed "NOTE". - Corrected the pod tag for "METHODS" and method id() in the package Map::Tube::Node. - Added section "DESCRIPTION" in the package Map::Tube::Table. - Corrected the pod tag for method nodes() in the package Map::Tube::Route. 2.32 2014-12-05T15:30:00+01:00 - Made all the attributes of class Map::Tube::Node as required mandatory. - Documented all methods exposed by class Map::Tube::Node. - Made attribute 'id' as required mandatory for class Map::Tube::Table. - Added two attributes 'from' and 'to' to the class Map::Tube::Route. - Made all attributes as required mandatory for class Map::Tube::Route. - Made slight improvement to the method get_shortest_route() and get_all_routes(). - Documented the method get_all_routes(). 2.31 2014-12-03T21:00:00+01:00 - Added the feature to accept case insensitive station name. - Also added Map::Tube::Berlin to the list of package taking the role Map::Tube. 2.30 2014-12-03T14:40:00+01:00 - Fixed the performance issue raised in the ticket RT: 100677. - Updated pod document about the methods exposed by the Map::Tube. 2.29 2014-12-03T00:40:00+01:00 - Cosmetics changes to the pod document of package Map::Tube. 2.28 2014-12-02T22:02:00+01:00 - Added method validate_map_data() to the package Map::Tube, to validate the map data. Post loading map data, it checks if all the nodes are defined and throw error if found any missing. - Removed SIGNATURE file from the distribution. 2.27 2014-11-30T11:19:10+01:00 - Refactored code in a big way to be more OO style. - Added new package Map::Tube::Table to represent table in the map. - Added new method Map::Tube::get_routes() to get all possible routes between two nodes. - Updated method Map::Tube::get_shortest_route() to return list of objects of type Map::Tube::Node. - Updated method Map::Tube::Node::to_string() to return the node line along with the name. 2.26 2014-08-30T02:45:00+01:00 - Added key "META_MERGE" key on condition (ExUtils::MakeMake->VERSION(6.46). 2.25 2014-08-16T10:22:18+01:00 - Added section "REPOSITORY" to the pod document. - Added key "META_MERGE" to Makefile.PL file. 2.24 2014-08-08T23:38:09+01:00 - Removed Build.PL script. - Tidied up README file. 2.23 2014-07-25T16:48:13+01:00 - Streamlined version to all modules - Minor cosmetic changes 2.22 2014-07-07T20:41:00+01:00 - Added 'namespace::clean' as pre-requisite to Build.PL and Makefile.PL 2.21 2014-07-06T04:10:09+01:00 - Tidied up the pod documemt 2.20 2014-07-05T22:13:15+01:00 - Complete revamp of the original Map::Tube. Converted into Role (Moo). 2.19 2011-03-28T13:14:15+01:00 - Updated Copyright information. 2.18 2011-03-09T18:44:17+01:00 - Changed the description of the module slightly. 2.17 2011-03-02T11:43:20+01:00 - Removed "-T" from the first line of 00-load.t, pod.t, manifest.t and 00-signature.t. It appears to me that Mac OS X doesn't like it, for some reason. 2.16 2011-03-02T10:22:19+01:00 - Cleaned up Makefile.PL as CPAN Testers have complained about it. 2.15 2011-02-28T12:17:00+01:00 - Removed "create_makefile_pl" from the Build.PL - Arranged Makefile.PL as it's no longer be auto built. 2.14 2011-02-28T11:49:10+01:00 - Added DISCLAIMER section to the pod. 2.13 2011-02-04T18:55:43+01:00 - Added MYMETA.json to MANIFEST.SKIP as some CPAN Testers not happy on GNU/Linux OS Version 2.6.32-2-amd64, Perl version (5.13.2, 5.13.6, 5.13.7, 5.13.8, 5.13.9, 5.8.9) as reported on Friday, 4th February 2011 (6.13pm) UK TIME. 2.12 2011-02-04T16:46:59+01:00 - Corrected the year part of last release in the 'Changes' file. - Also fixed the pod for method show_map_chart() as it was generating incorrect html on install. 2.11 2011-02-04T15:40:21+01:00 - Now allows multiple spaces if node's name consists of two or more words and fix it automatically for user. - Now trims any space at the beginning and at the end of node's name. - Added unit test test-case-21.t for the above changes. - Updated pod for method get_shortest_route() to reflect aboove changes. - Updated pod for method show_map_chart() to show output as well in this case. - Added test case in the test-case-00.t about testing node's definition after setting node mappings. 2.10 2010-12-06T18:33:46+01:00 - Renamed key _follow to _follow_me. - Renamed key _element to _nodes. - Renamed key _node to _mappings. - Renamed key _line to _lines. - Renamed method get_name() to get_node_name(). - Renamed method get_element to get_nodes(). - Renamed method set_lines() to set_node_lines(). - Renamed method get_lines() to get_node_lines(). - Renamed method set_node() to set_node_mappings(). - Renamed method get_node() to get_node_mappings(). - Renamed method set_default_node() to set_default_node_definitions(). - Renamed method init() to load_node_mappings(). - Renamed method load_element() to load_nodes(). - Renamed method load_line() to load_node_lines(). - Renamed method upcase_element_name() to upcase_node_names(). - Renamed internal method _initialize() to _init(). - Renamed internal method _initialize_table() to _init_table(). - Updated internal method _get_next_node(), _sanity_check() and _process_node() to reflect the above changes. - Updated the unit test test-case-00.t, test-case-14.t and test-case-20.t to reflect the above changes. - Updated pod to reflect the above changes. 2.09 2010-12-03T19:07:21+01:00 - Added to setup line information for user defined nodes. - Added to check the line information irrespective of whether following the line or not. - Updated pod for method set_node() regarding mapping checks. - Minor changes to the error message thrown during data checks. - Modified method load_method() to be able to load user data. - Added unit test for missing map information. 2.08 2010-11-26T09:48:59+01:00 - Updated pod for method init(). 2.07 2010-11-25T18:43:19+01:00 - Updated pod for method upcase_element_name(). 2.06 2010-11-24T09:40:11+01:00 - Added SIGNATURE to the distribution. - Added unit test for SIGNATURE file. 2.05 2010-11-24T09:04:05+01:00 - Removed all internal methods detail from the pod. 2.04 2010-11-23T16:03:25+01:00 - Removed test for boilerplate. - Method get_next_node() is now turned into internal method _get_next_node(). - Method sanity_check() is now turned into internal method _sanity_check(). 2.03 2010-11-19T10:13:49+01:00 - Removed the constraint on node code to be a string. Now node code can be a STRING or NUMBER. - Added unit test test-case-20.t to test this new feature. - Added internal method _is_same(). - Added internal method _is_number(). - Updated pod about the change in behaviour of node code. 2.02 2010-11-12T09:42:39+01:00 - Added Metropolitan line fast train mapping. - Fixed the missing mapping between HOH and M09. - Added unit test test-case-18.t and test-case-19.t for the mapping. 2.01 2010-11-10T16:30:51+01:00 - Added Overground line data. - Added unit test case for Overground line data. - Fixed unit test test-case-03.t, test-case-04.t, test-case-07.t and test-case-08.t with regard to addition of more data. - Updated pod regarding Overground line data. 2.0 2010-11-10T13:22:09+01:00 - Added DLR line data. - Added unit test for DLR line data. 1.9 2010-11-10T09:46:11+01:00 - Removed the debug parameter from the constructor. - By default debug is turned off. - Removed unit test to validate the debug parameter for constructor. - Added method set_debug() to control the debug flag. 1.8 2010-11-10T09:27:57+01:00 - Added Waterloo & City line data. - Fixed method _process_node() for silly bug. - Added unit test for Waterloo & City line data. - Fixed unit test test-case-05.t and test-case-06.t with regard to addition of more data. 1.7 2010-11-09T16:01:29+01:00 - Updated pod about the "Famous Software Award" given by Download.FamousWhy.com. 1.6 2010-11-09T13:40:28+01:00 - Added MANIFEST.SKIP to the MANIFEST file. - Factor out the initilization functionality into a seperate method. - Added example to the method get_next_node() in the pod. - Added example to the method get_tube_lines() in the pod. - Added data validation to the method set_line(). - Added new method sanity_check() to the sanity check on the data. - Corrected the node code for Holborn. - Remove invalid node code P28. - Corrected map definition for node code M22. - Added map definition for node code M21, KSG, WBM and ESQ. - Fixed map definition for KCS, missing ESQ from the list. - Changed the structure of Line information. 1.5 2010-11-05T16:54:11+01:00 - Added boilerplate.t to the MANIFEST. - Renamed the unit test case appropriately. - Modified manifest.t to test MANIFEST everytime. - Added Tube line definitions. - Added the ability to define line definitions for user node. - Now get_shortest_route() dump the time taken to find the shortest route. - Added get_next_node(), which checks wether to follow the line or not. - Added follow_me(), to enable the follow tube line switch. However it's not documented. - Added get_tube_lines() to return the lines list of given node. - Added get_line() to return the line informations. - Added set_line() to allow user to define their own line informations. - Added load_line() to load the default line informations. - Modified Build.PL and Makefile.PL to include Time::HiRes as requirement. NOTE: Follow line functionality is not yet fully functional. 1.4 2010-11-02T18:06:15+01:00 - Validate the parameter passed to the constructor. - Added unit test to validate the parameter passed to the constructor. - Fixed the example code in the pod. - Added example for method get_name() in the pod. - Added example for method init(), load_element() and upcase_element_name() in the pod. 1.3 2010-11-02T15:31:22+01:00 - Major changes to the method _process_node(). - Added example to each method defined in the pod. - POD for method show_map_chart() arranged correctly. - Added unit test to validate code passed to get_name(). 1.2 2010-11-01T09:45:41+01:00 - Renamed method _get_name() to get_name() and made it public. - Added method set_default_node() to override the user defined node. - Minor data cleanup. 1.1 2010-10-29T16:30:04+01:00 - Fixed the pod regarding method name for get_node() and get_element(). - Added unit test for method set_node(). 1.0 2010-10-29T12:03:43+01:00 - Made the lookup case insensitive. - Added ability to define user own node mapping. - Added unit test for case insensitive lookup. - Added unit test for user defined mapping. 0.09 2010-10-29T09:38:10+01:00 - Added Picadilly line data. - Added unit test for Picadilly line data. - Corrected spelling of Oxford Circus. - Corrected spelling of King's Cross St. Pancras. 0.08 2010-10-28T18:04:35+01:00 - Added Northern line data. - Added unit test for Northern line data. - Fixed the unit test test-case-05.t - Fixed the unit test test-case-06.t with regard to addition of more data. - Fixed the node code for few members of Bakerloo, Central, Jubilee and Victoria line. - Fixed the mapping of Bakerloo, Central, Jubilee and Victoria line. - Fixed some of the junction mapping as well as added new junction mapping. 0.07 2010-10-28T15:53:19+01:00 - Added Metropolitan line data. - Added unit test for Metropolitan line data. - Fixed the test-case-09.t with regard to addition of more data. 0.06 2010-10-28T10:51:01+01:00 - Removed the test code from the pod. - Added DESCRIPTION to the pod as suggesed by Peter Makholm. - Removed the 'sleep' from get_shortest_route() as suggested by Peter Makholm. - Added Readonly as pre-requisite in the Build.PL to make CPAN Testers happy. - Added Module::Build v0.36 as pre-requisite to get intalldeps options during build. - Updated README regarding pre-requisite installation. 0.05 2010-10-27T15:55:29+01:00 - Added District line data. - Added Hammersmith & City line data. - Fixed Central line data as Fairlop and Hainault both had the same node code. - Added method get_node() and get_element() to the Tube::Map module. - Fixed the unit test test-case-03.t with regard to addition of more data. 0.04 2010-10-27T11:03:34+01:00 - Added node validations. - Added unit test for validation functionality. - Changed the signature of few methods defined in Map::Tube. - Updated the unit test to reflect the changes in the method signature. - Updated the perldoc for Map::Tube. - Updated the perldoc for Map::Tube::Node. 0.03 2010-10-26T16:29:11+01:00 - Added Circle line data. 0.02 2010-10-26T11:08:21+01:00 - Added Central line data. 0.01 2010-10-25T14:30:11+01:00 - Module Created.