{
    "mode": "perldoc",
    "parameter": "Date::Manip::Changes6",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/Date%3A%3AManip%3A%3AChanges6/json",
    "generated": "2026-06-11T12:59:34Z",
    "synopsis": "This describes the changes made to the Date::Manip module in the 6.xx series of releases. Major\nchanges are marked with asterisks (*).\nFor the most part, Date::Manip has remained backward compatible at every release, but\noccasionally, a change is made which is backward incompatible. These are marked with an\nexclamation mark (!).\n#=head1 VERSION 6.90 (expected 2022-12-01) # #=head1 VERSION 6.89 (expected 2022-09-01) #\n#=head1 VERSION 6.88 (expected 2022-06-01) # #=head1 VERSION 6.87 (expected 2022-03-01)\nVERSION 6.86 (2021-11-15)\nChange warn to carp\nAll warnings are now issued with the carp command rather than warn. Requested in GitHup\npull request #18, but that request was not used because it only changed the uses in the\nDate::Manip::Date module.\nBug fixes\nFixed a bug where the next/prev Date::Manip::Recur methods gave incorrect results when\nthere are no dates that match the criteria. (GitHub #36)\nTime zone fixes\nThere were no new timezone fixes on 2021-06-01 or 2021-09-01, so no releases made then.\nNewest zoneinfo data (tzdata 2021e). (GitHub #37)\nVERSION 6.85 (2021-03-01)\nTest fixes\nMissed some tests that were failing.\nVERSION 6.84 (2021-03-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2021a).\nLanguage fixes\nCorrections and additions to Italian. Patch supplied by Leo Cacciari (GitHub #33)\nVERSION 6.83 (2020-12-01)\nTime zone fixes\nNo new zoneinfo data so no release on 2020-09-01.\nNewest zoneinfo data (tzdata 2020d). Requested by Shawn Carroll (GitHub #32)\nVERSION 6.82 (2020-06-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2020a).\nVERSION 6.81 (2020-03-01)\nMessed up the 6.80 package. This release fixes it.\nVERSION 6.80 (2020-03-01)\nMissed Changes entry for previous version.\nReported by Tina Muller (GitHub #31)\nVERSION 6.79 (2019-12-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2019c).\nVERSION 6.78 (2019-08-29)\nTime zone fixes\nNewest zoneinfo data (tzdata 2019b).\nDocumentation fixes\nFixed a broken link. Mohammad S Anwar (GitHub #29)\nVERSION 6.77 (2019-06-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2019a).\nVERSION 6.76 (2019-03-01)\nFixed bug in Date::Manip::Date::listholidays.\nIt was using 'now' instead of the stored date. Douglas DeStafeno\nReordered TZ detection methods\nMoved checking the tzdata files to lower priority to avoid a pretty unusual situation in\ndocker. Sven Nierlein (GitHub #20)\nTime zone fixes\nNewest zoneinfo data (tzdata 2018i). Requested by Shawn C Carroll (GitHub #28)\nVERSION 6.75 (2018-12-03)\nFixed packaging problems\nVersion 6.74 was not packaged correctly. Version wasn't set correctly in a few files and\nthere were invalid entries in Makefile.PL. RT 127870.\nVERSION 6.74 (2018-12-01)\nRemoved travis file from the tarball\nThe tarball had a .travis.yml file in it that wasn't in the MANIFEST file. Since the\nMANIFEST file is automatically generated by the perl mkmanifest tool, since it didn't see\nthe .travis.yml file, I have excluded it from the tarball. Reported by Mohammad S Anwar on\nGitHub (#23)\nTime zone fixes\nNewest zoneinfo data (tzdata 2018e)\nVERSION 6.73 (2018-09-01)\nFixed math on non-64-bit architectures\nMuch of the math in Date::Manip::Base is in a 'use integer' section. This math can overflow\nin some cases in non-64-bit architectures. Fixed the cases where this would reasonably\noccur. Reported by Daniel Albers (GitHub #22). Also reported and tested in RT 126052.\nBug in normalizing estimated business deltas\nWhile working on the non-64-bit issue, it uncovered a bug where normalizing estimated\nbusiness deltas was wrong. It had never been reported, and it was only off by a couple\nseconds in some rare situations.\nVERSION 6.72 (2018-06-06)\nFixed recurrence bug\nThe fix in the previous version for a rare recurrence problem broke another recurrence form.\nIt is now corrected. Michael Schout (GitHub #20)\nFixed version problem\nThe wrong version was included in two files for some reason. This is fixed.\nDocumentation fixes\nFixed a grammatical error reported by Xavier Guimard (GitHub #19).\nVERSION 6.71 (2018-06-01)\nFixed an extremely rare problem with recurrences\nIt is possible to specify a recurrence that never produces a valid date. In these cases,\nlooking for dates went into an infinite loop. The MaxRecurAttempts config variable was added\nwhich will stop that from happening. If no occurrence was found, an error condition will be\nset. Dean Hamstead (RT 123708)\nChanges file supported\nIt was requested that I include a valid Changes file. I wrote a simple script to convert the\nChange6.pod file into a valid Change file. The Changes6.pod file is still the canonical\nsource of this information! Requested by H. Merijn Brand\nFix for timezone determination\nOn MacOS X High Sierra, some of the timezone files were symlinks, but not properly followed.\nThis was fixed by Stu Tomlinson (GitHub #15).\nTime zone fixes\nNewest zoneinfo data (tzdata 2018e)\nDocumentation fixes\nMinor fix provided by Mohammad S Anwar (GitHub #17)\nVERSION 6.70 (2018-03-01)\n(*) (!) Changes to deltas\nImproved handling of deltas to better support the different types of deltas. Formalized how\nthe semi-exact portions of the delta are used to produce the results that most people would\nexpect.\nThe type can now be specified to guarantee several behaviors. Changed the arguments (in a\nbackward compatible way) to several methods. Explicitly added a new type (estimated) which\nwas there previously, but could not be manually specified.\nThe convert function continues to support converting from a less exact type to a more exact\ntype, but this is deprecated and will be removed in version 7.00.\nThis was prompted by a bug reported by Ian Gibbs.\n(*) (!) Deprecated some parts of Date::Manip::Delta\nThe options passed to the set and parse methods have changed. The old style will be removed\nin version 7.00.\nDeltas will also no longer support the 'exact' and 'approximate' strings (which have not\nbeen supported for some time). These will be removed in 7.00 as well.\nDeprecation of TZ postponed\nThe deprecation of the TZ variable has been postponed to version 7.00.\nSome speed improvements\nI converted some of the functions to use faster algorithms. Previously, the steps were\nworked out using logical time/calendar based calculations. These were replaced with\nnon-intuitive numerical calculations that gave the same result faster.\nChanged behavior if timezone not determined\nIf the system timezone cannot be determined using any of the methods supplied by\nDate::Manip, operations will be done in the GMT timezone. Previously, Date::Manip would\nsimply fail to load. Based on a report by Kent Fredric (RT 123229).\nFixed Makefile.PL\nThe list of what what is provided did not include the path to the file providing each\nmodule. I've fixed the Makefile.PL as well as the META files. Graham Knop (GitHub #13)\nTime zone fixes\nNewest zoneinfo data (tzdata 2018c)\nDocumentation fixes\nRewrote Date::Manip::Delta page to reflect changes, and clean up the documentation in\ngeneral.\nVERSION 6.60 (2017-09-01)\nBug fixes\nFixed a bug where if a recurrence had no interval, start and end dates passed in to the\ndates method would not work. PJ-DSI-DevOps (GitHub #12).\nDocumentation fixes\nClarified Date::Manip::TZ::allperiods. Based on discussion with Peter Pfannenschmid.\nVERSION 6.59 (2017-06-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2017b)\nDocumentation fixes\nImproved some of the documentation.\nVERSION 6.58 (2017-03-01)\nBetter support for $mode in DateCalc.\nDateCalc (in DM6) did not support all values for $mode. Now it does.\nBug fixes\nParsing a date like 01/02/2016 and calling printf with %e gave '02' instead of ' 2'. Robert\nWohlfarth (RT 119787).\nFixed a problem where the tzdata method of determining the timezone was producing an error\nwhich wasn't correct. John (GitHub #8)\nTime zone fixes\nNewest zoneinfo data (tzdata 2017a)\nVERSION 6.57 (2016-12-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2016j)\nTest fixes\nA faulty test was failing in a few places. RT 118705\nAnother test was failing due to a perl bug that popped up in 5.25.7. Tweaked the test to\nbypass the bug. Kent Fredric (RT 118862)\nVERSION 6.56 (2016-09-09)\nTest fixes\nA faulty test was failing most places. New release to correct that problem. Slaven Rezic (RT\n117404)\nVERSION 6.55 (2016-09-01)\nFixed bug where $::TZ wasn't used\nThe $::TZ variable was not getting interpreted correctly when searching for a timezone.\nSteven Hartland (RT 114949)\nFixed bug where recurrences were not parsed correctly\nPassing in incorrect values for a field was not trapped in all cases and it led to problems.\nAll values passed in to a recurrence are now correctly checked. Albert Hilazo (GitHub #7).\nFixed a bug in some methods of creating new objects\nSome methods of creating new objects based on existing objects did not correctly use the\nexisting object. Bug has never been reported, but was discovered when adding tests to get\n100% coverage.\nTime zone fixes\nNewest zoneinfo data (tzdata 2016f)\nTest fixes\nAdded a number of new tests based on Devel::Cover.\nVERSION 6.54 (2016-05-31)\nDeprecation of Date::Manip 5.xx tests\nBy default, the Date::Manip 5.xx tests will no longer run. Changes to the timezone data can\ncause failures. Since Date::Manip 5.xx is no longer supported in any way, these tests will\nno longer run on a system where 6.xx can be run. Richard Jelinek.\nDeprecation of TZ postponed\nThe deprecation of the TZ variable has been postponed to March 2017. I decided that 1 year\nwas not enough notice (especially since not everyone will have updated Date::Manip since\nMarch 2015 when the warning was added.\nBug fixes\nChanged requirement for ExtUtils::MakeMaker to 6.6701. Quin Arnold (RT 112286)\nFixed a bug where a timezone abbreviation was not parsed correctly when passed in as a value\nto the SetDate, ForceDate, or TZ config variables. Based on a report in perlmonks.org.\nTime zone fixes\nNewest zoneinfo data (tzdata 2016d)\nMade some improvements to how I handled the timezone data which resulted in a few of the\ndefault timezones being changed.\nDocumentation fixes\nFixed one more typo. Gregor Herrmann (RT 114095)\nClarified the Config document. Based on a report in perlmonks.org.\nVERSION 6.53 (2016-03-02)\nBug fixes\nDate::Manip::Delta::cmp had a bug in it's comparison. Ian Gibbs.\nThe secssince1970GMT method was missing a test to see if it was a valid object. Michael\nStevens (RT 111915)\nTime zone fixes\nNewest zoneinfo data (tzdata 2016a)\nDocumentation fixes\nLots of typos fixed. I was using podspell to do spell checking, but it was discarding too\nmuch real text (which wasn't getting checked as a result). Switched to pod2text which does a\nbetter job. Gregor Herrmann (RT 110025)\nVERSION 6.52 (2015-12-01)\nAdded date ranges on unmodified dates in Recur\nThe date range can now be specified for either the fully modified dates, or the unmodified\ndates. This will make it easier to work with holidays in some instances. Based on\n<http://perlmonks.org/?nodeid=1148735>.\nAdded IWn and NWn recurrence modifiers\nBased on <http://perlmonks.org/?nodeid=1148735>.\n(!) Reworked holidays slightly\nPreviously, every line in the Holidays section defined a unique holiday. Now, the names\ndetermine the list of holidays.\nIt is not allowed to have two separate holidays named exactly the same. It IS allowed to\nhave complex holidays that require two (or more) lines in the Holidays section to define\nthem completely.\nBased on <http://perlmonks.org/?nodeid=1148735>.\nBug fixes\nFixed a bug where the RecurRange config variable wasn't getting used.\nFixed a bug where some deltas were not parsed correctly as dates. Salvatore Bonaccorso (RT\n109600)\nTime zone fixes\nNewest zoneinfo data (tzdata 2015g)\nTest fixes\nAdded a number of new tests based on Devel::Cover.\nVERSION 6.51 (2015-09-01)\nChanges suggested by perlcritic\nPlayed with perlcritic and made a few minor changes based on it's suggestions. I doubt I\nwill use perlcritic significantly.\n(!) Date::Manip::Delta::value now returns an empty string\nIf a delta has an error, or no valid delta in it, the value method returns an empty string\ninstead of undef. This is to be consistent with the Date::Manip::Date::value method which\nreturns an empty string.\nBug fixes\nFixed a bug where date/delta calculations with deltas that are too large was not working\ncorrectly. They now set an error condition and fail. Jared Selengut (RT 105737)\nFixed a bug introduced by the previous patch and luckily discovered pre-release by Tom\nWyant.\nFixed code that produced a warning in 5.22.0. Tom Wyant\nImproved DM6 ParseDate and ParseDateString\nAdded @opts argument. Based on report by Vitaly Shupak (RT 105622).\nTime zone fixes\nNewest zoneinfo data (tzdata 2015f)\nNow uses /etc/localtime as a method to determine the local timezone. Patch supplied by Tom\nWyant (RT 105159) (modified by me). The patch uses some code derived from DateTime::TimeZone\n.\nClearer message when the date is not valid in the timezone.\nTest fixes\nAdded a number of new tests based on Devel::Cover. Over the next several releases, I intend\nto continue to add tests until coverage is 100%.\nDocumentation fixes\nFixed a typo. Gregor Herrmann (RT 105546)\nVERSION 6.50 (2015-06-01)\nBug fixes\nNot really a bug, but 6.49 got a bunch of NYTprof data bundled with it by mistake. It's been\nremoved. Olivier Mengue (RT 103252)\nFixed a bug where information about whether a date was complete or truncated was discarded.\nJim Avera\nFixed a bug where SetDate with a zone alias failed.\nAdded the FormatMMMYYYY config variable to allow the truncated format mmmYYYY to be parsed\ninstead of mmmDDYY. David W. Morganwalp and Glenn Golden (RT 103142)\nFixed Makefile.PL/Build.PL to correct for a change on perl on windows which changes a module\nprereq requirement. Alexandr Ciornii\nTime zone fixes\nNewest zoneinfo data (tzdata 2015d)\nAdded aliases for older HP-UX time zones. H. Merijn Brand (RT 104141)\nDocumentation fixes\nFixed URL for tzdata. Mohammad S Anwar (GitHub #3).\nBetter POD formats.\nFixed a documentation error. Glenn Golden (RT 103966)\nVERSION 6.49 (2015-03-01)\nAdded a deprecation warning\nThe TZ config variable is going away. Added a deprecation warning.\nSome speedups for timezone handling\nBased on a report by Glenn Golden (RT 102284), I have done some optimization of the timezone\nhandling code.\nBug fixes\nAdded the missing isdate base method to Date::Manip::Base. Mario Domgoergen.\nTime zone fixes\nNewest zoneinfo data (tzdata 2015a)\nLanguage fixes\nA number of corrections by Nicholas Riley\nVERSION 6.48 (2014-12-01)\nPut repository on GitHub\nSuggested by Gabor Szabo\nparsetime now parses ISO 8601 times\nThe parsetime routine wouldn't correctly parse ISO 8601 times. This is now fixed.\nParsing special dates with timezones now works\nParsing special date formats with timezones is now supported such as:\nChristmas at noon PST\nin 3 days at noon PST\nnow PST\nepoch 3000000 PST\ndmzdump modified\nTo match the newest version of zdump, the gmtoff is now added at the end of each line.\nBug fixes\nFixed a bug in the printf method that would not handle embedded newlines correctly (and\nresulted in an infinite loop if it were preceded by a '%'). Henrique Martins\nFixed a bug where '24:00' was not parsed correctly (though '24:00:00' was).\nFixed a bug where fractional values separated by a comma weren't parsed correctly.\nTime zone fixes\nNewest zoneinfo data (tzdata 2014j)\nVERSION 6.47 (2014-09-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2014f)\nLanguage fixes\nFixed some encoding errors in the language pod documentation.\nVERSION 6.46 (2014-07-08)\nBroken distribution\nThe distribution contained an temporary edit file that caused problems. Alexandr Ciornii (RT\n96459)\nTime zone fixes\nNewest zoneinfo data (tzdata 2014e)\nLanguage fixes\nAdded some plural abbreviations that were missing. Glenn Golden (RT 96944)\nVERSION 6.45 (2014-06-05)\nFixed a test\nOne test was failing (reported by Constantine Peresypkin (RT 96249) as well as several CPAN\nTester reports).\nVERSION 6.44 (2014-06-01)\n(*) Improvements to UTF8 handling\nA number of changes based on a report and other discussion with Yuri Nikulin (RT 93545)\nincluding:\nCase insensitive matching of UTF8 strings should work all the time.\nFixed two significant bugs in regexps for parsing dates.\nImprovements to UTF8 handling.\nCorrected some problems with Russian and added the cp1251 encoding.\nOne correction to Romanian.\nAdded several new test scripts.\nPreliminary patches were supplied by Yuri.\nNew features\nModified the parseformat function to return %+ if desired. Mike Cappella\nTime zone fixes\nNewest zoneinfo data (tzdata 2014c)\nDocumentation fixes\nClarified some DM6 functions. David Close.\nFixed a typo. Mike Cappella (RT 95619)\nVERSION 6.43 (2014-03-03)\nSeveral changes to distribution files\nI made several changes to Build.PL, Makefile.PL, META.yml in order to improve the quality\n(or kwalitee) of the module. None of these should impact anyone using the module.\nTime zone fixes\nNewest zoneinfo data (tzdata 2013i)\nDocumentation fixes\nCleaned up some of the Recur documentation. Suggested by Warren Young (RT 92794)\nVERSION 6.42 (2013-12-02)\nAdded ParseDateFormat function\nAdded the ParseDateFormat function to the DM6 functional interface in response to Eli\nLindsey (RT 89286).\nAdded Common Log format\nAdded the date format used in apache logs: 11/Oct/2000:13:55:36 -0700 Eli Lindsey (RT\n89286).\nTime zone fixes\nNewest zoneinfo data (tzdata 2013h)\nBug fixes\nFixed a bug where dates of the form of a delta with a timezone attached (i.e. \"1 day ago at\nmidnight UTC\") failed. Ludovic Lange (RT 89256)\nFixed a bug where events handling gave a warning if there were no events that applied. RT\n90344\nVERSION 6.41 (2013-09-05)\nBug fixes\nRemoved a .swp file accidentally left in the package. RT 85845\nFixed a bug in parseformat where times between 00:00:00 and 01:00:00 weren't parsed\ncorrectly. Ole Nomann Thomsen\nFixed generated META.* files to not require Module::Build 0.39. Carsten Wolff (RT 86137)\nFixed a bug where parseformat did not work with a '%s' format. Mark Keisler (RT 87498)\nFixed a bug where findencoding wasn't imported from the Encode module. Krishna Subramanian\n(RT 87665)\nFixed a bug where recurrences with no interval did not work if a start and end date were\nspecified, and no dates fell in that range. Jan Pradac\nTime zone fixes\nNewest zoneinfo data (tzdata 2013d)\nVERSION 6.40 (2013-06-01)\nRemoved PODs\nPOD documentation is no longer generated for Date::Manip::TZ::* and Date::Manip::Offset::*\nmodules.\nTime zone fixes\nNewest zoneinfo data (tzdata 2013c)\nVERSION 6.39 (2013-03-01)\nAdded the $mode argument to ParseDateDelta\nThe ParseDateDelta function (in functional interface) did not allow you to force a parsed\ndelta to semi or approx where appropriate. This was added. Based on RT 82991.\nAdded getconfig method\nThe getconfig method was added to all classes. Suggested by Philippe Poilbarbe.\nLanguage fixes\nFixed a German language problem. Gosta Oelstrom\nDocumentation fixes\nDocumented workaround for dmake problem in strawberry perl. Discussed on perlmonks and\nMartin Thurn (RT 79837).\nClarified the Examples page. Winston Heng\nVERSION 6.38 (2013-01-08)\n(*) Tar file format corrected\nProblems were reported on several OSes by people unable to install Date::Manip (and other\nmodules). It turns out that the version of tar distributed by my linux distro (OpenSuSE)\nuses the 'posix' format instead of the traditional 'gnu' format by default. This causes\nproblems for some versions of tar. I have had reports from OSX, Windows, and SunOS. Future\nversions of Date::Manip will be explicitly distributed in the 'gnu' tar archive format.\nReported by Jay Allen and John Ralls (RT 80594).\n(*) Date::Manip 5.xx end-of-life\nDate::Manip 5.xx is now officially out of support. I will not be doing any further work on\nit. The only exception is that I will consider adding user supplied patches on a\ncase-by-case basis.\nIf at all possible, please use Date::Manip 6.xx instead.\n(!) Removed some deprecated config variables\nThe following config variables have been removed.\nIntCharSet\nRecurNumFudgeDays\nVERSION 6.37 (2012-12-01)\nBug fixes\nFixed a bug where ISO 8601 format YYYY-WXX-D didn't work if the week ended up in December.\nGordon Lugauer.\nTime zone fixes\nNewest zoneinfo data (tzdata 2012j)\nDocumentation fixes\nSpelling error fixed. RT 80621\nVERSION 6.36 (2012-10-31)\nFix version numbers\nThis was an interim release to fix the version numbers (6.35 was released with all of the\nversion numbers 6.34).\nVERSION 6.35 (2012-10-31)\nFix PATH\nThis version was an interim release to fix the problem with the PATH being replaced.\nRemoved dependency on YAML\nI've reverted the language data files to perl literals instead of YAML. Though not quite as\neasy to maintain, it solves a few problems. Patch provided by Christopher Madsen.\nBug fixes\nLast versions fix for RT 78566 overrode the PATH even when that wasn't appropriate. This is\nfixed. Report and patch supplied by Tom Wyant (RT 80435).\nVERSION 6.34 (2012-09-04)\nThis is a bug fix so that the PATH won't break non-unix installs.\nBug fixes\nPut the PATH inside the Unix section so it doesn't affect non-unix environments. Geoff\nRowell\nVERSION 6.33 (2012-09-01)\nImprovements to Date::Manip::Delta\nAdded convert method. This had been planned since 6.30, but based on a discussion with\nHenrique Martins, I moved it up in priority.\nCleaned up handling of delta field lengths (they are now only calculated once.\nAdded cmp method. Henrique Martins\nBug fixes\nThe language modules read from the DATA section, but I never closed the filehandle. This is\nfixed now. Patch by Doru Theodor Petrescu\nAdded better loading of DM5/DM6 modules. Evan Carroll (RT 78152)\nAdded a secure PATH to TZ.pm for taint reasons. In response to Dan Pritts (RT 78566)\nTime zone fixes\nNow supports timezones in files with spaces where there should be underscores. This occurs\nin RHEL desktop. Dan Pritts (RT 78566)\nNewest zoneinfo data (tzdata 2012e)\nDocumentation fixes\nMinor fix. Henrique Martins\nVERSION 6.32 (2012-06-01)\nModified Build.PL\nBuild.PL now has better support for building (or not building) HTML files. Apparently this\nis slow on Windows. Patch provide by Manoj Kumar (RT 75118)\nBug fixes\nFixed a bug in business day calculations. Frederic Briere (RT 76336)\nFixed a bug where Delta/Recur objects weren't correctly created. Zsban Ambrus\nFixed a bug where SetDate/ForceDate config variables could not be included in a file. Jerry\nWilcox\nTime zone fixes\nNewest zoneinfo data (tzdata 2012c).\nDocumentation fixes\nBetter support for UTF-8 in autogenerated language module pod files.\nVERSION 6.31 (2012-03-01)\nAdded extended formats to printf method.\nThese include the %<A=NUM>, %<a=NUM>, %<v=NUM>, %<B=NUM>, %<b=NUM>, %<p=NUM>, and %<E=NUM>\nformats. Chris Jackson\nCan now parse formats where the time and zone are not adjacent\nA string like 'Jan 21 17:13:27 2010 -0400' can now be parsed. Requested on perlmonks ('Can\nDate::Manip parse a unix timestamp' thread).\nAdded PeriodTimeSep config variable.\nThis allows you to use a period as a time separator. Ed Avis\nHolidays can be used as date strings\nYou can now parse a holiday name in the Date::Manip::Date::parse method. For example,\nparse('Christmas'). Requested by Abigail.\nAdded new recur modifiers\nAdded WDn, IBD, and NBD modifiers.\nAdded a new date format\nYou can now parse '2nd day in May' formats. Randy Harmon\nMore flexibility in parsing timezones with both offset and abbrev\nIf you include both the offset and abbreviation in the timezone portion of a date, the\nparenthesis around the abbreviation are now optional, so you can parse both:\n-04:00 (EDT)\n-04:00 EDT\nRequested by Steven Melendez.\nDeltas now support fractional values.\nYou can now use a delta of 1.5 days. Martin Thurn (RT 42699)\nMultiple holidays supported\nA date may now have multiple holidays. Keith Minkler\nBug fixes\nFixed a bug where abbreviations were not being examined case insensitively. Jurgen Muck\nThe Holidays section may be safely split across multiple config files. A bug prevented this\nfrom working before.\nLanguage fixes\nThe Norwegian translation was broken due to a typo in the language module.\nIncluded complete documentation for each language.\nFixed a couple problems with Danish. Nicholas Oxhaj\nAdded Finnish (from a VERY old mail that I overlooked somehow). Iikka Virkkunen\nCleaned up the values used by printf directives to give the expected result.\nDocumentation fixes\nFixed a typo. Nicholas Bamber\nVERSION 6.30 (2012-01-11)\n(*) (!) Reworked deltas\nMuch of the delta code was reworked.\nThe constraint that a day is treated as 24 hours was removed (by adding the concept of\nsemi-exact deltas) to better handle daylight saving time calculations.\nMade cosmetic changes to which signs will be included in a delta to make the deltas more\nreadable. Signs which are the same as the next higher field will be omitted, even if they\ncross set boundaries.\nAdded support for non-normalized deltas. See the $nonormalize option for the parse and set\nmethods.\nRemoved limitations on subtract=2 not working with business calculations.\nThanks to discussion on perlmonks, and RT 65774 that prompted me to do this. I'd been\nwanting to do it for some time, but the discussion on perlmonks made me realize that this\nneeded to be much higher priority.\n(!) Modified DeltaFormat\nIn conjunction with the above work, added the 'semi' mode to DeltaFormat.\n(!) Removed some deprecated config variables\nThe following config variables have been removed.\nGlobalCnf\nIgnoreGlobalCnf\nPersonalCnf\nPersonalCnfPath\nPathSep\nInternal\nDeltaSigns\nUpdateCurrTZ\nConvTZ\nOldConfigFiles\nResetWorkDay\nTime zone fixes\nNewest zoneinfo data (tzdata 2011n). RT 71595\nCorrects a bug where +0000 and -0000 offsets were not parsed correctly. Aaron Hall\nThe zoneinfo data includes rules more than 20 years in the future, so we now store 30 years\nof future dates instead of 20 to catch these rules.\nWhen parsing the timezone portion of the date, timezone abbreviations now take higher\nprecedence than zone names (since that is how timezone information is typically specified).\nThat only impacts dates where the a timezone name is the same as an abbreviation, such as\n'CET'.\nPreviously, a date with CET in it was interpreted as in the CET timezone. Now it is\ninterpreted as in a timezone with the CET abbreviation.\nBetter handling of undef in DM6\nThe date/delta parsing routines in DM6 will now handle an undef argument without issuing a\nwarning. Earl C. Ruby III\nBug fixes\nFixed a bug with the parseformat %f and %i formats. Tommi Rintala\nFixed a bug where the Date::Manip::Delta::set function didn't work to set the month value.\nFixed a bug where parsing some dates near during a DST change failed.\nMinor bug fix when using DeltaFormat. Prompted while investigating RT 41095.\nVERSION 6.25 (2011-08-31)\nRelaxed one constraint in ISO 8601 dates\nA time separated by whitespace from the date can use a single digit hour. Yuming Philip\nXiang\n(*) Set official removal dates for old config variables\nConfig variables will be removed 2 years after they are deprecated (except for the TZ\nvariable which, due to it's wide use, will be kept for 4 years).\nTime zone fixes\nNewest zoneinfo data (tzdata 2011i)\nVERSION 6.24 (2011-06-13)\nNew features\nSpaces are ignored in the SetDate/ForceDate config values. Zsban Ambrus\nBug fixes\nFixed a bug where 'in one week' wasn't correctly parsed. E. M. Shtern\nFixed a bug where options passed in to the 'new' as a listref weren't handled properly.\nZsban Ambrus\nTime zone fixes\nNewest zoneinfo data (tzdata 2011g)\nVERSION 6.23 (2011-04-15)\n(!) Renamed one Date::Manip::Recur method\nThe Date::Manip::Recur::base method has been renamed to basedate . The\nDate::Manip::Recur::base method should return the Date::Manip::Base object like all the\nother Date::Manip modules.\n(*) Reworked holidays defined as recurrences\nImproved dealing with the bootstrap problem of defining holidays, especially those that\ncontain business day flags. Mike Tonks\nNew features\nThe printf function will now take multiple format strings and return a list of values. Zsban\nAmbrus\nBug fixes\nFixed a bug where GlobalCnf wasn't working. Peter Edwards\nImproved error messages in a few cases.\nFixed a bug where one invalid date/timezone check was ignored. Morten Bjornsvik\nFixed a bug where '$base2 = new Date::Manip::Base $base1' wasn't working. RT 67143\nFixed a bug where passing dates in to the Recur->dates method failed. RT 67144\nFixed a bug where the mode wasn't being preserved correctly for a delta. RT 67150\nFixed a bug in recurrences where a base date outside of a date range with a very uncommon\nrecurrence format would not work correctly.\nFixed a problem where the '%s' printf option didn't work in GMT. Jean-Michel Hiver\nTime zone fixes\nNewest zoneinfo data (tzdata 2011f)\nDocumentation fixes\nFixed two bad recurrence examples in the documentation. Peter Edwards and Mike Tonks\nVERSION 6.22 (2011-03-07)\nTime zone fixes\nNewest zoneinfo data (tzdata 2011b)\nFixed a bug where the gmtoff method of getting the local timezone was broken. Martin Zinser.\nFixed the 'env' method of determining the local time zone to allow the value to be an offset\nof seconds since UTC. This allows the VMS SYS$TIMEZONEDIFFERENTIAL variable to work\ncorrectly. Martin Zinser.\nRemoved the SYS$TIMEZONERULE method from VMS since the value stored there is not the name\nof a timezone (it's a rule in a non-standard format). Based on discussion with Martin\nZinser.\nImproved the order in which aliases, abbreviations, etc., are tested to test current usage\nbefore non-current usage (there were a few cases where old usages were getting tested before\ncurrent usage.\nLanguage fixes\nThe module will now die if a language module cannot be loaded (most likely due to a\nYAML::Syck issue). Based on discussion with Martin Zinser.\nDocumentation fixes\nAdded a sample config file document. Based on discussion with Rich Duzenbury.\nVERSION 6.21 (2011-01-10)\nNew features\nDeltas may now contain spelled out numbers, so 'in 2 weeks' and 'in two weeks' will both\nwork. Daniel Shahaf\nBug fixes\nFixed a bug where weekofyear didn't work in some cases. Chris Eveland.\nFixed a minor potential bug. Geraint Edwards.\nTime zone fixes\nUpdated windows time zone aliases. Daniel Harding\nLanguage fixes\nAdded Norwegian. Glenn Sogn\nVERSION 6.20 (2010-12-01)\n(*) (!) Reworked recurrences\nRecurrences were reworked in a (slightly) backward incompatible way to improve their\nusefulness (and to make them conform to the expected results). Most recurrences will work\nthe same as previously, but a few will differ. Most of this was suggested by Jay Jacobs.\nA recurring event is now calculated relative to the base date, NOT relative to a previous\nevent. For example, if a recurrence occurs every month, and the base date was Jan 31, then\npreviously, recurring events would have been (in a non-leap year):\nD(0)                   = Jan 31\nD(1)  = D(0) + 1 month = Feb 28\nD(2)  = D(1) + 1 month = Mar 28\n...\nThe new behavior is:\nD(0)                       = Jan 31\nD(1)  = D(0) + 1*(1 month) = Feb 28\nD(2)  = D(0) + 2*(1 month) = Mar 31\n...\nPreviously, if a base date were not specified, it was not determined from the date range.\nNow, the start date of the date range acts as the base date.\nThe meaning of the base date has changed slightly. It is much more meaningful and useful\nnow.\nAdded iterator functions. Daniel LaLiberte\nThe RecurNumFudgeDays variable is no longer used and is deprecated.\nTime zone fixes\nNewest zoneinfo data (tzdata 2010o)\nVERSION 6.14 (2010-10-20)\n(*) Date::Manip 5.xx fully integrated with 6.xx\nDate::Manip 5.xx and 6.xx are both installed automatically, and the correct one will be\nchosen.\nBug fixes\nFixed a bug where recurrence handling was broken. RT 62128\nDocumentation fixes\nA lot of documentation was cleaned up to be easier to read, and better organized.\nVERSION 6.13 (2010-10-13)\nNew features\nAdded the input methods to Date::Manip::Date and Date::Manip::Delta. Ed Avis.\nThe 'date +%z' command will also be used to determine the timezone. Oliver Schulze\nBug fixes\nSeveral changes to try to get rid of a memory leaks reported in RT 54937. Huge thanks to\nBrowserUK on perlmonks for help. Unfortunately, it ended up being a bug in perl, and will\nonly be resolved when that bug is fixed. See the Date::Manip::Problems document for more\ninformation.\nReorganized Base/TZ to get rid of circular references.\nAdded end blocks to clean some global variables.\nGot rid of switch/given structures.\nFixed a bug where an incomplete date with 'last' in it was causing an error. RT 60138\nFixed a bug where 'Sunday, 9th Jan 1972' wasn't parsed correctly. RT 57832\nTime zone fixes\nFixed a bug where Zones.pm was generated with the abbreviations in the wrong order. Amish\nChana.\nLanguage fixes\nFrench month abbreviations now support periods. Bernard Haerri\nTest fixes\nAdded tests from RT 29655 to make sure that the problem never recurs.\nDocumentation fixes\nFixed documentation problem with the new* methods in Date::Manip::Obj. Options must be\npassed in as \\@opts rather than @opts.\nCleaned up some of the documentation.\nVERSION 6.12 (2010-09-27)\n(!) IntCharSet config variable deprecated\nWith better support for international character sets, the old IntCharSet config variable\n(which was a bandaid at best) is deprecated. Currently, the functionality still exists, but\nit will be removed at some point.\nNew features\nAdded the Encoding config variable.\nNow supports parsing the EXIF date format. Rhesa Rozendaal\nBug fixes\nFixed Build.PL to not require perl 5.010 since the distribution as a whole does not require\nthat (and I want that fact to be in META.yml).\nFixed a bug where the Date::Manip::Date::set method was broken when setting individual\nfields. Helmut A. Bender\nFixed a bug where set didn't work in Date::Manip::Delta. Patch provided in RT 59096.\nTime zone fixes\nNewest zoneinfo data (tzdata 2010m)\nLanguage fixes\n(*) Converted all language files to UTF-8 and added rudimentary support for character\nencodings. Some assistance by Stephen Ostermiller.\nFixed problem in Polish, Dutch. Stephen Ostermiller\nExtended support for 'nth' up to 53rd. Paco Regodon\nAdded some corrections to German. Dieter Lange\nDocumentation fixes\nClarified Date::Manip::Recur documentation based on RT 59132.\nVERSION 6.11 (2010-04-30)\nBug fixes\nFixed a problem in Build.PL that had an incorrect module requirement.\nVERSION 6.10 (2010-04-29)\n(*) Combined 5.xx and 6.xx releases into one distribution\nBecause the automatic module management tools cpan/cpanp would try to upgrade Date::Manip to\nthe most recent version, and the most recent version will only work if perl 5.10.0 or higher\nis installed, both the 5.xx and 6.xx releases are now combined into a single distribution.\nThis is described more fully in the Date::Manip::Problems document.\n(!) Zones specified by offset\nIn all operations involving time zones, the time zone must be determined. By default, it\nwould take all of the information available (date, ISDST, etc.) and determine the most\nlikely time zone. It would take every time zone that matched each piece of information,\nstarting with those that matched in a standard time followed by those that matched in a\ndaylight saving time.\nWhen zones are specified by an offset, a standard time would always match since there are\nstandard time zones that match all year long (the military time zones A-Z and the standard\ntime zones of the form Etc/GMT+01). As a result, a daylight saving time match would never\noccur.\nSince (if the date falls during a daylight saving time period) you usually want to use a\ntime zone that has that offset in daylight saving time, the default is now to check daylight\nsaving time zones first, followed by standard times.\nSee the Date::Manip::TZ manual (under the zone method) for more information.\nBug fixes\nFixed a bug where DateConvTZ not working correctly with time zones specified by offset.\nChris Butler\nFixed a bug where business mode calculations involving minutes was not handled correctly.\nDamien Moore\nFixed a bug where business mode calculations failed in some cases. RT 56638\nTime zone fixes\nNewest zoneinfo data (tzdata 2010i)\nChanged Date::Manip::TZ::zone so \"dst\" is sometimes the default $dstflag. Based on the bug\nreport by Chris Butler.\nOpenUNIX puts a colon at the start of some time zones. It's removed. Jean Hassler\nTest fixes\nConverted tests to Test::Inter\nDocumentation fixes\nFixed a documentation bug in Date::Manip::TZ where \"stdonly\" was listed as the default value\nfor $dstflag, but in actuality, \"std\" is the default.\nVERSION 6.07 (2010-02-05)\nBug fixes\nFixed bug in DateTimeZone where it wasn't returning the time zone. Robert Eden\nVERSION 6.06 (2010-02-05)\nBug fixes\nMinor bug where %Z printf format didn't always work.\nAdded support for 5pm back in (it was omitted accidentally). Mark Kennedy\nFixed a minor warning. Morten Bjoernsvik\nSome additional speedups.\nTime zone fixes\nNewest zoneinfo data (tzdata 2010b)\nAdded dmzdump example script.\nImproved TZ::periods functionality\nFixed bug in DateConvTZ where empty values weren't defaulting to local time zone. Robert\nEden\nFixed a couple of problems in the generated time zones for some odd cases (America/Resolute\nand Asia/Tehran).\nVERSION 6.05 (2009-12-09)\n(!) %z format\nIn Date::Manip 5.xx, the %z format in UnixDate printed the offset in the form -0500. In\n6.00, I changed that to -05:00:00, but this broke RFC 822 compliance.\nI've changed %z back to -0500, and introduced a new format (%N) which returns -05:00:00.\nIncidentally, this is the LAST unused letter, so I am now going to have to either stop\nadding formats, or add some extended format syntax. Not sure yet which, but this may involve\na backwards incompatible change in the future.\n(*) Significant speedups.\nThanks to Moritz Lenz and BrowserUK on perlmonks for suggestions (and a number of other\npeople on perlmonks for suggestions that I did not end up using, but which provided a great\ndiscussion).\nBug fixes\nFixed a bug in parsedate where the current time was getting used instead of the documented\n00:00:00\nBug fix where DateCalc didn't work with $mode in some cases.\nFixed Makefile.PL/Build.PL to handle Win32::TieRegistry requirement.\nChanged %z printf behavior back to 5.xx and added %N format. Gilles Lamiral\nAdded dmdate example script.\nTime zone fixes\nFixed bug where non-English Windows versions didn't get the time zone. Thanks to Rene\nSchickbauer for testing.\nTest fixes\nReduced the precision of 1 test to avoid a rounding difference when using a perl compiled\nwith uselongdouble. Andreas Koenig\nVERSION 6.04 (2009-11-25)\nBug fixes\nFixed a bug where events were not interpreted in the correct time zone if SetDate/ForceDate\nused.\nVERSION 6.03 (2009-11-24)\nBug fixes\nCorrects a backward incompatibility with UnixDate. Rene Schickbauer\nTest fixes\nA couple more corrections to the tests.\nVERSION 6.02 (2009-11-24)\nBug fixes\nDisabled currzonemethods when taint checking on. I believe that Date::Manip is completely\ntaint friendly at this point.\nTest fixes\nA quick fix to make sure that the tests run correctly in other time zones.\nVERSION 6.01 (2009-11-23)\nBug fixes\n(*) Fixed a bug where dates were sometimes getting the wrong time zone when\nSetDate/ForceDate in effect.\nVERSION 6.00 (2009-11-23)\nFirst release of the 6.xx series\nDate::Manip 6.00 is a total rethink of the module, and a nearly complete rewrite. Please\nrefer to the Date::Manip::Changes5to6 document for a list of incompatible changes.\nReorganization\n(*) Massive reorganization and near total rewrite.\n(*) Broke into several smaller modules\nNew Features\n(*) Full time zone support (using tzdata 2009s)\nAdded some functionality (suggested by James Elson to improve setting the \"current time\".\nDone with the ForceDate config variable.\n(*) Converted languages to YAML for much easier maintenance. Patch and suggestion provided\nby Evan Carroll\nAdded much better formats for deltas. Suggested by Jim Hranicky.\nBorrowed the FindWindowsTZName function from the DateTime-TimeZone module.\nAdded SetDate config variable (based on a suggestion by Christian Campbell).\nAdded parseformat which was first suggested by Kim Ryan.\nOther changes\nSeveral config variables deprecated\nThanks to Jonathan Hogue for helping test Windows additions.\nBug fixes (correcting problems in the 5.xx releases)\nFixed a bug where \"YYtoYYYY=c\" wouldn't work.\nVMS bugfix to not call `date` command. Lane\nNew Year's Day defined using a recurrence which might push the observed day to the previous\nyear was broken. Reported by Jerry Wilcox.\nLanguage fixes\nFixed typo in Turkish translation.\nSpelling fix in Dutch. Bart Van Loon\nAdditional credits\nI have received many suggestions over time which were automatically handled during the 6.00\nrewrite. Although the changes weren't made because of the suggestions specifically, I wanted\nto acknowledge them since I appreciate the suggestions.\nI believe the first person to suggest writing Date::Manip as an OO module was Eduard\nDerksen.\nDeltaFormat initialization done outside of the function. Eric Boehm\nAdded $subtract to calculation routines. First suggested by Steve Berlage.\nAdded ability to set individual parts of the date (Date::Manip::Date::set). First suggested\nby Martin Thurn.\nUnixDate (i.e. Date::Manip::Date::printf) only calculates formats when they are needed.\nEduard Derksen\nParsing will skip some date/time formats if requested. This was first suggested by Eduard\nDerksen.\nIt has been suggested several times to support multiple languages, multiple config files, or\nmultiple sets of DateInit options. These suggestions (by Meng Fang, Ed Avis, Christian\nCampbell, and perhaps others) were at the back of my mind as I developed the\nDate::Manip::Base class.\nThe regular expressions are all i18n friendly in anticipation of much better support for\nlocalization. First suggested by Alex Kapranoff.\nParsing a date ('today', 'Monday') gives a time of '00:00:00'. Suggested by Mark Aitchison.\nWorking with fractional days was suggested by Peter van Hardenberg. This is implemented in\nDate::Manip::Base::dayofyear method.",
    "sections": {
        "NAME": {
            "content": "Date::Manip::Changes6 - changes in Date::Manip 6.xx\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "This describes the changes made to the Date::Manip module in the 6.xx series of releases. Major\nchanges are marked with asterisks (*).\n\nFor the most part, Date::Manip has remained backward compatible at every release, but\noccasionally, a change is made which is backward incompatible. These are marked with an\nexclamation mark (!).\n\n#=head1 VERSION 6.90 (expected 2022-12-01) # #=head1 VERSION 6.89 (expected 2022-09-01) #\n#=head1 VERSION 6.88 (expected 2022-06-01) # #=head1 VERSION 6.87 (expected 2022-03-01)\n\nVERSION 6.86 (2021-11-15)\nChange warn to carp\nAll warnings are now issued with the carp command rather than warn. Requested in GitHup\npull request #18, but that request was not used because it only changed the uses in the\nDate::Manip::Date module.\n\nBug fixes\nFixed a bug where the next/prev Date::Manip::Recur methods gave incorrect results when\nthere are no dates that match the criteria. (GitHub #36)\n\nTime zone fixes\nThere were no new timezone fixes on 2021-06-01 or 2021-09-01, so no releases made then.\n\nNewest zoneinfo data (tzdata 2021e). (GitHub #37)\n\nVERSION 6.85 (2021-03-01)\nTest fixes\nMissed some tests that were failing.\n\nVERSION 6.84 (2021-03-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2021a).\n\nLanguage fixes\nCorrections and additions to Italian. Patch supplied by Leo Cacciari (GitHub #33)\n\nVERSION 6.83 (2020-12-01)\nTime zone fixes\nNo new zoneinfo data so no release on 2020-09-01.\n\nNewest zoneinfo data (tzdata 2020d). Requested by Shawn Carroll (GitHub #32)\n\nVERSION 6.82 (2020-06-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2020a).\n\nVERSION 6.81 (2020-03-01)\nMessed up the 6.80 package. This release fixes it.\n\nVERSION 6.80 (2020-03-01)\nMissed Changes entry for previous version.\nReported by Tina Muller (GitHub #31)\n\nVERSION 6.79 (2019-12-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2019c).\n\nVERSION 6.78 (2019-08-29)\nTime zone fixes\nNewest zoneinfo data (tzdata 2019b).\n\nDocumentation fixes\nFixed a broken link. Mohammad S Anwar (GitHub #29)\n\nVERSION 6.77 (2019-06-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2019a).\n\nVERSION 6.76 (2019-03-01)\nFixed bug in Date::Manip::Date::listholidays.\nIt was using 'now' instead of the stored date. Douglas DeStafeno\n\nReordered TZ detection methods\nMoved checking the tzdata files to lower priority to avoid a pretty unusual situation in\ndocker. Sven Nierlein (GitHub #20)\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2018i). Requested by Shawn C Carroll (GitHub #28)\n\nVERSION 6.75 (2018-12-03)\nFixed packaging problems\nVersion 6.74 was not packaged correctly. Version wasn't set correctly in a few files and\nthere were invalid entries in Makefile.PL. RT 127870.\n\nVERSION 6.74 (2018-12-01)\nRemoved travis file from the tarball\nThe tarball had a .travis.yml file in it that wasn't in the MANIFEST file. Since the\nMANIFEST file is automatically generated by the perl mkmanifest tool, since it didn't see\nthe .travis.yml file, I have excluded it from the tarball. Reported by Mohammad S Anwar on\nGitHub (#23)\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2018e)\n\nVERSION 6.73 (2018-09-01)\nFixed math on non-64-bit architectures\nMuch of the math in Date::Manip::Base is in a 'use integer' section. This math can overflow\nin some cases in non-64-bit architectures. Fixed the cases where this would reasonably\noccur. Reported by Daniel Albers (GitHub #22). Also reported and tested in RT 126052.\n\nBug in normalizing estimated business deltas\nWhile working on the non-64-bit issue, it uncovered a bug where normalizing estimated\nbusiness deltas was wrong. It had never been reported, and it was only off by a couple\nseconds in some rare situations.\n\nVERSION 6.72 (2018-06-06)\nFixed recurrence bug\nThe fix in the previous version for a rare recurrence problem broke another recurrence form.\nIt is now corrected. Michael Schout (GitHub #20)\n\nFixed version problem\nThe wrong version was included in two files for some reason. This is fixed.\n\nDocumentation fixes\nFixed a grammatical error reported by Xavier Guimard (GitHub #19).\n\nVERSION 6.71 (2018-06-01)\nFixed an extremely rare problem with recurrences\nIt is possible to specify a recurrence that never produces a valid date. In these cases,\nlooking for dates went into an infinite loop. The MaxRecurAttempts config variable was added\nwhich will stop that from happening. If no occurrence was found, an error condition will be\nset. Dean Hamstead (RT 123708)\n\nChanges file supported\nIt was requested that I include a valid Changes file. I wrote a simple script to convert the\nChange6.pod file into a valid Change file. The Changes6.pod file is still the canonical\nsource of this information! Requested by H. Merijn Brand\n\nFix for timezone determination\nOn MacOS X High Sierra, some of the timezone files were symlinks, but not properly followed.\nThis was fixed by Stu Tomlinson (GitHub #15).\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2018e)\n\nDocumentation fixes\nMinor fix provided by Mohammad S Anwar (GitHub #17)\n\nVERSION 6.70 (2018-03-01)\n(*) (!) Changes to deltas\nImproved handling of deltas to better support the different types of deltas. Formalized how\nthe semi-exact portions of the delta are used to produce the results that most people would\nexpect.\n\nThe type can now be specified to guarantee several behaviors. Changed the arguments (in a\nbackward compatible way) to several methods. Explicitly added a new type (estimated) which\nwas there previously, but could not be manually specified.\n\nThe convert function continues to support converting from a less exact type to a more exact\ntype, but this is deprecated and will be removed in version 7.00.\n\nThis was prompted by a bug reported by Ian Gibbs.\n\n(*) (!) Deprecated some parts of Date::Manip::Delta\nThe options passed to the set and parse methods have changed. The old style will be removed\nin version 7.00.\n\nDeltas will also no longer support the 'exact' and 'approximate' strings (which have not\nbeen supported for some time). These will be removed in 7.00 as well.\n\nDeprecation of TZ postponed\nThe deprecation of the TZ variable has been postponed to version 7.00.\n\nSome speed improvements\nI converted some of the functions to use faster algorithms. Previously, the steps were\nworked out using logical time/calendar based calculations. These were replaced with\nnon-intuitive numerical calculations that gave the same result faster.\n\nChanged behavior if timezone not determined\nIf the system timezone cannot be determined using any of the methods supplied by\nDate::Manip, operations will be done in the GMT timezone. Previously, Date::Manip would\nsimply fail to load. Based on a report by Kent Fredric (RT 123229).\n\nFixed Makefile.PL\nThe list of what what is provided did not include the path to the file providing each\nmodule. I've fixed the Makefile.PL as well as the META files. Graham Knop (GitHub #13)\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2018c)\n\nDocumentation fixes\nRewrote Date::Manip::Delta page to reflect changes, and clean up the documentation in\ngeneral.\n\nVERSION 6.60 (2017-09-01)\nBug fixes\nFixed a bug where if a recurrence had no interval, start and end dates passed in to the\ndates method would not work. PJ-DSI-DevOps (GitHub #12).\n\nDocumentation fixes\nClarified Date::Manip::TZ::allperiods. Based on discussion with Peter Pfannenschmid.\n\nVERSION 6.59 (2017-06-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2017b)\n\nDocumentation fixes\nImproved some of the documentation.\n\nVERSION 6.58 (2017-03-01)\nBetter support for $mode in DateCalc.\nDateCalc (in DM6) did not support all values for $mode. Now it does.\n\nBug fixes\nParsing a date like 01/02/2016 and calling printf with %e gave '02' instead of ' 2'. Robert\nWohlfarth (RT 119787).\n\nFixed a problem where the tzdata method of determining the timezone was producing an error\nwhich wasn't correct. John (GitHub #8)\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2017a)\n\nVERSION 6.57 (2016-12-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2016j)\n\nTest fixes\nA faulty test was failing in a few places. RT 118705\n\nAnother test was failing due to a perl bug that popped up in 5.25.7. Tweaked the test to\nbypass the bug. Kent Fredric (RT 118862)\n\nVERSION 6.56 (2016-09-09)\nTest fixes\nA faulty test was failing most places. New release to correct that problem. Slaven Rezic (RT\n117404)\n\nVERSION 6.55 (2016-09-01)\nFixed bug where $::TZ wasn't used\nThe $::TZ variable was not getting interpreted correctly when searching for a timezone.\nSteven Hartland (RT 114949)\n\nFixed bug where recurrences were not parsed correctly\nPassing in incorrect values for a field was not trapped in all cases and it led to problems.\nAll values passed in to a recurrence are now correctly checked. Albert Hilazo (GitHub #7).\n\nFixed a bug in some methods of creating new objects\nSome methods of creating new objects based on existing objects did not correctly use the\nexisting object. Bug has never been reported, but was discovered when adding tests to get\n100% coverage.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2016f)\n\nTest fixes\nAdded a number of new tests based on Devel::Cover.\n\nVERSION 6.54 (2016-05-31)\nDeprecation of Date::Manip 5.xx tests\nBy default, the Date::Manip 5.xx tests will no longer run. Changes to the timezone data can\ncause failures. Since Date::Manip 5.xx is no longer supported in any way, these tests will\nno longer run on a system where 6.xx can be run. Richard Jelinek.\n\nDeprecation of TZ postponed\nThe deprecation of the TZ variable has been postponed to March 2017. I decided that 1 year\nwas not enough notice (especially since not everyone will have updated Date::Manip since\nMarch 2015 when the warning was added.\n\nBug fixes\nChanged requirement for ExtUtils::MakeMaker to 6.6701. Quin Arnold (RT 112286)\n\nFixed a bug where a timezone abbreviation was not parsed correctly when passed in as a value\nto the SetDate, ForceDate, or TZ config variables. Based on a report in perlmonks.org.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2016d)\n\nMade some improvements to how I handled the timezone data which resulted in a few of the\ndefault timezones being changed.\n\nDocumentation fixes\nFixed one more typo. Gregor Herrmann (RT 114095)\n\nClarified the Config document. Based on a report in perlmonks.org.\n\nVERSION 6.53 (2016-03-02)\nBug fixes\nDate::Manip::Delta::cmp had a bug in it's comparison. Ian Gibbs.\n\nThe secssince1970GMT method was missing a test to see if it was a valid object. Michael\nStevens (RT 111915)\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2016a)\n\nDocumentation fixes\nLots of typos fixed. I was using podspell to do spell checking, but it was discarding too\nmuch real text (which wasn't getting checked as a result). Switched to pod2text which does a\nbetter job. Gregor Herrmann (RT 110025)\n\nVERSION 6.52 (2015-12-01)\nAdded date ranges on unmodified dates in Recur\nThe date range can now be specified for either the fully modified dates, or the unmodified\ndates. This will make it easier to work with holidays in some instances. Based on\n<http://perlmonks.org/?nodeid=1148735>.\n\nAdded IWn and NWn recurrence modifiers\nBased on <http://perlmonks.org/?nodeid=1148735>.\n\n(!) Reworked holidays slightly\nPreviously, every line in the Holidays section defined a unique holiday. Now, the names\ndetermine the list of holidays.\n\nIt is not allowed to have two separate holidays named exactly the same. It IS allowed to\nhave complex holidays that require two (or more) lines in the Holidays section to define\nthem completely.\n\nBased on <http://perlmonks.org/?nodeid=1148735>.\n\nBug fixes\nFixed a bug where the RecurRange config variable wasn't getting used.\n\nFixed a bug where some deltas were not parsed correctly as dates. Salvatore Bonaccorso (RT\n109600)\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2015g)\n\nTest fixes\nAdded a number of new tests based on Devel::Cover.\n\nVERSION 6.51 (2015-09-01)\nChanges suggested by perlcritic\nPlayed with perlcritic and made a few minor changes based on it's suggestions. I doubt I\nwill use perlcritic significantly.\n\n(!) Date::Manip::Delta::value now returns an empty string\nIf a delta has an error, or no valid delta in it, the value method returns an empty string\ninstead of undef. This is to be consistent with the Date::Manip::Date::value method which\nreturns an empty string.\n\nBug fixes\nFixed a bug where date/delta calculations with deltas that are too large was not working\ncorrectly. They now set an error condition and fail. Jared Selengut (RT 105737)\n\nFixed a bug introduced by the previous patch and luckily discovered pre-release by Tom\nWyant.\n\nFixed code that produced a warning in 5.22.0. Tom Wyant\n\nImproved DM6 ParseDate and ParseDateString\nAdded @opts argument. Based on report by Vitaly Shupak (RT 105622).\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2015f)\n\nNow uses /etc/localtime as a method to determine the local timezone. Patch supplied by Tom\nWyant (RT 105159) (modified by me). The patch uses some code derived from DateTime::TimeZone\n.\n\nClearer message when the date is not valid in the timezone.\n\nTest fixes\nAdded a number of new tests based on Devel::Cover. Over the next several releases, I intend\nto continue to add tests until coverage is 100%.\n\nDocumentation fixes\nFixed a typo. Gregor Herrmann (RT 105546)\n\nVERSION 6.50 (2015-06-01)\nBug fixes\nNot really a bug, but 6.49 got a bunch of NYTprof data bundled with it by mistake. It's been\nremoved. Olivier Mengue (RT 103252)\n\nFixed a bug where information about whether a date was complete or truncated was discarded.\nJim Avera\n\nFixed a bug where SetDate with a zone alias failed.\n\nAdded the FormatMMMYYYY config variable to allow the truncated format mmmYYYY to be parsed\ninstead of mmmDDYY. David W. Morganwalp and Glenn Golden (RT 103142)\n\nFixed Makefile.PL/Build.PL to correct for a change on perl on windows which changes a module\nprereq requirement. Alexandr Ciornii\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2015d)\n\nAdded aliases for older HP-UX time zones. H. Merijn Brand (RT 104141)\n\nDocumentation fixes\nFixed URL for tzdata. Mohammad S Anwar (GitHub #3).\n\nBetter POD formats.\n\nFixed a documentation error. Glenn Golden (RT 103966)\n\nVERSION 6.49 (2015-03-01)\nAdded a deprecation warning\nThe TZ config variable is going away. Added a deprecation warning.\n\nSome speedups for timezone handling\nBased on a report by Glenn Golden (RT 102284), I have done some optimization of the timezone\nhandling code.\n\nBug fixes\nAdded the missing isdate base method to Date::Manip::Base. Mario Domgoergen.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2015a)\n\nLanguage fixes\nA number of corrections by Nicholas Riley\n\nVERSION 6.48 (2014-12-01)\nPut repository on GitHub\nSuggested by Gabor Szabo\n\nparsetime now parses ISO 8601 times\nThe parsetime routine wouldn't correctly parse ISO 8601 times. This is now fixed.\n\nParsing special dates with timezones now works\nParsing special date formats with timezones is now supported such as:\n\nChristmas at noon PST\nin 3 days at noon PST\nnow PST\nepoch 3000000 PST\n\ndmzdump modified\nTo match the newest version of zdump, the gmtoff is now added at the end of each line.\n\nBug fixes\nFixed a bug in the printf method that would not handle embedded newlines correctly (and\nresulted in an infinite loop if it were preceded by a '%'). Henrique Martins\n\nFixed a bug where '24:00' was not parsed correctly (though '24:00:00' was).\n\nFixed a bug where fractional values separated by a comma weren't parsed correctly.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2014j)\n\nVERSION 6.47 (2014-09-01)\nTime zone fixes\nNewest zoneinfo data (tzdata 2014f)\n\nLanguage fixes\nFixed some encoding errors in the language pod documentation.\n\nVERSION 6.46 (2014-07-08)\nBroken distribution\nThe distribution contained an temporary edit file that caused problems. Alexandr Ciornii (RT\n96459)\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2014e)\n\nLanguage fixes\nAdded some plural abbreviations that were missing. Glenn Golden (RT 96944)\n\nVERSION 6.45 (2014-06-05)\nFixed a test\nOne test was failing (reported by Constantine Peresypkin (RT 96249) as well as several CPAN\nTester reports).\n\nVERSION 6.44 (2014-06-01)\n(*) Improvements to UTF8 handling\nA number of changes based on a report and other discussion with Yuri Nikulin (RT 93545)\nincluding:\n\nCase insensitive matching of UTF8 strings should work all the time.\n\nFixed two significant bugs in regexps for parsing dates.\n\nImprovements to UTF8 handling.\n\nCorrected some problems with Russian and added the cp1251 encoding.\n\nOne correction to Romanian.\n\nAdded several new test scripts.\n\nPreliminary patches were supplied by Yuri.\n\nNew features\nModified the parseformat function to return %+ if desired. Mike Cappella\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2014c)\n\nDocumentation fixes\nClarified some DM6 functions. David Close.\n\nFixed a typo. Mike Cappella (RT 95619)\n\nVERSION 6.43 (2014-03-03)\nSeveral changes to distribution files\nI made several changes to Build.PL, Makefile.PL, META.yml in order to improve the quality\n(or kwalitee) of the module. None of these should impact anyone using the module.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2013i)\n\nDocumentation fixes\nCleaned up some of the Recur documentation. Suggested by Warren Young (RT 92794)\n\nVERSION 6.42 (2013-12-02)\nAdded ParseDateFormat function\nAdded the ParseDateFormat function to the DM6 functional interface in response to Eli\nLindsey (RT 89286).\n\nAdded Common Log format\nAdded the date format used in apache logs: 11/Oct/2000:13:55:36 -0700 Eli Lindsey (RT\n89286).\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2013h)\n\nBug fixes\nFixed a bug where dates of the form of a delta with a timezone attached (i.e. \"1 day ago at\nmidnight UTC\") failed. Ludovic Lange (RT 89256)\n\nFixed a bug where events handling gave a warning if there were no events that applied. RT\n90344\n\nVERSION 6.41 (2013-09-05)\nBug fixes\nRemoved a .swp file accidentally left in the package. RT 85845\n\nFixed a bug in parseformat where times between 00:00:00 and 01:00:00 weren't parsed\ncorrectly. Ole Nomann Thomsen\n\nFixed generated META.* files to not require Module::Build 0.39. Carsten Wolff (RT 86137)\n\nFixed a bug where parseformat did not work with a '%s' format. Mark Keisler (RT 87498)\n\nFixed a bug where findencoding wasn't imported from the Encode module. Krishna Subramanian\n(RT 87665)\n\nFixed a bug where recurrences with no interval did not work if a start and end date were\nspecified, and no dates fell in that range. Jan Pradac\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2013d)\n\nVERSION 6.40 (2013-06-01)\nRemoved PODs\nPOD documentation is no longer generated for Date::Manip::TZ::* and Date::Manip::Offset::*\nmodules.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2013c)\n\nVERSION 6.39 (2013-03-01)\nAdded the $mode argument to ParseDateDelta\nThe ParseDateDelta function (in functional interface) did not allow you to force a parsed\ndelta to semi or approx where appropriate. This was added. Based on RT 82991.\n\nAdded getconfig method\nThe getconfig method was added to all classes. Suggested by Philippe Poilbarbe.\n\nLanguage fixes\nFixed a German language problem. Gosta Oelstrom\n\nDocumentation fixes\nDocumented workaround for dmake problem in strawberry perl. Discussed on perlmonks and\nMartin Thurn (RT 79837).\n\nClarified the Examples page. Winston Heng\n\nVERSION 6.38 (2013-01-08)\n(*) Tar file format corrected\nProblems were reported on several OSes by people unable to install Date::Manip (and other\nmodules). It turns out that the version of tar distributed by my linux distro (OpenSuSE)\nuses the 'posix' format instead of the traditional 'gnu' format by default. This causes\nproblems for some versions of tar. I have had reports from OSX, Windows, and SunOS. Future\nversions of Date::Manip will be explicitly distributed in the 'gnu' tar archive format.\n\nReported by Jay Allen and John Ralls (RT 80594).\n\n(*) Date::Manip 5.xx end-of-life\nDate::Manip 5.xx is now officially out of support. I will not be doing any further work on\nit. The only exception is that I will consider adding user supplied patches on a\ncase-by-case basis.\n\nIf at all possible, please use Date::Manip 6.xx instead.\n\n(!) Removed some deprecated config variables\nThe following config variables have been removed.\n\nIntCharSet\nRecurNumFudgeDays\n\nVERSION 6.37 (2012-12-01)\nBug fixes\nFixed a bug where ISO 8601 format YYYY-WXX-D didn't work if the week ended up in December.\nGordon Lugauer.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2012j)\n\nDocumentation fixes\nSpelling error fixed. RT 80621\n\nVERSION 6.36 (2012-10-31)\nFix version numbers\nThis was an interim release to fix the version numbers (6.35 was released with all of the\nversion numbers 6.34).\n\nVERSION 6.35 (2012-10-31)\nFix PATH\nThis version was an interim release to fix the problem with the PATH being replaced.\n\nRemoved dependency on YAML\nI've reverted the language data files to perl literals instead of YAML. Though not quite as\neasy to maintain, it solves a few problems. Patch provided by Christopher Madsen.\n\nBug fixes\nLast versions fix for RT 78566 overrode the PATH even when that wasn't appropriate. This is\nfixed. Report and patch supplied by Tom Wyant (RT 80435).\n\nVERSION 6.34 (2012-09-04)\nThis is a bug fix so that the PATH won't break non-unix installs.\n\nBug fixes\nPut the PATH inside the Unix section so it doesn't affect non-unix environments. Geoff\nRowell\n\nVERSION 6.33 (2012-09-01)\nImprovements to Date::Manip::Delta\nAdded convert method. This had been planned since 6.30, but based on a discussion with\nHenrique Martins, I moved it up in priority.\n\nCleaned up handling of delta field lengths (they are now only calculated once.\n\nAdded cmp method. Henrique Martins\n\nBug fixes\nThe language modules read from the DATA section, but I never closed the filehandle. This is\nfixed now. Patch by Doru Theodor Petrescu\n\nAdded better loading of DM5/DM6 modules. Evan Carroll (RT 78152)\n\nAdded a secure PATH to TZ.pm for taint reasons. In response to Dan Pritts (RT 78566)\n\nTime zone fixes\nNow supports timezones in files with spaces where there should be underscores. This occurs\nin RHEL desktop. Dan Pritts (RT 78566)\n\nNewest zoneinfo data (tzdata 2012e)\n\nDocumentation fixes\nMinor fix. Henrique Martins\n\nVERSION 6.32 (2012-06-01)\nModified Build.PL\nBuild.PL now has better support for building (or not building) HTML files. Apparently this\nis slow on Windows. Patch provide by Manoj Kumar (RT 75118)\n\nBug fixes\nFixed a bug in business day calculations. Frederic Briere (RT 76336)\n\nFixed a bug where Delta/Recur objects weren't correctly created. Zsban Ambrus\n\nFixed a bug where SetDate/ForceDate config variables could not be included in a file. Jerry\nWilcox\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2012c).\n\nDocumentation fixes\nBetter support for UTF-8 in autogenerated language module pod files.\n\nVERSION 6.31 (2012-03-01)\nAdded extended formats to printf method.\nThese include the %<A=NUM>, %<a=NUM>, %<v=NUM>, %<B=NUM>, %<b=NUM>, %<p=NUM>, and %<E=NUM>\nformats. Chris Jackson\n\nCan now parse formats where the time and zone are not adjacent\nA string like 'Jan 21 17:13:27 2010 -0400' can now be parsed. Requested on perlmonks ('Can\nDate::Manip parse a unix timestamp' thread).\n\nAdded PeriodTimeSep config variable.\nThis allows you to use a period as a time separator. Ed Avis\n\nHolidays can be used as date strings\nYou can now parse a holiday name in the Date::Manip::Date::parse method. For example,\nparse('Christmas'). Requested by Abigail.\n\nAdded new recur modifiers\nAdded WDn, IBD, and NBD modifiers.\n\nAdded a new date format\nYou can now parse '2nd day in May' formats. Randy Harmon\n\nMore flexibility in parsing timezones with both offset and abbrev\nIf you include both the offset and abbreviation in the timezone portion of a date, the\nparenthesis around the abbreviation are now optional, so you can parse both:\n\n-04:00 (EDT)\n-04:00 EDT\n\nRequested by Steven Melendez.\n\nDeltas now support fractional values.\nYou can now use a delta of 1.5 days. Martin Thurn (RT 42699)\n\nMultiple holidays supported\nA date may now have multiple holidays. Keith Minkler\n\nBug fixes\nFixed a bug where abbreviations were not being examined case insensitively. Jurgen Muck\n\nThe Holidays section may be safely split across multiple config files. A bug prevented this\nfrom working before.\n\nLanguage fixes\nThe Norwegian translation was broken due to a typo in the language module.\n\nIncluded complete documentation for each language.\n\nFixed a couple problems with Danish. Nicholas Oxhaj\n\nAdded Finnish (from a VERY old mail that I overlooked somehow). Iikka Virkkunen\n\nCleaned up the values used by printf directives to give the expected result.\n\nDocumentation fixes\nFixed a typo. Nicholas Bamber\n\nVERSION 6.30 (2012-01-11)\n(*) (!) Reworked deltas\nMuch of the delta code was reworked.\n\nThe constraint that a day is treated as 24 hours was removed (by adding the concept of\nsemi-exact deltas) to better handle daylight saving time calculations.\n\nMade cosmetic changes to which signs will be included in a delta to make the deltas more\nreadable. Signs which are the same as the next higher field will be omitted, even if they\ncross set boundaries.\n\nAdded support for non-normalized deltas. See the $nonormalize option for the parse and set\nmethods.\n\nRemoved limitations on subtract=2 not working with business calculations.\n\nThanks to discussion on perlmonks, and RT 65774 that prompted me to do this. I'd been\nwanting to do it for some time, but the discussion on perlmonks made me realize that this\nneeded to be much higher priority.\n\n(!) Modified DeltaFormat\nIn conjunction with the above work, added the 'semi' mode to DeltaFormat.\n\n(!) Removed some deprecated config variables\nThe following config variables have been removed.\n\nGlobalCnf\nIgnoreGlobalCnf\nPersonalCnf\nPersonalCnfPath\nPathSep\n\nInternal\nDeltaSigns\nUpdateCurrTZ\nConvTZ\nOldConfigFiles\nResetWorkDay\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2011n). RT 71595\n\nCorrects a bug where +0000 and -0000 offsets were not parsed correctly. Aaron Hall\n\nThe zoneinfo data includes rules more than 20 years in the future, so we now store 30 years\nof future dates instead of 20 to catch these rules.\n\nWhen parsing the timezone portion of the date, timezone abbreviations now take higher\nprecedence than zone names (since that is how timezone information is typically specified).\nThat only impacts dates where the a timezone name is the same as an abbreviation, such as\n'CET'.\n\nPreviously, a date with CET in it was interpreted as in the CET timezone. Now it is\ninterpreted as in a timezone with the CET abbreviation.\n\nBetter handling of undef in DM6\nThe date/delta parsing routines in DM6 will now handle an undef argument without issuing a\nwarning. Earl C. Ruby III\n\nBug fixes\nFixed a bug with the parseformat %f and %i formats. Tommi Rintala\n\nFixed a bug where the Date::Manip::Delta::set function didn't work to set the month value.\n\nFixed a bug where parsing some dates near during a DST change failed.\n\nMinor bug fix when using DeltaFormat. Prompted while investigating RT 41095.\n\nVERSION 6.25 (2011-08-31)\nRelaxed one constraint in ISO 8601 dates\nA time separated by whitespace from the date can use a single digit hour. Yuming Philip\nXiang\n\n(*) Set official removal dates for old config variables\nConfig variables will be removed 2 years after they are deprecated (except for the TZ\nvariable which, due to it's wide use, will be kept for 4 years).\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2011i)\n\nVERSION 6.24 (2011-06-13)\nNew features\nSpaces are ignored in the SetDate/ForceDate config values. Zsban Ambrus\n\nBug fixes\nFixed a bug where 'in one week' wasn't correctly parsed. E. M. Shtern\n\nFixed a bug where options passed in to the 'new' as a listref weren't handled properly.\nZsban Ambrus\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2011g)\n\nVERSION 6.23 (2011-04-15)\n(!) Renamed one Date::Manip::Recur method\nThe Date::Manip::Recur::base method has been renamed to basedate . The\nDate::Manip::Recur::base method should return the Date::Manip::Base object like all the\nother Date::Manip modules.\n\n(*) Reworked holidays defined as recurrences\nImproved dealing with the bootstrap problem of defining holidays, especially those that\ncontain business day flags. Mike Tonks\n\nNew features\nThe printf function will now take multiple format strings and return a list of values. Zsban\nAmbrus\n\nBug fixes\nFixed a bug where GlobalCnf wasn't working. Peter Edwards\n\nImproved error messages in a few cases.\n\nFixed a bug where one invalid date/timezone check was ignored. Morten Bjornsvik\n\nFixed a bug where '$base2 = new Date::Manip::Base $base1' wasn't working. RT 67143\n\nFixed a bug where passing dates in to the Recur->dates method failed. RT 67144\n\nFixed a bug where the mode wasn't being preserved correctly for a delta. RT 67150\n\nFixed a bug in recurrences where a base date outside of a date range with a very uncommon\nrecurrence format would not work correctly.\n\nFixed a problem where the '%s' printf option didn't work in GMT. Jean-Michel Hiver\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2011f)\n\nDocumentation fixes\nFixed two bad recurrence examples in the documentation. Peter Edwards and Mike Tonks\n\nVERSION 6.22 (2011-03-07)\nTime zone fixes\nNewest zoneinfo data (tzdata 2011b)\n\nFixed a bug where the gmtoff method of getting the local timezone was broken. Martin Zinser.\n\nFixed the 'env' method of determining the local time zone to allow the value to be an offset\nof seconds since UTC. This allows the VMS SYS$TIMEZONEDIFFERENTIAL variable to work\ncorrectly. Martin Zinser.\n\nRemoved the SYS$TIMEZONERULE method from VMS since the value stored there is not the name\nof a timezone (it's a rule in a non-standard format). Based on discussion with Martin\nZinser.\n\nImproved the order in which aliases, abbreviations, etc., are tested to test current usage\nbefore non-current usage (there were a few cases where old usages were getting tested before\ncurrent usage.\n\nLanguage fixes\nThe module will now die if a language module cannot be loaded (most likely due to a\nYAML::Syck issue). Based on discussion with Martin Zinser.\n\nDocumentation fixes\nAdded a sample config file document. Based on discussion with Rich Duzenbury.\n\nVERSION 6.21 (2011-01-10)\nNew features\nDeltas may now contain spelled out numbers, so 'in 2 weeks' and 'in two weeks' will both\nwork. Daniel Shahaf\n\nBug fixes\nFixed a bug where weekofyear didn't work in some cases. Chris Eveland.\n\nFixed a minor potential bug. Geraint Edwards.\n\nTime zone fixes\nUpdated windows time zone aliases. Daniel Harding\n\nLanguage fixes\nAdded Norwegian. Glenn Sogn\n\nVERSION 6.20 (2010-12-01)\n(*) (!) Reworked recurrences\nRecurrences were reworked in a (slightly) backward incompatible way to improve their\nusefulness (and to make them conform to the expected results). Most recurrences will work\nthe same as previously, but a few will differ. Most of this was suggested by Jay Jacobs.\n\nA recurring event is now calculated relative to the base date, NOT relative to a previous\nevent. For example, if a recurrence occurs every month, and the base date was Jan 31, then\npreviously, recurring events would have been (in a non-leap year):\n\nD(0)                   = Jan 31\nD(1)  = D(0) + 1 month = Feb 28\nD(2)  = D(1) + 1 month = Mar 28\n...\n\nThe new behavior is:\n\nD(0)                       = Jan 31\nD(1)  = D(0) + 1*(1 month) = Feb 28\nD(2)  = D(0) + 2*(1 month) = Mar 31\n...\n\nPreviously, if a base date were not specified, it was not determined from the date range.\nNow, the start date of the date range acts as the base date.\n\nThe meaning of the base date has changed slightly. It is much more meaningful and useful\nnow.\n\nAdded iterator functions. Daniel LaLiberte\n\nThe RecurNumFudgeDays variable is no longer used and is deprecated.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2010o)\n\nVERSION 6.14 (2010-10-20)\n(*) Date::Manip 5.xx fully integrated with 6.xx\nDate::Manip 5.xx and 6.xx are both installed automatically, and the correct one will be\nchosen.\n\nBug fixes\nFixed a bug where recurrence handling was broken. RT 62128\n\nDocumentation fixes\nA lot of documentation was cleaned up to be easier to read, and better organized.\n\nVERSION 6.13 (2010-10-13)\nNew features\nAdded the input methods to Date::Manip::Date and Date::Manip::Delta. Ed Avis.\n\nThe 'date +%z' command will also be used to determine the timezone. Oliver Schulze\n\nBug fixes\nSeveral changes to try to get rid of a memory leaks reported in RT 54937. Huge thanks to\nBrowserUK on perlmonks for help. Unfortunately, it ended up being a bug in perl, and will\nonly be resolved when that bug is fixed. See the Date::Manip::Problems document for more\ninformation.\n\nReorganized Base/TZ to get rid of circular references.\nAdded end blocks to clean some global variables.\nGot rid of switch/given structures.\n\nFixed a bug where an incomplete date with 'last' in it was causing an error. RT 60138\n\nFixed a bug where 'Sunday, 9th Jan 1972' wasn't parsed correctly. RT 57832\n\nTime zone fixes\nFixed a bug where Zones.pm was generated with the abbreviations in the wrong order. Amish\nChana.\n\nLanguage fixes\nFrench month abbreviations now support periods. Bernard Haerri\n\nTest fixes\nAdded tests from RT 29655 to make sure that the problem never recurs.\n\nDocumentation fixes\nFixed documentation problem with the new* methods in Date::Manip::Obj. Options must be\npassed in as \\@opts rather than @opts.\n\nCleaned up some of the documentation.\n\nVERSION 6.12 (2010-09-27)\n(!) IntCharSet config variable deprecated\nWith better support for international character sets, the old IntCharSet config variable\n(which was a bandaid at best) is deprecated. Currently, the functionality still exists, but\nit will be removed at some point.\n\nNew features\nAdded the Encoding config variable.\n\nNow supports parsing the EXIF date format. Rhesa Rozendaal\n\nBug fixes\nFixed Build.PL to not require perl 5.010 since the distribution as a whole does not require\nthat (and I want that fact to be in META.yml).\n\nFixed a bug where the Date::Manip::Date::set method was broken when setting individual\nfields. Helmut A. Bender\n\nFixed a bug where set didn't work in Date::Manip::Delta. Patch provided in RT 59096.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2010m)\n\nLanguage fixes\n(*) Converted all language files to UTF-8 and added rudimentary support for character\nencodings. Some assistance by Stephen Ostermiller.\n\nFixed problem in Polish, Dutch. Stephen Ostermiller\n\nExtended support for 'nth' up to 53rd. Paco Regodon\n\nAdded some corrections to German. Dieter Lange\n\nDocumentation fixes\nClarified Date::Manip::Recur documentation based on RT 59132.\n\nVERSION 6.11 (2010-04-30)\nBug fixes\nFixed a problem in Build.PL that had an incorrect module requirement.\n\nVERSION 6.10 (2010-04-29)\n(*) Combined 5.xx and 6.xx releases into one distribution\nBecause the automatic module management tools cpan/cpanp would try to upgrade Date::Manip to\nthe most recent version, and the most recent version will only work if perl 5.10.0 or higher\nis installed, both the 5.xx and 6.xx releases are now combined into a single distribution.\n\nThis is described more fully in the Date::Manip::Problems document.\n\n(!) Zones specified by offset\nIn all operations involving time zones, the time zone must be determined. By default, it\nwould take all of the information available (date, ISDST, etc.) and determine the most\nlikely time zone. It would take every time zone that matched each piece of information,\nstarting with those that matched in a standard time followed by those that matched in a\ndaylight saving time.\n\nWhen zones are specified by an offset, a standard time would always match since there are\nstandard time zones that match all year long (the military time zones A-Z and the standard\ntime zones of the form Etc/GMT+01). As a result, a daylight saving time match would never\noccur.\n\nSince (if the date falls during a daylight saving time period) you usually want to use a\ntime zone that has that offset in daylight saving time, the default is now to check daylight\nsaving time zones first, followed by standard times.\n\nSee the Date::Manip::TZ manual (under the zone method) for more information.\n\nBug fixes\nFixed a bug where DateConvTZ not working correctly with time zones specified by offset.\nChris Butler\n\nFixed a bug where business mode calculations involving minutes was not handled correctly.\nDamien Moore\n\nFixed a bug where business mode calculations failed in some cases. RT 56638\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2010i)\n\nChanged Date::Manip::TZ::zone so \"dst\" is sometimes the default $dstflag. Based on the bug\nreport by Chris Butler.\n\nOpenUNIX puts a colon at the start of some time zones. It's removed. Jean Hassler\n\nTest fixes\nConverted tests to Test::Inter\n\nDocumentation fixes\nFixed a documentation bug in Date::Manip::TZ where \"stdonly\" was listed as the default value\nfor $dstflag, but in actuality, \"std\" is the default.\n\nVERSION 6.07 (2010-02-05)\nBug fixes\nFixed bug in DateTimeZone where it wasn't returning the time zone. Robert Eden\n\nVERSION 6.06 (2010-02-05)\nBug fixes\nMinor bug where %Z printf format didn't always work.\n\nAdded support for 5pm back in (it was omitted accidentally). Mark Kennedy\n\nFixed a minor warning. Morten Bjoernsvik\n\nSome additional speedups.\n\nTime zone fixes\nNewest zoneinfo data (tzdata 2010b)\n\nAdded dmzdump example script.\n\nImproved TZ::periods functionality\n\nFixed bug in DateConvTZ where empty values weren't defaulting to local time zone. Robert\nEden\n\nFixed a couple of problems in the generated time zones for some odd cases (America/Resolute\nand Asia/Tehran).\n\nVERSION 6.05 (2009-12-09)\n(!) %z format\nIn Date::Manip 5.xx, the %z format in UnixDate printed the offset in the form -0500. In\n6.00, I changed that to -05:00:00, but this broke RFC 822 compliance.\n\nI've changed %z back to -0500, and introduced a new format (%N) which returns -05:00:00.\n\nIncidentally, this is the LAST unused letter, so I am now going to have to either stop\nadding formats, or add some extended format syntax. Not sure yet which, but this may involve\na backwards incompatible change in the future.\n\n(*) Significant speedups.\nThanks to Moritz Lenz and BrowserUK on perlmonks for suggestions (and a number of other\npeople on perlmonks for suggestions that I did not end up using, but which provided a great\ndiscussion).\n\nBug fixes\nFixed a bug in parsedate where the current time was getting used instead of the documented\n00:00:00\n\nBug fix where DateCalc didn't work with $mode in some cases.\n\nFixed Makefile.PL/Build.PL to handle Win32::TieRegistry requirement.\n\nChanged %z printf behavior back to 5.xx and added %N format. Gilles Lamiral\n\nAdded dmdate example script.\n\nTime zone fixes\nFixed bug where non-English Windows versions didn't get the time zone. Thanks to Rene\nSchickbauer for testing.\n\nTest fixes\nReduced the precision of 1 test to avoid a rounding difference when using a perl compiled\nwith uselongdouble. Andreas Koenig\n\nVERSION 6.04 (2009-11-25)\nBug fixes\nFixed a bug where events were not interpreted in the correct time zone if SetDate/ForceDate\nused.\n\nVERSION 6.03 (2009-11-24)\nBug fixes\nCorrects a backward incompatibility with UnixDate. Rene Schickbauer\n\nTest fixes\nA couple more corrections to the tests.\n\nVERSION 6.02 (2009-11-24)\nBug fixes\nDisabled currzonemethods when taint checking on. I believe that Date::Manip is completely\ntaint friendly at this point.\n\nTest fixes\nA quick fix to make sure that the tests run correctly in other time zones.\n\nVERSION 6.01 (2009-11-23)\nBug fixes\n(*) Fixed a bug where dates were sometimes getting the wrong time zone when\nSetDate/ForceDate in effect.\n\nVERSION 6.00 (2009-11-23)\nFirst release of the 6.xx series\nDate::Manip 6.00 is a total rethink of the module, and a nearly complete rewrite. Please\nrefer to the Date::Manip::Changes5to6 document for a list of incompatible changes.\n\nReorganization\n(*) Massive reorganization and near total rewrite.\n\n(*) Broke into several smaller modules\n\nNew Features\n(*) Full time zone support (using tzdata 2009s)\n\nAdded some functionality (suggested by James Elson to improve setting the \"current time\".\nDone with the ForceDate config variable.\n\n(*) Converted languages to YAML for much easier maintenance. Patch and suggestion provided\nby Evan Carroll\n\nAdded much better formats for deltas. Suggested by Jim Hranicky.\n\nBorrowed the FindWindowsTZName function from the DateTime-TimeZone module.\n\nAdded SetDate config variable (based on a suggestion by Christian Campbell).\n\nAdded parseformat which was first suggested by Kim Ryan.\n\nOther changes\nSeveral config variables deprecated\n\nThanks to Jonathan Hogue for helping test Windows additions.\n\nBug fixes (correcting problems in the 5.xx releases)\nFixed a bug where \"YYtoYYYY=c\" wouldn't work.\n\nVMS bugfix to not call `date` command. Lane\n\nNew Year's Day defined using a recurrence which might push the observed day to the previous\nyear was broken. Reported by Jerry Wilcox.\n\nLanguage fixes\nFixed typo in Turkish translation.\n\nSpelling fix in Dutch. Bart Van Loon\n\nAdditional credits\nI have received many suggestions over time which were automatically handled during the 6.00\nrewrite. Although the changes weren't made because of the suggestions specifically, I wanted\nto acknowledge them since I appreciate the suggestions.\n\nI believe the first person to suggest writing Date::Manip as an OO module was Eduard\nDerksen.\n\nDeltaFormat initialization done outside of the function. Eric Boehm\n\nAdded $subtract to calculation routines. First suggested by Steve Berlage.\n\nAdded ability to set individual parts of the date (Date::Manip::Date::set). First suggested\nby Martin Thurn.\n\nUnixDate (i.e. Date::Manip::Date::printf) only calculates formats when they are needed.\nEduard Derksen\n\nParsing will skip some date/time formats if requested. This was first suggested by Eduard\nDerksen.\n\nIt has been suggested several times to support multiple languages, multiple config files, or\nmultiple sets of DateInit options. These suggestions (by Meng Fang, Ed Avis, Christian\nCampbell, and perhaps others) were at the back of my mind as I developed the\nDate::Manip::Base class.\n\nThe regular expressions are all i18n friendly in anticipation of much better support for\nlocalization. First suggested by Alex Kapranoff.\n\nParsing a date ('today', 'Monday') gives a time of '00:00:00'. Suggested by Mark Aitchison.\n\nWorking with fractional days was suggested by Peter van Hardenberg. This is implemented in\nDate::Manip::Base::dayofyear method.\n",
            "subsections": []
        },
        "BUGS AND QUESTIONS": {
            "content": "Please refer to the Date::Manip::Problems documentation for information on submitting bug\nreports or questions to the author.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "Date::Manip - main module documentation\n",
            "subsections": []
        },
        "LICENSE": {
            "content": "This script is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Sullivan Beck (sbeck@cpan.org)\n",
            "subsections": []
        }
    },
    "summary": "Date::Manip::Changes6 - changes in Date::Manip 6.xx",
    "flags": [],
    "examples": [],
    "see_also": []
}