0.14.2
- [CHANGE] Travis CI builds now use tox to lint and run tests.
- [FIX] Fixed UnicodeDecodeError on certain locales.
0.14.1
- [FIX] Fixed "ImportError: No module named 'dateutil'".
0.14.0
- [NEW] Added provisional support for Python 3.8.
- [CHANGE] Removed support for EOL Python 3.4.
- [FIX] Updated setup.py with modern Python standards.
- [FIX] Upgraded dependencies to latest versions.
- [FIX] Enabled flake8 and black on travis builds.
- [FIX] Formatted code using black and isort.
Upstream changes:
1.21 2019-05-11 NEILB
- Added Time::Elapsed to SEE ALSO, suggested by Ron Savage in RT#122186.
- Updated AUTHOR section to reflect that Neil Bowers is current maintainer.
- Extended testsuite so there's full code coverage (not pod yet).
Upstream changes:
0.15 2019-05-12 NEILB
- Added support for fractional parts of seconds in hh:mm:ss.ssss
- Added L<> links to Time::Duration and duration_exact in that module.
- Fixed grammar in doc
Upstream changes:
2.35 2019-04-21
- Handle "infinity" as a representation of infinite values in serialized
objects. On Solaris we end up with "infinity" and "-infinity" as opposed to
just "inf" and "-inf". Fixed by Andrew Paprocki. GH #36.
Upstream changes:
1.51 2019-04-21
- Fix CLDR formatting of 'S' pattern with more than 9 digits of
precision. While we only store nanoseconds in the DateTime object we should
still be able to handle an arbitrary number of digits properly. Fixed by
Slaven Rezić. GH #89.
jdcal 1.4.1
Remove testing for Python 2.6 and 3.3.
Added testing for Python 3.7. For current Python versions tested
see travis.yml.
Removed unused function fpart.
Change log:
* Removed the frame around the calendar popup to simplify appearance
* Spacing improvements in the preferences dialog (bug #14662)
* Fixed build warnings
* Updated translations
Upstream changes:
2.34 2019-03-26
- This release is based on version 2019a of the Olson database. This release
includes contemporary changes for Palestine and Metlakatla, Alaska.
Upstream changes:
1.76 2019-02-07
[BACKWARDS INCOMPATIBILITIES]
* The ability to set the pattern, time_zone, and locale via accessor methods
has been removed. This was deprecated over three years ago in version
1.60. It also turns out that the setting was actually broken for a long time
but no one seemed to notice, so I think it's afe to remove this feature.
aniso8601 builder for dateutil relativedeltas
Features
* Provides RelativeTimeBuilder compatible with aniso8601
* Returns dateutil relativedelta objects for durations
aniso8601 6.0.0
Remove previously deprecated built in version of relativetimebuilder
Python 2 support will be removed in 7.0.0
aniso8601 5.0.0
Previously deprecated relative keyword removed
Move builders to builders module
aniso8601.builder.PythonTimeBuilder -> aniso8601.builders.python.PythonTimeBuilder
aniso8601.builder.RelativeTimeBuilder -> aniso8601.builders.relative.RelativeTimeBuilder
aniso8601.builder.TupleBuilder -> aniso8601.builders.TupleBuilder
UTCOffset moved out of builder (aniso8601.builder.UTCOffset -> aniso8601.utcoffset.UTCOffset)
Fractional arguments are now handled with greater precision
When build_time is called with only hh 24<=hh<25, a MidnightBoundsError is raised, this used to be a HoursOutOfBoundsError
Promote interval components to datetime objects if the given duration has second or microsecond resolution, or if the duration tuple has hour, minute, or second components
Before promotion would only happen if the duration tuple had hour, minute, or second components
The built in RelativeTimeBuilder is deprecated, it will be removed in aniso8601 6.0.0, use RelativeTimeBuilder from relativetimebuilder instead
0.10.1
======
2019-03-30
* FIX error with the new color priority system and `discover` calendar type
* FIX search results in ikhal are ordered, same as in `khal search`
0.10.0
======
2019-03-25
* only dateutil < 2.7 is supported
* NEW DEPENDENCY added click_log >= 0.2.0
* NEW DEPENDENCY for Python 3.4: typing
* UPDATED DEPENDENCY icalendar>=4.03
* DROPPED support for Python 3.3
* vdirsyncer is still a test dependency (and always has been)
* FIX ordinal numbers in birthday entries (before, all number would end on `th`)
* FIX `search` will no longer break on overwritten events with a master event
* FIX when using short dates, khal infers that you meant next year, when date
is before today
* FIX Check for multi_uid .ics files in vdirs and don't import those events
(All .ics files in vdirs should only contain VEVENTS with the same UID.)
* CHANGE only searched configuration file paths are now
$XDG_CONFIG_HOME/khal/config and $XDG_CONFIG_HOME/khal/khal.conf (deprecated)
* CHANGE removed default command
* CHANGE default date/time formats to be the system's locale's formats
* CHANGE ``--verbose`` flag to ``--verbosity``, allowing finer granularity
* CHANGE `search` will now print one line for every different event in a
recurrence set, that is one line for the master event, and one line for every
different overwritten event
* CHANGE khal learned to read .ics files with nonsenscial TZOFFSETs > 24h and
prints a warning
* CHANGE better error message for a specific kind of invalid config file
* NEW khal learned the ``--logfile/-l LOGFILE`` flag which allows logging to a
file
* NEW format can now print the duration of an event with `{duration}`
* NEW configuration option: [view]monthdisplay = firstday|firstfullweek,
if set to 'firstday', khal displays the month name as soon as any day
in the week is within the new month. If set to 'firstfullweek', khal
displays the month name only if the first day of the week is within
the new month.
* NEW ikhal learned to show log messages in the header and in a new log pane,
access with default keybinding `L`
* NEW python 3.7 is now officially supported.
* NEW configuration option [[per_calendar]]priority = int (default 10). If
multiple calendars events are on the same day, the day will be colored with
the color of the calendar with highest priority. If multiple calendars have
the same highest priority, it falls back to the previous system.
* NEW format can now print the organizer of the event with '(organizer)'
Upstream changes:
0.82 2019-03-03
- Removed use of Class::Factory::Util. That distro is poorly maintained (by
me) and it has some issues with its use of Module::Build. This distro
(DateTime-Format-Builder) really doesn't need to use Class::Factory::Util.
Upstream changes:
1.9760 [2019-02-18]
- make utime() available only if we have both fd and name setting
[RT #133030]
- Adjutst Makefile.PL for windows: the DEFINE() in Makefile.PL
can't be be in sub init() because that sub isn't called on windows
- t/itimer.t: avoid race condition.
- don't truncate nanosec utime
- fallback/const-c.inc: Avoid compiler warning showing up on darwin.
1.9759 [2018-03-23]
- This version reverts the changes on CPAN that were included in 1.9754 - 1.9758.
Several of these changes caused instability on some windows platforms. We can
revisit these fixes if necessary in Perl 5.29.0
Alan Coopersmith (7):
config: Add missing AC_CONFIG_SRCDIR
configure: Drop AM_MAINTAINER_MODE
autogen.sh: Honor NOCONFIGURE=1
Update README for gitlab migration
Update configure.ac bug URL for gitlab migration
Replace remaining sprintf calls with snprintf
xclock 1.0.8
Emil Velikov (1):
autogen.sh: use quoted string variables
Jon TURNEY (1):
No point in trying to use iconv if we don't have nl_langinfo
Keith Packard (1):
Allow sub-second updates.
Mihail Konev (1):
autogen: add default patch prefix
Peter Hutterer (1):
autogen.sh: use exec instead of waiting for configure to finish
Version 0.13.1
Add support for Python 3.7.
Remove deprecation decorators for Arrow.range(), Arrow.span_range() and Arrow.interval(). All now return generators, wrap with list() to get old behavior.
0.7.1:
Features/news:
Added detected language to return value of search_dates()
Performance improvements
Refreshed versions of dependencies
Improvements:
Fixed unpickleable DateTime objects with timezones
Fixed regex pattern to avoid new behaviour of re.split in Python 3.7
Fixed an exception thrown when parsing colons
Fixed tests failing on days with number greater than 30
Fixed ZeroDivisionError exceptions
1.1:
Drop support for EOL Python releases, add (explicit) support for Python 3.5 and 3.6
Add :meth:.utils.FixedOffset.__deepcopy__() method, to prevent crash on deepcopy
Version 2.8.0 (2019-02-04)
Data updates
- Updated tzdata version to to 2018i.
Features
- Added support for EXDATE parameters when parsing rrule strings.
- Added support for sub-minute time zone offsets in Python 3.6+.
- Switched the tzoffset, tzstr and gettz caches over to using weak
references, so that the cache expires when no other references to the
original tzinfo objects exist. This cache-expiry behavior is not
guaranteed in the public interface and may change in the future. To improve
performance in the case where transient references to the same time zones
are repeatedly created but no strong reference is continuously held, a
smaller "strong value" cache was also added.
Bugfixes
- Added time zone inference when initializing an rrule with a specified
UNTIL but without an explicitly specified DTSTART; the time zone
of the generated DTSTART will now be taken from the UNTIL rule.
- Fixed an issue where parser.parse would raise Decimal-specific errors
instead of a standard ValueError if certain malformed values were parsed
(e.g. NaN or infinite values).
- Fixed issue in parser where a tzinfos call explicitly returning
None would throw a ValueError.
- Fixed incorrect parsing of certain dates earlier than 100 AD when repesented
in the form "%B.%Y.%d", e.g. "December.0031.30".
- Add support for ISO 8601 times with comma as the decimal separator in the
dateutil.parser.isoparse function.
- Changed handling of T24:00 to be compliant with the standard. T24:00
now represents midnight on the *following* day.
- Fixed an issue where isoparser.parse_isotime was unable to handle the
24:00 variant representation of midnight.
- Added support for more than 6 fractional digits in isoparse.
- Added 'z' (lower case Z) as valid UTC time zone in isoparser.
- Fixed a bug with base offset changes during DST in tzfile, and refactored
the way base offset changes are detected.
- Fixed error condition in tz.gettz when a non-ASCII timezone is passed on
Windows in Python 2.7.
- Improved performance and inspection properties of tzname methods.
- Removed unnecessary binary_type compatibility shims.
- Changed python setup.py test to print an error to stderr and exit
with 1 instead of 0.
- Added a pyproject.toml file with build requirements and an explicitly
specified build backend.
Documentation changes
- Added documentation for the rrule.rrulestr function.
- Added documentation for dateutil.tz.gettz.
- Add documentation for the dateutil.tz.win module and mocked out certain
Windows-specific modules so that autodoc can still be run on non-Windows
systems.
- Added changelog to documentation.
- Changed order of keywords in the rrule docstring.
- Improved documentation on the use of until and count parameters in
rrule.
- Added an example of how to use a custom parserinfo subclass to parse
non-standard datetime formats in the examples documentation for parser.
- Added doctest examples to tzfile documentation.
- Updated the documentation for relativedelta's weekday arguments.
- Improved explanation of the order that relativedelta components are
applied in.
- Expanded the description and examples in the relativedelta class.
- Improved the contributing documentation to clarify where to put new changelog
files.
- Fixed a broken doctest in the relativedelta module.
- Changed the default theme to sphinx_rtd_theme, and changed the sphinx
configuration accordingly.
- Reorganized dateutil.tz documentation and fixed issue with the
dateutil.tz docstring.
- Cleaned up malformed RST in the tz documentation.
- Corrected link syntax and updated URL to https for ISO year week number
notation in relativedelta examples.
2.0.0 (2018-12-26)
Added
* to_local and period_for instance methods have been added to TZInfo::Timezone. These are similar to utc_to_local and period_for_utc, but take the UTC offset of the given time into account.
* abbreviation, dst?, base_utc_offset and observed_utc_offset instance methods have been added to TZInfo::Timezone, returning the abbreviation, whether daylight savings time is in effect and the UTC offset of the time zone at a specified time.
* A TZInfo::Timestamp class has been added. It can be used with TZInfo::Timezone in place of a Time or DateTime.
* local_time, local_datetime and local_timestamp instance methods have been added to TZInfo::Timezone. These methods construct local Time, DateTime and TZInfo::Timestamp instances with the correct UTC offset and abbreviation for the time zone.
* Support for a (yet to be released) version 2 of tzinfo-data has been added, in addition to support for version 1. The new version will remove the (no longer needed) DateTime parameters from transition times, reduce memory consumption and improve the efficiency of loading timezone and country indexes.
* A TZInfo::VERSION constant has been added, indicating the TZInfo version number.
Changed
* The minimum supported Ruby versions are now Ruby MRI 1.9.3, JRuby 1.7 (in 1.9 or later mode) and Rubinius 3.
* Local times are now returned using the correct UTC offset (instead of using UTC). #49 and #52.
* Local times are returned as instances of TimeWithOffset, DateTimeWithOffset or TZInfo::TimestampWithOffset. These classes subclass Time, DateTime and TZInfo::Timestamp respectively. They override the default behaviour of the base classes to return information about the observed offset at the indicated time. For example, the zone abbreviation is returned when using the %Z directive with strftime.
* The transitions_up_to, offsets_up_to and strftime instance methods of TZInfo::Timezone now take the UTC offsets of given times into account (instead of ignoring them as was previously the case).
* The TZInfo::TimezonePeriod class has been split into two subclasses: TZInfo::OffsetTimezonePeriod and TZInfo::TransitionsTimezonePeriod. TZInfo::OffsetTimezonePeriod is returned for time zones that only have a single offset. TZInfo::TransitionsTimezonePeriod is returned for periods that start or end with a transition.
* TZInfo::TimezoneOffset#abbreviation, TZInfo::TimezonePeriod#abbreviation and TZInfo::TimezonePeriod#zone_identifier now return frozen String instances instead of instances of Symbol.
* The utc_offset and utc_total_offset attributes of TZInfo::TimezonePeriod and TZInfo::TimezoneOffset have been renamed base_utc_offset and observed_utc_offset respectively. The former names have been retained as aliases.
* TZInfo::Timezone.get, TZInfo::Timezone.get_proxy and TZInfo::Country.get can now be used with strings having any encoding. Previously, only encodings that are directly comparable with UTF-8 were supported.
* The requested identifier is included in TZInfo::InvalidTimezoneIdentifier exception messages.
* The requested country code is included in TZInfo::InvalidCountryCode exception messages.
* The full range of transitions is now loaded from zoneinfo files. Zoneinfo files produced with version 2014c of the zic tool contain an initial transition 2**63 seconds before the epoch. Zoneinfo files produced with version 2014d or later of zic contain an initial transition 2**59 seconds before the epoch. These transitions would previously have been ignored, but are now returned in methods such as TZInfo::Timezone#transitions_up_to.
* The TZInfo::RubyDataSource and TZInfo::ZoneinfoDataSource classes have been moved into a new TZInfo::DataSources module. Code that is setting TZInfo::ZoneinfoDataSource.search_path or TZInfo::ZoneinfoDataSource.alternate_iso3166_tab_search_path will need to be updated accordingly.
* The TZInfo::InvalidZoneinfoDirectory and TZInfo::ZoneinfoDirectoryNotFound exception classes raised by TZInfo::DataSources::ZoneinfoDataSource have been moved into the TZInfo::DataSources module.
* Setting the data source to :ruby or instantiating TZInfo::DataSources::RubyDataSource will now immediately raise a TZInfo::DataSources::TZInfoDataNotFound exception if require 'tzinfo/data' fails. Previously, a failure would only occur later when accessing an index or loading a timezone or country.
* The DEFAULT_SEARCH_PATH and DEFAULT_ALTERNATE_ISO3166_TAB_SEARCH_PATH constants of TZInfo::DataSources::ZoneinfoDataSource have been made private.
* The TZInfo::Country.data_source, TZInfo::DataSource.create_default_data_source, TZInfo::DataSources::ZoneinfoDataSource.process_search_path, TZInfo::Timezone.get_proxies and TZInfo::Timezone.data_source methods have been made private.
* The performance of loading zoneinfo files and the associated indexes has been improved.
* Memory use has been decreased by deduplicating String instances when loading country and time zone data.
* The dependency on the deprecated thread_safe gem as been removed and replaced by concurrent-ruby.
* The Info classes used to return time zone and country information from TZInfo::DataSource implementations have been moved into the TZInfo::DataSources module.
* The TZInfo::TransitionDataTimezoneInfo class has been removed and replaced with TZInfo::DataSources::TransitionsDataTimezoneInfo and TZInfo::DataSources::ConstantOffsetDataTimezoneInfo. TZInfo::DataSources::TransitionsDataTimezoneInfo is constructed with an Array of TZInfo::TimezoneTransition instances representing times when the offset changes. TZInfo::DataSources::ConstantOffsetDataTimezoneInfo is constructed with a TZInfo::TimezoneOffset instance representing the offset constantly observed in a time zone.
* The TZInfo::DataSource#timezone_identifiers method should no longer be overridden in custom data source implementations. The implementation in the base class now calculates a result from TZInfo::DataSource#data_timezone_identifiers and TZInfo::DataSource#linked_timezone_identifiers.
* The results of the TZInfo::DataSources::RubyDataSource to_s and inspect methods now include the time zone database and tzinfo-data versions.
Removed
* Methods of TZInfo::Timezone that accept time arguments no longer allow Integer timestamp values. Time, DateTime or TZInfo::Timestamp values or objects that respond to to_i, subsec and optionally utc_offset must be used instead.
* The %:::z format directive can now only be used with TZInfo::Timezone#strftime if it is supported by Time#strftime on the runtime platform.
* Using TZInfo::Timezone.new(identifier) and TZInfo::Country.new(code) to obtain a specific TZInfo::Timezone or TZInfo::Country will no longer work. TZInfo::Timezone.get(identifier) and TZInfo::Country.get(code) should be used instead.
* The TZInfo::TimeOrDateTime class has been removed.
* The valid_for_utc?, utc_after_start?, utc_before_end?, valid_for_local?, local_after_start? and local_before_end? instance methods of TZInfo::TimezonePeriod have been removed. Comparisons can be performed with the results of the starts_at, ends_at, local_starts_at and local_ends_at methods instead.
* The to_local and to_utc instance methods of TZInfo::TimezonePeriod and TZInfo::TimezoneOffset have been removed. Conversions should be performed using the TZInfo::Timezone class instead.
* The TZInfo::TimezonePeriod#utc_total_offset_rational method has been removed. Equivalent information can be obtained using the TZInfo::TimezonePeriod#observed_utc_offset method.
* The datetime, time, local_end, local_end_time, local_start and local_start_time instance methods of TZInfo::TimezoneTransition have been removed. The at, local_end_at and local_start_at methods should be used instead and the result (a TZInfo::TimestampWithOffset) converted to either a DateTime or Time by calling to_datetime or to_time on the result.
* The us_zones and us_zone_identifiers class methods of TZInfo::Timezone have been removed. TZInfo::Country.get('US').zones and TZInfo::Country.get('US').zone_identifiers should be used instead.
Upstream changes:
0.13
* Use explicit 4 digit years when using localtime. This fixes
some test failures that started after 2018-12-31 because of
date math.
## Version 1.3.1 2019-01-18
* Update jruby extension to not use global runtime state (thanks @kares) (#70)
* Update travis CI config
* Update documentataion for Ruby 2.6