1Date::Manip::Changes6(3U)ser Contributed Perl DocumentatiDoante::Manip::Changes6(3)
2
3
4
6 Date::Manip::Changes6 - changes in Date::Manip 6.xx
7
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
18 Bug fixes
19 Fixed a bug where if a recurrence had no interval, start and end
20 dates passed in to the dates method would not work. PJ-DSI-DevOps
21 (GitHub #12).
22
23 Documentation fixes
24 Clarified Date::Manip::TZ::all_periods. Based on discussion with
25 Peter Pfannenschmid.
26
28 Time zone fixes
29 Newest zoneinfo data (tzdata 2017b)
30
31 Documentation fixes
32 Improved some of the documentation.
33
35 Better support for $mode in DateCalc.
36 DateCalc (in DM6) did not support all values for $mode. Now it
37 does.
38
39 Bug fixes
40 Parsing a date like 01/02/2016 and calling printf with %e gave '02'
41 instead of ' 2'. RT 119787.
42
43 Fixed a problem where the tzdata method of determining the timezone
44 was producing an error which wasn't correct. John (GitHub #8)
45
46 Time zone fixes
47 Newest zoneinfo data (tzdata 2017a)
48
50 Time zone fixes
51 Newest zoneinfo data (tzdata 2016j)
52
53 Test fixes
54 A faulty test was failing in a few places. RT 118705
55
56 Another test was failing due to a perl bug that popped up in
57 5.25.7. Tweaked the test to bypass the bug. RT 118862
58
60 Test fixes
61 A faulty test was failing most places. New release to correct that
62 problem. RT 117404
63
65 Fixed bug where $::TZ wasn't used
66 The $::TZ variable was not getting interpreted correctly when
67 searching for a timezone. RT 114949.
68
69 Fixed bug where recurrences were not parsed correctly
70 Passing in incorrect values for a field was not trapped in all
71 cases and it led to problems. All values passed in to a recurrence
72 are now correctly checked. Albert Hilazo (GitHub #7).
73
74 Fixed a bug in some methods of creating new objects
75 Some methods of creating new objects based on existing objects did
76 not correctly use the existing object. Bug has never been
77 reported, but was discovered when adding tests to get 100%
78 coverage.
79
80 Time zone fixes
81 Newest zoneinfo data (tzdata 2016f)
82
83 Test fixes
84 Added a number of new tests based on Devel::Cover.
85
87 Deprecation of Date::Manip 5.xx tests
88 By default, the Date::Manip 5.xx tests will no longer run. Changes
89 to the timezone data can cause failures. Since Date::Manip 5.xx is
90 no longer supported in any way, these tests will no longer run on a
91 system where 6.xx can be run. Richard Jelinek.
92
93 Deprecation of TZ postponed
94 The deprecation of the TZ variable has been postponed to March
95 2017. I decided that 1 year was not enough notice (especially
96 since not everyone will have updated Date::Manip since March 2015
97 when the warning was added.
98
99 Bug fixes
100 Changed requirement for ExtUtils::MakeMaker to 6.67_01. RT 112286
101
102 Fixed a bug where a timezone abbreviation was not parsed correctly
103 when passed in as a value to the SetDate, ForceDate, or TZ config
104 variables. Based on a report in perlmonks.org.
105
106 Time zone fixes
107 Newest zoneinfo data (tzdata 2016d)
108
109 Made some improvements to how I handled the timezone data which
110 resulted in a few of the default timezones being changed.
111
112 Documentation fixes
113 Fixed one more typo. RT 114095
114
115 Clarified the Config document. Based on a report in perlmonks.org.
116
118 Bug fixes
119 Date::Manip::Delta::cmp had a bug in it's comparison. Ian Gibbs.
120
121 The secs_since_1970_GMT method was missing a test to see if it was
122 a valid object. RT 111915
123
124 Time zone fixes
125 Newest zoneinfo data (tzdata 2016a)
126
127 Documentation fixes
128 Lots of typos fixed. I was using podspell to do spell checking,
129 but it was discarding too much real text (which wasn't getting
130 checked as a result). Switched to pod2text which does a better
131 job. RT 110025
132
134 Added date ranges on unmodified dates in Recur
135 The date range can now be specified for either the fully modified
136 dates, or the unmodified dates. This will make it easier to work
137 with holidays in some instances. Based on
138 <http://perlmonks.org/?node_id=1148735>.
139
140 Added IWn and NWn recurrence modifiers
141 Based on <http://perlmonks.org/?node_id=1148735>.
142
143 (!) Reworked holidays slightly
144 Previously, every line in the Holidays section defined a unique
145 holiday. Now, the names determine the list of holidays.
146
147 It is not allowed to have two separate holidays named exactly the
148 same. It IS allowed to have complex holidays that require two (or
149 more) lines in the Holidays section to define them completely.
150
151 Based on <http://perlmonks.org/?node_id=1148735>.
152
153 Bug fixes
154 Fixed a bug where the RecurRange config variable wasn't getting
155 used.
156
157 Fixed a bug where some deltas were not parsed correctly as dates.
158 RT 109600
159
160 Time zone fixes
161 Newest zoneinfo data (tzdata 2015g)
162
163 Test fixes
164 Added a number of new tests based on Devel::Cover.
165
167 Changes suggested by perlcritic
168 Played with perlcritic and made a few minor changes based on it's
169 suggestions. I doubt I will use perlcritic significantly.
170
171 (!) Date::Manip::Delta::value now returns an empty string
172 If a delta has an error, or no valid delta in it, the value method
173 returns an empty string instead of undef. This is to be consistent
174 with the Date::Manip::Date::value method which returns an empty
175 string.
176
177 Bug fixes
178 Fixed a bug where date/delta calculations with deltas that are too
179 large was not working correctly. They now set an error condition
180 and fail. RT 105737
181
182 Fixed a bug introduced by the previous patch and luckily discovered
183 pre-release by Tom Wyant.
184
185 Fixed code that produced a warning in 5.22.0. Tom Wyant
186
187 Improved DM6 ParseDate and ParseDateString
188 Added @opts argument. Based on RT 105622.
189
190 Time zone fixes
191 Newest zoneinfo data (tzdata 2015f)
192
193 Now uses /etc/localtime as a method to determine the local
194 timezone. Patch supplied in RT 105159 (modified by me). The patch
195 uses some code derived from DateTime::TimeZone .
196
197 Clearer message when the date is not valid in the timezone.
198
199 Test fixes
200 Added a number of new tests based on Devel::Cover. Over the next
201 several releases, I intend to continue to add tests until coverage
202 is 100%.
203
204 Documentation fixes
205 Fixed a typo. RT 105546
206
208 Bug fixes
209 Not really a bug, but 6.49 got a bunch of NYTprof data bundled with
210 it by mistake. It's been removed. RT 103252
211
212 Fixed a bug where information about whether a date was complete or
213 truncated was discarded. Jim Avera
214
215 Fixed a bug where SetDate with a zone alias failed.
216
217 Added the Format_MMMYYYY config variable to allow the truncated
218 format mmmYYYY to be parsed instead of mmmDDYY. David W.
219 Morganwalp and RT 103142
220
221 Fixed Makefile.PL/Build.PL to correct for a change on perl on
222 windows which changes a module prereq requirement. Alexandr
223 Ciornii
224
225 Time zone fixes
226 Newest zoneinfo data (tzdata 2015d)
227
228 Added aliases for older HP-UX time zones. RT 104141
229
230 Documentation fixes
231 Fixed URL for tzdata. Mohammad S Anwar (GitHub #3).
232
233 Better POD formats.
234
235 Fixed a documentation error. RT 103966
236
238 Added a deprecation warning
239 The TZ config variable is going away. Added a deprecation warning.
240
241 Some speedups for timezone handling
242 Based on RT 102284, I have done some optimization of the timezone
243 handling code.
244
245 Bug fixes
246 Added the missing is_date base method to Date::Manip::Base. Mario
247 Domgoergen.
248
249 Time zone fixes
250 Newest zoneinfo data (tzdata 2015a)
251
252 Language fixes
253 A number of corrections by Nicholas Riley
254
256 Put repository on GitHub
257 Suggested by Gabor Szabo
258
259 parse_time now parses ISO 8601 times
260 The parse_time routine wouldn't correctly parse ISO 8601 times.
261 This is now fixed.
262
263 Parsing special dates with timezones now works
264 Parsing special date formats with timezones is now supported such
265 as:
266
267 Christmas at noon PST
268 in 3 days at noon PST
269 now PST
270 epoch 3000000 PST
271
272 dm_zdump modified
273 To match the newest version of zdump, the gmtoff is now added at
274 the end of each line.
275
276 Bug fixes
277 Fixed a bug in the printf method that would not handle embedded
278 newlines correctly (and resulted in an infinite loop if it were
279 preceded by a '%'). Henrique Martins
280
281 Fixed a bug where '24:00' was not parsed correctly (though
282 '24:00:00' was).
283
284 Fixed a bug where fractional values separated by a comma weren't
285 parsed correctly.
286
287 Time zone fixes
288 Newest zoneinfo data (tzdata 2014j)
289
291 Time zone fixes
292 Newest zoneinfo data (tzdata 2014f)
293
294 Language fixes
295 Fixed some encoding errors in the language pod documentation.
296
298 Broken distribution
299 The distribution contained an temporary edit file that caused
300 problems. RT 96459
301
302 Time zone fixes
303 Newest zoneinfo data (tzdata 2014e)
304
305 Language fixes
306 Added some plural abbreviations that were missing. RT 96944
307
309 Fixed a test
310 One test was failing (reported in RT 96249 as well as several CPAN
311 Tester reports).
312
314 (*) Improvements to UTF8 handling
315 A number of changes based on RT 93545 and other discussion with
316 Yuri Nikulin including:
317
318 Case insensitive matching of UTF8 strings should work all the time.
319
320 Fixed two significant bugs in regexps for parsing dates.
321
322 Improvements to UTF8 handling.
323
324 Corrected some problems with Russian and added the cp1251 encoding.
325
326 One correction to Romanian.
327
328 Added several new test scripts.
329
330 Preliminary patches were supplied by Yuri.
331
332 New features
333 Modified the parse_format function to return %+ if desired. Mike
334 Cappella
335
336 Time zone fixes
337 Newest zoneinfo data (tzdata 2014c)
338
339 Documentation fixes
340 Clarified some DM6 functions. David Close.
341
342 Fixed a typo. RT 95619
343
345 Several changes to distribution files
346 I made several changes to Build.PL, Makefile.PL, META.yml in order
347 to improve the quality (or kwalitee) of the module. None of these
348 should impact anyone using the module.
349
350 Time zone fixes
351 Newest zoneinfo data (tzdata 2013i)
352
353 Documentation fixes
354 Cleaned up some of the Recur documentation. Suggested by RT 92794
355
357 Added ParseDateFormat function
358 Added the ParseDateFormat function to the DM6 functional interface
359 in response to RT 89286.
360
361 Added Common Log format
362 Added the date format used in apache logs: 11/Oct/2000:13:55:36
363 -0700 RT 89286.
364
365 Time zone fixes
366 Newest zoneinfo data (tzdata 2013h)
367
368 Bug fixes
369 Fixed a bug where dates of the form of a delta with a timezone
370 attached (i.e. "1 day ago at midnight UTC") failed. RT 89256
371
372 Fixed a bug where events handling gave a warning if there were no
373 events that applied. RT 90344
374
376 Bug fixes
377 Removed a .swp file accidentally left in the package. RT 85845
378
379 Fixed a bug in parse_format where times between 00:00:00 and
380 01:00:00 weren't parsed correctly. Ole Nomann Thomsen
381
382 Fixed generated META.* files to not require Module::Build 0.39. RT
383 86137
384
385 Fixed a bug where parse_format did not work with a '%s' format. RT
386 87498
387
388 Fixed a bug where find_encoding wasn't imported from the Encode
389 module. RT 87665
390
391 Fixed a bug where recurrences with no interval did not work if a
392 start and end date were specified, and no dates fell in that range.
393 Jan Pradac
394
395 Time zone fixes
396 Newest zoneinfo data (tzdata 2013d)
397
399 Removed PODs
400 POD documentation is no longer generated for Date::Manip::TZ::* and
401 Date::Manip::Offset::* modules.
402
403 Time zone fixes
404 Newest zoneinfo data (tzdata 2013c)
405
407 Added the $mode argument to ParseDateDelta
408 The ParseDateDelta function (in functional interface) did not allow
409 you to force a parsed delta to semi or approx where appropriate.
410 This was added. Based on RT 82991).
411
412 Added get_config method
413 The get_config method was added to all classes. Suggested by
414 Philippe Poilbarbe.
415
416 Language fixes
417 Fixed a German language problem. Gosta Oelstrom
418
419 Documentation fixes
420 Documented workaround for dmake problem in strawberry perl.
421 Discussed on perlmonks and RT 79837.
422
423 Clarified the Examples page. Winston Heng
424
426 (*) Tar file format corrected
427 Problems were reported on several OSes by people unable to install
428 Date::Manip (and other modules). It turns out that the version of
429 tar distributed by my linux distro (OpenSuSE) uses the 'posix'
430 format instead of the traditional 'gnu' format by default. This
431 causes problems for some versions of tar. I have had reports from
432 OSX, Windows, and SunOS. Future versions of Date::Manip will be
433 explicitly distributed in the 'gnu' tar archive format.
434
435 Reported by Jay Allen and RT 80594.
436
437 (*) Date::Manip 5.xx end-of-life
438 Date::Manip 5.xx is now officially out of support. I will not be
439 doing any further work on it. The only exception is that I will
440 consider adding user supplied patches on a case-by-case basis.
441
442 If at all possible, please use Date::Manip 6.xx instead.
443
444 (!) Removed some deprecated config variables
445 The following config variables have been removed.
446
447 IntCharSet
448 RecurNumFudgeDays
449
451 Bug fixes
452 Fixed a bug where ISO 8601 format YYYY-WXX-D didn't work if the
453 week ended up in December. Gordon Lugauer.
454
455 Time zone fixes
456 Newest zoneinfo data (tzdata 2012j)
457
458 Documentation fixes
459 Spelling error fixed. RT 80621
460
462 This was an interim release to fix the version numbers (6.35 was
463 released with all of the version numbers 6.34).
464
466 This was an interim release to fix the problem with the PATH being
467 replaced.
468
469 Removed dependency on YAML
470 I've reverted the language data files to perl literals instead of
471 YAML. Though not quite as easy to maintain, it solves a few
472 problems. Patch provided by Christopher Madsen.
473
474 Bug fixes
475 Last versions fix for RT 78566 overrode the PATH even when that
476 wasn't appropriate. This is fixed. Report and patch supplied by
477 RT 80435.
478
480 This is a bug fix so that the PATH won't break non-unix installs.
481
482 Bug fixes
483 Put the PATH inside the Unix section so it doesn't affect non-unix
484 environments. Geoff Rowell
485
487 Improvements to Date::Manip::Delta
488 Added convert method. This had been planned since 6.30, but based
489 on a discussion with Henrique Martins, I moved it up in priority.
490
491 Cleaned up handling of delta field lengths (they are now only
492 calculated once.
493
494 Added cmp method. Henrique Martins
495
496 Bug fixes
497 The language modules read from the DATA section, but I never
498 closed the filehandle. This is fixed now. Patch by Doru Theodor
499 Petrescu
500
501 Added better loading of DM5/DM6 modules. RT 78512
502
503 Added a secure PATH to TZ.pm for taint reasons. In response to RT
504 78566
505
506 Time zone fixes
507 Now supports timezones in files with spaces where there should be
508 underscores. This occurs in RHEL desktop. RT 78566
509
510 Newest zoneinfo data (tzdata 2012e)
511
512 Documentation fixes
513 Minor fix. Henrique Martins
514
516 Modified Build.PL
517 Build.PL now has better support for building (or not building) HTML
518 files. Apparently this is slow on Windows. Patch provide in RT
519 75118.
520
521 Bug fixes
522 Fixed a bug in business day calculations. RT 76336
523
524 Fixed a bug where Delta/Recur objects weren't correctly created.
525 Zsban Ambrus
526
527 Fixed a bug where SetDate/ForceDate config variables could not be
528 included in a file. Jerry Wilcox
529
530 Time zone fixes
531 Newest zoneinfo data (tzdata 2012c).
532
533 Documentation fixes
534 Better support for UTF-8 in autogenerated language module pod
535 files.
536
538 Added extended formats to printf method.
539 These include the %<A=NUM>, %<a=NUM>, %<v=NUM>, %<B=NUM>, %<b=NUM>,
540 %<p=NUM>, and %<E=NUM> formats. Chris Jackson
541
542 Can now parse formats where the time and zone are not adjacent
543 A string like 'Jan 21 17:13:27 2010 -0400' can now be parsed.
544 Requested on perlmonks ('Can Date::Manip parse a unix timestamp'
545 thread).
546
547 Added PeriodTimeSep config variable.
548 This allows you to use a period as a time separator. Ed Avis
549
550 Holidays can be used as date strings
551 You can now parse a holiday name in the Date::Manip::Date::parse
552 method. For example, parse('Christmas'). Requested by Abigail.
553
554 Added new recur modifiers
555 Added WDn, IBD, and NBD modifiers.
556
557 Added a new date format
558 You can now parse '2nd day in May' formats. Randy Harmon
559
560 More flexibility in parsing timezones with both offset and abbrev
561 If you include both the offset and abbreviation in the timezone
562 portion of a date, the parenthesis around the abbreviation are now
563 optional, so you can parse both:
564
565 -04:00 (EDT)
566 -04:00 EDT
567
568 Requested by Steven Melendez.
569
570 Deltas now support fractional values.
571 You can now use a delta of 1.5 days. RT 42699
572
573 Multiple holidays supported
574 A date may now have multiple holidays. Keith Minkler
575
576 Bug fixes
577 Fixed a bug where abbreviations were not being examined case
578 insensitively. Jurgen Muck
579
580 The Holidays section may be safely split across multiple config
581 files. A bug prevented this from working before.
582
583 Language fixes
584 The Norwegian translation was broken due to a typo in the language
585 module.
586
587 Included complete documentation for each language.
588
589 Fixed a couple problems with Danish. Nicholas Oxhaj
590
591 Added Finnish (from a VERY old mail that I overlooked somehow).
592 Iikka Virkkunen
593
594 Cleaned up the values used by printf directives to give the
595 expected result.
596
597 Documentation fixes
598 Fixed a typo. Nicholas Bamber
599
601 (*) (!) Reworked deltas
602 Much of the delta code was reworked.
603
604 The constraint that a day is treated as 24 hours was removed (by
605 adding the concept of semi-exact deltas) to better handle daylight
606 saving time calculations.
607
608 Made cosmetic changes to which signs will be included in a delta to
609 make the deltas more readable. Signs which are the same as the
610 next higher field will be omitted, even if they cross set
611 boundaries.
612
613 Added support for non-normalized deltas. See the $no_normalize
614 option for the parse and set methods.
615
616 Removed limitations on subtract=2 not working with business
617 calculations.
618
619 Thanks to discussion on perlmonks, and RT 65774 that prompted me to
620 do this. I'd been wanting to do it for some time, but the
621 discussion on perlmonks made me realize that this needed to be much
622 higher priority.
623
624 (!) Modified Delta_Format
625 In conjunction with the above work, added the 'semi' mode to
626 Delta_Format.
627
628 (!) Removed some deprecated config variables
629 The following config variables have been removed.
630
631 GlobalCnf
632 IgnoreGlobalCnf
633 PersonalCnf
634 PersonalCnfPath
635 PathSep
636
637 Internal
638 DeltaSigns
639 UpdateCurrTZ
640 ConvTZ
641 OldConfigFiles
642 ResetWorkDay
643
644 Time zone fixes
645 Newest zoneinfo data (tzdata 2011n). RT 71595
646
647 Corrects a bug where +0000 and -0000 offsets were not parsed
648 correctly. Aaron Hall
649
650 The zoneinfo data includes rules more than 20 years in the future,
651 so we now store 30 years of future dates instead of 20 to catch
652 these rules.
653
654 When parsing the timezone portion of the date, timezone
655 abbreviations now take higher precedence than zone names (since
656 that is how timezone information is typically specified). That
657 only impacts dates where the a timezone name is the same as an
658 abbreviation, such as 'CET'.
659
660 Previously, a date with CET in it was interpreted as in the CET
661 timezone. Now it is interpreted as in a timezone with the CET
662 abbreviation.
663
664 Better handling of undef in DM6
665 The date/delta parsing routines in DM6 will now handle an undef
666 argument without issuing a warning. Earl C. Ruby III
667
668 Bug fixes
669 Fixed a bug with the parse_format %f and %i formats. Tommi Rintala
670
671 Fixed a bug where the Date::Manip::Delta::set function didn't work
672 to set the month value.
673
674 Fixed a bug where parsing some dates near during a DST change
675 failed.
676
677 Minor bug fix when using Delta_Format. Prompted while
678 investigating RT 41095.
679
681 Relaxed one constraint in ISO 8601 dates
682 A time separated by whitespace from the date can use a single digit
683 hour. Yuming Philip Xiang
684
685 (*) Set official removal dates for old config variables
686 Config variables will be removed 2 years after they are deprecated
687 (except for the TZ variable which, due to it's wide use, will be
688 kept for 4 years).
689
690 Time zone fixes
691 Newest zoneinfo data (tzdata 2011i)
692
694 New features
695 Spaces are ignored in the SetDate/ForceDate config values. Zsban
696 Ambrus
697
698 Bug fixes
699 Fixed a bug where 'in one week' wasn't correctly parsed. E. M.
700 Shtern
701
702 Fixed a bug where options passed in to the 'new' as a listref
703 weren't handled properly. Zsban Ambrus
704
705 Time zone fixes
706 Newest zoneinfo data (tzdata 2011g)
707
709 (!) Renamed one Date::Manip::Recur method
710 The Date::Manip::Recur::base method has been renamed to basedate .
711 The Date::Manip::Recur::base method should return the
712 Date::Manip::Base object like all the other Date::Manip modules.
713
714 (*) Reworked holidays defined as recurrences
715 Improved dealing with the bootstrap problem of defining holidays,
716 especially those that contain business day flags. Mike Tonks
717
718 New features
719 The printf function will now take multiple format strings and
720 return a list of values. Zsban Ambrus
721
722 Bug fixes
723 Fixed a bug where GlobalCnf wasn't working. Peter Edwards
724
725 Improved error messages in a few cases.
726
727 Fixed a bug where one invalid date/timezone check was ignored.
728 Morten Bjornsvik
729
730 Fixed a bug where '$base2 = new Date::Manip::Base $base1' wasn't
731 working. RT 67143
732
733 Fixed a bug where passing dates in to the Recur->dates method
734 failed. RT 67144
735
736 Fixed a bug where the mode wasn't being preserved correctly for a
737 delta. RT 67150
738
739 Fixed a bug in recurrences where a base date outside of a date
740 range with a very uncommon recurrence format would not work
741 correctly.
742
743 Fixed a problem where the '%s' printf option didn't work in GMT.
744 Jean-Michel Hiver
745
746 Time zone fixes
747 Newest zoneinfo data (tzdata 2011f)
748
749 Documentation fixes
750 Fixed two bad recurrence examples in the documentation. Peter
751 Edwards and Mike Tonks
752
754 Time zone fixes
755 Newest zoneinfo data (tzdata 2011b)
756
757 Fixed a bug where the gmtoff method of getting the local timezone
758 was broken. Martin Zinser.
759
760 Fixed the 'env' method of determining the local time zone to allow
761 the value to be an offset of seconds since UTC. This allows the
762 VMS SYS$TIMEZONE_DIFFERENTIAL variable to work correctly. Martin
763 Zinser.
764
765 Removed the SYS$TIMEZONE_RULE method from VMS since the value
766 stored there is not the name of a timezone (it's a rule in a non-
767 standard format). Based on discussion with Martin Zinser.
768
769 Improved the order in which aliases, abbreviations, etc., are
770 tested to test current usage before non-current usage (there were a
771 few cases where old usages were getting tested before current
772 usage.
773
774 Language fixes
775 The module will now die if a language module cannot be loaded (most
776 likely due to a YAML::Syck issue). Based on discussion with Martin
777 Zinser.
778
779 Documentation fixes
780 Added a sample config file document. Based on discussion with Rich
781 Duzenbury.
782
784 New features
785 Deltas may now contain spelled out numbers, so 'in 2 weeks' and 'in
786 two weeks' will both work. Daniel Shahaf
787
788 Bug fixes
789 Fixed a bug where week_of_year didn't work in some cases. Chris
790 Eveland.
791
792 Fixed a minor potential bug. Geraint Edwards.
793
794 Time zone fixes
795 Updated windows time zone aliases. Daniel Harding
796
797 Language fixes
798 Added Norwegian. Glenn Sogn
799
801 (*) (!) Reworked recurrences
802 Recurrences were reworked in a (slightly) backward incompatible way
803 to improve their usefulness (and to make them conform to the
804 expected results). Most recurrences will work the same as
805 previously, but a few will differ. Most of this was suggested by
806 Jay Jacobs.
807
808 A recurring event is now calculated relative to the base date, NOT
809 relative to a previous event. For example, if a recurrence occurs
810 every month, and the base date was Jan 31, then previously,
811 recurring events would have been (in a non-leap year):
812
813 D(0) = Jan 31
814 D(1) = D(0) + 1 month = Feb 28
815 D(2) = D(1) + 1 month = Mar 28
816 ...
817
818 The new behavior is:
819
820 D(0) = Jan 31
821 D(1) = D(0) + 1*(1 month) = Feb 28
822 D(2) = D(0) + 2*(1 month) = Mar 31
823 ...
824
825 Previously, if a base date were not specified, it was not
826 determined from the date range. Now, the start date of the date
827 range acts as the base date.
828
829 The meaning of the base date has changed slightly. It is much more
830 meaningful and useful now.
831
832 Added iterator functions. Daniel LaLiberte
833
834 The RecurNumFudgeDays variable is no longer used and is deprecated.
835
836 Time zone fixes
837 Newest zoneinfo data (tzdata 2010o)
838
840 (*) Date::Manip 5.xx fully integrated with 6.xx
841 Date::Manip 5.xx and 6.xx are both installed automatically, and the
842 correct one will be chosen.
843
844 Bug fixes
845 Fixed a bug where recurrence handling was broken. RT 62128
846
847 Documentation fixes
848 A lot of documentation was cleaned up to be easier to read, and
849 better organized.
850
852 New features
853 Added the input methods to Date::Manip::Date and
854 Date::Manip::Delta. Ed Avis.
855
856 The 'date +%z' command will also be used to determine the timezone.
857 Oliver Schulze
858
859 Bug fixes
860 Several changes to try to get rid of a memory leaks reported in RT
861 54937. Huge thanks to BrowserUK on perlmonks for help.
862 Unfortunately, it ended up being a bug in perl, and will only be
863 resolved when that bug is fixed. See the Date::Manip::Problems
864 document for more information.
865
866 Reorganized Base/TZ to get rid of circular references.
867 Added end blocks to clean some global variables.
868 Got rid of switch/given structures.
869
870 Fixed a bug where an incomplete date with 'last' in it was causing
871 an error. RT 60138
872
873 Fixed a bug where 'Sunday, 9th Jan 1972' wasn't parsed correctly.
874 RT 57832
875
876 Time zone fixes
877 Fixed a bug where Zones.pm was generated with the abbreviations in
878 the wrong order. Amish Chana.
879
880 Language fixes
881 French month abbreviations now support periods. Bernard Haerri
882
883 Test fixes
884 Added tests from RT 29655 to make sure that the problem never
885 recurs.
886
887 Documentation fixes
888 Fixed documentation problem with the new_* methods in
889 Date::Manip::Obj. Options must be passed in as \@opts rather than
890 @opts.
891
892 Cleaned up some of the documentation.
893
895 (!) IntCharSet config variable deprecated
896 With better support for international character sets, the old
897 IntCharSet config variable (which was a bandaid at best) is
898 deprecated. Currently, the functionality still exists, but it will
899 be removed at some point.
900
901 New features
902 Added the Encoding config variable.
903
904 Now supports parsing the EXIF date format. Rhesa Rozendaal
905
906 Bug fixes
907 Fixed Build.PL to not require perl 5.010 since the distribution as
908 a whole does not require that (and I want that fact to be in
909 META.yml).
910
911 Fixed a bug where the Date::Manip::Date::set method was broken when
912 setting individual fields. Helmut A. Bender
913
914 Fixed a bug where set didn't work in Date::Manip::Delta. Patch
915 provided in RT 59096.
916
917 Time zone fixes
918 Newest zoneinfo data (tzdata 2010m)
919
920 Language fixes
921 (*) Converted all language files to UTF-8 and added rudimentary
922 support for character encodings. Some assistance by Stephen
923 Ostermiller.
924
925 Fixed problem in Polish, Dutch. Stephen Ostermiller
926
927 Extended support for 'nth' up to 53rd. Paco Regodon
928
929 Added some corrections to German. Dieter Lange
930
931 Documentation fixes
932 Clarified Date::Manip::Recur documentation based on RT 59132.
933
935 Bug fixes
936 Fixed a problem in Build.PL that had an incorrect module
937 requirement.
938
940 (*) Combined 5.xx and 6.xx releases into one distribution
941 Because the automatic module management tools cpan/cpanp would try
942 to upgrade Date::Manip to the most recent version, and the most
943 recent version will only work if perl 5.10.0 or higher is
944 installed, both the 5.xx and 6.xx releases are now combined into a
945 single distribution.
946
947 This is described more fully in the Date::Manip::Problems document.
948
949 (!) Zones specified by offset
950 In all operations involving time zones, the time zone must be
951 determined. By default, it would take all of the information
952 available (date, ISDST, etc.) and determine the most likely time
953 zone. It would take every time zone that matched each piece of
954 information, starting with those that matched in a standard time
955 followed by those that matched in a daylight saving time.
956
957 When zones are specified by an offset, a standard time would always
958 match since there are standard time zones that match all year long
959 (the military time zones A-Z and the standard time zones of the
960 form Etc/GMT+01). As a result, a daylight saving time match would
961 never occur.
962
963 Since (if the date falls during a daylight saving time period) you
964 usually want to use a time zone that has that offset in daylight
965 saving time, the default is now to check daylight saving time zones
966 first, followed by standard times.
967
968 See the Date::Manip::TZ manual (under the zone method) for more
969 information.
970
971 Bug fixes
972 Fixed a bug where Date_ConvTZ not working correctly with time zones
973 specified by offset. Chris Butler
974
975 Fixed a bug where business mode calculations involving minutes was
976 not handled correctly. Damien Moore
977
978 Fixed a bug where business mode calculations failed in some cases.
979 RT 56638
980
981 Time zone fixes
982 Newest zoneinfo data (tzdata 2010i)
983
984 Changed Date::Manip::TZ::zone so "dst" is sometimes the default
985 $dstflag. Based on the bug report by Chris Butler.
986
987 OpenUNIX puts a colon at the start of some time zones. It's
988 removed. Jean Hassler
989
990 Test fixes
991 Converted tests to Test::Inter
992
993 Documentation fixes
994 Fixed a documentation bug in Date::Manip::TZ where "stdonly" was
995 listed as the default value for $dstflag, but in actuality, "std"
996 is the default.
997
999 Bug fixes
1000 Fixed bug in Date_TimeZone where it wasn't returning the time zone.
1001 Robert Eden
1002
1004 Bug fixes
1005 Minor bug where %Z printf format didn't always work.
1006
1007 Added support for 5pm back in (it was omitted accidentally). Mark
1008 Kennedy
1009
1010 Fixed a minor warning. Morten Bjoernsvik
1011
1012 Some additional speedups.
1013
1014 Time zone fixes
1015 Newest zoneinfo data (tzdata 2010b)
1016
1017 Added dm_zdump example script.
1018
1019 Improved TZ::periods functionality
1020
1021 Fixed bug in Date_ConvTZ where empty values weren't defaulting to
1022 local time zone. Robert Eden
1023
1024 Fixed a couple of problems in the generated time zones for some odd
1025 cases (America/Resolute and Asia/Tehran).
1026
1028 (!) %z format
1029 In Date::Manip 5.xx, the %z format in UnixDate printed the offset
1030 in the form -0500. In 6.00, I changed that to -05:00:00, but this
1031 broke RFC 822 compliance.
1032
1033 I've changed %z back to -0500, and introduced a new format (%N)
1034 which returns -05:00:00.
1035
1036 Incidentally, this is the LAST unused letter, so I am now going to
1037 have to either stop adding formats, or add some extended format
1038 syntax. Not sure yet which, but this may involve a backwards
1039 incompatible change in the future.
1040
1041 (*) Significant speedups.
1042 Thanks to Moritz Lenz and BrowserUK on perlmonks for suggestions
1043 (and a number of other people on perlmonks for suggestions that I
1044 did not end up using, but which provided a great discussion).
1045
1046 Bug fixes
1047 Fixed a bug in parse_date where the current time was getting used
1048 instead of the documented 00:00:00
1049
1050 Bug fix where DateCalc didn't work with $mode in some cases.
1051
1052 Fixed Makefile.PL/Build.PL to handle Win32::TieRegistry
1053 requirement.
1054
1055 Changed %z printf behavior back to 5.xx and added %N format. Gilles
1056 Lamiral
1057
1058 Added dm_date example script.
1059
1060 Time zone fixes
1061 Fixed bug where non-English Windows versions didn't get the time
1062 zone. Thanks to Rene Schickbauer for testing.
1063
1064 Test fixes
1065 Reduced the precision of 1 test to avoid a rounding difference when
1066 using a perl compiled with uselongdouble. Andreas Koenig
1067
1069 Bug fixes
1070 Fixed a bug where events were not interpreted in the correct time
1071 zone if SetDate/ForceDate used.
1072
1074 Bug fixes
1075 Corrects a backward incompatibility with UnixDate. Rene Schickbauer
1076
1077 Test fixes
1078 A couple more corrections to the tests.
1079
1081 Bug fixes
1082 Disabled curr_zone_methods when taint checking on. I believe that
1083 Date::Manip is completely taint friendly at this point.
1084
1085 Test fixes
1086 A quick fix to make sure that the tests run correctly in other time
1087 zones.
1088
1090 Bug fixes
1091 (*) Fixed a bug where dates were sometimes getting the wrong time
1092 zone when SetDate/ForceDate in effect.
1093
1095 Date::Manip 6.00 is a total rethink of the module, and a nearly
1096 complete rewrite. Please refer to the Date::Manip::Changes5to6 document
1097 for a list of incompatible changes.
1098
1099 Reorganization
1100 (*) Massive reorganization and near total rewrite.
1101
1102 (*) Broke into several smaller modules
1103
1104 New Features
1105 (*) Full time zone support (using tzdata 2009s)
1106
1107 Added some functionality (suggested by James Elson to improve
1108 setting the "current time". Done with the ForceDate config
1109 variable.
1110
1111 (*) Converted languages to YAML for much easier maintenance. Patch
1112 and suggestion provided by Evan Carroll
1113
1114 Added much better formats for deltas. Suggested by Jim Hranicky.
1115
1116 Borrowed the _FindWindowsTZName function from the DateTime-TimeZone
1117 module.
1118
1119 Added SetDate config variable (based on a suggestion by Christian
1120 Campbell).
1121
1122 Added parse_format which was first suggested by Kim Ryan.
1123
1124 Other changes
1125 Several config variables deprecated
1126
1127 Thanks to Jonathan Hogue for helping test Windows additions.
1128
1129 Bug fixes (correcting problems in the 5.xx releases)
1130 Fixed a bug where "YYtoYYYY=c" wouldn't work.
1131
1132 VMS bugfix to not call `date` command. Lane
1133
1134 New Year's Day defined using a recurrence which might push the
1135 observed day to the previous year was broken. Reported by Jerry
1136 Wilcox.
1137
1138 Language fixes
1139 Fixed typo in Turkish translation.
1140
1141 Spelling fix in Dutch. Bart Van Loon
1142
1143 Additional credits
1144 I have received many suggestions over time which were automatically
1145 handled during the 6.00 rewrite. Although the changes weren't made
1146 because of the suggestions specifically, I wanted to acknowledge
1147 them since I appreciate the suggestions.
1148
1149 I believe the first person to suggest writing Date::Manip as an OO
1150 module was Eduard Derksen.
1151
1152 Delta_Format initialization done outside of the function. Eric
1153 Boehm
1154
1155 Added $subtract to calculation routines. First suggested by Steve
1156 Berlage.
1157
1158 Added ability to set individual parts of the date
1159 (Date::Manip::Date::set). First suggested by Martin Thurn.
1160
1161 UnixDate (i.e. Date::Manip::Date::printf) only calculates formats
1162 when they are needed. Eduard Derksen
1163
1164 Parsing will skip some date/time formats if requested. This was
1165 first suggested by Eduard Derksen.
1166
1167 It has been suggested several times to support multiple languages,
1168 multiple config files, or multiple sets of Date_Init options. These
1169 suggestions (by Meng Fang, Ed Avis, Christian Campbell, and perhaps
1170 others) were at the back of my mind as I developed the
1171 Date::Manip::Base class.
1172
1173 The regular expressions are all i18n friendly in anticipation of
1174 much better support for localization. First suggested by Alex
1175 Kapranoff.
1176
1177 Parsing a date ('today', 'Monday') gives a time of '00:00:00'.
1178 Suggested by Mark Aitchison.
1179
1180 Working with fractional days was suggested by Peter van Hardenberg.
1181 This is implemented in Date::Manip::Base::day_of_year method.
1182
1184 Please refer to the Date::Manip::Problems documentation for information
1185 on submitting bug reports or questions to the author.
1186
1188 Date::Manip - main module documentation
1189
1191 This script is free software; you can redistribute it and/or modify it
1192 under the same terms as Perl itself.
1193
1195 Sullivan Beck (sbeck@cpan.org)
1196
1197
1198
1199perl v5.26.3 2017-08-31 Date::Manip::Changes6(3)