-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathChanges
448 lines (341 loc) · 13.3 KB
/
Changes
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
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
Changes for DateTime::Set
dev 2020-10-10
- add set_locale(), following the DateTime API
Adjusted t/15time_zone.t and docs.
0.3900 2016-10-09
- require Params::Validate
0.3800 2016-05-23
- doc patch, by Lucas Kanashiro.
0.3700 2016-05-17
- end() / max() and start() / min() are aliases to the same method in all classes.
Added docs and tests. Reported by Vincent Berger.
0.3600 2015-11-11
- move t/22intersects.t to DT::Event::Recurrence module
0.3500 2015-11-10
- [rt.cpan.org #108633] Recurrent event does not intersect indefinite future,
test contributed by Brett Watson.
- documentation - intersects() returns 0 for false, and 'undef' for
undecidable.
0.3400 2014-02-12
- documentation and packaging fixes - by David Steinbrunner.
- version number using 4 digits - requested by David Marshall.
0.33 2013-09-15
- bugfix in SpanSet->grep. Reported by Andreas Isberg
0.32 2013-08-27
- ignore duration signal in DateTime::Span->from_datetime_and_duration()
and use the 'end'/'start' parameters as a cue for the time direction,
suggested by David Pottage
- more tests of intersections with open/closed ended spans
0.30 2011-04-11
- new test file t/21from_recurrence.t
Contributed by Olivier Mengue
0.29 2011-04-01
- new method is_empty_set - bug #50750
0.28 2009-07-19
- optimized DateTime::Set->as_list().
This works around a segfault reported by Nils Grunwald.
0.27 2009-04-02
- fixed DateTime::Spanset duration() method.
Reported by Anton Berezin <tobez@tobez.org>
0.26 2008-12-25
- fixed DateTime::Spanset current() and set_time_zone() methods.
Report and tests by Elliot Shank.
0.25 2005-10-05
- t/15time_zone.t does it's own time zone "add_duration" handling
0.24 2005-10-03
- _recurrence.pm warned when the recurrence didn't have occurrences before
a given start date. Reported by Mark D. Anderson.
0.23 2005-10-03
- _recurrence.pm died when the recurrence didn't have occurrences before
a given start date. Reported by Mark D. Anderson.
0.22 2005-05-06
- DateTime::Set 0.21 dies when as_list is asked to produce a list from
outside the range of the set. Patch contributed by Stephen Gowing.
0.21 2005-04-06
- no hard limit in count() and as_list(); removed the warnings from the docs.
0.20 2005-02-28
- changed tests to use en_US instead of pt_BR (which changes every year)
by Dave Rolsky.
- optimized SpanSet methods for special cases:
start_set()
end_set()
contains( $dt )
intersects( $dt )
- added an example to count(), by David Nicol.
- added a note about how the result of min()/max() is just a copy of the
actual set boundary. Reported by Ron Hill.
0.19 2004-11-29
- added more comments on as_list() and count() behaviour on large sets.
Reported by Rick Frankel (rt ticket 8611)
0.18 2004-11-25
- ignore "__DIE__" signal while calculating durations.
Reported by michelle.agnew (rt ticket 5434)
0.17 2004-08-17
- bugfix: it was trying to set the time zone of an "undef" value;
this has broken some DT::Event::Recurrence tests - reported by Bill Moseley
0.1603 2004-07-05
- revised documentation, some examples were rewritten.
- deprecate "iterate" method
- Build.PM requires Set::Infinite 0.59 - reported by Tim Muller-Seydlitz
0.1602 2004-07-02
- fixed time zone handling in the methods:
set_time_zone
next/previous/closest/current
- removed limitation of duration size in methods:
add/add_duration
subtract/subtract_duration
- requires Set::Infinite 0.59 - uses iterate() experimental
argument "backtrack_callback"
- the following methods are now mutators:
set_time_zone( $tz )
set( locale => $locale )
add( unit => $n )
add_duration( $dur )
subtract( unit => $n )
subtract_duration( $dur )
- fixed max/min of an infinite SpanSet
- added test for infinite duration
- from_recurrence() code cleanup
- parameter checking: The 'dates' argument to from_datetimes()
must be a list of DateTime objects
0.1601 2004-03-30
- more parameter checking;
Sets should interoperate better with objects of
type DateTime::Event::* and DateTime::Incomplete
0.16 2004-03-29
- Makefile.PL skips processing of "Build.PL"
Reported by Reinhold May
0.15 2004-03-28
[ ENHANCEMENTS from version 0.14 ]
- Both "Makefile.PL" and "Build.PL" are provided.
- New methods:
DateTime::SpanSet::current
DateTime::Spanset::closest
DateTime::Set::map / grep
DateTime::SpanSet::map / grep
DateTime::SpanSet::intersected_spans
DateTime::SpanSet::start_set / end_set
- Recurrences can be bounded sets.
- Recurrences can be as small as 1 nanosecond.
- DateTime::SpanSet::duration may return an 'infinite'
DateTime::Duration (instead of scalar infinity).
[ *** BACKWARDS INCOMPATIBILITIES from version 0.14 *** ]
- The next/previous functions used in DT::Set->from_recurrence()
MUST work with DateTime::Infinite::Future
and DateTime::Infinite::Past parameters.
Failing to test for "infinity" values is known
to cause an infinite loop in some modules.
- DateTime::Set and DateTime::SpanSet methods do not mutate the set.
This was the behaviour in version 0.13
0.1413 2004-03-28
- detect_bounded => 1 is deprecated.
0.1412 2004-03-28
- DateTime::Set->from_recurrence - Bounded recurrences are "optional".
use " detect_bounded => 1 " to turn them on.
This fixes the backwards incompatibilities created by version 0.1402.
0.1411 2004-03-27
- Makefile.PL. Suggested by Randal L. Schwartz.
0.1410 2004-03-26
- Build.PL
0.1409 2004-03-23
- evaluation of bounded recurrences is "lazier".
(DateTime::Incomplete tests are twice as fast)
0.1408 2004-03-22
- refactored S::I::_recurrence class:
it doesn't use "current" anymore;
small bugfixes & optimizations.
("current" was not documented in DT::Set)
- new test: t/17quantize.t
Tests a method to make "quantization" (or "discretization")
of spansets.
0.1407 2004-03-16
- New methods:
DateTime::SpanSet::current
DateTime::Spanset::closest
- "Fixed" DateTime::SpanSet::next / previous
no longer "split" the returned spans.
- Added examples and parameter validation to map / grep
- DateTime::SpanSet::duration may return an 'infinite'
DateTime::Duration, instead of scalar infinity.
- Bugfix: DateTime::Spanset::union / intersection / ...
correctly accept DateTime parameters.
0.1406 2004-03-15
- New methods:
DateTime::Set::map / grep
DateTime::SpanSet::map / grep
From a discussion with Andrew Pimlott and Dave Rolsky
- Cleanup "datetime" code from _recurrence.pm
- iterate() marked as "internal"
0.1405 2004-03-15
- New method: DateTime::SpanSet::intersected_spans
Suggested by Reinhold May
Name suggested by Dave Rolsky
0.1404 2004-03-14
- New methods: DateTime::SpanSet::start_set / end_set
These are the inverse of the "from_sets" method.
Suggested by Reinhold May
0.1403 2004-03-10
- new method DateTime::SpanSet::iterate
[ *** BACKWARDS INCOMPATIBILITIES *** ]
- DateTime::Set and DateTime::SpanSet methods do not mutate the set.
This is the behaviour we had before version 0.13
0.1402 2004-03-08
- Recurrence functions can be used to generate bounded sets.
See: t/16bounded_recurrence.t
- There is no limit on how small a recurrence can be.
Recurrences as small as 1 nanosecond are possible.
[ *** BACKWARDS INCOMPATIBILITIES *** ]
All modules that create their own recurrences
must now be able to respond to DateTime::Infinite::Future
and DateTime::Infinite::Past parameters. The easiest way
to do this is to add this to the first line of the recurrence
subroutines:
next => sub {
return $_[0] if $_[0]->is_infinite;
...
}
previous => sub {
return $_[0] if $_[0]->is_infinite;
...
}
0.1401 2003-11-06
- span() was returning the set, instead of the result.
0.14 2003-11-02
- duration() should not set $@ for sets with infinity duration.
Reported by Dan Kubb.
0.13
0.1205 2003-10-16
- requires Set::Infinite 0.54 (it is the "published" version of 0.5307)
- DateTime::Set add_duration mutates the set. This is more compatible
with the way the DateTime.pm API works.
- new DateTime::SpanSet methods:
as_list( $span_spec ), next( $dt|$span ), previous( $dt|$span )
0.1204 2003-10-10
- DateTime::SpanSet and DateTime::Span inherit DateTime::Set $VERSION
- Trying to subtract infinity from a datetime is not fatal in duration()
Bug report by Dan Kubb.
- new method 'iterate'
- requires Set::Infinite 0.5307 (pass new backtracking tests)
- added more tests for add_duration, subtract_duration
- added set( locale => .. ) to DateTime::Set
0.1203 2003-09-26
- Added docs to Set::Infinite::_recurrence;
split into a separate file such that it doesn't mix the pods
- refactored union / intersection
- _is_recurrence test prevents error when programming subroutine methods
0.1202 2003-09-24
- fixed set_time_zone and add_duration:
was not clearing 'next' upon return, when arg was a recurrence.
0.1201 2003-09-24
- optimized contains() and intersects() when arg is a datetime
- recurrence constructor always adds '->clone' to recurrence function
- refactored _recurrence method;
first/last of recurrences are calculated 'on demand'
- requires Set::Infinite 0.5305
0.12 2003-09-22
- implement previous() in DT::SpanSet.pm
- Fixed: set_time_zone would mutate a clone.
0.11 2003-09-19
- Fixed callback return value on set_time_zone.
This caused the start date to be equal to the end date.
Bug found by Dan Kubb.
0.10 2003-09-02
- DateTime::Span->duration now uses the new subtract_datetime_absolute
method, which means that the duration is always given in seconds.
- supports _huge_ recurrence sets (not infinite) with "virtual" elements.
these sets have 'undef' count.
Experimental - mostly untested !
this adds support for sets like 'all seconds in 2003'
- faster recurrence intersection
- count returns 'undef' for infinite sets.
0.09 2003-08-18
- added DT::Set count()
- fixed DT::SpanSet duration()
- methods that accepted a DT object, now accept a list of DT objects.
Suggested by Ben Bennet, I think.
- added _callback_next - "previous-only recurrences"
- optimizes intersection of recurrence with span
- internal 'S::I' recurrence class
- small fix in DT::Set clone()
- DateTime::Set uses DateTime infinity constants;
max and min now return DateTime::Infinite::Future/Past objects.
- DateTime::Span uses DateTime infinity constants;
max and min now return DateTime::Infinite::Future/Past objects.
Docs update to explain 'max()' value when a span is built using 'before'.
- added method set_time_zone()
- clone() is documented
0.08 2003-05-30
- recurrence set intersection uses 'current'
- fixed a number of methods in DateTime::Span, including intersection,
intersects, contains, union, and complement, all of which called the
non-existent DateTime::Set->new method. Dave Rolsky.
0.07 2003-05-23
- some tweaking on intersection, union, and in the recurrence generator.
- more tests
0.06 2003-05-14
- added 'use warnings' in some tests, added DateTime 0.12 prereq.
0.04 2003-05-12
- change "closest" code to avoid duration comparison
0.03 2003-04-27
- fixes in Set.pm as_list, span.
- iterator accepts 'span' parameters. Ben Bennett
- remove deprecated DateTime::Set->new and DateTime::SpanSet->new. Dave Rolsky
- requires Set::Infinite 0.49
0.02 2003-04-20
- removed some calls to 'new'
- added many methods from DT::Event::Recurrence
- add 'span' parameter to as_list
- from_recurrence now accepts next + previous
0.01 2003-04-19
- first "official" release.
- implemented DateTime::SpanSet->from_sets and
DateTime::SpanSet->from_set_and_duration
- Many doc tweaks. Dave Rolsky
- DateTime::Span->duration and DateTime::SpanSet->duration now return
infinity instead of undef for infinite spans. Dave Rolsky
- Added DateTime::SpanSet->empty_set. Dave Rolsky
0.00_20 2003-04-10
- Docs for DateTime::SpanSet API
(not implemented)
- DateTime::Span API:
from_datetime_and_duration, from_datetimes
0.00_18 2003-03-25
- changes docs, changed API
from_recurrence, from_datetimes, new()
- as_list
- previous() method (quite untested)
- small API changes
- revised docs, from Dave Rolsky
- small bugfix in creating open spans
- added DateTime::Span and DateTime::SpanSet
- put "..." to mark where we need more docs
- DateTime::Set and DateTime::Span API look ok.
0.00_13 2003-03-19
- added tests for set operations with recurrences/add
- iterator passes all tests
- the API is complete, as described in SYNOPSIS
- small fix in add() syntax; accepts a duration=> parameter
- iterator, next
0.00_10 2003-03-14
- union, intersection
- experimental code to generate recurrence from a simple callback
0.00_07 2003-02-28
- added experimental method create_recurrence()
- added experimental method add_duration()
- improved SYNOPSIS
- added 'immutability' tests
- new() will not try to clone non-DateTime parameters (such as the
Infinity value)
- The program will die with an error message,
if one tries to use offset() or quantize() methods
These methods might come back in a later version.
- new() clones its parameters.
This means the parameters don't have to be immutable
- new() will give an error message if we try to use a scalar parameter
instead of a DateTime
- Uses Set::Infinite as base class, instead of Date::Set::Timezone
This means some methods just disappeared, like event() and exclude().
RFC2445 support might come back in a later revision.
- Removed experimental Autoload code
- Added 'Changes' and 'README'
- moved POD to end of source file.