Date::Manip::Changes6(User Contributed Perl DocumentDate::Manip::Changes6(3pm)NAMEDate::Manip::Changes6 - changes in Date::Manip 6.xx
SYNOPSIS
This describes the changes made to the Date::Manip module in the 6.xx
series of releases. Major changes are marked with asterisks (*).
For the most part, Date::Manip has remained backward compatible at
every release, but occasionally, a change is made which is backward
incompatible. These are marked with an exclamation mark (!).
VERSION 6.61 (planned 2017-12-01)
VERSION 6.60 (planned 2017-09-01)
Bug fixes
Fixed a bug where if a recurrence had no interval, start and end
dates passed in to the dates method would not work. PJ-DSI-DevOps
(GitHub #12).
Documentation fixes
Clarified Date::Manip::TZ::all_periods. Based on discussion with
Peter Pfannenschmid.
VERSION 6.59 (2017-06-01)
Time zone fixes
Newest zoneinfo data (tzdata 2017b)
Documentation fixes
Improved some of the documentation.
VERSION 6.58 (2017-03-01)
Better support for $mode in DateCalc.
DateCalc (in DM6) did not support all values for $mode. Now it
does.
Bug fixes
Parsing a date like 01/02/2016 and calling printf with %e gave '02'
instead of ' 2'. RT 119787.
Fixed a problem where the tzdata method of determining the timezone
was producing an error which wasn't correct. John (GitHub #8)
Time zone fixes
Newest zoneinfo data (tzdata 2017a)
VERSION 6.57 (2016-12-01)
Time zone fixes
Newest zoneinfo data (tzdata 2016j)
Test fixes
A faulty test was failing in a few places. RT 118705
Another test was failing due to a perl bug that popped up in
5.25.7. Tweaked the test to bypass the bug. RT 118862
VERSION 6.56 (2016-09-09)
Test fixes
A faulty test was failing most places. New release to correct that
problem. RT 117404
VERSION 6.55 (2016-09-01)
Fixed bug where $::TZ wasn't used
The $::TZ variable was not getting interpreted correctly when
searching for a timezone. RT 114949.
Fixed bug where recurrences were not parsed correctly
Passing in incorrect values for a field was not trapped in all
cases and it led to problems. All values passed in to a recurrence
are now correctly checked. Albert Hilazo (GitHub #7).
Fixed a bug in some methods of creating new objects
Some methods of creating new objects based on existing objects did
not correctly use the existing object. Bug has never been
reported, but was discovered when adding tests to get 100%
coverage.
Time zone fixes
Newest zoneinfo data (tzdata 2016f)
Test fixes
Added a number of new tests based on Devel::Cover.
VERSION 6.54 (2016-05-31)
Deprecation of Date::Manip 5.xx tests
By default, the Date::Manip 5.xx tests will no longer run. Changes
to the timezone data can cause failures. Since Date::Manip 5.xx is
no longer supported in any way, these tests will no longer run on a
system where 6.xx can be run. Richard Jelinek.
Deprecation of TZ postponed
The deprecation of the TZ variable has been postponed to March
2017. I decided that 1 year was not enough notice (especially
since not everyone will have updated Date::Manip since March 2015
when the warning was added.
Bug fixes
Changed requirement for ExtUtils::MakeMaker to 6.67_01. RT 112286
Fixed a bug where a timezone abbreviation was not parsed correctly
when passed in as a value to the SetDate, ForceDate, or TZ config
variables. Based on a report in perlmonks.org.
Time zone fixes
Newest zoneinfo data (tzdata 2016d)
Made some improvements to how I handled the timezone data which
resulted in a few of the default timezones being changed.
Documentation fixes
Fixed one more typo. RT 114095
Clarified the Config document. Based on a report in perlmonks.org.
VERSION 6.53 (2016-03-02)
Bug fixes
Date::Manip::Delta::cmp had a bug in it's comparison. Ian Gibbs.
The secs_since_1970_GMT method was missing a test to see if it was
a valid object. RT 111915
Time zone fixes
Newest zoneinfo data (tzdata 2016a)
Documentation fixes
Lots of typos fixed. I was using podspell to do spell checking,
but it was discarding too much real text (which wasn't getting
checked as a result). Switched to pod2text which does a better
job. RT 110025
VERSION 6.52 (2015-12-01)
Added date ranges on unmodified dates in Recur
The date range can now be specified for either the fully modified
dates, or the unmodified dates. This will make it easier to work
with holidays in some instances. Based on
<http://perlmonks.org/?node_id=1148735>.
Added IWn and NWn recurrence modifiers
Based on <http://perlmonks.org/?node_id=1148735>.
(!) Reworked holidays slightly
Previously, every line in the Holidays section defined a unique
holiday. Now, the names determine the list of holidays.
It is not allowed to have two separate holidays named exactly the
same. It IS allowed to have complex holidays that require two (or
more) lines in the Holidays section to define them completely.
Based on <http://perlmonks.org/?node_id=1148735>.
Bug fixes
Fixed a bug where the RecurRange config variable wasn't getting
used.
Fixed a bug where some deltas were not parsed correctly as dates.
RT 109600
Time zone fixes
Newest zoneinfo data (tzdata 2015g)
Test fixes
Added a number of new tests based on Devel::Cover.
VERSION 6.51 (2015-09-01)
Changes suggested by perlcritic
Played with perlcritic and made a few minor changes based on it's
suggestions. I doubt I will use perlcritic significantly.
(!) Date::Manip::Delta::value now returns an empty string
If a delta has an error, or no valid delta in it, the value method
returns an empty string instead of undef. This is to be consistent
with the Date::Manip::Date::value method which returns an empty
string.
Bug fixes
Fixed a bug where date/delta calculations with deltas that are too
large was not working correctly. They now set an error condition
and fail. RT 105737
Fixed a bug introduced by the previous patch and luckily discovered
pre-release by Tom Wyant.
Fixed code that produced a warning in 5.22.0. Tom Wyant
Improved DM6 ParseDate and ParseDateString
Added @opts argument. Based on RT 105622.
Time zone fixes
Newest zoneinfo data (tzdata 2015f)
Now uses /etc/localtime as a method to determine the local
timezone. Patch supplied in RT 105159 (modified by me). The patch
uses some code derived from DateTime::TimeZone .
Clearer message when the date is not valid in the timezone.
Test fixes
Added a number of new tests based on Devel::Cover. Over the next
several releases, I intend to continue to add tests until coverage
is 100%.
Documentation fixes
Fixed a typo. RT 105546
VERSION 6.50 (2015-06-01)
Bug fixes
Not really a bug, but 6.49 got a bunch of NYTprof data bundled with
it by mistake. It's been removed. RT 103252
Fixed a bug where information about whether a date was complete or
truncated was discarded. Jim Avera
Fixed a bug where SetDate with a zone alias failed.
Added the Format_MMMYYYY config variable to allow the truncated
format mmmYYYY to be parsed instead of mmmDDYY. David W.
Morganwalp and RT 103142
Fixed Makefile.PL/Build.PL to correct for a change on perl on
windows which changes a module prereq requirement. Alexandr
Ciornii
Time zone fixes
Newest zoneinfo data (tzdata 2015d)
Added aliases for older HP-UX time zones. RT 104141
Documentation fixes
Fixed URL for tzdata. Mohammad S Anwar (GitHub #3).
Better POD formats.
Fixed a documentation error. RT 103966
VERSION 6.49 (2015-03-01)
Added a deprecation warning
The TZ config variable is going away. Added a deprecation warning.
Some speedups for timezone handling
Based on RT 102284, I have done some optimization of the timezone
handling code.
Bug fixes
Added the missing is_date base method to Date::Manip::Base. Mario
Domgoergen.
Time zone fixes
Newest zoneinfo data (tzdata 2015a)
Language fixes
A number of corrections by Nicholas Riley
VERSION 6.48 (2014-12-01)
Put repository on GitHub
Suggested by Gabor Szabo
parse_time now parses ISO 8601 times
The parse_time routine wouldn't correctly parse ISO 8601 times.
This is now fixed.
Parsing special dates with timezones now works
Parsing special date formats with timezones is now supported such
as:
Christmas at noon PST
in 3 days at noon PST
now PST
epoch 3000000 PST
dm_zdump modified
To match the newest version of zdump, the gmtoff is now added at
the end of each line.
Bug fixes
Fixed a bug in the printf method that would not handle embedded
newlines correctly (and resulted in an infinite loop if it were
preceded by a '%'). Henrique Martins
Fixed a bug where '24:00' was not parsed correctly (though
'24:00:00' was).
Fixed a bug where fractional values separated by a comma weren't
parsed correctly.
Time zone fixes
Newest zoneinfo data (tzdata 2014j)
VERSION 6.47 (2014-09-01)
Time zone fixes
Newest zoneinfo data (tzdata 2014f)
Language fixes
Fixed some encoding errors in the language pod documentation.
VERSION 6.46 (2014-07-08)
Broken distribution
The distribution contained an temporary edit file that caused
problems. RT 96459
Time zone fixes
Newest zoneinfo data (tzdata 2014e)
Language fixes
Added some plural abbreviations that were missing. RT 96944
VERSION 6.45 (2014-06-05)
Fixed a test
One test was failing (reported in RT 96249 as well as several CPAN
Tester reports).
VERSION 6.44 (2014-06-01)
(*) Improvements to UTF8 handling
A number of changes based on RT 93545 and other discussion with
Yuri Nikulin including:
Case insensitive matching of UTF8 strings should work all the time.
Fixed two significant bugs in regexps for parsing dates.
Improvements to UTF8 handling.
Corrected some problems with Russian and added the cp1251 encoding.
One correction to Romanian.
Added several new test scripts.
Preliminary patches were supplied by Yuri.
New features
Modified the parse_format function to return %+ if desired. Mike
Cappella
Time zone fixes
Newest zoneinfo data (tzdata 2014c)
Documentation fixes
Clarified some DM6 functions. David Close.
Fixed a typo. RT 95619
VERSION 6.43 (2014-03-03)
Several changes to distribution files
I made several changes to Build.PL, Makefile.PL, META.yml in order
to improve the quality (or kwalitee) of the module. None of these
should impact anyone using the module.
Time zone fixes
Newest zoneinfo data (tzdata 2013i)
Documentation fixes
Cleaned up some of the Recur documentation. Suggested by RT 92794
VERSION 6.42 (2013-12-02)
Added ParseDateFormat function
Added the ParseDateFormat function to the DM6 functional interface
in response to RT 89286.
Added Common Log format
Added the date format used in apache logs: 11/Oct/2000:13:55:36
-0700 RT 89286.
Time zone fixes
Newest zoneinfo data (tzdata 2013h)
Bug fixes
Fixed a bug where dates of the form of a delta with a timezone
attached (i.e. "1 day ago at midnight UTC") failed. RT 89256
Fixed a bug where events handling gave a warning if there were no
events that applied. RT 90344
VERSION 6.41 (2013-09-05)
Bug fixes
Removed a .swp file accidentally left in the package. RT 85845
Fixed a bug in parse_format where times between 00:00:00 and
01:00:00 weren't parsed correctly. Ole Nomann Thomsen
Fixed generated META.* files to not require Module::Build 0.39. RT
86137
Fixed a bug where parse_format did not work with a '%s' format. RT
87498
Fixed a bug where find_encoding wasn't imported from the Encode
module. RT 87665
Fixed a bug where recurrences with no interval did not work if a
start and end date were specified, and no dates fell in that range.
Jan Pradac
Time zone fixes
Newest zoneinfo data (tzdata 2013d)
VERSION 6.40 (2013-06-01)
Removed PODs
POD documentation is no longer generated for Date::Manip::TZ::* and
Date::Manip::Offset::* modules.
Time zone fixes
Newest zoneinfo data (tzdata 2013c)
VERSION 6.39 (2013-03-01)
Added the $mode argument to ParseDateDelta
The ParseDateDelta function (in functional interface) did not allow
you to force a parsed delta to semi or approx where appropriate.
This was added. Based on RT 82991).
Added get_config method
The get_config method was added to all classes. Suggested by
Philippe Poilbarbe.
Language fixes
Fixed a German language problem. Gosta Oelstrom
Documentation fixes
Documented workaround for dmake problem in strawberry perl.
Discussed on perlmonks and RT 79837.
Clarified the Examples page. Winston Heng
VERSION 6.38 (2013-01-08)
(*) Tar file format corrected
Problems were reported on several OSes by people unable to install
Date::Manip (and other modules). It turns out that the version of
tar distributed by my linux distro (OpenSuSE) uses the 'posix'
format instead of the traditional 'gnu' format by default. This
causes problems for some versions of tar. I have had reports from
OSX, Windows, and SunOS. Future versions of Date::Manip will be
explicitly distributed in the 'gnu' tar archive format.
Reported by Jay Allen and RT 80594.
(*) Date::Manip 5.xx end-of-life
Date::Manip 5.xx is now officially out of support. I will not be
doing any further work on it. The only exception is that I will
consider adding user supplied patches on a case-by-case basis.
If at all possible, please use Date::Manip 6.xx instead.
(!) Removed some deprecated config variables
The following config variables have been removed.
IntCharSet
RecurNumFudgeDays
VERSION 6.37 (2012-12-01)
Bug fixes
Fixed a bug where ISO 8601 format YYYY-WXX-D didn't work if the
week ended up in December. Gordon Lugauer.
Time zone fixes
Newest zoneinfo data (tzdata 2012j)
Documentation fixes
Spelling error fixed. RT 80621
VERSION 6.36 (2012-10-31)
This was an interim release to fix the version numbers (6.35 was
released with all of the version numbers 6.34).
VERSION 6.35 (2012-10-31)
This was an interim release to fix the problem with the PATH being
replaced.
Removed dependency on YAML
I've reverted the language data files to perl literals instead of
YAML. Though not quite as easy to maintain, it solves a few
problems. Patch provided by Christopher Madsen.
Bug fixes
Last versions fix for RT 78566 overrode the PATH even when that
wasn't appropriate. This is fixed. Report and patch supplied by
RT 80435.
VERSION 6.34 (2012-09-04)
This is a bug fix so that the PATH won't break non-unix installs.
Bug fixes
Put the PATH inside the Unix section so it doesn't affect non-unix
environments. Geoff Rowell
VERSION 6.33 (2012-09-01)
Improvements to Date::Manip::Delta
Added convert method. This had been planned since 6.30, but based
on a discussion with Henrique Martins, I moved it up in priority.
Cleaned up handling of delta field lengths (they are now only
calculated once.
Added cmp method. Henrique Martins
Bug fixes
The language modules read from the DATA section, but I never
closed the filehandle. This is fixed now. Patch by Doru Theodor
Petrescu
Added better loading of DM5/DM6 modules. RT 78512
Added a secure PATH to TZ.pm for taint reasons. In response to RT
78566
Time zone fixes
Now supports timezones in files with spaces where there should be
underscores. This occurs in RHEL desktop. RT 78566
Newest zoneinfo data (tzdata 2012e)
Documentation fixes
Minor fix. Henrique Martins
VERSION 6.32 (2012-06-01)
Modified Build.PL
Build.PL now has better support for building (or not building) HTML
files. Apparently this is slow on Windows. Patch provide in RT
75118.
Bug fixes
Fixed a bug in business day calculations. RT 76336
Fixed a bug where Delta/Recur objects weren't correctly created.
Zsban Ambrus
Fixed a bug where SetDate/ForceDate config variables could not be
included in a file. Jerry Wilcox
Time zone fixes
Newest zoneinfo data (tzdata 2012c).
Documentation fixes
Better support for UTF-8 in autogenerated language module pod
files.
VERSION 6.31 (2012-03-01)
Added extended formats to printf method.
These include the %<A=NUM>, %<a=NUM>, %<v=NUM>, %<B=NUM>, %<b=NUM>,
%<p=NUM>, and %<E=NUM> formats. Chris Jackson
Can now parse formats where the time and zone are not adjacent
A string like 'Jan 21 17:13:27 2010 -0400' can now be parsed.
Requested on perlmonks ('Can Date::Manip parse a unix timestamp'
thread).
Added PeriodTimeSep config variable.
This allows you to use a period as a time separator. Ed Avis
Holidays can be used as date strings
You can now parse a holiday name in the Date::Manip::Date::parse
method. For example, parse('Christmas'). Requested by Abigail.
Added new recur modifiers
Added WDn, IBD, and NBD modifiers.
Added a new date format
You can now parse '2nd day in May' formats. Randy Harmon
More flexibility in parsing timezones with both offset and abbrev
If you include both the offset and abbreviation in the timezone
portion of a date, the parenthesis around the abbreviation are now
optional, so you can parse both:
-04:00 (EDT)
-04:00 EDT
Requested by Steven Melendez.
Deltas now support fractional values.
You can now use a delta of 1.5 days. RT 42699
Multiple holidays supported
A date may now have multiple holidays. Keith Minkler
Bug fixes
Fixed a bug where abbreviations were not being examined case
insensitively. Jurgen Muck
The Holidays section may be safely split across multiple config
files. A bug prevented this from working before.
Language fixes
The Norwegian translation was broken due to a typo in the language
module.
Included complete documentation for each language.
Fixed a couple problems with Danish. Nicholas Oxhaj
Added Finnish (from a VERY old mail that I overlooked somehow).
Iikka Virkkunen
Cleaned up the values used by printf directives to give the
expected result.
Documentation fixes
Fixed a typo. Nicholas Bamber
VERSION 6.30 (2012-01-11)
(*) (!) Reworked deltas
Much of the delta code was reworked.
The constraint that a day is treated as 24 hours was removed (by
adding the concept of semi-exact deltas) to better handle daylight
saving time calculations.
Made cosmetic changes to which signs will be included in a delta to
make the deltas more readable. Signs which are the same as the
next higher field will be omitted, even if they cross set
boundaries.
Added support for non-normalized deltas. See the $no_normalize
option for the parse and set methods.
Removed limitations on subtract=2 not working with business
calculations.
Thanks to discussion on perlmonks, and RT 65774 that prompted me to
do this. I'd been wanting to do it for some time, but the
discussion on perlmonks made me realize that this needed to be much
higher priority.
(!) Modified Delta_Format
In conjunction with the above work, added the 'semi' mode to
Delta_Format.
(!) Removed some deprecated config variables
The following config variables have been removed.
GlobalCnf
IgnoreGlobalCnf
PersonalCnf
PersonalCnfPath
PathSep
Internal
DeltaSigns
UpdateCurrTZ
ConvTZ
OldConfigFiles
ResetWorkDay
Time zone fixes
Newest zoneinfo data (tzdata 2011n). RT 71595
Corrects a bug where +0000 and -0000 offsets were not parsed
correctly. Aaron Hall
The zoneinfo data includes rules more than 20 years in the future,
so we now store 30 years of future dates instead of 20 to catch
these rules.
When parsing the timezone portion of the date, timezone
abbreviations now take higher precedence than zone names (since
that is how timezone information is typically specified). That
only impacts dates where the a timezone name is the same as an
abbreviation, such as 'CET'.
Previously, a date with CET in it was interpreted as in the CET
timezone. Now it is interpreted as in a timezone with the CET
abbreviation.
Better handling of undef in DM6
The date/delta parsing routines in DM6 will now handle an undef
argument without issuing a warning. Earl C. Ruby III
Bug fixes
Fixed a bug with the parse_format %f and %i formats. Tommi Rintala
Fixed a bug where the Date::Manip::Delta::set function didn't work
to set the month value.
Fixed a bug where parsing some dates near during a DST change
failed.
Minor bug fix when using Delta_Format. Prompted while
investigating RT 41095.
VERSION 6.25 (2011-08-31)
Relaxed one constraint in ISO 8601 dates
A time separated by whitespace from the date can use a single digit
hour. Yuming Philip Xiang
(*) Set official removal dates for old config variables
Config variables will be removed 2 years after they are deprecated
(except for the TZ variable which, due to it's wide use, will be
kept for 4 years).
Time zone fixes
Newest zoneinfo data (tzdata 2011i)
VERSION 6.24 (2011-06-13)
New features
Spaces are ignored in the SetDate/ForceDate config values. Zsban
Ambrus
Bug fixes
Fixed a bug where 'in one week' wasn't correctly parsed. E. M.
Shtern
Fixed a bug where options passed in to the 'new' as a listref
weren't handled properly. Zsban Ambrus
Time zone fixes
Newest zoneinfo data (tzdata 2011g)
VERSION 6.23 (2011-04-15)
(!) Renamed one Date::Manip::Recur method
The Date::Manip::Recur::base method has been renamed to basedate .
The Date::Manip::Recur::base method should return the
Date::Manip::Base object like all the other Date::Manip modules.
(*) Reworked holidays defined as recurrences
Improved dealing with the bootstrap problem of defining holidays,
especially those that contain business day flags. Mike Tonks
New features
The printf function will now take multiple format strings and
return a list of values. Zsban Ambrus
Bug fixes
Fixed a bug where GlobalCnf wasn't working. Peter Edwards
Improved error messages in a few cases.
Fixed a bug where one invalid date/timezone check was ignored.
Morten Bjornsvik
Fixed a bug where '$base2 = new Date::Manip::Base $base1' wasn't
working. RT 67143
Fixed a bug where passing dates in to the Recur->dates method
failed. RT 67144
Fixed a bug where the mode wasn't being preserved correctly for a
delta. RT 67150
Fixed a bug in recurrences where a base date outside of a date
range with a very uncommon recurrence format would not work
correctly.
Fixed a problem where the '%s' printf option didn't work in GMT.
Jean-Michel Hiver
Time zone fixes
Newest zoneinfo data (tzdata 2011f)
Documentation fixes
Fixed two bad recurrence examples in the documentation. Peter
Edwards and Mike Tonks
VERSION 6.22 (2011-03-07)
Time zone fixes
Newest zoneinfo data (tzdata 2011b)
Fixed a bug where the gmtoff method of getting the local timezone
was broken. Martin Zinser.
Fixed the 'env' method of determining the local time zone to allow
the value to be an offset of seconds since UTC. This allows the
VMS SYS$TIMEZONE_DIFFERENTIAL variable to work correctly. Martin
Zinser.
Removed the SYS$TIMEZONE_RULE method from VMS since the value
stored there is not the name of a timezone (it's a rule in a non-
standard format). Based on discussion with Martin Zinser.
Improved the order in which aliases, abbreviations, etc., are
tested to test current usage before non-current usage (there were a
few cases where old usages were getting tested before current
usage.
Language fixes
The module will now die if a language module cannot be loaded (most
likely due to a YAML::Syck issue). Based on discussion with Martin
Zinser.
Documentation fixes
Added a sample config file document. Based on discussion with Rich
Duzenbury.
VERSION 6.21 (2011-01-10)
New features
Deltas may now contain spelled out numbers, so 'in 2 weeks' and 'in
two weeks' will both work. Daniel Shahaf
Bug fixes
Fixed a bug where week_of_year didn't work in some cases. Chris
Eveland.
Fixed a minor potential bug. Geraint Edwards.
Time zone fixes
Updated windows time zone aliases. Daniel Harding
Language fixes
Added Norwegian. Glenn Sogn
VERSION 6.20 (2010-12-01)
(*) (!) Reworked recurrences
Recurrences were reworked in a (slightly) backward incompatible way
to improve their usefulness (and to make them conform to the
expected results). Most recurrences will work the same as
previously, but a few will differ. Most of this was suggested by
Jay Jacobs.
A recurring event is now calculated relative to the base date, NOT
relative to a previous event. For example, if a recurrence occurs
every month, and the base date was Jan 31, then previously,
recurring events would have been (in a non-leap year):
D(0) = Jan 31
D(1) = D(0) + 1 month = Feb 28
D(2) = D(1) + 1 month = Mar 28
...
The new behavior is:
D(0) = Jan 31
D(1) = D(0) + 1*(1 month) = Feb 28
D(2) = D(0) + 2*(1 month) = Mar 31
...
Previously, if a base date were not specified, it was not
determined from the date range. Now, the start date of the date
range acts as the base date.
The meaning of the base date has changed slightly. It is much more
meaningful and useful now.
Added iterator functions. Daniel LaLiberte
The RecurNumFudgeDays variable is no longer used and is deprecated.
Time zone fixes
Newest zoneinfo data (tzdata 2010o)
VERSION 6.14 (2010-10-20)
(*) Date::Manip 5.xx fully integrated with 6.xx
Date::Manip 5.xx and 6.xx are both installed automatically, and the
correct one will be chosen.
Bug fixes
Fixed a bug where recurrence handling was broken. RT 62128
Documentation fixes
A lot of documentation was cleaned up to be easier to read, and
better organized.
VERSION 6.13 (2010-10-13)
New features
Added the input methods to Date::Manip::Date and
Date::Manip::Delta. Ed Avis.
The 'date +%z' command will also be used to determine the timezone.
Oliver Schulze
Bug fixes
Several changes to try to get rid of a memory leaks reported in RT
54937. Huge thanks to BrowserUK on perlmonks for help.
Unfortunately, it ended up being a bug in perl, and will only be
resolved when that bug is fixed. See the Date::Manip::Problems
document for more information.
Reorganized Base/TZ to get rid of circular references.
Added end blocks to clean some global variables.
Got rid of switch/given structures.
Fixed a bug where an incomplete date with 'last' in it was causing
an error. RT 60138
Fixed a bug where 'Sunday, 9th Jan 1972' wasn't parsed correctly.
RT 57832
Time zone fixes
Fixed a bug where Zones.pm was generated with the abbreviations in
the wrong order. Amish Chana.
Language fixes
French month abbreviations now support periods. Bernard Haerri
Test fixes
Added tests from RT 29655 to make sure that the problem never
recurs.
Documentation fixes
Fixed documentation problem with the new_* methods in
Date::Manip::Obj. Options must be passed in as \@opts rather than
@opts.
Cleaned up some of the documentation.
VERSION 6.12 (2010-09-27)
(!) IntCharSet config variable deprecated
With better support for international character sets, the old
IntCharSet config variable (which was a bandaid at best) is
deprecated. Currently, the functionality still exists, but it will
be removed at some point.
New features
Added the Encoding config variable.
Now supports parsing the EXIF date format. Rhesa Rozendaal
Bug fixes
Fixed Build.PL to not require perl 5.010 since the distribution as
a whole does not require that (and I want that fact to be in
META.yml).
Fixed a bug where the Date::Manip::Date::set method was broken when
setting individual fields. Helmut A. Bender
Fixed a bug where set didn't work in Date::Manip::Delta. Patch
provided in RT 59096.
Time zone fixes
Newest zoneinfo data (tzdata 2010m)
Language fixes
(*) Converted all language files to UTF-8 and added rudimentary
support for character encodings. Some assistance by Stephen
Ostermiller.
Fixed problem in Polish, Dutch. Stephen Ostermiller
Extended support for 'nth' up to 53rd. Paco Regodon
Added some corrections to German. Dieter Lange
Documentation fixes
Clarified Date::Manip::Recur documentation based on RT 59132.
VERSION 6.11 (2010-04-30)
Bug fixes
Fixed a problem in Build.PL that had an incorrect module
requirement.
VERSION 6.10 (2010-04-29)
(*) Combined 5.xx and 6.xx releases into one distribution
Because the automatic module management tools cpan/cpanp would try
to upgrade Date::Manip to the most recent version, and the most
recent version will only work if perl 5.10.0 or higher is
installed, both the 5.xx and 6.xx releases are now combined into a
single distribution.
This is described more fully in the Date::Manip::Problems document.
(!) Zones specified by offset
In all operations involving time zones, the time zone must be
determined. By default, it would take all of the information
available (date, ISDST, etc.) and determine the most likely time
zone. It would take every time zone that matched each piece of
information, starting with those that matched in a standard time
followed by those that matched in a daylight saving time.
When zones are specified by an offset, a standard time would always
match since there are standard time zones that match all year long
(the military time zones A-Z and the standard time zones of the
form Etc/GMT+01). As a result, a daylight saving time match would
never occur.
Since (if the date falls during a daylight saving time period) you
usually want to use a time zone that has that offset in daylight
saving time, the default is now to check daylight saving time zones
first, followed by standard times.
See the Date::Manip::TZ manual (under the zone method) for more
information.
Bug fixes
Fixed a bug where Date_ConvTZ not working correctly with time zones
specified by offset. Chris Butler
Fixed a bug where business mode calculations involving minutes was
not handled correctly. Damien Moore
Fixed a bug where business mode calculations failed in some cases.
RT 56638
Time zone fixes
Newest zoneinfo data (tzdata 2010i)
Changed Date::Manip::TZ::zone so "dst" is sometimes the default
$dstflag. Based on the bug report by Chris Butler.
OpenUNIX puts a colon at the start of some time zones. It's
removed. Jean Hassler
Test fixes
Converted tests to Test::Inter
Documentation fixes
Fixed a documentation bug in Date::Manip::TZ where "stdonly" was
listed as the default value for $dstflag, but in actuality, "std"
is the default.
VERSION 6.07 (2010-02-05)
Bug fixes
Fixed bug in Date_TimeZone where it wasn't returning the time zone.
Robert Eden
VERSION 6.06 (2010-02-05)
Bug fixes
Minor bug where %Z printf format didn't always work.
Added support for 5pm back in (it was omitted accidentally). Mark
Kennedy
Fixed a minor warning. Morten Bjoernsvik
Some additional speedups.
Time zone fixes
Newest zoneinfo data (tzdata 2010b)
Added dm_zdump example script.
Improved TZ::periods functionality
Fixed bug in Date_ConvTZ where empty values weren't defaulting to
local time zone. Robert Eden
Fixed a couple of problems in the generated time zones for some odd
cases (America/Resolute and Asia/Tehran).
VERSION 6.05 (2009-12-09)
(!) %z format
In Date::Manip 5.xx, the %z format in UnixDate printed the offset
in the form -0500. In 6.00, I changed that to -05:00:00, but this
broke RFC 822 compliance.
I've changed %z back to -0500, and introduced a new format (%N)
which returns -05:00:00.
Incidentally, this is the LAST unused letter, so I am now going to
have to either stop adding formats, or add some extended format
syntax. Not sure yet which, but this may involve a backwards
incompatible change in the future.
(*) Significant speedups.
Thanks to Moritz Lenz and BrowserUK on perlmonks for suggestions
(and a number of other people on perlmonks for suggestions that I
did not end up using, but which provided a great discussion).
Bug fixes
Fixed a bug in parse_date where the current time was getting used
instead of the documented 00:00:00
Bug fix where DateCalc didn't work with $mode in some cases.
Fixed Makefile.PL/Build.PL to handle Win32::TieRegistry
requirement.
Changed %z printf behavior back to 5.xx and added %N format. Gilles
Lamiral
Added dm_date example script.
Time zone fixes
Fixed bug where non-English Windows versions didn't get the time
zone. Thanks to Rene Schickbauer for testing.
Test fixes
Reduced the precision of 1 test to avoid a rounding difference when
using a perl compiled with uselongdouble. Andreas Koenig
VERSION 6.04 (2009-11-25)
Bug fixes
Fixed a bug where events were not interpreted in the correct time
zone if SetDate/ForceDate used.
VERSION 6.03 (2009-11-24)
Bug fixes
Corrects a backward incompatibility with UnixDate. Rene Schickbauer
Test fixes
A couple more corrections to the tests.
VERSION 6.02 (2009-11-24)
Bug fixes
Disabled curr_zone_methods when taint checking on. I believe that
Date::Manip is completely taint friendly at this point.
Test fixes
A quick fix to make sure that the tests run correctly in other time
zones.
VERSION 6.01 (2009-11-23)
Bug fixes
(*) Fixed a bug where dates were sometimes getting the wrong time
zone when SetDate/ForceDate in effect.
VERSION 6.00 (2009-11-23)
Date::Manip 6.00 is a total rethink of the module, and a nearly
complete rewrite. Please refer to the Date::Manip::Changes5to6 document
for a list of incompatible changes.
Reorganization
(*) Massive reorganization and near total rewrite.
(*) Broke into several smaller modules
New Features
(*) Full time zone support (using tzdata 2009s)
Added some functionality (suggested by James Elson to improve
setting the "current time". Done with the ForceDate config
variable.
(*) Converted languages to YAML for much easier maintenance. Patch
and suggestion provided by Evan Carroll
Added much better formats for deltas. Suggested by Jim Hranicky.
Borrowed the _FindWindowsTZName function from the DateTime-TimeZone
module.
Added SetDate config variable (based on a suggestion by Christian
Campbell).
Added parse_format which was first suggested by Kim Ryan.
Other changes
Several config variables deprecated
Thanks to Jonathan Hogue for helping test Windows additions.
Bug fixes (correcting problems in the 5.xx releases)
Fixed a bug where "YYtoYYYY=c" wouldn't work.
VMS bugfix to not call `date` command. Lane
New Year's Day defined using a recurrence which might push the
observed day to the previous year was broken. Reported by Jerry
Wilcox.
Language fixes
Fixed typo in Turkish translation.
Spelling fix in Dutch. Bart Van Loon
Additional credits
I have received many suggestions over time which were automatically
handled during the 6.00 rewrite. Although the changes weren't made
because of the suggestions specifically, I wanted to acknowledge
them since I appreciate the suggestions.
I believe the first person to suggest writing Date::Manip as an OO
module was Eduard Derksen.
Delta_Format initialization done outside of the function. Eric
Boehm
Added $subtract to calculation routines. First suggested by Steve
Berlage.
Added ability to set individual parts of the date
(Date::Manip::Date::set). First suggested by Martin Thurn.
UnixDate (i.e. Date::Manip::Date::printf) only calculates formats
when they are needed. Eduard Derksen
Parsing will skip some date/time formats if requested. This was
first suggested by Eduard Derksen.
It has been suggested several times to support multiple languages,
multiple config files, or multiple sets of Date_Init options. These
suggestions (by Meng Fang, Ed Avis, Christian Campbell, and perhaps
others) were at the back of my mind as I developed the
Date::Manip::Base class.
The regular expressions are all i18n friendly in anticipation of
much better support for localization. First suggested by Alex
Kapranoff.
Parsing a date ('today', 'Monday') gives a time of '00:00:00'.
Suggested by Mark Aitchison.
Working with fractional days was suggested by Peter van Hardenberg.
This is implemented in Date::Manip::Base::day_of_year method.
BUGS AND QUESTIONS
Please refer to the Date::Manip::Problems documentation for information
on submitting bug reports or questions to the author.
SEE ALSO
Date::Manip - main module documentation
LICENSE
This script is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
AUTHOR
Sullivan Beck (sbeck@cpan.org)
perl v5.26.0 2017-10-14 Date::Manip::Changes6(3pm)