File: CHANGES.txt

package info (click to toggle)
libdate-calc-perl 6.3-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,220 kB
  • sloc: perl: 14,838; makefile: 2
file content (404 lines) | stat: -rw-r--r-- 16,715 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
                     ====================================
                       Package "Date::Calc" Version 6.3
                     ====================================


                  Copyright (c) 1995 - 2009 by Steffen Beyer.
                             All rights reserved.


Version history:
----------------

Version 6.3   31.10.2009

 +  Changed "Mktime()" to use "POSIX::mktime()"
 +  Fixed the bug that "Date::Calc::PP" was never tested
    when "Date::Calc::XS" is installed

Version 6.2   16.10.2009

 +  Split the "Date::Calc" distribution into a pure-Perl and a C/XS part

Version 6.1   15.10.2009

 +  United "Date::Calc" and "Date::Pcalc" into a single distribution
 +  Fixed Polish names of months and days of week (RT ticket #14159)

Version 6.0   07.10.2009

 +  Added new functions "N_Delta_YMDHMS()", "Add_N_Delta_YMD()"
    and "Add_N_Delta_YMDHMS()" to "Date::Calc"
 +  Added more tests to "t/f037.t" for these new functions
 +  Added a new "normalized" mode to "Date::Calc::Object" which
    uses the new functions "N_Delta_YMD()", "N_Delta_YMDHMS()",
    "Add_N_Delta_YMD()" and "Add_N_Delta_YMDHMS()"
 +  Added test scripts "t/m012.t" and "t/m013.t" for this new mode
 +  The language can now be set individually for each function
    in "Date::Calc" that requires it (through a new optional
    parameter; the default continues to be a global setting
    for backward compatibility); the affected functions are:
    "Decode_Month()", "Decode_Day_of_Week()", "Compressed_to_Text()",
    "Date_to_Text()", "Date_to_Text_Long()", "Calendar()",
    "Month_to_Text()", "Day_of_Week_to_Text()", "Day_of_Week_Abbreviation()",
    "Decode_Date_EU()", "Decode_Date_US()", "Decode_Date_EU2()",
    "Decode_Date_US2()", "Parse_Date()".
 +  BEWARE that the interface of "DateCalc.c" has changed!
 +  Module "Date::Calc::Object" has been changed similarly
 +  Module "Date::Calendar::Year" has also been adapted accordingly
 +  Many test scripts have been changed to reflect the modifications
    in "Date::Calc", "Date::Calc::Object" and "Date::Calendar::Year"
    and more test cases have been added
 +  Updated the documentation to reflect all changes
 +  Updated version numbers of dependencies in "t/f000.t"

Version 5.8   12.09.2009

 +  Added a new function "N_Delta_YMD()"
 +  Added a new test script "t/f037.t"
 +  Updated the "Calc.pod" manual page accordingly
 +  Renamed "calendar.cgi" in the "examples"
    subdirectory to "calendar.pl"
 +  Added a new CGI script named "datecalc.pl"
    to the "examples" subdirectory

Version 5.7   23.08.2009

 +  Fixed "october" => "oktober" in Dutch
 +  Disabled the special abbreviated names
    of the days of the week in Portuguese
 +  Made the days which form the weekend con-
    figurable in "Calendar.pm" and "Year.pm"
 +  Added some test cases for this new feature
    in "t/m008.t"
 +  The file "examples/calendar.cgi" now
    also supports this new feature
 +  Updated "README.txt" and "INSTALL.txt"
    and the dependency on "Bit::Vector" 7.0
 +  Added an additional "README.htm" file to this
    distribution highlighting its key points
 +  Updated the documentation of "Date::Calc",
    "Date::Calendar", "Date::Calendar::Profiles",
    "Date::Calendar::Year" and "Date::Object"
 +  See the new module "Date::Calc::Util" (which
    is available separately; to be released soon)
    for all the shortcuts you ever wanted to have
    in "Date::Calc"

Version 5.6   28.07.2009

 +  Made the module MacOS X compatible
 +  Made some tiny changes to the documentation

Version 5.5   was skipped due to an unauthorized upload by someone else

Version 5.4   03.10.2004

 +  Added compiler directives for C++.
 +  Removed "Carp::Clan" from the distribution (available separately).
 +  Fixed bug in initialization of "Date::Calendar::Year" objects.
 +  Added method "tags()" to "Date::Calendar" and "Date::Calendar::Year".
 +  Fixed the formula for "Labor Day" in the U.S. to "1/Mon/Sep".
 +  Added a new recipe to the "Date::Calc" documentation.
 +  Added Romanian to the list of languages supported by "Date::Calc".
 +  Changed the example script "calendar.cgi" to highlight the name
    which led to a given date being a holiday.
 +  Fixed the Polish entries in "Date::Calc".
 +  Added a few commemorative days to the Norwegian calendar profile.
 +  Added "use bytes" to all Perl files to avoid problems on systems
    not using the standard locale "C".
 +  Fixed test 5 of t/m005.t to (hopefully) work under other locales.

Version 5.3   29.09.2002

 +  Simplified the error message handlers in "Calc.xs".

Version 5.2   18.09.2002

 +  Changed the Polish profiles from ISO-Latin-2 to ISO-Latin-1.
 +  Fixed the broken tests in "t/f034.t" and "t/m006.t".
 +  Synchronized "Carp::Clan" and "ToolBox.h" with "Bit::Vector" 6.2.

Version 5.1   08.09.2002

 +  Integrated modifications needed for MacOS / MacPerl.
 +  Added new method "normalize()" (Date::Calc::Object).
 +  Added a new test script "t/m011.t" for "normalize()".
 +  Added a calendar profile for Mexico (Date::Calendar::Profiles).
 +  Little additions to and corrections of the documentation (Date::Calc).
 +  Added Polish (Date::Calc) and a calendar profile for Poland.
 +  Added Hungarian (Date::Calc).
 +  Added some more commemorative days to the profile of Brazil.

Version 5.0   10.10.2001

Module "Date::Calc":

 +  Added the following new functions:
     *  check_time()
     *  Delta_YMD()
     *  Delta_YMDHMS()
     *  Add_Delta_YM()
     *  Add_Delta_YMDHMS()
     *  Normalize_DHMS()
     *  This_Year()
     *  Gmtime()
     *  Localtime()
     *  Mktime()
     *  Timezone()
     *  Date_to_Time()
     *  Time_to_Date()
     *  Fixed_Window()
     *  Moving_Window()
     *  ISO_LC()
     *  ISO_UC()
 +  Added support for Norwegian.
 +  Added support for Swedish.
 +  Added support for Danish.
 +  Added support for Finnish.
 +  Changed the month names of some languages to lower case.
 +  Changed the french "long" date format to a more popular form.
 +  Changed the corresponding test script (t/f012.t) accordingly.
 +  Corrected the spanish texts in ./examples/age_in_days_*.
 +  Fixed the broken parsing of special ISO-Latin-1 characters
    in Date::Calc (replaced <ctype.h> with better solution).
 -  Locales wouldn't help here, because "Decode_Language()" must
    work with any locale setting. Moreover, setting a language in
    Date::Calc would also require to set the proper corresponding
    locale in the current environment, which may not be available
    on the current system. The new solution works independently
    of any locale and with ALL languages (in ISO-Latin-1).
 +  Added a patch which should ensure compatibility with VMS
    (this should resolve the problem of too long identifiers).
 +  Added a missing "#include <stdio.h>" statement in DateCalc.c
    (apparently only relevant to very few platforms).
 +  Now automatically detects Perl's "PL_na" macro or switches to its
    older incarnation (in Calc.xs). Same goes for the "GIMME_V" macro.
 +  Changed the function "Add_Delta_YMD()" to have a more intuitive,
    consistent and reversible behaviour. This might break existing
    code, though. (To get the old behaviour, use the new function
    "Add_Delta_YM()" plus "Add_Delta_Days()" thereafter instead.)
 +  Changed the corresponding test script (t/f029.t) accordingly.
 +  Added an optional boolean parameter "orthodox" to "Calendar()"
    for calendars starting with Sunday instead of Monday.
 +  Changed the behaviour of the "Decode_Date_*()" set of functions:
    if the current year is available on the system, then a "moving
    window" strategy is applied to year numbers < 100; otherwise
    it defaults to the previous behaviour (see version 4.3 below).
 +  Also changed the test scripts t/f016.t, t/f027.t and t/f028.t
    accordingly.
 +  Changed the "Week_of_Year()" function: In scalar context, it
    now returns just the week number. BEWARE, this is a DANGEROUS
    feature - see the manual page for why this is so!
 +  Fixed the misspelled word "whether" in the documentation.

Module "Date::Calc::Object":

 +  Added the module Date::Calc::Object, an object-oriented add-on
    to Date::Calc with overloaded operators.

Modules "Date::Calendar[::(Year|Profiles)]":

 +  Added the modules Date::Calendar, Date::Calendar::Year and
    Date::Calendar::Profiles, for calculations which need to
    take holidays into account (and for generating calendars).

Module "Carp::Clan":

 +  Added the module Carp::Clan (used by all new Date::* modules).

All modules:

 +  Now test scripts for Date::Calc and Carp::Clan ("functions") are
    in files ./t/f*.t, whereas test scripts of other, object-oriented
    modules ("methods") are in files ./t/m*.t.
 +  Added new test scripts for all new modules.

Version 4.3   08.01.2000

 +  Changed the behaviour of the "Decode_Date_*()" set of functions: Year
    numbers below 100 are now mapped to 1970 - 2069 (yy < 70 ? 20yy : 19yy).
 +  Also changed the test scripts "t/f016.t", "t/f027.t" and "t/f028.t"
    accordingly.
 +  Added Italian (i.e., the number of supported languages is now 7).
 +  Added "English_Ordinal()".
 +  Changed "Date_to_Text_Long()": The format now depends on the chosen
    language (set up your favourite format(s) in "DateCalc.c"!).
 +  Changed test script "t/f012.t" accordingly.
 +  Added a few new "recipes" in the "RECIPES" section of the manual page.

Version 4.2   07.09.1998

 +  Added two casts to (char *) in the call of strncpy in Calc.xs line 857
    to silence the two corresponding warnings.
 +  Introduced an additional header "Preface" in the POD documentation to
    avoid clobbering of the information displayed by CPAN.pm et al.
 +  Added the new attributes to "Makefile.PL" for ActiveState's port
    of Perl 5.005 to the Win32 platform.

Version 4.1   08.06.1998

 +  Fixed the bug in "Add_Delta_YMD()" involving month offsets with days at
    the end of the month, which caused this function to return invalid dates.

Version 4.0   12.05.1998

 +  Complete rewrite of the XS file.
 +  Extensive rewrite of the C library at the core.
 +  Changed the naming conventions for function names from all lower case
    to mixed upper- and lower case.
 +  Added systematic exception handling.
 +  Renamed the package from "Date::DateCalc" to simply "Date::Calc".
 +  Renamed the corresponding files as well as the files of the C core.
 +  Added a new Perl function "Week_of_Year()" (replacing "week_number()").
 +  Changed the Perl function "Week_Number()" to call the C function
    "Week_Number()".
 +  Added new functions "System_Clock()", "Today()", "Now()" and
    "Today_and_Now()".
 +  Added "check_business_date()", "Standard_to_Business()" and
    "Business_to_Standard()".
 +  Ported the functions from "Date::DateCalcLib" from Perl to C.
 +  Dropped the module "Date::DateCalcLib".
 +  Added multi-language support.
 +  Enhanced support for Windows NT/95.
 +  Complete rewrite of the demo programs.
 +  Complete rewrite of the documentation.
 +  Added many new tools (like "upgrade_DC40.pl" and "iso2pc.c").

Version 3.2   15.06.1997

 +  Added the function "week_of_year()" in the C core because the C function
    "week_number()" returns the last week of the previous year or the first
    week of the next year in a rather hidden way.
 +  The Perl function "week_number()" was not affected by this change.

Version 3.1   12.06.1997

 +  Added a new function "calendar()" to the "Date::CalcLib" module.
 +  Added a demo program in C named "cal.c_" (imitates the UNIX "cal"
    command) to demonstrate the use of the C core as a stand-alone library.

Version 3.0   16.02.1997

 +  Added the "Date::DateCalcLib" module as a library of useful functions
    that were contained in the various demo files in previous versions.
 +  Modified the demo programs to use this library instead.
 +  Changed the conventions for unsuccessful returns: Now an empty list
    is returned instead of zeros in all list elements. This makes it
    possible to assign the returned list and to check for success in
    the same statement.

Version 2.3   22.11.1996

 +  Fixed a problem with unbalanced "malloc" and "free" calls that
    only became apparent in Perl version 5.003: Calling "malloc" in
    the C core of my module and "free" in the XS file produced a
    "bad free() ignored" warning.
 +  Added a function to call "free" in the C core instead.

Version 2.2   26.05.1996

 +  Bugfix concerning arrays as parameters: Enabling prototypes in
    the XS file caused
        ($year,$mm,$dd) = first_in_week(week_number($year,$mm,$dd));
    to break in the previous version, because "week_number()" passes
    an array to "first_in_week()".
 +  Therefore, disabled prototypes.

Version 2.1   26.05.1996

 +  Bugfix: Changed
        if ((*ss <= 60) and (*mm <= 60) and (*hh <= 24) and
    to
        if ((*ss < 60) and (*mm < 60) and (*hh < 24) and
 +  Applied minor adjustments in orthography and style.
 +  Made the necessary adaptations to conform with the new Perl 5.002
    module standards (mainly concerning $VERSION and prototypes).
 +  The man page is no separate file anymore, it is now included in the
    file "DateCalc.pm" in POD format, where it will automatically be found
    and installed in your "man" directory by "make install".

Version 2.0   25.05.1996

 +  Added functions "date_time_difference()" and "calc_new_date_time()"
    for date/time calculations (plus some other new functions).
 +  The german man page was dropped because it became too costly (i.e.,
    time consuming) to maintain two man pages.
 +  Dropped the functions "day_short_tab()" and "month_short_tab()",
    because they can be derived from the corresponding full text variants.
 +  Renamed the functions "encode()", "decode()", "valid_date()" and
    "date_string()" to "compress()", "uncompress()", "check_compressed()"
    and "compressed_to_short()", respectively, for more consistency.
 +  Modified the function "day_of_week()" to return 1..7 instead of
    0..6 (in order to make the functions "decode_day()" and
    "decode_month()" work the same way).
 +  Changed the function and table "day_name_tab()" accordingly.
 +  Exported the functions "decode_day()" and "decode_month()",
    which were purely for internal use in previous versions.
 +  Added a utility named "parse_date.pl" to parse the output
    of "/bin/date".

Version 1.6   20.04.1996

 +  Tested with Perl 5.002 for compatibility (successfully).
 +  Added another demo program which shows how to calculate, for instance,
    the 2nd Thursday of a given month and year.
    This version was never published.

Version 1.5   14.03.1996

 +  Added a prominent notice that you need an ANSI C compiler in order
    to successfully install this package, because of too many problem
    reports of this kind from users.
 +  Added a second demo program for decoding dates in U.S. american format.

Version 1.4   11.02.1996

 +  Bugfix: The function newSVnv(double) was previously used in the XS file
    to create a new SV with an integer value passed to it. Fixed this to use
    newSViv(IV) instead.

Version 1.3   10.12.1995

 +  The C library "lib_date.c" is compiled separately now,
    it is no longer "#include"d in the XS file.
 +  Added the function "days_in_month()".

Version 1.2b  27.11.1995

 +  Fixed EXTEND(SP,num) back into EXTEND(sp,num).
 +  Marginal refinements of the documentation.
 +  The fix for type name clashes of previous version apparently succeeded.

Version 1.2a  21.11.1995

 +  Another attempt at fixing the problem of type name clashes.
 +  Erroneously "fixed" EXTEND(sp,num) into EXTEND(SP,num).

Version 1.1   18.11.1995

 +  Added test scripts for "make test".
 +  Attempt at fixing the problem of type name clashes
    (changed "uint", "ulong" etc. to "unint", "unlong" etc.).

Version 1.01  16.11.1995

 +  Made the necessary changes so as to comply with programming standards
    required for Perl modules.

Version 1.0   14.11.1995   First version under UNIX (with Perl module)

 +  Released as an article in the newsgroups comp.lang.perl.misc and
    de.comp.lang.perl.

Version 0.9   01.11.1993   First version of C library under MS-DOS

 +  I wrote this library in my spare time because the company I was working
    for at that time could have needed it: Instead of storing some values for
    the last 60 days in an array and the dates of the corresponding days in
    another array, my library would have permitted to economize the second
    array, calculating the corresponding date from the index of the first
    array and the current date.

----------------------------------------------------------------------------