1Date::Manip::Changes6(3U)ser Contributed Perl DocumentatiDoante::Manip::Changes6(3)
2
3
4

NAME

6       Date::Manip::Changes6 - changes in Date::Manip 6.xx
7

SYNOPSIS

9       This describes the changes made to the Date::Manip module in the 6.xx
10       series of releases.  Major changes are marked with asterisks (*).
11
12       For the most part, Date::Manip has remained backward compatible at
13       every release, but occasionally, a change is made which is backward
14       incompatible. These are marked with an exclamation mark (!).
15

VERSION 6.79 (planned 2019-12-01)

17       Time zone fixes
18            Newest zoneinfo data (tzdata 2019c).
19

VERSION 6.78 (2019-08-29)

21       Time zone fixes
22            Newest zoneinfo data (tzdata 2019b).
23
24       Documentation fixes
25            Fixed a broken link.  Mohammad S Anwar (GitHub #29)
26

VERSION 6.77 (2019-06-01)

28       Time zone fixes
29            Newest zoneinfo data (tzdata 2019a).
30

VERSION 6.76 (2019-03-01)

32       Fixed bug in Date::Manip::Date::list_holidays.
33           It was using 'now' instead of the stored date.  Douglas DeStafeno
34
35       Reordered TZ detection methods
36           Moved checking the tzdata files to lower priority to avoid a pretty
37           unusual situation in docker.  Sven Nierlein (GitHub #20)
38
39       Time zone fixes
40           Newest zoneinfo data (tzdata 2018i).  Requested by Shawn C Carroll
41           (GitHub #28)
42

VERSION 6.75 (2018-12-03)

44       Fixed packaging problems
45           Version 6.74 was not packaged correctly.  Version wasn't set
46           correctly in a few files and there were invalid entries in
47           Makefile.PL.  RT 127870.
48

VERSION 6.74 (2018-12-01)

50       Removed travis file from the tarball
51           The tarball had a .travis.yml file in it that wasn't in the
52           MANIFEST file.  Since the MANIFEST file is automatically generated
53           by the perl mkmanifest tool, since it didn't see the .travis.yml
54           file, I have excluded it from the tarball.  Reported by Mohammad S
55           Anwar on GitHub (#23)
56
57       Time zone fixes
58           Newest zoneinfo data (tzdata 2018e)
59

VERSION 6.73 (2018-09-01)

61       Fixed math on non-64-bit architectures
62           Much of the math in Date::Manip::Base is in a 'use integer'
63           section.  This math can overflow in some cases in non-64-bit
64           architectures.  Fixed the cases where this would reasonably occur.
65           Reported by Daniel Albers (GitHub #22).  Also reported and tested
66           in RT 126052.
67
68       Bug in normalizing estimated business deltas
69           While working on the non-64-bit issue, it uncovered a bug where
70           normalizing estimated business deltas was wrong.  It had never been
71           reported, and it was only off by a couple seconds in some rare
72           situations.
73

VERSION 6.72 (2018-06-06)

75       Fixed recurrence bug
76           The fix in the previous version for a rare recurrence problem broke
77           another recurrence form.  It is now corrected.  Michael Schout
78           (GitHub #20)
79
80       Fixed version problem
81           The wrong version was included in two files for some reason.  This
82           is fixed.
83
84       Documentation fixes
85           Fixed a grammatical error reported by Xavier Guimard (GitHub #19).
86

VERSION 6.71 (2018-06-01)

88       Fixed an extremely rare problem with recurrences
89           It is possible to specify a recurrence that never produces a valid
90           date.  In these cases, looking for dates went into an infinite
91           loop.  The MaxRecurAttempts config variable was added which will
92           stop that from happening.  If no occurrence was found, an error
93           condition will be set.  Dean Hamstead (RT 123708)
94
95       Changes file supported
96           It was requested that I include a valid Changes file.  I wrote a
97           simple script to convert the Change6.pod file into a valid Change
98           file.  The Changes6.pod file is still the canonical source of this
99           information!  Requested by H. Merijn Brand
100
101       Fix for timezone determination
102           On MacOS X High Sierra, some of the timezone files were symlinks,
103           but not properly followed.  This was fixed by Stu Tomlinson (GitHub
104           #15).
105
106       Time zone fixes
107           Newest zoneinfo data (tzdata 2018e)
108
109       Documentation fixes
110           Minor fix provided by Mohammad S Anwar (GitHub #17)
111

VERSION 6.70 (2018-03-01)

113       (*) (!) Changes to deltas
114           Improved handling of deltas to better support the different types
115           of deltas.  Formalized how the semi-exact portions of the delta are
116           used to produce the results that most people would expect.
117
118           The type can now be specified to guarantee several behaviors.
119           Changed the arguments (in a backward compatible way) to several
120           methods.  Explicitly added a new type (estimated) which was there
121           previously, but could not be manually specified.
122
123           The convert function continues to support converting from a less
124           exact type to a more exact type, but this is deprecated and will be
125           removed in version 7.00.
126
127           This was prompted by a bug reported by Ian Gibbs.
128
129       (*) (!) Deprecated some parts of Date::Manip::Delta
130           The options passed to the set and parse methods have changed.  The
131           old style will be removed in version 7.00.
132
133           Deltas will also no longer support the 'exact' and 'approximate'
134           strings (which have not been supported for some time).  These will
135           be removed in 7.00 as well.
136
137       Deprecation of TZ postponed
138           The deprecation of the TZ variable has been postponed to version
139           7.00.
140
141       Some speed improvements
142           I converted some of the functions to use faster algorithms.
143           Previously, the steps were worked out using logical time/calendar
144           based calculations.  These were replaced with non-intuitive
145           numerical calculations that gave the same result faster.
146
147       Changed behavior if timezone not determined
148           If the system timezone cannot be determined using any of the
149           methods supplied by Date::Manip, operations will be done in the GMT
150           timezone.  Previously, Date::Manip would simply fail to load.
151           Based on a report by Kent Fredric (RT 123229).
152
153       Fixed Makefile.PL
154           The list of what what is provided did not include the path to the
155           file providing each module.  I've fixed the Makefile.PL as well as
156           the META files.  Graham Knop (GitHub #13)
157
158       Time zone fixes
159           Newest zoneinfo data (tzdata 2018c)
160
161       Documentation fixes
162           Rewrote Date::Manip::Delta page to reflect changes, and clean up
163           the documentation in general.
164

VERSION 6.60 (2017-09-01)

166       Bug fixes
167           Fixed a bug where if a recurrence had no interval, start and end
168           dates passed in to the dates method would not work.  PJ-DSI-DevOps
169           (GitHub #12).
170
171       Documentation fixes
172           Clarified Date::Manip::TZ::all_periods.  Based on discussion with
173           Peter Pfannenschmid.
174

VERSION 6.59 (2017-06-01)

176       Time zone fixes
177           Newest zoneinfo data (tzdata 2017b)
178
179       Documentation fixes
180           Improved some of the documentation.
181

VERSION 6.58 (2017-03-01)

183       Better support for $mode in DateCalc.
184           DateCalc (in DM6) did not support all values for $mode.  Now it
185           does.
186
187       Bug fixes
188           Parsing a date like 01/02/2016 and calling printf with %e gave '02'
189           instead of ' 2'.  Robert Wohlfarth (RT 119787).
190
191           Fixed a problem where the tzdata method of determining the timezone
192           was producing an error which wasn't correct.  John (GitHub #8)
193
194       Time zone fixes
195           Newest zoneinfo data (tzdata 2017a)
196

VERSION 6.57 (2016-12-01)

198       Time zone fixes
199           Newest zoneinfo data (tzdata 2016j)
200
201       Test fixes
202           A faulty test was failing in a few places.  RT 118705
203
204           Another test was failing due to a perl bug that popped up in
205           5.25.7.  Tweaked the test to bypass the bug.  Kent Fredric (RT
206           118862)
207

VERSION 6.56 (2016-09-09)

209       Test fixes
210           A faulty test was failing most places.  New release to correct that
211           problem.  Slaven Rezic (RT 117404)
212

VERSION 6.55 (2016-09-01)

214       Fixed bug where $::TZ wasn't used
215           The $::TZ variable was not getting interpreted correctly when
216           searching for a timezone.  Steven Hartland (RT 114949)
217
218       Fixed bug where recurrences were not parsed correctly
219           Passing in incorrect values for a field was not trapped in all
220           cases and it led to problems.  All values passed in to a recurrence
221           are now correctly checked.  Albert Hilazo (GitHub #7).
222
223       Fixed a bug in some methods of creating new objects
224           Some methods of creating new objects based on existing objects did
225           not correctly use the existing object.  Bug has never been
226           reported, but was discovered when adding tests to get 100%
227           coverage.
228
229       Time zone fixes
230           Newest zoneinfo data (tzdata 2016f)
231
232       Test fixes
233           Added a number of new tests based on Devel::Cover.
234

VERSION 6.54 (2016-05-31)

236       Deprecation of Date::Manip 5.xx tests
237           By default, the Date::Manip 5.xx tests will no longer run.  Changes
238           to the timezone data can cause failures.  Since Date::Manip 5.xx is
239           no longer supported in any way, these tests will no longer run on a
240           system where 6.xx can be run.  Richard Jelinek.
241
242       Deprecation of TZ postponed
243           The deprecation of the TZ variable has been postponed to March
244           2017.  I decided that 1 year was not enough notice (especially
245           since not everyone will have updated Date::Manip since March 2015
246           when the warning was added.
247
248       Bug fixes
249           Changed requirement for ExtUtils::MakeMaker to 6.67_01.  Quin
250           Arnold (RT 112286)
251
252           Fixed a bug where a timezone abbreviation was not parsed correctly
253           when passed in as a value to the SetDate, ForceDate, or TZ config
254           variables.  Based on a report in perlmonks.org.
255
256       Time zone fixes
257           Newest zoneinfo data (tzdata 2016d)
258
259           Made some improvements to how I handled the timezone data which
260           resulted in a few of the default timezones being changed.
261
262       Documentation fixes
263           Fixed one more typo.  Gregor Herrmann (RT 114095)
264
265           Clarified the Config document.  Based on a report in perlmonks.org.
266

VERSION 6.53 (2016-03-02)

268       Bug fixes
269           Date::Manip::Delta::cmp had a bug in it's comparison.  Ian Gibbs.
270
271           The secs_since_1970_GMT method was missing a test to see if it was
272           a valid object.  Michael Stevens (RT 111915)
273
274       Time zone fixes
275           Newest zoneinfo data (tzdata 2016a)
276
277       Documentation fixes
278           Lots of typos fixed.  I was using podspell to do spell checking,
279           but it was discarding too much real text (which wasn't getting
280           checked as a result).  Switched to pod2text which does a better
281           job.  Gregor Herrmann (RT 110025)
282

VERSION 6.52 (2015-12-01)

284       Added date ranges on unmodified dates in Recur
285           The date range can now be specified for either the fully modified
286           dates, or the unmodified dates.  This will make it easier to work
287           with holidays in some instances.  Based on
288           <http://perlmonks.org/?node_id=1148735>.
289
290       Added IWn and NWn recurrence modifiers
291           Based on <http://perlmonks.org/?node_id=1148735>.
292
293       (!) Reworked holidays slightly
294           Previously, every line in the Holidays section defined a unique
295           holiday.  Now, the names determine the list of holidays.
296
297           It is not allowed to have two separate holidays named exactly the
298           same.  It IS allowed to have complex holidays that require two (or
299           more) lines in the Holidays section to define them completely.
300
301           Based on <http://perlmonks.org/?node_id=1148735>.
302
303       Bug fixes
304           Fixed a bug where the RecurRange config variable wasn't getting
305           used.
306
307           Fixed a bug where some deltas were not parsed correctly as dates.
308           Salvatore Bonaccorso (RT 109600)
309
310       Time zone fixes
311           Newest zoneinfo data (tzdata 2015g)
312
313       Test fixes
314           Added a number of new tests based on Devel::Cover.
315

VERSION 6.51 (2015-09-01)

317       Changes suggested by perlcritic
318           Played with perlcritic and made a few minor changes based on it's
319           suggestions.  I doubt I will use perlcritic significantly.
320
321       (!) Date::Manip::Delta::value now returns an empty string
322           If a delta has an error, or no valid delta in it, the value method
323           returns an empty string instead of undef.  This is to be consistent
324           with the Date::Manip::Date::value method which returns an empty
325           string.
326
327       Bug fixes
328           Fixed a bug where date/delta calculations with deltas that are too
329           large was not working correctly.  They now set an error condition
330           and fail.  Jared Selengut (RT 105737)
331
332           Fixed a bug introduced by the previous patch and luckily discovered
333           pre-release by Tom Wyant.
334
335           Fixed code that produced a warning in 5.22.0.  Tom Wyant
336
337       Improved DM6 ParseDate and ParseDateString
338           Added @opts argument.  Based on report by Vitaly Shupak (RT
339           105622).
340
341       Time zone fixes
342           Newest zoneinfo data (tzdata 2015f)
343
344           Now uses /etc/localtime as a method to determine the local
345           timezone.  Patch supplied by Tom Wyant (RT 105159) (modified by
346           me).  The patch uses some code derived from DateTime::TimeZone .
347
348           Clearer message when the date is not valid in the timezone.
349
350       Test fixes
351           Added a number of new tests based on Devel::Cover.  Over the next
352           several releases, I intend to continue to add tests until coverage
353           is 100%.
354
355       Documentation fixes
356           Fixed a typo.  Gregor Herrmann (RT 105546)
357

VERSION 6.50 (2015-06-01)

359       Bug fixes
360           Not really a bug, but 6.49 got a bunch of NYTprof data bundled with
361           it by mistake.  It's been removed.  Olivier Mengue (RT 103252)
362
363           Fixed a bug where information about whether a date was complete or
364           truncated was discarded.  Jim Avera
365
366           Fixed a bug where SetDate with a zone alias failed.
367
368           Added the Format_MMMYYYY config variable to allow the truncated
369           format mmmYYYY to be parsed instead of mmmDDYY.  David W.
370           Morganwalp and Glenn Golden (RT 103142)
371
372           Fixed Makefile.PL/Build.PL to correct for a change on perl on
373           windows which changes a module prereq requirement.  Alexandr
374           Ciornii
375
376       Time zone fixes
377           Newest zoneinfo data (tzdata 2015d)
378
379           Added aliases for older HP-UX time zones.  H. Merijn Brand (RT
380           104141)
381
382       Documentation fixes
383           Fixed URL for tzdata.  Mohammad S Anwar (GitHub #3).
384
385           Better POD formats.
386
387           Fixed a documentation error.  Glenn Golden (RT 103966)
388

VERSION 6.49 (2015-03-01)

390       Added a deprecation warning
391           The TZ config variable is going away.  Added a deprecation warning.
392
393       Some speedups for timezone handling
394           Based on a report by Glenn Golden (RT 102284), I have done some
395           optimization of the timezone handling code.
396
397       Bug fixes
398           Added the missing is_date base method to Date::Manip::Base.  Mario
399           Domgoergen.
400
401       Time zone fixes
402           Newest zoneinfo data (tzdata 2015a)
403
404       Language fixes
405           A number of corrections by Nicholas Riley
406

VERSION 6.48 (2014-12-01)

408       Put repository on GitHub
409           Suggested by Gabor Szabo
410
411       parse_time now parses ISO 8601 times
412           The parse_time routine wouldn't correctly parse ISO 8601 times.
413           This is now fixed.
414
415       Parsing special dates with timezones now works
416           Parsing special date formats with timezones is now supported such
417           as:
418
419              Christmas at noon PST
420              in 3 days at noon PST
421              now PST
422              epoch 3000000 PST
423
424       dm_zdump modified
425           To match the newest version of zdump, the gmtoff is now added at
426           the end of each line.
427
428       Bug fixes
429           Fixed a bug in the printf method that would not handle embedded
430           newlines correctly (and resulted in an infinite loop if it were
431           preceded by a '%').  Henrique Martins
432
433           Fixed a bug where '24:00' was not parsed correctly (though
434           '24:00:00' was).
435
436           Fixed a bug where fractional values separated by a comma weren't
437           parsed correctly.
438
439       Time zone fixes
440           Newest zoneinfo data (tzdata 2014j)
441

VERSION 6.47 (2014-09-01)

443       Time zone fixes
444           Newest zoneinfo data (tzdata 2014f)
445
446       Language fixes
447           Fixed some encoding errors in the language pod documentation.
448

VERSION 6.46 (2014-07-08)

450       Broken distribution
451           The distribution contained an temporary edit file that caused
452           problems.  Alexandr Ciornii (RT 96459)
453
454       Time zone fixes
455           Newest zoneinfo data (tzdata 2014e)
456
457       Language fixes
458           Added some plural abbreviations that were missing.  Glenn Golden
459           (RT 96944)
460

VERSION 6.45 (2014-06-05)

462       Fixed a test
463           One test was failing (reported by Constantine Peresypkin (RT 96249)
464           as well as several CPAN Tester reports).
465

VERSION 6.44 (2014-06-01)

467       (*) Improvements to UTF8 handling
468           A number of changes based on a report and other discussion with
469           Yuri Nikulin (RT 93545) including:
470
471           Case insensitive matching of UTF8 strings should work all the time.
472
473           Fixed two significant bugs in regexps for parsing dates.
474
475           Improvements to UTF8 handling.
476
477           Corrected some problems with Russian and added the cp1251 encoding.
478
479           One correction to Romanian.
480
481           Added several new test scripts.
482
483           Preliminary patches were supplied by Yuri.
484
485       New features
486           Modified the parse_format function to return %+ if desired.  Mike
487           Cappella
488
489       Time zone fixes
490           Newest zoneinfo data (tzdata 2014c)
491
492       Documentation fixes
493           Clarified some DM6 functions.  David Close.
494
495           Fixed a typo.  Mike Cappella (RT 95619)
496

VERSION 6.43 (2014-03-03)

498       Several changes to distribution files
499           I made several changes to Build.PL, Makefile.PL, META.yml in order
500           to improve the quality (or kwalitee) of the module.  None of these
501           should impact anyone using the module.
502
503       Time zone fixes
504           Newest zoneinfo data (tzdata 2013i)
505
506       Documentation fixes
507           Cleaned up some of the Recur documentation.  Suggested by Warren
508           Young (RT 92794)
509

VERSION 6.42 (2013-12-02)

511       Added ParseDateFormat function
512           Added the ParseDateFormat function to the DM6 functional interface
513           in response to Eli Lindsey (RT 89286).
514
515       Added Common Log format
516           Added the date format used in apache logs: 11/Oct/2000:13:55:36
517           -0700 Eli Lindsey (RT 89286).
518
519       Time zone fixes
520           Newest zoneinfo data (tzdata 2013h)
521
522       Bug fixes
523           Fixed a bug where dates of the form of a delta with a timezone
524           attached (i.e. "1 day ago at midnight UTC") failed.  Ludovic Lange
525           (RT 89256)
526
527           Fixed a bug where events handling gave a warning if there were no
528           events that applied.  RT 90344
529

VERSION 6.41 (2013-09-05)

531       Bug fixes
532           Removed a .swp file accidentally left in the package.  RT 85845
533
534           Fixed a bug in parse_format where times between 00:00:00 and
535           01:00:00 weren't parsed correctly.  Ole Nomann Thomsen
536
537           Fixed generated META.* files to not require Module::Build 0.39.
538           Carsten Wolff (RT 86137)
539
540           Fixed a bug where parse_format did not work with a '%s' format.
541           Mark Keisler (RT 87498)
542
543           Fixed a bug where find_encoding wasn't imported from the Encode
544           module.  Krishna Subramanian (RT 87665)
545
546           Fixed a bug where recurrences with no interval did not work if a
547           start and end date were specified, and no dates fell in that range.
548           Jan Pradac
549
550       Time zone fixes
551           Newest zoneinfo data (tzdata 2013d)
552

VERSION 6.40 (2013-06-01)

554       Removed PODs
555           POD documentation is no longer generated for Date::Manip::TZ::* and
556           Date::Manip::Offset::* modules.
557
558       Time zone fixes
559           Newest zoneinfo data (tzdata 2013c)
560

VERSION 6.39 (2013-03-01)

562       Added the $mode argument to ParseDateDelta
563           The ParseDateDelta function (in functional interface) did not allow
564           you to force a parsed delta to semi or approx where appropriate.
565           This was added.  Based on RT 82991.
566
567       Added get_config method
568           The get_config method was added to all classes.  Suggested by
569           Philippe Poilbarbe.
570
571       Language fixes
572           Fixed a German language problem.  Gosta Oelstrom
573
574       Documentation fixes
575           Documented workaround for dmake problem in strawberry perl.
576           Discussed on perlmonks and Martin Thurn (RT 79837).
577
578           Clarified the Examples page.  Winston Heng
579

VERSION 6.38 (2013-01-08)

581       (*) Tar file format corrected
582           Problems were reported on several OSes by people unable to install
583           Date::Manip (and other modules).  It turns out that the version of
584           tar distributed by my linux distro (OpenSuSE) uses the 'posix'
585           format instead of the traditional 'gnu' format by default.  This
586           causes problems for some versions of tar.  I have had reports from
587           OSX, Windows, and SunOS.  Future versions of Date::Manip will be
588           explicitly distributed in the 'gnu' tar archive format.
589
590           Reported by Jay Allen and John Ralls (RT 80594).
591
592       (*) Date::Manip 5.xx end-of-life
593           Date::Manip 5.xx is now officially out of support.  I will not be
594           doing any further work on it.  The only exception is that I will
595           consider adding user supplied patches on a case-by-case basis.
596
597           If at all possible, please use Date::Manip 6.xx instead.
598
599       (!) Removed some deprecated config variables
600           The following config variables have been removed.
601
602              IntCharSet
603              RecurNumFudgeDays
604

VERSION 6.37 (2012-12-01)

606       Bug fixes
607           Fixed a bug where ISO 8601 format YYYY-WXX-D didn't work if the
608           week ended up in December.  Gordon Lugauer.
609
610       Time zone fixes
611           Newest zoneinfo data (tzdata 2012j)
612
613       Documentation fixes
614           Spelling error fixed.  RT 80621
615

VERSION 6.36 (2012-10-31)

617       Fix version numbers
618           This was an interim release to fix the version numbers (6.35 was
619           released with all of the version numbers 6.34).
620

VERSION 6.35 (2012-10-31)

622       Fix PATH
623           This version was an interim release to fix the problem with the
624           PATH being replaced.
625
626       Removed dependency on YAML
627           I've reverted the language data files to perl literals instead of
628           YAML.  Though not quite as easy to maintain, it solves a few
629           problems.  Patch provided by Christopher Madsen.
630
631       Bug fixes
632           Last versions fix for RT 78566 overrode the PATH even when that
633           wasn't appropriate.  This is fixed.  Report and patch supplied by
634           Tom Wyant (RT 80435).
635

VERSION 6.34 (2012-09-04)

637       This is a bug fix so that the PATH won't break non-unix installs.
638
639       Bug fixes
640           Put the PATH inside the Unix section so it doesn't affect non-unix
641           environments.  Geoff Rowell
642

VERSION 6.33 (2012-09-01)

644       Improvements to Date::Manip::Delta
645            Added convert method.  This had been planned since 6.30, but based
646            on a discussion with Henrique Martins, I moved it up in priority.
647
648            Cleaned up handling of delta field lengths (they are now only
649            calculated once.
650
651            Added cmp method.  Henrique Martins
652
653       Bug fixes
654            The language modules read from the DATA section, but I never
655            closed the filehandle.  This is fixed now.  Patch by Doru Theodor
656            Petrescu
657
658            Added better loading of DM5/DM6 modules.  Evan Carroll (RT 78152)
659
660            Added a secure PATH to TZ.pm for taint reasons.  In response to
661            Dan Pritts (RT 78566)
662
663       Time zone fixes
664            Now supports timezones in files with spaces where there should be
665            underscores.  This occurs in RHEL desktop.  Dan Pritts (RT 78566)
666
667            Newest zoneinfo data (tzdata 2012e)
668
669       Documentation fixes
670            Minor fix.  Henrique Martins
671

VERSION 6.32 (2012-06-01)

673       Modified Build.PL
674           Build.PL now has better support for building (or not building) HTML
675           files.  Apparently this is slow on Windows.  Patch provide by Manoj
676           Kumar (RT 75118)
677
678       Bug fixes
679           Fixed a bug in business day calculations.  Frederic Briere (RT
680           76336)
681
682           Fixed a bug where Delta/Recur objects weren't correctly created.
683           Zsban Ambrus
684
685           Fixed a bug where SetDate/ForceDate config variables could not be
686           included in a file.  Jerry Wilcox
687
688       Time zone fixes
689           Newest zoneinfo data (tzdata 2012c).
690
691       Documentation fixes
692           Better support for UTF-8 in autogenerated language module pod
693           files.
694

VERSION 6.31 (2012-03-01)

696       Added extended formats to printf method.
697           These include the %<A=NUM>, %<a=NUM>, %<v=NUM>, %<B=NUM>, %<b=NUM>,
698           %<p=NUM>, and %<E=NUM> formats.  Chris Jackson
699
700       Can now parse formats where the time and zone are not adjacent
701           A string like 'Jan 21 17:13:27 2010 -0400' can now be parsed.
702           Requested on perlmonks ('Can Date::Manip parse a unix timestamp'
703           thread).
704
705       Added PeriodTimeSep config variable.
706           This allows you to use a period as a time separator.  Ed Avis
707
708       Holidays can be used as date strings
709           You can now parse a holiday name in the Date::Manip::Date::parse
710           method.  For example, parse('Christmas').  Requested by Abigail.
711
712       Added new recur modifiers
713           Added WDn, IBD, and NBD modifiers.
714
715       Added a new date format
716           You can now parse '2nd day in May' formats. Randy Harmon
717
718       More flexibility in parsing timezones with both offset and abbrev
719           If you include both the offset and abbreviation in the timezone
720           portion of a date, the parenthesis around the abbreviation are now
721           optional, so you can parse both:
722
723              -04:00 (EDT)
724              -04:00 EDT
725
726           Requested by Steven Melendez.
727
728       Deltas now support fractional values.
729           You can now use a delta of 1.5 days.  Martin Thurn (RT 42699)
730
731       Multiple holidays supported
732           A date may now have multiple holidays.  Keith Minkler
733
734       Bug fixes
735           Fixed a bug where abbreviations were not being examined case
736           insensitively.  Jurgen Muck
737
738           The Holidays section may be safely split across multiple config
739           files.  A bug prevented this from working before.
740
741       Language fixes
742           The Norwegian translation was broken due to a typo in the language
743           module.
744
745           Included complete documentation for each language.
746
747           Fixed a couple problems with Danish.  Nicholas Oxhaj
748
749           Added Finnish (from a VERY old mail that I overlooked somehow).
750           Iikka Virkkunen
751
752           Cleaned up the values used by printf directives to give the
753           expected result.
754
755       Documentation fixes
756           Fixed a typo.  Nicholas Bamber
757

VERSION 6.30 (2012-01-11)

759       (*) (!) Reworked deltas
760           Much of the delta code was reworked.
761
762           The constraint that a day is treated as 24 hours was removed (by
763           adding the concept of semi-exact deltas) to better handle daylight
764           saving time calculations.
765
766           Made cosmetic changes to which signs will be included in a delta to
767           make the deltas more readable.  Signs which are the same as the
768           next higher field will be omitted, even if they cross set
769           boundaries.
770
771           Added support for non-normalized deltas.  See the $no_normalize
772           option for the parse and set methods.
773
774           Removed limitations on subtract=2 not working with business
775           calculations.
776
777           Thanks to discussion on perlmonks, and RT 65774 that prompted me to
778           do this.  I'd been wanting to do it for some time, but the
779           discussion on perlmonks made me realize that this needed to be much
780           higher priority.
781
782       (!) Modified Delta_Format
783           In conjunction with the above work, added the 'semi' mode to
784           Delta_Format.
785
786       (!) Removed some deprecated config variables
787           The following config variables have been removed.
788
789              GlobalCnf
790              IgnoreGlobalCnf
791              PersonalCnf
792              PersonalCnfPath
793              PathSep
794
795              Internal
796              DeltaSigns
797              UpdateCurrTZ
798              ConvTZ
799              OldConfigFiles
800              ResetWorkDay
801
802       Time zone fixes
803           Newest zoneinfo data (tzdata 2011n).  RT 71595
804
805           Corrects a bug where +0000 and -0000 offsets were not parsed
806           correctly.  Aaron Hall
807
808           The zoneinfo data includes rules more than 20 years in the future,
809           so we now store 30 years of future dates instead of 20 to catch
810           these rules.
811
812           When parsing the timezone portion of the date, timezone
813           abbreviations now take higher precedence than zone names (since
814           that is how timezone information is typically specified).  That
815           only impacts dates where the a timezone name is the same as an
816           abbreviation, such as 'CET'.
817
818           Previously, a date with CET in it was interpreted as in the CET
819           timezone.  Now it is interpreted as in a timezone with the CET
820           abbreviation.
821
822       Better handling of undef in DM6
823           The date/delta parsing routines in DM6 will now handle an undef
824           argument without issuing a warning.  Earl C. Ruby III
825
826       Bug fixes
827           Fixed a bug with the parse_format %f and %i formats.  Tommi Rintala
828
829           Fixed a bug where the Date::Manip::Delta::set function didn't work
830           to set the month value.
831
832           Fixed a bug where parsing some dates near during a DST change
833           failed.
834
835           Minor bug fix when using Delta_Format.  Prompted while
836           investigating RT 41095.
837

VERSION 6.25 (2011-08-31)

839       Relaxed one constraint in ISO 8601 dates
840           A time separated by whitespace from the date can use a single digit
841           hour.  Yuming Philip Xiang
842
843       (*) Set official removal dates for old config variables
844           Config variables will be removed 2 years after they are deprecated
845           (except for the TZ variable which, due to it's wide use, will be
846           kept for 4 years).
847
848       Time zone fixes
849           Newest zoneinfo data (tzdata 2011i)
850

VERSION 6.24 (2011-06-13)

852       New features
853           Spaces are ignored in the SetDate/ForceDate config values.  Zsban
854           Ambrus
855
856       Bug fixes
857           Fixed a bug where 'in one week' wasn't correctly parsed.  E. M.
858           Shtern
859
860           Fixed a bug where options passed in to the 'new' as a listref
861           weren't handled properly.  Zsban Ambrus
862
863       Time zone fixes
864           Newest zoneinfo data (tzdata 2011g)
865

VERSION 6.23 (2011-04-15)

867       (!) Renamed one Date::Manip::Recur method
868           The Date::Manip::Recur::base method has been renamed to basedate .
869           The Date::Manip::Recur::base method should return the
870           Date::Manip::Base object like all the other Date::Manip modules.
871
872       (*) Reworked holidays defined as recurrences
873           Improved dealing with the bootstrap problem of defining holidays,
874           especially those that contain business day flags.  Mike Tonks
875
876       New features
877           The printf function will now take multiple format strings and
878           return a list of values.  Zsban Ambrus
879
880       Bug fixes
881           Fixed a bug where GlobalCnf wasn't working.  Peter Edwards
882
883           Improved error messages in a few cases.
884
885           Fixed a bug where one invalid date/timezone check was ignored.
886           Morten Bjornsvik
887
888           Fixed a bug where '$base2 = new Date::Manip::Base $base1' wasn't
889           working.  RT 67143
890
891           Fixed a bug where passing dates in to the Recur->dates method
892           failed.  RT 67144
893
894           Fixed a bug where the mode wasn't being preserved correctly for a
895           delta.  RT 67150
896
897           Fixed a bug in recurrences where a base date outside of a date
898           range with a very uncommon recurrence format would not work
899           correctly.
900
901           Fixed a problem where the '%s' printf option didn't work in GMT.
902           Jean-Michel Hiver
903
904       Time zone fixes
905           Newest zoneinfo data (tzdata 2011f)
906
907       Documentation fixes
908           Fixed two bad recurrence examples in the documentation.  Peter
909           Edwards and Mike Tonks
910

VERSION 6.22 (2011-03-07)

912       Time zone fixes
913           Newest zoneinfo data (tzdata 2011b)
914
915           Fixed a bug where the gmtoff method of getting the local timezone
916           was broken.  Martin Zinser.
917
918           Fixed the 'env' method of determining the local time zone to allow
919           the value to be an offset of seconds since UTC.  This allows the
920           VMS SYS$TIMEZONE_DIFFERENTIAL variable to work correctly.  Martin
921           Zinser.
922
923           Removed the SYS$TIMEZONE_RULE method from VMS since the value
924           stored there is not the name of a timezone (it's a rule in a non-
925           standard format).  Based on discussion with Martin Zinser.
926
927           Improved the order in which aliases, abbreviations, etc., are
928           tested to test current usage before non-current usage (there were a
929           few cases where old usages were getting tested before current
930           usage.
931
932       Language fixes
933           The module will now die if a language module cannot be loaded (most
934           likely due to a YAML::Syck issue).  Based on discussion with Martin
935           Zinser.
936
937       Documentation fixes
938           Added a sample config file document.  Based on discussion with Rich
939           Duzenbury.
940

VERSION 6.21 (2011-01-10)

942       New features
943           Deltas may now contain spelled out numbers, so 'in 2 weeks' and 'in
944           two weeks' will both work.  Daniel Shahaf
945
946       Bug fixes
947           Fixed a bug where week_of_year didn't work in some cases.  Chris
948           Eveland.
949
950           Fixed a minor potential bug.  Geraint Edwards.
951
952       Time zone fixes
953           Updated windows time zone aliases.  Daniel Harding
954
955       Language fixes
956           Added Norwegian.  Glenn Sogn
957

VERSION 6.20 (2010-12-01)

959       (*) (!) Reworked recurrences
960           Recurrences were reworked in a (slightly) backward incompatible way
961           to improve their usefulness (and to make them conform to the
962           expected results). Most recurrences will work the same as
963           previously, but a few will differ. Most of this was suggested by
964           Jay Jacobs.
965
966           A recurring event is now calculated relative to the base date, NOT
967           relative to a previous event. For example, if a recurrence occurs
968           every month, and the base date was Jan 31, then previously,
969           recurring events would have been (in a non-leap year):
970
971              D(0)                   = Jan 31
972              D(1)  = D(0) + 1 month = Feb 28
973              D(2)  = D(1) + 1 month = Mar 28
974              ...
975
976           The new behavior is:
977
978              D(0)                       = Jan 31
979              D(1)  = D(0) + 1*(1 month) = Feb 28
980              D(2)  = D(0) + 2*(1 month) = Mar 31
981              ...
982
983           Previously, if a base date were not specified, it was not
984           determined from the date range. Now, the start date of the date
985           range acts as the base date.
986
987           The meaning of the base date has changed slightly. It is much more
988           meaningful and useful now.
989
990           Added iterator functions.  Daniel LaLiberte
991
992           The RecurNumFudgeDays variable is no longer used and is deprecated.
993
994       Time zone fixes
995           Newest zoneinfo data (tzdata 2010o)
996

VERSION 6.14 (2010-10-20)

998       (*) Date::Manip 5.xx fully integrated with 6.xx
999           Date::Manip 5.xx and 6.xx are both installed automatically, and the
1000           correct one will be chosen.
1001
1002       Bug fixes
1003           Fixed a bug where recurrence handling was broken.  RT 62128
1004
1005       Documentation fixes
1006           A lot of documentation was cleaned up to be easier to read, and
1007           better organized.
1008

VERSION 6.13 (2010-10-13)

1010       New features
1011           Added the input methods to Date::Manip::Date and
1012           Date::Manip::Delta.  Ed Avis.
1013
1014           The 'date +%z' command will also be used to determine the timezone.
1015           Oliver Schulze
1016
1017       Bug fixes
1018           Several changes to try to get rid of a memory leaks reported in RT
1019           54937.  Huge thanks to BrowserUK on perlmonks for help.
1020           Unfortunately, it ended up being a bug in perl, and will only be
1021           resolved when that bug is fixed. See the Date::Manip::Problems
1022           document for more information.
1023
1024              Reorganized Base/TZ to get rid of circular references.
1025              Added end blocks to clean some global variables.
1026              Got rid of switch/given structures.
1027
1028           Fixed a bug where an incomplete date with 'last' in it was causing
1029           an error.  RT 60138
1030
1031           Fixed a bug where 'Sunday, 9th Jan 1972' wasn't parsed correctly.
1032           RT 57832
1033
1034       Time zone fixes
1035           Fixed a bug where Zones.pm was generated with the abbreviations in
1036           the wrong order.  Amish Chana.
1037
1038       Language fixes
1039           French month abbreviations now support periods.  Bernard Haerri
1040
1041       Test fixes
1042           Added tests from RT 29655 to make sure that the problem never
1043           recurs.
1044
1045       Documentation fixes
1046           Fixed documentation problem with the new_* methods in
1047           Date::Manip::Obj.  Options must be passed in as \@opts rather than
1048           @opts.
1049
1050           Cleaned up some of the documentation.
1051

VERSION 6.12 (2010-09-27)

1053       (!) IntCharSet config variable deprecated
1054           With better support for international character sets, the old
1055           IntCharSet config variable (which was a bandaid at best) is
1056           deprecated. Currently, the functionality still exists, but it will
1057           be removed at some point.
1058
1059       New features
1060           Added the Encoding config variable.
1061
1062           Now supports parsing the EXIF date format.  Rhesa Rozendaal
1063
1064       Bug fixes
1065           Fixed Build.PL to not require perl 5.010 since the distribution as
1066           a whole does not require that (and I want that fact to be in
1067           META.yml).
1068
1069           Fixed a bug where the Date::Manip::Date::set method was broken when
1070           setting individual fields.  Helmut A. Bender
1071
1072           Fixed a bug where set didn't work in Date::Manip::Delta. Patch
1073           provided in RT 59096.
1074
1075       Time zone fixes
1076           Newest zoneinfo data (tzdata 2010m)
1077
1078       Language fixes
1079           (*) Converted all language files to UTF-8 and added rudimentary
1080           support for character encodings. Some assistance by Stephen
1081           Ostermiller.
1082
1083           Fixed problem in Polish, Dutch.  Stephen Ostermiller
1084
1085           Extended support for 'nth' up to 53rd.  Paco Regodon
1086
1087           Added some corrections to German.  Dieter Lange
1088
1089       Documentation fixes
1090           Clarified Date::Manip::Recur documentation based on RT 59132.
1091

VERSION 6.11 (2010-04-30)

1093       Bug fixes
1094           Fixed a problem in Build.PL that had an incorrect module
1095           requirement.
1096

VERSION 6.10 (2010-04-29)

1098       (*) Combined 5.xx and 6.xx releases into one distribution
1099           Because the automatic module management tools cpan/cpanp would try
1100           to upgrade Date::Manip to the most recent version, and the most
1101           recent version will only work if perl 5.10.0 or higher is
1102           installed, both the 5.xx and 6.xx releases are now combined into a
1103           single distribution.
1104
1105           This is described more fully in the Date::Manip::Problems document.
1106
1107       (!) Zones specified by offset
1108           In all operations involving time zones, the time zone must be
1109           determined.  By default, it would take all of the information
1110           available (date, ISDST, etc.) and determine the most likely time
1111           zone. It would take every time zone that matched each piece of
1112           information, starting with those that matched in a standard time
1113           followed by those that matched in a daylight saving time.
1114
1115           When zones are specified by an offset, a standard time would always
1116           match since there are standard time zones that match all year long
1117           (the military time zones A-Z and the standard time zones of the
1118           form Etc/GMT+01). As a result, a daylight saving time match would
1119           never occur.
1120
1121           Since (if the date falls during a daylight saving time period) you
1122           usually want to use a time zone that has that offset in daylight
1123           saving time, the default is now to check daylight saving time zones
1124           first, followed by standard times.
1125
1126           See the Date::Manip::TZ manual (under the zone method) for more
1127           information.
1128
1129       Bug fixes
1130           Fixed a bug where Date_ConvTZ not working correctly with time zones
1131           specified by offset.  Chris Butler
1132
1133           Fixed a bug where business mode calculations involving minutes was
1134           not handled correctly.  Damien Moore
1135
1136           Fixed a bug where business mode calculations failed in some cases.
1137           RT 56638
1138
1139       Time zone fixes
1140           Newest zoneinfo data (tzdata 2010i)
1141
1142           Changed Date::Manip::TZ::zone so "dst" is sometimes the default
1143           $dstflag.  Based on the bug report by Chris Butler.
1144
1145           OpenUNIX puts a colon at the start of some time zones. It's
1146           removed.  Jean Hassler
1147
1148       Test fixes
1149           Converted tests to Test::Inter
1150
1151       Documentation fixes
1152           Fixed a documentation bug in Date::Manip::TZ where "stdonly" was
1153           listed as the default value for $dstflag, but in actuality, "std"
1154           is the default.
1155

VERSION 6.07 (2010-02-05)

1157       Bug fixes
1158           Fixed bug in Date_TimeZone where it wasn't returning the time zone.
1159           Robert Eden
1160

VERSION 6.06 (2010-02-05)

1162       Bug fixes
1163           Minor bug where %Z printf format didn't always work.
1164
1165           Added support for 5pm back in (it was omitted accidentally).  Mark
1166           Kennedy
1167
1168           Fixed a minor warning.  Morten Bjoernsvik
1169
1170           Some additional speedups.
1171
1172       Time zone fixes
1173           Newest zoneinfo data (tzdata 2010b)
1174
1175           Added dm_zdump example script.
1176
1177           Improved TZ::periods functionality
1178
1179           Fixed bug in Date_ConvTZ where empty values weren't defaulting to
1180           local time zone.  Robert Eden
1181
1182           Fixed a couple of problems in the generated time zones for some odd
1183           cases (America/Resolute and Asia/Tehran).
1184

VERSION 6.05 (2009-12-09)

1186       (!) %z format
1187           In Date::Manip 5.xx, the %z format in UnixDate printed the offset
1188           in the form -0500. In 6.00, I changed that to -05:00:00, but this
1189           broke RFC 822 compliance.
1190
1191           I've changed %z back to -0500, and introduced a new format (%N)
1192           which returns -05:00:00.
1193
1194           Incidentally, this is the LAST unused letter, so I am now going to
1195           have to either stop adding formats, or add some extended format
1196           syntax. Not sure yet which, but this may involve a backwards
1197           incompatible change in the future.
1198
1199       (*) Significant speedups.
1200           Thanks to Moritz Lenz and BrowserUK on perlmonks for suggestions
1201           (and a number of other people on perlmonks for suggestions that I
1202           did not end up using, but which provided a great discussion).
1203
1204       Bug fixes
1205           Fixed a bug in parse_date where the current time was getting used
1206           instead of the documented 00:00:00
1207
1208           Bug fix where DateCalc didn't work with $mode in some cases.
1209
1210           Fixed Makefile.PL/Build.PL to handle Win32::TieRegistry
1211           requirement.
1212
1213           Changed %z printf behavior back to 5.xx and added %N format. Gilles
1214           Lamiral
1215
1216           Added dm_date example script.
1217
1218       Time zone fixes
1219           Fixed bug where non-English Windows versions didn't get the time
1220           zone. Thanks to Rene Schickbauer for testing.
1221
1222       Test fixes
1223           Reduced the precision of 1 test to avoid a rounding difference when
1224           using a perl compiled with uselongdouble.  Andreas Koenig
1225

VERSION 6.04 (2009-11-25)

1227       Bug fixes
1228           Fixed a bug where events were not interpreted in the correct time
1229           zone if SetDate/ForceDate used.
1230

VERSION 6.03 (2009-11-24)

1232       Bug fixes
1233           Corrects a backward incompatibility with UnixDate. Rene Schickbauer
1234
1235       Test fixes
1236           A couple more corrections to the tests.
1237

VERSION 6.02 (2009-11-24)

1239       Bug fixes
1240           Disabled curr_zone_methods when taint checking on. I believe that
1241           Date::Manip is completely taint friendly at this point.
1242
1243       Test fixes
1244           A quick fix to make sure that the tests run correctly in other time
1245           zones.
1246

VERSION 6.01 (2009-11-23)

1248       Bug fixes
1249           (*) Fixed a bug where dates were sometimes getting the wrong time
1250           zone when SetDate/ForceDate in effect.
1251

VERSION 6.00 (2009-11-23)

1253       First release of the 6.xx series
1254           Date::Manip 6.00 is a total rethink of the module, and a nearly
1255           complete rewrite. Please refer to the Date::Manip::Changes5to6
1256           document for a list of incompatible changes.
1257
1258       Reorganization
1259           (*) Massive reorganization and near total rewrite.
1260
1261           (*) Broke into several smaller modules
1262
1263       New Features
1264           (*) Full time zone support (using tzdata 2009s)
1265
1266           Added some functionality (suggested by James Elson to improve
1267           setting the "current time".  Done with the ForceDate config
1268           variable.
1269
1270           (*) Converted languages to YAML for much easier maintenance. Patch
1271           and suggestion provided by Evan Carroll
1272
1273           Added much better formats for deltas. Suggested by Jim Hranicky.
1274
1275           Borrowed the _FindWindowsTZName function from the DateTime-TimeZone
1276           module.
1277
1278           Added SetDate config variable (based on a suggestion by Christian
1279           Campbell).
1280
1281           Added parse_format which was first suggested by Kim Ryan.
1282
1283       Other changes
1284           Several config variables deprecated
1285
1286           Thanks to Jonathan Hogue for helping test Windows additions.
1287
1288       Bug fixes (correcting problems in the 5.xx releases)
1289           Fixed a bug where "YYtoYYYY=c" wouldn't work.
1290
1291           VMS bugfix to not call `date` command.  Lane
1292
1293           New Year's Day defined using a recurrence which might push the
1294           observed day to the previous year was broken. Reported by Jerry
1295           Wilcox.
1296
1297       Language fixes
1298           Fixed typo in Turkish translation.
1299
1300           Spelling fix in Dutch. Bart Van Loon
1301
1302       Additional credits
1303           I have received many suggestions over time which were automatically
1304           handled during the 6.00 rewrite. Although the changes weren't made
1305           because of the suggestions specifically, I wanted to acknowledge
1306           them since I appreciate the suggestions.
1307
1308           I believe the first person to suggest writing Date::Manip as an OO
1309           module was Eduard Derksen.
1310
1311           Delta_Format initialization done outside of the function.  Eric
1312           Boehm
1313
1314           Added $subtract to calculation routines. First suggested by Steve
1315           Berlage.
1316
1317           Added ability to set individual parts of the date
1318           (Date::Manip::Date::set).  First suggested by Martin Thurn.
1319
1320           UnixDate (i.e. Date::Manip::Date::printf) only calculates formats
1321           when they are needed.  Eduard Derksen
1322
1323           Parsing will skip some date/time formats if requested. This was
1324           first suggested by Eduard Derksen.
1325
1326           It has been suggested several times to support multiple languages,
1327           multiple config files, or multiple sets of Date_Init options. These
1328           suggestions (by Meng Fang, Ed Avis, Christian Campbell, and perhaps
1329           others) were at the back of my mind as I developed the
1330           Date::Manip::Base class.
1331
1332           The regular expressions are all i18n friendly in anticipation of
1333           much better support for localization. First suggested by Alex
1334           Kapranoff.
1335
1336           Parsing a date ('today', 'Monday') gives a time of '00:00:00'.
1337           Suggested by Mark Aitchison.
1338
1339           Working with fractional days was suggested by Peter van Hardenberg.
1340           This is implemented in Date::Manip::Base::day_of_year method.
1341

BUGS AND QUESTIONS

1343       Please refer to the Date::Manip::Problems documentation for information
1344       on submitting bug reports or questions to the author.
1345

SEE ALSO

1347       Date::Manip       - main module documentation
1348

LICENSE

1350       This script is free software; you can redistribute it and/or modify it
1351       under the same terms as Perl itself.
1352

AUTHOR

1354       Sullivan Beck (sbeck@cpan.org)
1355
1356
1357
1358perl v5.30.1                      2019-12-09          Date::Manip::Changes6(3)
Impressum