Blame CHANGES.txt

Packit c00de3
                     ====================================
Packit c00de3
                       Package "Date::Calc" Version 6.4
Packit c00de3
                     ====================================
Packit c00de3
Packit c00de3
Packit c00de3
                  Copyright (c) 1995 - 2015 by Steffen Beyer.
Packit c00de3
                             All rights reserved.
Packit c00de3
Packit c00de3
Packit c00de3
Version history:
Packit c00de3
----------------
Packit c00de3
Packit c00de3
Version 6.4   07.03.2015
Packit c00de3
Packit c00de3
 +  Fixed t/f016.t, t/f027.t and t/f028.t which started failing on 01/01/2015
Packit c00de3
 +  Fixed t/f035.t which gave a warning "Unescaped left brace in regex is deprecated"
Packit c00de3
    with Perl 5.21.x
Packit c00de3
Packit c00de3
Version 6.3   31.10.2009
Packit c00de3
Packit c00de3
 +  Changed "Mktime()" to use "POSIX::mktime()"
Packit c00de3
 +  Fixed the bug that "Date::Calc::PP" was never tested
Packit c00de3
    when "Date::Calc::XS" is installed
Packit c00de3
Packit c00de3
Version 6.2   16.10.2009
Packit c00de3
Packit c00de3
 +  Split the "Date::Calc" distribution into a pure-Perl and a C/XS part
Packit c00de3
Packit c00de3
Version 6.1   15.10.2009
Packit c00de3
Packit c00de3
 +  United "Date::Calc" and "Date::Pcalc" into a single distribution
Packit c00de3
 +  Fixed Polish names of months and days of week (RT ticket #14159)
Packit c00de3
Packit c00de3
Version 6.0   07.10.2009
Packit c00de3
Packit c00de3
 +  Added new functions "N_Delta_YMDHMS()", "Add_N_Delta_YMD()"
Packit c00de3
    and "Add_N_Delta_YMDHMS()" to "Date::Calc"
Packit c00de3
 +  Added more tests to "t/f037.t" for these new functions
Packit c00de3
 +  Added a new "normalized" mode to "Date::Calc::Object" which
Packit c00de3
    uses the new functions "N_Delta_YMD()", "N_Delta_YMDHMS()",
Packit c00de3
    "Add_N_Delta_YMD()" and "Add_N_Delta_YMDHMS()"
Packit c00de3
 +  Added test scripts "t/m012.t" and "t/m013.t" for this new mode
Packit c00de3
 +  The language can now be set individually for each function
Packit c00de3
    in "Date::Calc" that requires it (through a new optional
Packit c00de3
    parameter; the default continues to be a global setting
Packit c00de3
    for backward compatibility); the affected functions are:
Packit c00de3
    "Decode_Month()", "Decode_Day_of_Week()", "Compressed_to_Text()",
Packit c00de3
    "Date_to_Text()", "Date_to_Text_Long()", "Calendar()",
Packit c00de3
    "Month_to_Text()", "Day_of_Week_to_Text()", "Day_of_Week_Abbreviation()",
Packit c00de3
    "Decode_Date_EU()", "Decode_Date_US()", "Decode_Date_EU2()",
Packit c00de3
    "Decode_Date_US2()", "Parse_Date()".
Packit c00de3
 +  BEWARE that the interface of "DateCalc.c" has changed!
Packit c00de3
 +  Module "Date::Calc::Object" has been changed similarly
Packit c00de3
 +  Module "Date::Calendar::Year" has also been adapted accordingly
Packit c00de3
 +  Many test scripts have been changed to reflect the modifications
Packit c00de3
    in "Date::Calc", "Date::Calc::Object" and "Date::Calendar::Year"
Packit c00de3
    and more test cases have been added
Packit c00de3
 +  Updated the documentation to reflect all changes
Packit c00de3
 +  Updated version numbers of dependencies in "t/f000.t"
Packit c00de3
Packit c00de3
Version 5.8   12.09.2009
Packit c00de3
Packit c00de3
 +  Added a new function "N_Delta_YMD()"
Packit c00de3
 +  Added a new test script "t/f037.t"
Packit c00de3
 +  Updated the "Calc.pod" manual page accordingly
Packit c00de3
 +  Renamed "calendar.cgi" in the "examples"
Packit c00de3
    subdirectory to "calendar.pl"
Packit c00de3
 +  Added a new CGI script named "datecalc.pl"
Packit c00de3
    to the "examples" subdirectory
Packit c00de3
Packit c00de3
Version 5.7   23.08.2009
Packit c00de3
Packit c00de3
 +  Fixed "october" => "oktober" in Dutch
Packit c00de3
 +  Disabled the special abbreviated names
Packit c00de3
    of the days of the week in Portuguese
Packit c00de3
 +  Made the days which form the weekend con-
Packit c00de3
    figurable in "Calendar.pm" and "Year.pm"
Packit c00de3
 +  Added some test cases for this new feature
Packit c00de3
    in "t/m008.t"
Packit c00de3
 +  The file "examples/calendar.cgi" now
Packit c00de3
    also supports this new feature
Packit c00de3
 +  Updated "README.txt" and "INSTALL.txt"
Packit c00de3
    and the dependency on "Bit::Vector" 7.0
Packit c00de3
 +  Added an additional "README.htm" file to this
Packit c00de3
    distribution highlighting its key points
Packit c00de3
 +  Updated the documentation of "Date::Calc",
Packit c00de3
    "Date::Calendar", "Date::Calendar::Profiles",
Packit c00de3
    "Date::Calendar::Year" and "Date::Object"
Packit c00de3
 +  See the new module "Date::Calc::Util" (which
Packit c00de3
    is available separately; to be released soon)
Packit c00de3
    for all the shortcuts you ever wanted to have
Packit c00de3
    in "Date::Calc"
Packit c00de3
Packit c00de3
Version 5.6   28.07.2009
Packit c00de3
Packit c00de3
 +  Made the module MacOS X compatible
Packit c00de3
 +  Made some tiny changes to the documentation
Packit c00de3
Packit c00de3
Version 5.5   was skipped due to an unauthorized upload by someone else
Packit c00de3
Packit c00de3
Version 5.4   03.10.2004
Packit c00de3
Packit c00de3
 +  Added compiler directives for C++.
Packit c00de3
 +  Removed "Carp::Clan" from the distribution (available separately).
Packit c00de3
 +  Fixed bug in initialization of "Date::Calendar::Year" objects.
Packit c00de3
 +  Added method "tags()" to "Date::Calendar" and "Date::Calendar::Year".
Packit c00de3
 +  Fixed the formula for "Labor Day" in the U.S. to "1/Mon/Sep".
Packit c00de3
 +  Added a new recipe to the "Date::Calc" documentation.
Packit c00de3
 +  Added Romanian to the list of languages supported by "Date::Calc".
Packit c00de3
 +  Changed the example script "calendar.cgi" to highlight the name
Packit c00de3
    which led to a given date being a holiday.
Packit c00de3
 +  Fixed the Polish entries in "Date::Calc".
Packit c00de3
 +  Added a few commemorative days to the Norwegian calendar profile.
Packit c00de3
 +  Added "use bytes" to all Perl files to avoid problems on systems
Packit c00de3
    not using the standard locale "C".
Packit c00de3
 +  Fixed test 5 of t/m005.t to (hopefully) work under other locales.
Packit c00de3
Packit c00de3
Version 5.3   29.09.2002
Packit c00de3
Packit c00de3
 +  Simplified the error message handlers in "Calc.xs".
Packit c00de3
Packit c00de3
Version 5.2   18.09.2002
Packit c00de3
Packit c00de3
 +  Changed the Polish profiles from ISO-Latin-2 to ISO-Latin-1.
Packit c00de3
 +  Fixed the broken tests in "t/f034.t" and "t/m006.t".
Packit c00de3
 +  Synchronized "Carp::Clan" and "ToolBox.h" with "Bit::Vector" 6.2.
Packit c00de3
Packit c00de3
Version 5.1   08.09.2002
Packit c00de3
Packit c00de3
 +  Integrated modifications needed for MacOS / MacPerl.
Packit c00de3
 +  Added new method "normalize()" (Date::Calc::Object).
Packit c00de3
 +  Added a new test script "t/m011.t" for "normalize()".
Packit c00de3
 +  Added a calendar profile for Mexico (Date::Calendar::Profiles).
Packit c00de3
 +  Little additions to and corrections of the documentation (Date::Calc).
Packit c00de3
 +  Added Polish (Date::Calc) and a calendar profile for Poland.
Packit c00de3
 +  Added Hungarian (Date::Calc).
Packit c00de3
 +  Added some more commemorative days to the profile of Brazil.
Packit c00de3
Packit c00de3
Version 5.0   10.10.2001
Packit c00de3
Packit c00de3
Module "Date::Calc":
Packit c00de3
Packit c00de3
 +  Added the following new functions:
Packit c00de3
     *  check_time()
Packit c00de3
     *  Delta_YMD()
Packit c00de3
     *  Delta_YMDHMS()
Packit c00de3
     *  Add_Delta_YM()
Packit c00de3
     *  Add_Delta_YMDHMS()
Packit c00de3
     *  Normalize_DHMS()
Packit c00de3
     *  This_Year()
Packit c00de3
     *  Gmtime()
Packit c00de3
     *  Localtime()
Packit c00de3
     *  Mktime()
Packit c00de3
     *  Timezone()
Packit c00de3
     *  Date_to_Time()
Packit c00de3
     *  Time_to_Date()
Packit c00de3
     *  Fixed_Window()
Packit c00de3
     *  Moving_Window()
Packit c00de3
     *  ISO_LC()
Packit c00de3
     *  ISO_UC()
Packit c00de3
 +  Added support for Norwegian.
Packit c00de3
 +  Added support for Swedish.
Packit c00de3
 +  Added support for Danish.
Packit c00de3
 +  Added support for Finnish.
Packit c00de3
 +  Changed the month names of some languages to lower case.
Packit c00de3
 +  Changed the french "long" date format to a more popular form.
Packit c00de3
 +  Changed the corresponding test script (t/f012.t) accordingly.
Packit c00de3
 +  Corrected the spanish texts in ./examples/age_in_days_*.
Packit c00de3
 +  Fixed the broken parsing of special ISO-Latin-1 characters
Packit c00de3
    in Date::Calc (replaced <ctype.h> with better solution).
Packit c00de3
 -  Locales wouldn't help here, because "Decode_Language()" must
Packit c00de3
    work with any locale setting. Moreover, setting a language in
Packit c00de3
    Date::Calc would also require to set the proper corresponding
Packit c00de3
    locale in the current environment, which may not be available
Packit c00de3
    on the current system. The new solution works independently
Packit c00de3
    of any locale and with ALL languages (in ISO-Latin-1).
Packit c00de3
 +  Added a patch which should ensure compatibility with VMS
Packit c00de3
    (this should resolve the problem of too long identifiers).
Packit c00de3
 +  Added a missing "#include <stdio.h>" statement in DateCalc.c
Packit c00de3
    (apparently only relevant to very few platforms).
Packit c00de3
 +  Now automatically detects Perl's "PL_na" macro or switches to its
Packit c00de3
    older incarnation (in Calc.xs). Same goes for the "GIMME_V" macro.
Packit c00de3
 +  Changed the function "Add_Delta_YMD()" to have a more intuitive,
Packit c00de3
    consistent and reversible behaviour. This might break existing
Packit c00de3
    code, though. (To get the old behaviour, use the new function
Packit c00de3
    "Add_Delta_YM()" plus "Add_Delta_Days()" thereafter instead.)
Packit c00de3
 +  Changed the corresponding test script (t/f029.t) accordingly.
Packit c00de3
 +  Added an optional boolean parameter "orthodox" to "Calendar()"
Packit c00de3
    for calendars starting with Sunday instead of Monday.
Packit c00de3
 +  Changed the behaviour of the "Decode_Date_*()" set of functions:
Packit c00de3
    if the current year is available on the system, then a "moving
Packit c00de3
    window" strategy is applied to year numbers < 100; otherwise
Packit c00de3
    it defaults to the previous behaviour (see version 4.3 below).
Packit c00de3
 +  Also changed the test scripts t/f016.t, t/f027.t and t/f028.t
Packit c00de3
    accordingly.
Packit c00de3
 +  Changed the "Week_of_Year()" function: In scalar context, it
Packit c00de3
    now returns just the week number. BEWARE, this is a DANGEROUS
Packit c00de3
    feature - see the manual page for why this is so!
Packit c00de3
 +  Fixed the misspelled word "whether" in the documentation.
Packit c00de3
Packit c00de3
Module "Date::Calc::Object":
Packit c00de3
Packit c00de3
 +  Added the module Date::Calc::Object, an object-oriented add-on
Packit c00de3
    to Date::Calc with overloaded operators.
Packit c00de3
Packit c00de3
Modules "Date::Calendar[::(Year|Profiles)]":
Packit c00de3
Packit c00de3
 +  Added the modules Date::Calendar, Date::Calendar::Year and
Packit c00de3
    Date::Calendar::Profiles, for calculations which need to
Packit c00de3
    take holidays into account (and for generating calendars).
Packit c00de3
Packit c00de3
Module "Carp::Clan":
Packit c00de3
Packit c00de3
 +  Added the module Carp::Clan (used by all new Date::* modules).
Packit c00de3
Packit c00de3
All modules:
Packit c00de3
Packit c00de3
 +  Now test scripts for Date::Calc and Carp::Clan ("functions") are
Packit c00de3
    in files ./t/f*.t, whereas test scripts of other, object-oriented
Packit c00de3
    modules ("methods") are in files ./t/m*.t.
Packit c00de3
 +  Added new test scripts for all new modules.
Packit c00de3
Packit c00de3
Version 4.3   08.01.2000
Packit c00de3
Packit c00de3
 +  Changed the behaviour of the "Decode_Date_*()" set of functions: Year
Packit c00de3
    numbers below 100 are now mapped to 1970 - 2069 (yy < 70 ? 20yy : 19yy).
Packit c00de3
 +  Also changed the test scripts "t/f016.t", "t/f027.t" and "t/f028.t"
Packit c00de3
    accordingly.
Packit c00de3
 +  Added Italian (i.e., the number of supported languages is now 7).
Packit c00de3
 +  Added "English_Ordinal()".
Packit c00de3
 +  Changed "Date_to_Text_Long()": The format now depends on the chosen
Packit c00de3
    language (set up your favourite format(s) in "DateCalc.c"!).
Packit c00de3
 +  Changed test script "t/f012.t" accordingly.
Packit c00de3
 +  Added a few new "recipes" in the "RECIPES" section of the manual page.
Packit c00de3
Packit c00de3
Version 4.2   07.09.1998
Packit c00de3
Packit c00de3
 +  Added two casts to (char *) in the call of strncpy in Calc.xs line 857
Packit c00de3
    to silence the two corresponding warnings.
Packit c00de3
 +  Introduced an additional header "Preface" in the POD documentation to
Packit c00de3
    avoid clobbering of the information displayed by CPAN.pm et al.
Packit c00de3
 +  Added the new attributes to "Makefile.PL" for ActiveState's port
Packit c00de3
    of Perl 5.005 to the Win32 platform.
Packit c00de3
Packit c00de3
Version 4.1   08.06.1998
Packit c00de3
Packit c00de3
 +  Fixed the bug in "Add_Delta_YMD()" involving month offsets with days at
Packit c00de3
    the end of the month, which caused this function to return invalid dates.
Packit c00de3
Packit c00de3
Version 4.0   12.05.1998
Packit c00de3
Packit c00de3
 +  Complete rewrite of the XS file.
Packit c00de3
 +  Extensive rewrite of the C library at the core.
Packit c00de3
 +  Changed the naming conventions for function names from all lower case
Packit c00de3
    to mixed upper- and lower case.
Packit c00de3
 +  Added systematic exception handling.
Packit c00de3
 +  Renamed the package from "Date::DateCalc" to simply "Date::Calc".
Packit c00de3
 +  Renamed the corresponding files as well as the files of the C core.
Packit c00de3
 +  Added a new Perl function "Week_of_Year()" (replacing "week_number()").
Packit c00de3
 +  Changed the Perl function "Week_Number()" to call the C function
Packit c00de3
    "Week_Number()".
Packit c00de3
 +  Added new functions "System_Clock()", "Today()", "Now()" and
Packit c00de3
    "Today_and_Now()".
Packit c00de3
 +  Added "check_business_date()", "Standard_to_Business()" and
Packit c00de3
    "Business_to_Standard()".
Packit c00de3
 +  Ported the functions from "Date::DateCalcLib" from Perl to C.
Packit c00de3
 +  Dropped the module "Date::DateCalcLib".
Packit c00de3
 +  Added multi-language support.
Packit c00de3
 +  Enhanced support for Windows NT/95.
Packit c00de3
 +  Complete rewrite of the demo programs.
Packit c00de3
 +  Complete rewrite of the documentation.
Packit c00de3
 +  Added many new tools (like "upgrade_DC40.pl" and "iso2pc.c").
Packit c00de3
Packit c00de3
Version 3.2   15.06.1997
Packit c00de3
Packit c00de3
 +  Added the function "week_of_year()" in the C core because the C function
Packit c00de3
    "week_number()" returns the last week of the previous year or the first
Packit c00de3
    week of the next year in a rather hidden way.
Packit c00de3
 +  The Perl function "week_number()" was not affected by this change.
Packit c00de3
Packit c00de3
Version 3.1   12.06.1997
Packit c00de3
Packit c00de3
 +  Added a new function "calendar()" to the "Date::CalcLib" module.
Packit c00de3
 +  Added a demo program in C named "cal.c_" (imitates the UNIX "cal"
Packit c00de3
    command) to demonstrate the use of the C core as a stand-alone library.
Packit c00de3
Packit c00de3
Version 3.0   16.02.1997
Packit c00de3
Packit c00de3
 +  Added the "Date::DateCalcLib" module as a library of useful functions
Packit c00de3
    that were contained in the various demo files in previous versions.
Packit c00de3
 +  Modified the demo programs to use this library instead.
Packit c00de3
 +  Changed the conventions for unsuccessful returns: Now an empty list
Packit c00de3
    is returned instead of zeros in all list elements. This makes it
Packit c00de3
    possible to assign the returned list and to check for success in
Packit c00de3
    the same statement.
Packit c00de3
Packit c00de3
Version 2.3   22.11.1996
Packit c00de3
Packit c00de3
 +  Fixed a problem with unbalanced "malloc" and "free" calls that
Packit c00de3
    only became apparent in Perl version 5.003: Calling "malloc" in
Packit c00de3
    the C core of my module and "free" in the XS file produced a
Packit c00de3
    "bad free() ignored" warning.
Packit c00de3
 +  Added a function to call "free" in the C core instead.
Packit c00de3
Packit c00de3
Version 2.2   26.05.1996
Packit c00de3
Packit c00de3
 +  Bugfix concerning arrays as parameters: Enabling prototypes in
Packit c00de3
    the XS file caused
Packit c00de3
        ($year,$mm,$dd) = first_in_week(week_number($year,$mm,$dd));
Packit c00de3
    to break in the previous version, because "week_number()" passes
Packit c00de3
    an array to "first_in_week()".
Packit c00de3
 +  Therefore, disabled prototypes.
Packit c00de3
Packit c00de3
Version 2.1   26.05.1996
Packit c00de3
Packit c00de3
 +  Bugfix: Changed
Packit c00de3
        if ((*ss <= 60) and (*mm <= 60) and (*hh <= 24) and
Packit c00de3
    to
Packit c00de3
        if ((*ss < 60) and (*mm < 60) and (*hh < 24) and
Packit c00de3
 +  Applied minor adjustments in orthography and style.
Packit c00de3
 +  Made the necessary adaptations to conform with the new Perl 5.002
Packit c00de3
    module standards (mainly concerning $VERSION and prototypes).
Packit c00de3
 +  The man page is no separate file anymore, it is now included in the
Packit c00de3
    file "DateCalc.pm" in POD format, where it will automatically be found
Packit c00de3
    and installed in your "man" directory by "make install".
Packit c00de3
Packit c00de3
Version 2.0   25.05.1996
Packit c00de3
Packit c00de3
 +  Added functions "date_time_difference()" and "calc_new_date_time()"
Packit c00de3
    for date/time calculations (plus some other new functions).
Packit c00de3
 +  The german man page was dropped because it became too costly (i.e.,
Packit c00de3
    time consuming) to maintain two man pages.
Packit c00de3
 +  Dropped the functions "day_short_tab()" and "month_short_tab()",
Packit c00de3
    because they can be derived from the corresponding full text variants.
Packit c00de3
 +  Renamed the functions "encode()", "decode()", "valid_date()" and
Packit c00de3
    "date_string()" to "compress()", "uncompress()", "check_compressed()"
Packit c00de3
    and "compressed_to_short()", respectively, for more consistency.
Packit c00de3
 +  Modified the function "day_of_week()" to return 1..7 instead of
Packit c00de3
    0..6 (in order to make the functions "decode_day()" and
Packit c00de3
    "decode_month()" work the same way).
Packit c00de3
 +  Changed the function and table "day_name_tab()" accordingly.
Packit c00de3
 +  Exported the functions "decode_day()" and "decode_month()",
Packit c00de3
    which were purely for internal use in previous versions.
Packit c00de3
 +  Added a utility named "parse_date.pl" to parse the output
Packit c00de3
    of "/bin/date".
Packit c00de3
Packit c00de3
Version 1.6   20.04.1996
Packit c00de3
Packit c00de3
 +  Tested with Perl 5.002 for compatibility (successfully).
Packit c00de3
 +  Added another demo program which shows how to calculate, for instance,
Packit c00de3
    the 2nd Thursday of a given month and year.
Packit c00de3
    This version was never published.
Packit c00de3
Packit c00de3
Version 1.5   14.03.1996
Packit c00de3
Packit c00de3
 +  Added a prominent notice that you need an ANSI C compiler in order
Packit c00de3
    to successfully install this package, because of too many problem
Packit c00de3
    reports of this kind from users.
Packit c00de3
 +  Added a second demo program for decoding dates in U.S. american format.
Packit c00de3
Packit c00de3
Version 1.4   11.02.1996
Packit c00de3
Packit c00de3
 +  Bugfix: The function newSVnv(double) was previously used in the XS file
Packit c00de3
    to create a new SV with an integer value passed to it. Fixed this to use
Packit c00de3
    newSViv(IV) instead.
Packit c00de3
Packit c00de3
Version 1.3   10.12.1995
Packit c00de3
Packit c00de3
 +  The C library "lib_date.c" is compiled separately now,
Packit c00de3
    it is no longer "#include"d in the XS file.
Packit c00de3
 +  Added the function "days_in_month()".
Packit c00de3
Packit c00de3
Version 1.2b  27.11.1995
Packit c00de3
Packit c00de3
 +  Fixed EXTEND(SP,num) back into EXTEND(sp,num).
Packit c00de3
 +  Marginal refinements of the documentation.
Packit c00de3
 +  The fix for type name clashes of previous version apparently succeeded.
Packit c00de3
Packit c00de3
Version 1.2a  21.11.1995
Packit c00de3
Packit c00de3
 +  Another attempt at fixing the problem of type name clashes.
Packit c00de3
 +  Erroneously "fixed" EXTEND(sp,num) into EXTEND(SP,num).
Packit c00de3
Packit c00de3
Version 1.1   18.11.1995
Packit c00de3
Packit c00de3
 +  Added test scripts for "make test".
Packit c00de3
 +  Attempt at fixing the problem of type name clashes
Packit c00de3
    (changed "uint", "ulong" etc. to "unint", "unlong" etc.).
Packit c00de3
Packit c00de3
Version 1.01  16.11.1995
Packit c00de3
Packit c00de3
 +  Made the necessary changes so as to comply with programming standards
Packit c00de3
    required for Perl modules.
Packit c00de3
Packit c00de3
Version 1.0   14.11.1995   First version under UNIX (with Perl module)
Packit c00de3
Packit c00de3
 +  Released as an article in the newsgroups comp.lang.perl.misc and
Packit c00de3
    de.comp.lang.perl.
Packit c00de3
Packit c00de3
Version 0.9   01.11.1993   First version of C library under MS-DOS
Packit c00de3
Packit c00de3
 +  I wrote this library in my spare time because the company I was working
Packit c00de3
    for at that time could have needed it: Instead of storing some values for
Packit c00de3
    the last 60 days in an array and the dates of the corresponding days in
Packit c00de3
    another array, my library would have permitted to economize the second
Packit c00de3
    array, calculating the corresponding date from the index of the first
Packit c00de3
    array and the current date.
Packit c00de3
Packit c00de3
----------------------------------------------------------------------------
Packit c00de3