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)

VERSION 6.78 (planned 2019-09-01)

VERSION 6.77 (2019-06-01)

19       Time zone fixes
20            Newest zoneinfo data (tzdata 2019a).
21

VERSION 6.76 (2019-03-01)

23       Fixed bug in Date::Manip::Date::list_holidays.
24           It was using 'now' instead of the stored date.  Douglas DeStafeno
25
26       Reordered TZ detection methods
27           Moved checking the tzdata files to lower priority to avoid a pretty
28           unusual situation in docker.  Sven Nierlein (GitHub #20)
29
30       Time zone fixes
31           Newest zoneinfo data (tzdata 2018i).  Requested by Shawn C Carroll
32           (GitHub #28)
33

VERSION 6.75 (2018-12-03)

35       Fixed packaging problems
36           Version 6.74 was not packaged correctly.  Version wasn't set
37           correctly in a few files and there were invalid entries in
38           Makefile.PL.  RT 127870.
39

VERSION 6.74 (2018-12-01)

41       Removed travis file from the tarball
42           The tarball had a .travis.yml file in it that wasn't in the
43           MANIFEST file.  Since the MANIFEST file is automatically generated
44           by the perl mkmanifest tool, since it didn't see the .travis.yml
45           file, I have excluded it from the tarball.  Reported by Mohammad S
46           Anwar on GitHub (#23)
47
48       Time zone fixes
49           Newest zoneinfo data (tzdata 2018e)
50

VERSION 6.73 (2018-09-01)

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

VERSION 6.72 (2018-06-06)

66       Fixed recurrence bug
67           The fix in the previous version for a rare recurrence problem broke
68           another recurrence form.  It is now corrected.  Michael Schout
69           (GitHub #20)
70
71       Fixed version problem
72           The wrong version was included in two files for some reason.  This
73           is fixed.
74
75       Documentation fixes
76           Fixed a grammatical error reported by Xavier Guimard (GitHub #19).
77

VERSION 6.71 (2018-06-01)

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

VERSION 6.70 (2018-03-01)

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

VERSION 6.60 (2017-09-01)

157       Bug fixes
158           Fixed a bug where if a recurrence had no interval, start and end
159           dates passed in to the dates method would not work.  PJ-DSI-DevOps
160           (GitHub #12).
161
162       Documentation fixes
163           Clarified Date::Manip::TZ::all_periods.  Based on discussion with
164           Peter Pfannenschmid.
165

VERSION 6.59 (2017-06-01)

167       Time zone fixes
168           Newest zoneinfo data (tzdata 2017b)
169
170       Documentation fixes
171           Improved some of the documentation.
172

VERSION 6.58 (2017-03-01)

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

VERSION 6.57 (2016-12-01)

189       Time zone fixes
190           Newest zoneinfo data (tzdata 2016j)
191
192       Test fixes
193           A faulty test was failing in a few places.  RT 118705
194
195           Another test was failing due to a perl bug that popped up in
196           5.25.7.  Tweaked the test to bypass the bug.  Kent Fredric (RT
197           118862)
198

VERSION 6.56 (2016-09-09)

200       Test fixes
201           A faulty test was failing most places.  New release to correct that
202           problem.  Slaven Rezic (RT 117404)
203

VERSION 6.55 (2016-09-01)

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

VERSION 6.54 (2016-05-31)

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

VERSION 6.53 (2016-03-02)

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

VERSION 6.52 (2015-12-01)

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

VERSION 6.51 (2015-09-01)

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

VERSION 6.50 (2015-06-01)

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

VERSION 6.49 (2015-03-01)

381       Added a deprecation warning
382           The TZ config variable is going away.  Added a deprecation warning.
383
384       Some speedups for timezone handling
385           Based on a report by Glenn Golden (RT 102284), I have done some
386           optimization of the timezone handling code.
387
388       Bug fixes
389           Added the missing is_date base method to Date::Manip::Base.  Mario
390           Domgoergen.
391
392       Time zone fixes
393           Newest zoneinfo data (tzdata 2015a)
394
395       Language fixes
396           A number of corrections by Nicholas Riley
397

VERSION 6.48 (2014-12-01)

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

VERSION 6.47 (2014-09-01)

434       Time zone fixes
435           Newest zoneinfo data (tzdata 2014f)
436
437       Language fixes
438           Fixed some encoding errors in the language pod documentation.
439

VERSION 6.46 (2014-07-08)

441       Broken distribution
442           The distribution contained an temporary edit file that caused
443           problems.  Alexandr Ciornii (RT 96459)
444
445       Time zone fixes
446           Newest zoneinfo data (tzdata 2014e)
447
448       Language fixes
449           Added some plural abbreviations that were missing.  Glenn Golden
450           (RT 96944)
451

VERSION 6.45 (2014-06-05)

453       Fixed a test
454           One test was failing (reported by Constantine Peresypkin (RT 96249)
455           as well as several CPAN Tester reports).
456

VERSION 6.44 (2014-06-01)

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

VERSION 6.43 (2014-03-03)

489       Several changes to distribution files
490           I made several changes to Build.PL, Makefile.PL, META.yml in order
491           to improve the quality (or kwalitee) of the module.  None of these
492           should impact anyone using the module.
493
494       Time zone fixes
495           Newest zoneinfo data (tzdata 2013i)
496
497       Documentation fixes
498           Cleaned up some of the Recur documentation.  Suggested by Warren
499           Young (RT 92794)
500

VERSION 6.42 (2013-12-02)

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

VERSION 6.41 (2013-09-05)

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

VERSION 6.40 (2013-06-01)

545       Removed PODs
546           POD documentation is no longer generated for Date::Manip::TZ::* and
547           Date::Manip::Offset::* modules.
548
549       Time zone fixes
550           Newest zoneinfo data (tzdata 2013c)
551

VERSION 6.39 (2013-03-01)

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

VERSION 6.38 (2013-01-08)

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

VERSION 6.37 (2012-12-01)

597       Bug fixes
598           Fixed a bug where ISO 8601 format YYYY-WXX-D didn't work if the
599           week ended up in December.  Gordon Lugauer.
600
601       Time zone fixes
602           Newest zoneinfo data (tzdata 2012j)
603
604       Documentation fixes
605           Spelling error fixed.  RT 80621
606

VERSION 6.36 (2012-10-31)

608       Fix version numbers
609           This was an interim release to fix the version numbers (6.35 was
610           released with all of the version numbers 6.34).
611

VERSION 6.35 (2012-10-31)

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

VERSION 6.34 (2012-09-04)

628       This is a bug fix so that the PATH won't break non-unix installs.
629
630       Bug fixes
631           Put the PATH inside the Unix section so it doesn't affect non-unix
632           environments.  Geoff Rowell
633

VERSION 6.33 (2012-09-01)

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

VERSION 6.32 (2012-06-01)

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

VERSION 6.31 (2012-03-01)

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

VERSION 6.30 (2012-01-11)

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

VERSION 6.25 (2011-08-31)

830       Relaxed one constraint in ISO 8601 dates
831           A time separated by whitespace from the date can use a single digit
832           hour.  Yuming Philip Xiang
833
834       (*) Set official removal dates for old config variables
835           Config variables will be removed 2 years after they are deprecated
836           (except for the TZ variable which, due to it's wide use, will be
837           kept for 4 years).
838
839       Time zone fixes
840           Newest zoneinfo data (tzdata 2011i)
841

VERSION 6.24 (2011-06-13)

843       New features
844           Spaces are ignored in the SetDate/ForceDate config values.  Zsban
845           Ambrus
846
847       Bug fixes
848           Fixed a bug where 'in one week' wasn't correctly parsed.  E. M.
849           Shtern
850
851           Fixed a bug where options passed in to the 'new' as a listref
852           weren't handled properly.  Zsban Ambrus
853
854       Time zone fixes
855           Newest zoneinfo data (tzdata 2011g)
856

VERSION 6.23 (2011-04-15)

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

VERSION 6.22 (2011-03-07)

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

VERSION 6.21 (2011-01-10)

933       New features
934           Deltas may now contain spelled out numbers, so 'in 2 weeks' and 'in
935           two weeks' will both work.  Daniel Shahaf
936
937       Bug fixes
938           Fixed a bug where week_of_year didn't work in some cases.  Chris
939           Eveland.
940
941           Fixed a minor potential bug.  Geraint Edwards.
942
943       Time zone fixes
944           Updated windows time zone aliases.  Daniel Harding
945
946       Language fixes
947           Added Norwegian.  Glenn Sogn
948

VERSION 6.20 (2010-12-01)

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

VERSION 6.14 (2010-10-20)

989       (*) Date::Manip 5.xx fully integrated with 6.xx
990           Date::Manip 5.xx and 6.xx are both installed automatically, and the
991           correct one will be chosen.
992
993       Bug fixes
994           Fixed a bug where recurrence handling was broken.  RT 62128
995
996       Documentation fixes
997           A lot of documentation was cleaned up to be easier to read, and
998           better organized.
999

VERSION 6.13 (2010-10-13)

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

VERSION 6.12 (2010-09-27)

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

VERSION 6.11 (2010-04-30)

1084       Bug fixes
1085           Fixed a problem in Build.PL that had an incorrect module
1086           requirement.
1087

VERSION 6.10 (2010-04-29)

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

VERSION 6.07 (2010-02-05)

1148       Bug fixes
1149           Fixed bug in Date_TimeZone where it wasn't returning the time zone.
1150           Robert Eden
1151

VERSION 6.06 (2010-02-05)

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

VERSION 6.05 (2009-12-09)

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

VERSION 6.04 (2009-11-25)

1218       Bug fixes
1219           Fixed a bug where events were not interpreted in the correct time
1220           zone if SetDate/ForceDate used.
1221

VERSION 6.03 (2009-11-24)

1223       Bug fixes
1224           Corrects a backward incompatibility with UnixDate. Rene Schickbauer
1225
1226       Test fixes
1227           A couple more corrections to the tests.
1228

VERSION 6.02 (2009-11-24)

1230       Bug fixes
1231           Disabled curr_zone_methods when taint checking on. I believe that
1232           Date::Manip is completely taint friendly at this point.
1233
1234       Test fixes
1235           A quick fix to make sure that the tests run correctly in other time
1236           zones.
1237

VERSION 6.01 (2009-11-23)

1239       Bug fixes
1240           (*) Fixed a bug where dates were sometimes getting the wrong time
1241           zone when SetDate/ForceDate in effect.
1242

VERSION 6.00 (2009-11-23)

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

BUGS AND QUESTIONS

1334       Please refer to the Date::Manip::Problems documentation for information
1335       on submitting bug reports or questions to the author.
1336

SEE ALSO

1338       Date::Manip       - main module documentation
1339

LICENSE

1341       This script is free software; you can redistribute it and/or modify it
1342       under the same terms as Perl itself.
1343

AUTHOR

1345       Sullivan Beck (sbeck@cpan.org)
1346
1347
1348
1349perl v5.28.2                      2019-05-28          Date::Manip::Changes6(3)
Impressum