-
Notifications
You must be signed in to change notification settings - Fork 106
/
CHANGES.txt
541 lines (378 loc) · 19.4 KB
/
CHANGES.txt
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
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
9 Oct 2021 - bear
PR #261 Bump urllib3 from 1.25.9 to 1.26.5
PR #255 support 'next 10 days' query
PR #252 Include pytest.ini in source distributions, fixes tests
PR #250 Update nl_NL.py
PR #248 pyicu 'module' object has no attribute 'Locale'
Update Pipfile to reference Python 3.9
Updated Copyright statement
31 May 2020 - bear
v2.6 release
bump version to v2.7
PR #244 Polished README.rst
PR #242 fix pyicu import to suppress warnings
PR #239 Fixed missing comma in seconds strings
Updated Pipfile and Makefile to:
- update and move packages to the "dev" section
- use Python 3.7 for pipenv
- install tox-pipenv plugin to try and fix Tox (currently doesn't)
- simplify tox.ini to try and fix Tox (didn't)
- move ci makefile target to the circle config
Currently Tox is broken (see https://github.com/tox-dev/tox-pipenv/issues/61)
18 Nov 2019 - bear
v2.5 release
PR #222 Fix to sanitize abbreviated months from icu
PR #223 typo in RU locale in abbreviation for January
PR #224 Fix lint errors for flake8 v3.5.0
PR #225 Add a constant for start hour
PR #233 Add 'secs' and 'mins' into base units
PR #226 Remove unused dependency on future
14 May 2017 - bear
v2.4 release
v2.5 bump
Issue #219 - remove 'setup_requires' from setup.py
10 Mar 2017 - bear
v2.3 release
v2.4 bump
Issue #215 - tests fail in March
02 Mar 2016 - bear
v2.1 released
v2.2 bump
Issue #156 parsedatetime 2.0 doesn't work on py26
PR 157 unwrap dictionary comprehensions to allow for python 2.6 to work - Issue #156
29 Feb 2016 - bear
v2.0 released
Issue #155 Relative times containing years fail when computed from a leap day
Issue #145 cal.parse('2015-11-18') returns November 19th 2015
Issue #143 What is the second value returned by `parse`?
Issue #141 Bad test case in TestComplexDateTimes
Issue #123 update supporting files for v2.0 release
Issue #124 Put locales into config-files (yaml)
Issue #125 Remove extra files
Issue #137 Year is parsed wrongly if the date is of format MMM DD, YYxx xx:SS bug
Issue #136 Why I see 2016 instead of 2015?
Issue #133 Bug: "2015-01-01" is parsed as the current date.
Issue #126 "Unresolved attribute reference 'parse' for class 'object'... " in Pycharm IDE. bug
PR #153 Fix/day of week offsets
PR #146 Test failure: eom is correct, but expectation is wrong
PR #142 Fixed all PyICU test failure
PR #138 bug(date3): rely on comparison of hour and year strings but not strict char position
PR #135 update manifest, clean up setup.py and move historical text files
PR #130 Refactoring of pdt_locales
PR #134 Uses `codecov` to generate coverage report
PR #128 Master
PR #127 Issue #126 - removed inheritance from object and removed return value…
20 Sep 2015 - bear
bump version to v2.0 because of the fix for Issue #120
Issue #120 the pdt_locales/en_AU.py file uses en_A for the localID instead of en_AU
Issue #114 Dates in the format 'YYYY-MM-DD HH:MM' give the incorrect month and day
Issue #112 Document getting a time from parsedatetime into a standard Python structure
Issue #110 AttributeError when running in the context of an HTTP request
Issue #109 YearParseStyle is ignored for dates in MM/DD style
Issue #107 yyyy/mm/dd date format
Issue #105 "this week" is not parsed
Issue #103 get UTC times from parseDT - trouble with at 9:30 clock times being interpreted directly in UTC
Issue #100 Fractional deltas result in incoherent results.
PR #118 ADD: improve russian locale
PR #117 ADD: Russian Locale
PR #116 Fix spelling of "separator".
PR #115 Update README.rst
PR #113 Add datetime example to readme.
PR #111 Allowed real number appear in text like "5.5 days ago"
25 Jun 2015 - bear
Issue #73 add Makefile
bump version to v1.6
released v1.5
Issue #99 Which year is implied when given just a month and day? Next and last? question
Issue #96 Word boundary issues for specials (on, at, in) in nlp
Issue #94 inconsistent application of sourceTime in Calendar.parseDT
Issue #87 nlp() doesn't recognize some "next ..." expressions
Issue #84 Afternoon? bug
Issue #82 'last week' and 'next week' are broken
Issue #81 parse returns default time of 0900 with dates like 'next friday' despite passed struct_time bug
Issue #78 Link for Travis in README is wrong
Issue #72 Enable travis
Issue #71 Calendar() class can not be initialized 1.4 (it's fine)
Issue #66 Unexpected struct_time flag with Calendar.parse on HTML <a href> string
Issue #65 NLP false positives
Issue #63 Supporting multiple shortweekday abbreviations
Issue #61 Short weekday abbreviations bug
Issue #56 Parse words to numbers (thirteen => 13)
Issue #54 testMonths fails
commit 107c7e4655 fix for issue 95 - parsing 'next june 15'
commit 2c0c8ec778 Fixed faulty test, "730am" parses as "73:0 am" which is a bug for a later day.
commit 6f244e891d Fix "ones" parsing as "1s." Require a word boundary between spelled numbers and units.
commit 035818edef Fix "1 day ago" parsing like "1d 1y ago" where "a" within the word "day" is interpreted as 1.
commit 45002e6eec Fixes "next week" and similar modifier + unit pairs in nlp()
commit 47d2e1d527 Fixed "last week"
11 Jul 2014 - bear
bump version to v1.5
released v1.4
Updated setup.py for wheel compatibility
renamed README.txt to README.rst
renamed MANIFEST to MANIFEST.in
cleaned up a lot of the doc and notes
Commit 3fc165e701 mafagafo Now it works for Python 3.4.1
Commit d5883801e7 borgstrom Restore Python 2.6 compatibility
8 Jul 2014 - bear
bumped version to 1.4
Issue #45 make a new release to really fix backwards compatibility
Issue #43 Please tag version 1.3
Commit 29c5c8961d devainandor fixed Python 3 compatibility in pdtLocale_icu
Commit d7304f18f7 inean Fix support for 'now' when no modifiers are present
Commit 26bfc91c28 sashaacker Added parseDT method.
Commit 848deb47e2 rmecham Added support for dotted meridians.
Commit c821e08ce2 ccho-sevenrooms corrected misspelling of 'thirteen'
24 Jan 2014 - bear
bumped version to 1.3
many changes - amazing how hard it is to keep this file up to date
when using GitHub.
See https://github.com/bear/parsedatetime/commits/master for details.
Biggest change is the addition of the nlp() function by Geoffrey Floyd:
nlp() function that utilizes parse() after making judgements about
what datetime information belongs together. It makes logical groupings
based on proximity and returns a parsed datetime for each matched
grouping of datetime text, along with location info within the given inputString.
27 Jun 2013 - bear
bumped version to 1.2
04 Mar 2013 - bear
bumped version to 1.1.2
deploy import fix from Antonio Messina
also noticed that the urls were pointing to my older site, corrected
03 Mar 2013 - bear
bumped version to 1.1.1
Ugh - debug log caused an error during formatting
Issue 10 https://github.com/bear/parsedatetime/issues/10
14 Nov 2012 - bear
Added test for "last friday"
Updated MANIFEST to reflect renamed README file
Bumped version to 1.1
15 Mar 2011 - bear
Updated 1.0.0 code to work with 2.6+ (need to try 2.5) and also updated
docs and other supporting code
07 Sep 2009 - bear
Created branches/python25 from current trunk to save the current code
Converted trunk to Python 3 and also refactored how the module is structured
so that it no longer requires import parsedatetime.parsedatetime
Bumped version to 1.0.0 to reflect the major refactoring
07 Jan 2009 - bear
0.8.7 release
Apply patch submitted by Michael Lim to fix the problem parsedatetime
was having handling dates when the month day preceeded the month
Issue 26 http://code.google.com/p/parsedatetime/issues/detail?id=26
Fixed TestErrors when in a local where the bad date actually returns
a date ;)
Checked in the TestGermanLocale unit test file missed from previous commit
20 Apr 2008 - bear
Upating Copyright year info
Fixing defects from Google Project page
The comparison routine for the "failing" test was not accurate.
The test was being flagged as failing incorrectly
Issue 18 http://code.google.com/p/parsedatetime/issues/detail?id=18
Added patch from Bernd Zeimetz for the German localized constants!
http://svn.debian.org/viewsvn/*checkout*/python-modules/packages/parsedatetime/trunk/debian/patches/locale-de.dpatch
He identifies some issues with how unicode is handled and also some other
glitches - will have to work on them
Issue 20 http://code.google.com/p/parsedatetime/issues/detail?id=20
Tweaked run_tests.py to default to all tests if not given on the command line
Removed 'this' from the list of "specials" - it was causing some grief and from the
looks of the unit tests, not all that necessary
Worked on bug 19 - Bernd identified that for the German locale the dayofweek check
was being triggered for the dayoffset word "morgen" (the "mo" matched the day "morgen")
To solve this I added a small check to make sure if the whole word being checked was
not in the dayOffsets list, and if so not trigger.
Issue 19 http://code.google.com/p/parsedatetime/issues/detail?id=19
28 Nov 2007 - bear
0.8.5.1 release - removed debug code
0.8.5 release
bumping version to 0.8.6 in trunk
Fixing two bugs found by Chandler QA
Time range of "today 3:30-5pm" was actually causing a traceback.
Added a new regex to cover this range type and a new test.
OSAF 11299 https://bugzilla.osafoundation.org/show_bug.cgi?id=11299
A really embarrassing for a date/time library - was actually *not*
considering leap years when returning days in a month!
Added tests for Feb 29th of various known leap years and also added
a check for the daysInMonth() routine which was created to replace
the naively simple DaysInMonthList.
OSAF 11203 https://bugzilla.osafoundation.org/show_bug.cgi?id=11203
12 Jun 2007 - bear
0.8.4 release
bumping version to 0.8.5 in trunk
22 Feb 2007 - bear
Fixed a bug reported via the code.google project page by Alexis where
parsedatetime was not parsing day suffixes properly. For example, the
text "Aug 25th, 2008" would return the year as 2007 - the parser was
not 'seeing' 2008 as a part of the expression.
The fix was to enhance one of the "long date" regexes to handle that
situation but yet not break the current tests - always fun for sure!
Issue 16 http://code.google.com/p/parsedatetime/issues/detail?id=16
21 Feb 2007 - bear
Fixed a bug Brian K. (one of the Chandler devs) found when parsing with
the locale set to fr_FR. The phrase "same 3 folders" was causing a key
error inside the parser and it turns out that it's because short weekday
names in French have a trailing '.' so "sam." was being used in the
regular expression and the '.' was being treated as a regex symbol and
not as a period.
It turned out to be a simple fix - just needed to add some code to run
re.escape over the lists before adding them to the re_values dictionary.
Also added a TestFrenchLocale set of unit tests but made them only run
if PyICU is found until I can build an internal locale for fr_FR.
Issue #17 http://code.google.com/p/parsedatetime/issues/detail?id=17
14 Feb 2007 - bear
0.8.3 release
Minor doc string changes and other typo fixes
Updated Copyright years
Added a fallbackLocales=[] parameter to parsedatetime_consts init routine
to control what locales are scanned if the default or given locale is not
found in PyICU.
Issue #9 http://code.google.com/p/parsedatetime/issues/detail?id=9
While working on the regex compile-on-demand issue below, I realized that
parsedatetime was storing the compiled regex's locally and that this would
cause prevent parsedatetime from switching locales easily. I've always
wanted to make it so parsedatetime can be set to parse within a locale just
by changing a single reference - this is one step closer to that.
Made the regex compiles on-demand to help with performance
Requested by the Chandler folks
Issue #15 http://code.google.com/p/parsedatetime/issues/detail?id=15
To test the change I ran 100 times the following code:
for i in range(0, 100):
c = pdc.Constants()
p = pdt.Calendar(c)
p = None
c = None
and that was measured by hotshot:
24356 function calls (22630 primitive calls) in 0.188 CPU seconds
after the change:
5000 function calls in 0.140 CPU seconds
but that doesn't test the true time as it doesn't reference any regex's
so any time saved is deferred. To test this I then ran before and after
tests where I parsed the major unit test bits:
before the change:
80290 function calls (75929 primitive calls) in 1.055 CPU seconds
after the change:
55803 function calls (52445 primitive calls) in 0.997 CPU seconds
This tells me while doing the lazy compile does save time, it's not a lot
over the normal usage. I'll leave it in as it is saving time for the
simple use-cases.
27 Dec 2006 - bear
Added some support files to try and increase our cheesecake index :)
Created an examples directory and added back the docs/* content so the
source distribution will contain the generated docs
Changed how setup.py works to allow for a doc command
26 Dec 2006 - bear
0.8.1 release
Setting trunk to 0.8.2
Fixed the 'eom' part of testEndOfPhrases. It was not adjusting the year
when checking for month rollover to the new year.
Changed API docs to reflect that it's a struct_time type (or a time tuple) that
we accept and return instead of a datetime value. I believe this lead to Issue #14
being reported. Also added some error handling to change a datetime value into a
struct_time value if passed to parse().
3 Nov 2006 - darshana
Fixed issue#13 (Nov 4 5pm parses as just 5pm).
Also fixed "1-8pm" and other ranges which were not working if there were no spaces before and after the '-'.
1 Nov 2006 - darshana
Strings like "Thursday?" were not parsed. Changes made to the regex to
allow special characters to be parsed after weekday names and month names.
24 Oct 2006 - bear
0.8.0 release
Setting trunk to 0.8.1
Merged in changes from Darshana's change_parse_to_return_enum branch
This is a big change in that instead of a simple True/False that is
returned to show if the date is valid or not, Parse() now returns
a "masked" value that represents what is valid:
date = 1
time = 2
so a value of zero means nothing was parseable/valid and a value of
3 means both were parsed/valid.
20 Oct 2006 - darshana
Implemented the CalculateDOWDelta() method in parsedatetime.py
Added a new flag CurrentDOWParseStyle in parsedatetime_consts.py for the current DOW.
19 Oct 2006 - bear
Changed birthday epoch to be a constant defined in parsedatetime_const
Lots of little cosmetic code changes
Removed the individual files in the docs/ folder
Added dist, build and parsedatetime-egg.info to svn:ignore
17 Oct 2006 - darshana
Added birthday epoch constraint
Fixed date parsing. 3-digit year not allowed now.
Fixed the unit tests too to either have yy or yyyy.
9 Oct 2006 - bear
0.7.4 release
Setting trunk to 0.7.5
5 Oct 2006 - darshana
Fixed "ago" bug -- Issue #7 http://code.google.com/p/parsedatetime/issues/detail?id=7
Fixed bug where default year for dates that are in the future get next year, not
current year -- Issue #8 http://code.google.com/p/parsedatetime/issues/detail?id=8
Fixed strings like "1 week ago", "lunch tomorrow"
25 Sep 2006 - bear
0.7.3 release
Setting trunk to 0.7.4
13 Sep 2006 - bear
Added Darshana as an author and updated the copyright text
Added "eom" and "eoy" tests
11 Sep 2006 - bear
Fixed a subtle dictionary reference bug in buildSources() that was causing
any source related modifier to not honor the day, month or year. It only
started being seen as I was working on adding "eod" support as a 'true'
modifier instead.
Found another subtle bug in evalModifier() if the modifier was followed
by the day of the week - the offset math was not consistent with the
other day-of-week offset calculations.
Worked on converting "eod" support from the special case modifier to work
as a true modifier.
The following is now supported:
eod tomorrow
tomorrow eod
monday eod
eod monday
meeting eod
eod meeting
10 Sep 2006 - bear
Added a sub-range test in response to Issue #6 http://code.google.com/p/parsedatetime/issues/detail?id=6
Not that it works, just wanted to start the process.
6 Sep 2006 - bear
Alan Green filed Issue #5 http://code.google.com/p/parsedatetime/issues/detail?id=5
In it he asked for support for Australian date formats "dd-mm-yyyy"
This is the first attempt at supporting the parsing of dates where the order of the
day, month and year can vary. I adjusted the parseDate() code to be data driven
and added a dp_order list to the Constants() class that is either initialized to the
proper order by the pdtLocale classes or the order is determined by parsing the ICU
short date format to figure out what the date separator is and then to find out what
order it's in.
I also added a TestAustralianLocale.py as a starting point for tests.
Attaching a diff of this code to the Issue so he can test it.
1 Sep 2006 - bear
0.7.2 release
31 Aug 2006 - bear
Fixed two bugs found by Darshana today.
The first is one of those forehead-slapping bugs that you see as
being so obvious *after* the fact :) The problem is with Inc()
for months - if you increment from a month with the day set to
a value that is past the end of the month for the new month you
get an error. For example Aug 31 to Sept - Sept doesn't have 31
days so it's an invalid date.
The second is with the code that identifies modifiers when you have
multiple "chunks" of text. Darshana describes the bug this way:
"if you have "flight from SFO at 4pm" i.e. if you have a
non-date/time string before a modifier, then the invalidflag
is set"
I provided the Inc() fix and Darshana the modifier fix.
I also added a new unit test for the Inc() bug and also a new test
file for the modifier bug: TestPhrases.py
29 Aug 2006 - bear
Updated ez_setup.py to latest version v0.6c1 and removed
hard-coded version in setup.py for setuptools
25 Aug 2006 - bear
Moved the error tests into a single TestErrors.py
Added two tests for days - it figures out what the
previous day and next day is from the weekday the
test is run on
24 Aug 2006 - bear
Issue #2 http://code.google.com/p/parsedatetime/issues/detail?id=2
Turns out that ICU works with weekdays in Sun..Sat order
and that Python uses Mon..Sun order. Fixed PyICU locale code to
build the internal weekday list to be Python Style.
Bumping version to 0.7.1 as this is causing Chandler bug 6567
http://bugzilla.osafoundation.org/show_bug.cgi?id=6567