- Fixed parsing, especially for strings in the form
31-01-01
.
- Using
PRE_TRANSITION
rule no longer produces a time in a DST gap. - Improved performances when adding time to a
Pendulum
instance. - Improved parsing of ISO 8601 strings.
- Removed deprecated methods
0.8.0 - 2016-12-23
- Added
on()
andat()
methods which replacewith_date()
andwith_time()
. - Added a
strict
keyword argument toparse()
to get the type matching the parsed string. - Added the ability to pass an amount to the
range()
method to control the length of the gap. - Added a
datetime()
helper method to theTimezone
class.
- Improved parsing of ISO 8601 strings.
with_date()
andwith_time()
are deprecated. Useon()
andat()
instead.create_from_date()
andcreate_from_time()
are deprecated. Usecreate()
instead.
0.7.0 - 2016-12-07
- Added a
Date
class. - Added a
Time
class. - Added experimental support for the
fold
attribute introduced in Python 3.6. - Added a
remaining_days
property to theInterval
class. - Added a
int_timestamp
property to thePendulum
class to retrieve the behavior of the now deprecatedtimestamp
property. start_of()
/end_of()
now supportshour
,minute
andsecond
units.astimezone()
now supports timezone strings.in_words()
now displays subseconds when no other units are available.
Period
properties (especiallyyears
andmonths
) are now accurate.Interval.seconds
now returns the whole number of remaining seconds, liketimedelta
, for compatibility. Useremaining_seconds
to retrieve the previous behavior.- Improved parsing performances for common formats.
- The library no longer relies on
pytz
. It now depends on pytzdata for its timezone database. - Locale, test instance and formatter are now set gobally at the module level when using the corresponding module methods.
timestamp
should now be used as a method and no longer as a property. It will be a native method in the next major version.Interval
properties and methods related to years and months are now deprecated.Interval.days_exclude_weeks
is now deprecated. Useremaining_days
instead.
- Exception when loading specific timezones has been fixed.
end_of('day')
now properly sets microseconds to999999
.- Accuracy of
Period
instances properties has been improved. - Accuracy for microseconds when initializing a Pendulum instance in some timezones has been fixed.
- Periods are now serializable with
pickle
. - Fixed
minute_()
,second_()
andmicrosecond_()
setters changing the hour unit. - Fixed Windows support.
0.6.6 - 2016-11-25
- Fixed a memory leak in C extension. (thanks to ntoll)
0.6.5 - 2016-10-31
- Adds validation to
set_week_starts_at()
,set_week_ends_at()
andset_weekend_days()
. (thanks to kleschenko) - Updates ukrainian localization. (thanks to kleschenko)
- Fixes loading of timezones without transitions.
- Fixes
Timezone.utcoffset()
. (thanks to regnarock)
0.6.4 - 2016-10-22
- Adds support for
pytz
timezones in constructor.
- Fixes behavior of
add()
/subtract()
methods for years, months and days when a DST transition occurs. - Fixes
range()
behavior.
0.6.3 - 2016-10-19
- Makes
replace()
accept the same tzinfo types as the constructor.
- Fixes
timezone_()
not setting the tzinfo properly. - Fixes pickling/unpickling of Pendulum instances with fixed timezone.
0.6.2 - 2016-09-26
- Fixes timezones loading on Windows
0.6.1 - 2016-09-19
Pendulum
instances can no longer be compared to strings and integers.
- Fixes
Timezone._convert()
method for fixed timezones. - Fixes
instances()
for sometzinfo
. - Fixes comparisons to incompatible objects raising an error.
0.6.0 - 2016-09-12
- Adds an option to control transition normalization behavior.
- Adds a separator keyword argument to
Interval.in_words()
method. - Adds an alternative formatter.
- Adds support for pretty much any
tzinfo
instance in theinstance()
method. - Adds an
intersect()
method to thePeriod
class.
- Improves meridians formatting by supporting minutes.
- Changes behavior of
create*()
methods (time now defaults to00:00:00
)
- Fixes setters and modifiers (start_of/end_of) to properly apply transitions.
- Fixes issue when compiling on 32 bit systems. (Thanks to guyzmo)
- Fixes NameError Exception on Python 3.2. (Thanks to guyzmo)
- Fixes absolute intervals.
0.5.5 - 2016-09-01
- Fixes local timezone loading for unix systems.
- Fixes potential
AttributeError
inbetween
method. (Thanks to iv597)
0.5.4 - 2016-08-30
- Fixes broken previous release.
0.5.3 - 2016-08-29
- Fixes setters and modifiers (start_of/end_of) to properly apply DST transitions.
- Fixes timezone file loading on some installs (See #34) (Thanks to mayfield)
0.5.2 - 2016-08-22
- Adds a small speedup when changing timezones.
- Makes
.offset_hours
return a float.
- Fixes
TimezoneInfo.utcoffset()
method. - Fixes arithmetic operations on intervals not returning intervals.
- Allows Pendulum instances comparison to None . (Thanks to jkeyes)
0.5.1 - 2016-08-18
- Fixes
now()
not behaving properly when given a timezone. - Fixes double file opening when getting local timezone. (Thanks to yggdr)
- Fixes
pt_BR
locale. (Thanks to YomoFuno) - Fixes
pl
locale. (Thanks to MichalTHEDUDE)
0.5 - 2016-08-15
This version introduces a new timezone library which improves timezone switching and behavior around DST transition times.
- Adds a new timezone library to properly normalize and localize datetimes.
Pendulum
no longer relies onpytz
. Check the Documentation to see what has changed exactly.
0.4 - 2016-07-26
This version mostly brings the new Period
class and improves performances overall.
- Adds the
Period
class, which basically is a datetime-aware interval.
- Makes the
format()
method support alocale
keyword argument. - Changes custom directives.
%P
becomes%_z
and%t
becomes%_t
. Basically, all new custom directives will be in the form%_{directive}
.
- Fixes singular for negative values of intervals.
0.3.1 - 2016-07-13
- Fixes parsing of string with partial offset.
0.3 - 2016-07-11
This version causes major breaking API changes to simplify it and making it more intuitive.
- Improves testing by providing a
test()
contextmanager.
- Makes passing a naive
datetime
toinstance()
default toUTC
. - Reduces
add_xxx()
/sub_xxx()
methods toadd(**kwargs)
/subtract(**kwargs)
. - Changes the
for_humans()
method of theInterval
class toin_words()
to avoid confusion with thediff_for_humans()
method. - Makes more constants and methods available at module level.
- Makes the constructor behave like the standard one. No more
Pendulum()
. - Renames the
to()
method toin_timezone()
. - Removes the comparison methods to just stick with the basic operators.
- Reduces
first_of_xxx()
/last_of_xxx()
/nth_of_xxx()
methods tofirst_of(unit)
/last_of(unit)
/nth_of(unit, nth)
. - Reduces
start_of_xxx()
/end_of_xxx()
methods tostart_of(unit)
/end_of(unit)
. - Removes the
diff_in_xxx()
methods from thePendulum
and addsin_xxx()
methods to theInterval
class. - Renames the
PendulumInterval
class to simplyInterval
. - Makes the
Pendulum
class immutable.
- Fixes "sl" locale.
0.2 - 2016-07-04
- Makes the
Pendulum
class truly inherits fromdatetime
.
0.1.1 - 2016-07-04
- Adds support for the
TZ
environment variable. - Adds
closest()
/farthest()
comparison methods. - Adds min/max attributes. Renames min/max methods.
- Makes
set_test_now()
available at module level.
- Fixes
diff_for_humans()
method when setting locale.
0.1 - 2016-07-04
Initial release