####################################################################### # HISTORY ####################################################################### Important changes marked with *** (as of 5.20) Written by: Sullivan Beck (sbeck@cpan.org) Any suggestions, bug reports, or donations :-) should be sent to me. Version 1.0 1995-01-20 Combined all routines into one library Version 1.1 1995-02-08 Added leap year checking Both "Feb" and "February" formats available Version 1.2 1995-03-31 Made months case insensitive Added a few date formats Version 2.0 1995-04-17 Included ideas from packages Time::ParseDate (David Muir Sharnoff ) date.pl 3.2 (Terry McGonigal ) Made error checking much nicer Added seconds to ParseDate Version 3.0 1995-05-03 Added %DATE_ global variable to clean some stuff up Simplified several routines Added today-no/tomorrows/etc. formats Added UnixDate Added ParseDateDelta Version 4.0 1995-08-13 Switched to perl 5 Cleaned up ParseDate, ParseDateDelta Added time first formats to ParseDate First public release Version 4.1 1995-10-18 Changed %DATE_ to %DateManip::Date Rewrote ParseDateDelta Added DateCalc Version 4.2 1995-10-23 UnixDate will now return a scalar or list depending on context ParseDate/ParseDateDelta will now take a scalar, a reference to a scalar, or a eference to an array Added copyright notice (requested by Tim Bunce ) Simple timezone handling Added Date_SetTime, Date_GetPrev, Date_GetNext Version 4.3 1995-10-26 Added "which dofw in mmm" formats to ParseDate Added a bugfix of Adam Nevins where "12:xx pm" used to be parsed "24:xx:00". Version 5.00 1996-06-21 Switched to a package (patch supplied by Peter Bray ) o renamed to Date::Manip o changed version number to 2 decimal places o added POD documentation Thanks to Peter Bray, Randal Schwartz, Andreas Koenig for suggestions Fixed a bug pointed out by Peter Bray where it was complaining of an uninitialized variable. Version 5.01 1996-06-24 Fixes suggested by Rob Perelman o Fixed a typo (Friday misspelled Fridat) o Documentation problem for \$err in DateCalc o Added %F formtat to UnixDate Reworked a number of the ParseDate regular expressions to make them more flexible Added "Date at Time" types Weekdays can be entered and checked Two digit years fall in the range CurrYear-89 to CurrYear+10 Version 5.02 1996-07-15 Fixed a bug where repeated calls to ParseDate("today") was not reset Replaced the %Date::Manip::Date variable with a large number of other, more flexible variables Added some internationalization (most of the routines had to be modified at least slightly) Rewrote the Init routine Version 5.03 1996-07-17 Fixed a couple of bugs in UnixDate. Declared package variables to avoid warning "Identifier XXX used only once". Thanks to Peter Bray for the suggestion. Version 5.04 1996-08-01 Added support for fractional seconds (as generated by Sybase). They are parsed and ignored. Added by Kurt Stephens . Fixed bugs reported by J.B. Nicholson-Owens o "Tue Jun 25 1996" wasn't parsed correctly (regexp was case sensitive) o full day names not parsed correctly o the default day in ErrorCheck should be 1, NOT currd since when currd>28, it may not be a valid date for the month Version 5.05 1996-10-11 Added Swedish translation (thanks to Andreas Johansson Fixed bad mistake in documentation (use Date::Manip instead of use DateManip) pointed out by tuc@valhalla.stormking.com Fixed bug introduced in 5.04 when default day set to 1. When no date given, have day default to today rather than 1. It only defaults to one if a partial date is given. Changed deltas to be all positive or all negative when produced by DateCalc. Suggested by Steve Braun Fixed bug where Date_DaysSince999 returned the wrong value (the error did not affect any other functions in Date::Manip due to the way it was called and the nature of the error). Pointed out by Jason Baker . Minor improvements to documentation. Documented the 'sort within a sort' bug. Added DateManipVersion routine. Dates with commas in them are now read properly. Now supports timezones. Parses RFC 822 dates (thanks to J.B. Nicholson-Owens for suggestion). Parses ctime() date formats (suggested by Matthew R. Sheahan ). Added Date_ConvTZ routine for timezone support. Fixed two places where a variable was declared twice using my (thanks to Ric Steinberger ). Hopefully fixed installation problems. Now supports times like "noon" and "midnight". Got rid of the last (I think) couple of US specific strings. The time separators are now language specific so the French can write "10h30" and the Swedes can write "10.30". Suggested by Andreas Johansson . Fixed type in documentation/README pointed out by James K. Bence . Fixed bug in Date_SetTime (didn't work with $hr,$min,$sec < 10). Added ModuloAddition routine and simplified DateCalc. Date_TimeZone will now also check `date '+%Z'` suggested by Aharon Schkolnik . Version 5.06 1996-10-25 Fixed another two places where a variable was declared twice using my (thanks to Ric Steinberger ). Fixed a bug where fractional seconds weren't parsed correctly. Fixed a bug where "noon" and other special times were not parsed in the "which day of month" formats. Added "today at time" formats. Fixed a minor bug where a few matches were case sensitive. ParseDateDelta now normalizes the delta as well as DateCalc. Added %Q format "YYYYMMDD" to UnixDate. Requested by Rob Perelman . The command "date +%Z" doesn't work on SunOS machines (and perhaps others) so 5.05 is effectively broken. 5.06 released to fix this. Reported by Rob Perelman . Version 5.07 1996-12-10 Huge number of code changes to clean things up. Added %q format "YYYYMMDDHHMMSS" to UnixDate. Requested by Rob Perelman . Also added %P format "YYYYMMDDHH:MM:SS". Added a new config variable to allow you to work with multiple internal formats (with and without colons). Requested by Rob Perelman . See Date_Init documentation. Added the following formats suggested by Andreas Johansson : sunday week 22 [in 1996] [at 12:00] 22nd sunday [in 1996] [at 12:00] sunday 22nd week [in 1996] [at 12:00] Added weeks to ParseDateDelta. Suggested by Mike Bassman . Note that since this is a late addition, I did not change the internal format of a delta. Instead, it is added to the days field. Added a new config variable to allow you to define the first day of the week. See Date_Init documentation. Added the following formats to ParseDate for conveniance (some were suggested by Mike Bassman ): next/last friday [at time] next/last week [at time] in 2 weeks [at time] 2 weeks ago [at time] Friday in 2 weeks in 2 weeks on friday Friday 2 weeks ago 2 weeks ago friday Added Date_SecsSince1970GMT, moved the %s format to %o (secs since 1/1/70) and added %s format (secs since 1/1/70 GMT). Based on suggestions by Mark Osbourne . Note this introduces a minor backward incompatibility! Date_SetTime now works with international time separators. Changed how Date_Init arguments work. Fixed bug in Date_TimeZone where it didn't recognize +HHMN type time zones. Thanks to Are Bryne . Added the %g format (%a, %d %b %Y %H:%M:%S %z) for an RFC 1123 date. Suggested by Are Bryne . Added WindowsNT check to Date_TimeZone to get around NT's weird date command. Thanks to Are Bryne . Subroutines now check to see if 4 digit years are entered. Suggested by Are Bryne . Fixed typo (CSD instead of CST). Now reads a config file. Added options to delete existing holidays and ignore global config file. The d:h:mn:s of ALL deltas are normalized. Added local($_) to all routines which use $_. Suggested by Rob Perelman . Date_GetNext and Date_GetPrev now return the next/prev occurence of a time as well as a day. Suggested by Are Bryne . Complete rewrite of DateCalc. In approximate mode, deltas now come out completely normalized (only 1 sign). Suggested by Rob Perelman . Added business mode. See documentation. Suggested by Mike Bassman . Modified how deltas are normalized and added the DeltaSigns config variable. Added test suite! Fixed sign in military timezones making Date::Manip RFC 1123 compliant (except that timezone information is not stored in any format) Added Date::Manip::InitDone so initialization isn't duplicated. Added a 3rd internal format to store YYYY-MM-DD HH:MN:SS (iso 8601). Fixed a bug where UnixDate %E format didn't work with single digit dates. Patch supplied by J\yrgen N\yrgaard . Added a config variable to allow you to work with 24 hour business days. Suggested by Mike Bassman . ParseDateDelta now returns "" rather than "+0:0:0:0:0:0" when there is an error. Fixed a bug where "today" was not converted to the correct timezone. Version 5.07p2 1997-01-03 Added lots of timezone abbreviations. Can now understand PST8PDT type zones (but only in Date_TimeZone). Fixed some tests (good for another year). Fixed a bug where a delta component of "-0" would mess things up. Reported by Nigel Chapman . Released two patches for 5.07. Version 5.08 1997-01-24 Fixed serious bug in ConvTZ pointed out by David Hall . Modified Date_ConvTZ (and documented it). Released 5.08 to get this and the other two patches into circulation. Version 5.09 1997-01-28 Upgraded to 5.003_23 and fixed one problem associated with it. Used carp and changed all die's to confess. Replaced some UNIX commands with perl equivalents (date with localtime in the tests, pwd with cwd in the path routines). Cleaned up all routines working with the path. Tests work again (broke in 5.08). Thanks to Alex Lewin , and Michael Fuhr for running debugging tests. Version 5.10 1997-03-19 Tests will now run regardless of the timezone you are in. Test will always read the DateManip.cnf file in t/ now. A failed test will now give slightly more information. Cleaned up In, At, and On regexps. DateManip.cnf file in t/ now sets ALL options to override any changes made in the Manip.pm file. Added documentation for backwards incompatibilities to POD. Added 2 checks for MSWin32 (date command and getpw* didn't work). Thanks to Alan Humphrey . Fixed two bugs in the DateCalc routines. Pointed out by Kevin Baker Fixed some problems in POD documentation. Thanks to Marvin Solomon . Fixed some problems with how "US/Eastern" type timezones were used. Thanks to Marvin Solomon . Fixed minor POD error pointed out by John Perkins . Added a check for Windows_95. Thanks to charliew@atfppc.ppc.att.com. Changed documentation for Date_IsWorkDay (it was quite confusing using a variable named $time). Thanks to Erik M. Schwartz . Cleaned up checks for MacOS and Microsoft OS's. Hopefully I'm catching everything. Thanks to Charlie Wu for one more check. Fixed typo in docs (midnight mispelled). Thanks to Timothy Kimball . Fixed a typo which broke Time%Date (Date=dd%mmm%yy) format. Thanks to Timothy Kimball . Version 5.11 1997-08-07 Added one more check for NT perl. Thanks to Rodney Haywood Added METDST timezone. Thanks to Paul Gillingwater Added CEST timezone. Thanks to Rosella Antonio Added some comments to help me keep my personal libraries up-to-date with respect to Date::Manip and vice-versa. Fixed a bug which showed up in French dates (though it could happen in other languages as well). Thanks to Georges Martin . Added ROK timezone. Thanks to Kang Taewook Fixed a bug in DateCalc. Thanks to Thomas Winzig Removed the "eval" statement from CheckFilePath which causes a suid c wrapper program to die when it calls a Date::Manip script. Thanks to Hank Hughes Fixed a bug in business mode calculations. Thanks to Sterling Swartwout Fixed a bug in which "1997023100:00:00" was accepted as valid. Thanks to Doug Emerald . Fixed a bug in which ConvTZ was not used correctly in ParseDate. Redid portions of Date_ConvTZ. Thanks to Vivek Khera Fixed a bug in business mode calculations. Thanks to Ian Duplisse Added $^X check for Win95 perl. Thanks to Walter.Soldierer@t-online.de Missed one call to NormalizeDelta so the output was wrong. Thanks to Brad A. Buikema Version 5.11 was never released to CPAN. Version 5.20 1997-10-12 Reorganized ParseDate more efficiently. Fixed some incorrect uses of $in instead of $future in ParseDate. Thanks to Erik Corry Added formats: *** All ISO 8601 formats "Friday" suggested by Rob Perelman "12th" suggested by Rob Perelman 12th (12th day of current month) "last day of MONTH" suggested by Chadd Westhoff Added ParseDateString for speed (and simplicity for modifying ParseDate) Changed all week handling to meet ISO 8601 standards. Added %J and %K formats to UnixDate. Added some speedups (more to come). Cleaned up testing mechanism a bit and added tests for ISO 8601 formats. Added Date_DaysInMonth. Version 5.21 1998-01-15 Documented how to get around Micro$oft problem. Based on a mail by Patrick Stepp Now passes Taint checks. Thanks to Mike Fuhr , Ron E. Nelson , and Jason L Tibbitts III Put everything in a "use integer" pragma. Added YYtoYYYY variable. Suggested by Michel van der List Added a missing space in the %g UnixDate format. Thanks to Mike Booth Fixed some Australian time zones. Kim Davies Removed all mandatory call to Date_Init (only called when current time is required). Significantly faster. Added the UpdateCurrTZ variable to increase speed at the cost of being wrong on the timezone. Cleaned up multi-lingual initialization and added the IntCharSet variable. Improved French translations. Thanks to Emmanuel Bataille Fixed a bug in Date_ConvTZ. Fixed another bug in Date_ConvTZ. Thanks to Patrick K Malone Added "Sept" as a recognized abbreviation. Thanks to Martin Thurn Added British date formats. Piran Montford monday week today week as well as some US formats in 2 months next month Time can now be written 5pm. Piran Montford Added the TomorrowFirst variable and Date_NearestWorkDay function. Fixed a bug in Date_IsWorkDay. Typo in the French initialization. Thanks to Michel Minsoul Fixed how %W and %U was incorrectly stored between weeks 52,53,01. They now return the correct week (no more week 00). Added UnixDate formats %G and %L to correctly handle the year. Samuli Karkkainen Added ForceDate variable. Fixed the tests to not fail in 1998. Version 5.30 1998-01-21 *** Added a week field to deltas. All routines can now take either a 2- or 4-digit year. Added Delta_Format. First suggested by Alan Burlison Added Date_SetDateField. Martin Thurn Made the $err argument to DateCalc optional. Changed the name of several of the library routines (not the callable ones) to standardize naming. *** Added ParseRecur. First suggested by Chris Jackson Version 5.31 1998-04-08 Fixed a bug in ParseDateDelta (seems to appear only in 5.005 prereleases). Found by Larry W. Virden Some fixes to the French translations by Emmanuel Bataille Missed one form in ParseDate. Noted by Fixed a bug where "15:00:00" couldn't be parsed. Michael Pizolato Relaxed some restrictions on timezones so ISO-8601 dates can use non-ISO-8601 timezones. Noted by John Chambers Added "epoch SECS" format to ParseDateString. Thanks to: Joshua M. Burgin Split Manip.pm. New files are HISTORY, TODO, Manip.pod. Fixed a bug in ParseDateDelta. Antonio Rosella Minor documentation fixes. Will Linden Added German support. Thanks to Andreas C. Poszvek Removed the only occurence of $& (which may speed some things up). Fix by Ken Williams Oops. First suggested by Abigal Fixed a bug in converting timezones with a minutes field (+1030). Found by Fixed an overflow bug in doing date calculations with 2 dates more than 70 years apart. Fix by Vishal Bhatia Added a patch by Blair Zajac to make Date_NthDayOfYear work with decimal days. Fixed a bug where "5:00pm" wasn't always parsed correctly. Thanks to Jim Trocki Fixed a bug in UnixDate (it wouldn't return the correct string for a format who's last character was '0') noted by Ramin V. Fixed a documentation problem with Date_GetPrev. It was still 0-6 instead of 1-7. Thanks to Robert Klep Version 5.32 1998-08-17 Added "in N days" and "N days ago" formats. Tony Bowden Added cYYYY format to YYtoYYYY variable. Mark Rejhon Allowed timezones of the format STD-#DST-#. Peter Gordon Documentation fix. Peter Gordon Added Hong Kong, Singapore, and Korean timezones. W. Phillip Moore Fixed a bug where the deltas could be off by up to a couple minutes in some rare cases. Herman Horsten Minor documentation changes. Yamamoto Hiroshi Fixed an "uninitialized symbol" warning. Mark D. Anderson Added timezone support for "+0500 (EST)". Tom Christiansen Removed support for oldstyle Date_Init arguments. Fixed a bug where holidays were't erased. Jonathan Wright Added GB timezone. Michael Smith Added Polish support. Ian Wojtowicz Applied a bug fix from Joe Chapman where the %W/%U UnixDate formats were frequently wrong. Added Dutch support. Abigal Added 2 days/weeks/months later in both ParseDate and ParseDelta (for Dutch support). Abigal Several minor fixes and improvements. Abigal Added some VMS support. Charles Lane Fixed a bug which caused a test to fail on some systems. Charles Lane *** Changed DateManip.cnf to Manip.cnf (to get rid of problems with certain OS's that can't handle filenames that aren't 8.3 characters) for ALL non-Unix platforms (Wintel, VMS, Mac). For all Unix platforms, it's still .DateManip.cnf . Also, it will only look in a users home directory on VMS and Unix. Added info about the RCS problem. Supplied by Kipp E. Howard Added "Y:M:0*-DOM:0:0:0" to ParseRecur. Jeff Yoak Added A.M. and P.M. parsing (not just AM and PM). William W. Arnold Added timezone. Samuli Karkkainen Fixed a bug where "-1second" was treated as a date rather than a delta in DateCalc. Kenneth Ingham Restricted timzeones parsing to 0000-2359 instead of 0000-9999. Frank Cusack . Added a bit to the Makefile.PL (as it was distributed in the Win32 Perl Resource Kit). Murray Nesbitt Fixed a German initialization problem. Thomas Horster-Moller and Christian Reithmaier Version 5.33 1998-08-20 Added Spanish support. Bautista Jasso Javier Fixed a bug where "1 month ago" was no longer working (and added it to the test cases). This broke when I fixed the "-1second" bug above. A result of this is that a number of "deltas" can be parsed as dates (i.e. &ParseDate("1 hour 20 minutes ago") is equivalent to &DateCalc("now","1 hour 20 minutes ago")). Only text deltas can be used in this way (i.e. &ParseDate("-0:0:0:0:1:20:0") will not work). Version 5.34 1999-04-13 Fixed a bug where a date passed in as an array wasn't getting the date removed from the array. Rick Wise Added tests for MPE/iX OS. John Testa Fixed a bug where WorkDayBeg=8:00 went into an infinite loop. Mark Martinec A number of typos fixed. Ron Pero Added exact business mode. Ian Duplisse Changed a business week to be the same as an exact week. Abigal Added Portuguese. Rui Pedro da Silva Leite Pereira *** Switched all variables from Date::Manip::VAR to my(VAR). This means no more access to Date::Manip internals. Based on suggestion by Tom Christiansen Changed %z UnixDate format to return the GMT offset. TTSG The format "22nd sunday" now returns the real 22nd sunday, NOT the sunday of week 22 (based on whatever definition of week 1 is active). Fixed a bug where "sunday week 0" didn't work (only affected week 0) Gerald Rinske Minor bug (my variable declared twice). Paul J. Schinder Added "mmmYYYY" and "YYYYmmm" formats. As a result, "DDYYmmm" and "mmmDDYY" formats changed to "DD/YYmmm" and "mmmDD/YY". David Twomey *** Added Date_Cmp routine. This will work even after the new internal format goes into affect. Added now in response to a question by Al Sorrell (I should have added it earlier). At the request of the UN, I added the SAT timezone. :-) Howard Hendler . Fixed a bug where "epoch SECONDS" was getting parsed wrong (for SECONDS which could be interpreted as an ISO-8601 date). N. Thomas . Fixed a problem where init files were not being read. Mike Reetz Fixed a bug where timezones were converted multiple times if ConvTZ was set and DateCalc called. Steven Hartland Version 5.35 1999-07-06 Added Romanian support (including 2 test files). Iosif Fettich Made "epoch" not case sensitive and fixed a bug where it would fail in some languages. Caught because of Iosif's thorough Romanian test file. Fixed a problem where "in 5 days/weeks/months" sometimes wouldn't get correctly parsed in other languages. Caught because of Iosif's thorough Romanian test file. Fixed a weakness in ParseDateDelta brought out by the Romanian delta test file. Corrected Swedish translations. Danne Solli Documentation updates. Modified Date_GetPrev/Date_GetNext to take $curr=2. Now parses the Apache log file format "dd/mmm/yyyy:hh:mm:ss (time zone)". Mark Ferguson Added OS/2 support. Michael B. Babakov Fixed a bug causing warnings in the beta version of perl. Patch by Paul Johnson . Some fixes to German translations. Peter Ehrenberg Deprecated the function Date_DaysSince999. It's been replaced by Date_DaysSince1BC. It will disappear in the next version. Fixed support for years 0000-0999. Requested by Chris Vaughan Many changes to recurrences including: *** Flags are now supported Some bug fixes and documentation changes Added test suite Added support for Easter (first suggested by Abigal ) Fixed a bug where base/date0/date1 not treated correctly Put all the my'ed global variables in a couple hashes to clean up the namespace and to make a few future enhancements easier to do. Added Italian. Nicola Pedrozzi Added Israel timezones. Oded Cohen Fixed a bug where business weeks weren't being used correctly. Qian Miao Improved holiday support considerably: *** Added support for recurrences and one-year-only holidays (the latter requested first by Vishal Bhatia ) Cleaned up holiday variables and redid holiday routines. Fixed Veteren's day, added Good Friday (off by default). Peter Chen Fixed a serious typo in the DaysSince1BC routine. Qian Miao Added Date_IsHoliday routine. Joe Pepin *** Added the PathSep config variable to improve support for non-Unix paths. *** Date_Init can now return a list of config variables if called in array context. Based on a suggestion by Matt Tuttle Version 5.36 2000-01-21 Fixed a bug in ParseRecur. Fixed a documentation problem with Date_ConvTZ. Diab Jerius Fixed a bug is UnixDate (%l format). Jon Hedley Fixed a bug in Date_GetNext/Prev. Christoph Haas Fixed a bug in Date_IsHoliday. Report and patch by Rolf Beutner Fixed a bug in UnixDate. Patch by Kurtis D. Rader Added support for 24:00:00 to ParseDate. William H Asquith Added SAST timezone. Paul Arzul Rewrote IsInt routine based on discussion with Sean Hunter (approximately 30% faster on a SPARC). Version 5.37 2000-02-14 Fixed the sign on the military timezones. John Scott Set ENV{PATH} to help with taint checking. Joe Lipson Fixed a serious bug where HH:24:00 was broken due to support from 24:00:00. Scott Egashira Version 5.38 2000-05-23 *** Added Events section to config file and Events_List routine. Prompted by Greg Schiedler and paid for by Alan Cezar Added support for ISO8601 dates of the format dateTtime. Jason Pierce Fixed "dofw" format to return the day of the current week as documented instead of next week. Dennis Ingram Fixed some typos. Thanks to Alex Kapranoff Fixed a bug where dates in years 1900, 1800, etc. (but not 2000 or other 400th years) were off by one day in DayOfWeek. Noble Thomas Typo fixed. Jim Hranicky Added the WEST timezone. Nelson Ferreira Fixed a bug in ParseRecur (2-digit years not treated correctly). Brian Rectanus Added MEZ/MESZ timezones. David Harper Got rid of the "use Cwd" and ENV{PATH} lines which means no more taint problems. Removed Date_DaysSince999. Version 5.39 2000-06-27 Added /etc/timezone support to &Date_TimeZone. Dirk Eddelbuettel Added Canada/Eastern timezone. Dirk Eddelbuettel `date` uses the user's path unless taint checking is on. @::DatePath used instead of @Date::Manip::DatePath incorrectly. Fixed by John Labovitz . Fixed a bug where times such as "5 seconds ago" were not changing over time. Matthew R. Sheahan Added timezones. Eli Selinger Version 5.40 2001-06-07 Added an example. Philip Jones Fixed a warning. Edward Avis Fixed a bug where the date wasn't rolling over when parsing dates containing only times. James L. Gordon Fixed a bug where some times were defaulting to the current time instead of 00:00:00. Edward Avis Added `date +%Z` support in Date_TimeZone. Mike Bristow Added support for negative values is "epoch SECS" type dates. Larry Warner Fixed a warning if the timezone is supplied as a +HHMM format. Viola Mauro Fixed a bug in Date_NthDayOfYear with decimal days. Olga Polyakov Fixed a bug where ParseDateDelta returned a delta if nothing was passed in. Jim Hranicky . Fixed a bug where noon was case sensitive. Bion Pohl Fixed a bug where dateTtime wasn't parsed. Jeremy Brinkley Fixed South African time zone. David Sieborger Fixed a bug in holiday parsing involving recurrences. Jerry Wilcox Added NWD/PWD/DWD flags to ParseRecur. Peter Wyngaard Fixed a bug where an invalid date passed to Date_IsWorkDay produced an error message. Mark Rejhon Fixed a bug where EraseHolidays wasn't taking affect correctly. Chateauvieux Martial Fixed a bug where the list produced by Date_Init couldn't be passed back in to Date_Init. James Elson Fixed a typo in the docs. Zhen Liu ######################################################################### # Backwards incompatibilities ######################################################################### In 5.07 %s UnixDate format changed By default, the signs of a diff are stored in a different format (only minimum number of signs stored). Backwards compatible if you set DeltaSigns=1. Date_Init arguments changed (old method supported but depreciated) In 5.20 ISO 8601 dates added, several old formats are no longer available MM-DD-YY (conflicts with YY-MM-DD) YYMMDD (conflicts with YYYYMM) In keeping with ISO 8601, the weekdays are now numbered 1-7 (mon-sun) instead of 0-6 (sun-sat). Also for ISO 8601, the week starts with Monday by default. By default, the first week of the year contains Jan 4 (ISO 8601). In 5.21 Long running process timezone may slip. See UpdateCurrTZ variable. UnixDate formats %W,%U no longer return week 00. %J is now correct. In 5.30 Delta now contains a week field. In 5.32 Old style Date_Init arguments no longer supported. The DateManip.cnf file's name has changed for ALL non-Unix platforms. In 5.34 A business week is now interpreted the same as an exact week. *** All Date::Manip variables are declared with my(VAR), so no more access to internals. %z UnixDate format now returns the timezone as a GMT offset. %Z still returns the abbreviation. The format "22nd sunday" now returns the real 22nd sunday, NOT the sunday of week 22 (based on whatever definition of week 1 is active). "DDYYmmm" and "mmmDDYY" formats changed to "DD/YYmmm" and "mmmDD/YY". *** Date_Cmp added in preparation for the change in internal format to include the timezone. In 5.35 Deprecated the function Date_DaysSince999. It's been replaced by Date_DaysSince1BC. It will disappear in the next version. *** Added the PathSep variable which may cause problems on WinXX platforms with old config files where a colon is assumed. In 5.38 Removed Date_DaysSince999.