This library provides access to and handling of calendar data.
It supports the standard formats iCalendar and vCalendar and the
group scheduling standard iTIP.
A calendar contains information like incidences (events, to-dos, journals),
alarms, time zones, and other useful information. This API provides
access to that calendar information via well known calendar formats
iCalendar (or iCal) and the older vCalendar.
Version 2.8.1:
Data updates
- Updated tzdata version to 2019c.
Bugfixes
- Fixed a race condition in the ``tzoffset`` and ``tzstr`` "strong" caches on
Python 2.7.
- Parsing errors will now raise ``ParserError``, a subclass of ``ValueError``,
which has a nicer string representation.
- ``parser.parse`` will now raise ``TypeError`` when ``tzinfos`` is passed a
type that cannot be interpreted as a time zone. Prior to this change, it
would raise an ``UnboundLocalError`` instead.
- Changed error message raised when when passing a ``bytes`` object as the time
zone name to gettz in Python 3.
- Changed compatibility logic to support a potential Python 4.0 release.
- Updated many modules to use ``tz.UTC`` in favor of ``tz.tzutc()`` internally,
to avoid an unnecessary function call.
- Fixed issue where ``dateutil.tz`` was using a backported version of
``contextlib.nullcontext`` even in Python 3.7 due to a malformed import
statement.
Tests
- Switched from using assertWarns to using pytest.warns in the test suite.
- Fix typo in setup.cfg causing PendingDeprecationWarning to not be explicitly
specified as an error in the warnings filter.
- Fixed issue where ``test_tzlocal_offset_equal`` would fail in certain
environments (such as FreeBSD) due to an invalid assumption about what time
zone names are provided.
- Fixed a minor bug in ``test_isoparser`` related to ``bytes``/``str``
handling.
- Explicitly listed all markers used in the pytest configuration.
- Extensive improvements to the parser test suite, including the adoption of
``pytest``-style tests and the addition of parametrization of several test
cases.
- Added tests for tzinfos input types.
- Fixed failure of test suite when changing the TZ variable is forbidden.
- Pinned all test dependencies on Python 3.3.
Documentation changes
- Fixed many misspellings, typos and styling errors in the comments and
documentation.
Misc
- Added Python 3.8 to the trove classifiers.
- Moved as many keys from ``setup.py`` to ``setup.cfg`` as possible.
- Reorganized ``parser`` methods by functionality.
- Switched ``release.py`` over to using ``pep517.build`` for creating releases,
rather than direct invocations of ``setup.py``.
- Added a "build" environment into the tox configuration, to handle dependency
management when making releases.
Changes in 3.0.6:
Handle both COUNT and UNTIL in RRULEs
Fix RRULE BYDAY with INTERVAL=2 conflict
Various fuzzification fixes
New publicly available function:
icaltimezone_truncate_vtimezone()
Add option to disable building the test suite
Built-in timezones updated to tzdata2019c
Changes in 3.0.5:
New publicly available function:
icalproperty_get_datetime_with_component()
Allow reset DATE/DATE-TIME VALUE parameter for all-day events
icalproperty_get_datetime_with_component() will use location as TZID fallback.
New CMake option ENABLE_GTK_DOC for disabling the libical-glib developer documentation
GObject Introspection - use $MAJOR-0 versioning
libical-glib API is considered unstable:
define LIBICAL_GLIB_UNSTABLE_API=1 before including <libical-glib/libical-glib.h>
Built-in timezones updated to tzdata2019a
De-fuzzifications and Coverity fixes
Changes in 3.0.4:
Silently fail RSCALE recurrence clauses when RSCALE is disabled
Fixed icalcomponent_set_comment() and icalcomponent_set_uid()
fix FREQ=MONTHLY;BYMONTH
Skip UTF-8 marker when parsing
Fix parsing ? in VCF files produced by Outlook
Fix TZID on DATE-TIME value can override time specified in UTC
CMake discovery module for ICU uses pkg-config now
New publicly available function:
icalparameter_kind_is_valid()
Built-in timezones updated to tzdata2018e
0.23 2019-08-14
- Rewrite property folding to be faster (and clearer)(thanks to Calvin Morrison)
- Linewrap tests: add a stronger assertion about expectation(thanks to Ricardo Signes)
Note that as the folding code is rewritten, there is a tiny behavior change:
Long folded strings will always contain CRLF at the end no matter if
original strings have that or not(they should have according to RFC).
Please report if this is an issue to you.
0.32 Sat Sep 14 2019
- add support for offset timezones without a space separator and
formatted HH:MM '2019-09-03T10:42:00.000-04:00'
- thanks Stijn Heymans
- allow negative timezone offsets in 2 and 4 digit lengths with and without spaces
- now works: 2007-05-06T04:44:44-0800
- now works: 2007-05-06T04:44:44-08
- now works: 2007-05-06T04:44:44 -08
- validate all timezone offsets
0.7.2:
Features:
* Extended Czech support
* Added `time` to valid periods
* Added timezone information to dates found with `search_dates()`
* Support strings as date formats
Improvements:
* Fixed Collections ABCs depreciation warning
* Fixed dates with trailing colons not being parsed
* Fixed date format override on any settings change
* Fixed parsing current weekday as past date, regardless of settings
* Added UTC -2:30 as a valid offset
* Added Python 3.7 to supported versions, dropped support for Python 3.3 and 3.4
* Moved to importlib from imp where possible
* Improved support for Catalan
* Documentation improvements
Upstream changes:
2.37 2019-09-11
- This release is based on version 2019c of the Olson database. This release
includes contemporary changes for Fiji and Norfolk Island.
2.36 2019-07-01
- This release is based on version 2019b of the Olson database. This release
includes contemporary changes for Brazil and Palestine.
Upstream changes:
1.15 2019 July 26
- Fix a bug in the test suite due to floating-point rounding. Thanks to
Slaven Rezic (see CPAN RT bug 130150:
https://rt.cpan.org/Ticket/Display.html?id=130150)
- Also improved __DATA__ handling, so as not to hold a lock on the library.
1.14 2019 July 22
- Fix CPAN RT bug 87484 (https://rt.cpan.org/Ticket/Display.html?id=87484),
concerning very small floating-point values (e.g. "2.1458e-06").
- Fix CPAN RT Bug 95447, concerning floating-point numerical time values.
- Fix CPAN RT Bug 121367, concerning loading perl-only routines after forking.
This might (?) also fix bug 74880, but I can't reproduce that.
- Skip locale tests on openbsd platform.
- Fix accented strings in locale.t
1.13 2019 July 18
- Fix CPAN RT bug 85001.
This was a problem in the test suite only; no code changes were made
in the main module lib/Time/Format.pm.
The problem existed in how the test suite checked for whether certain
CPAN modules were installed, and especially in how it attempted to
unload them from memory afterward.
Thanks to Sendu Bala for reporting this -- and to Jim Keenan for
pushing me to fix this.
0.14.7
- [CHANGE] `ArrowParseWarning` will no longer be printed on every call to `arrow.get()` with a datetime string. The purpose of the warning was to start a conversation about the upcoming 0.15.0 changes and we appreciate all the feedback that the community has given us!
0.14.6
- [NEW] Added support for `week` granularity in `Arrow.humanize()`. For example, `arrow.utcnow().shift(weeks=-1).humanize(granularity="week")` outputs "a week ago". This change introduced two new untranslated words, `week` and `weeks`, to all locale dictionaries, so locale contributions are welcome!
- [NEW] Fully translated the Brazilian Portugese locale.
- [CHANGE] Updated the Macedonian locale to inherit from a Slavic base.
- [FIX] Fixed a bug that caused `arrow.get()` to ignore tzinfo arguments of type string (e.g. `arrow.get(tzinfo="Europe/Paris")`).
- [FIX] Fixed a bug that occurred when `arrow.Arrow()` was instantiated with a `pytz` tzinfo object.
- [FIX] Fixed a bug that caused Arrow to fail when passed a sub-second token, that when rounded, had a value greater than 999999 (e.g. `arrow.get("2015-01-12T01:13:15.9999995")`). Arrow should now accurately propagate the rounding for large sub-second tokens.
5.61.0
Add public holidays' substitute days in Russia, for 2019-2020
Update holidays in Russia
5.60.0
Update UK Early May bank holiday for 2020
Fix ISO code for Hesse / Germany
5.58.0
holidays/plan2/holiday_zm_en-gb - add Zambia holidays
holidays/plan2/holiday_lv_lv - fix Midsummer's Day
holiday_mu_en - Holidays 2019 in Mauritius
holiday_th_en-gb - update for 2019
Update Japanese holidays
Add public holidays for Lower Saxony (Germany)
2.0.0:
Major differences since 1.5.1
- When no time zone configuration can be find, tzlocal now return UTC.
This is a major difference from 1.x, where an exception would be raised.
This change is because Docker images often have no configuration at all,
and the unix utilities will then default to UTC, so we follow that.
- If tzlocal on Unix finds a timezone name in a /etc config file, then
tzlocal now verifies that the timezone it fouds has the same offset as
the local computer is configured with. If it doesn't, something is
configured incorrectly.
- Get timezone via Termux `getprop` wrapper on Android. It's not officially
supported because we can't test it, but at least we make an effort.
Minor differences and bug fixes
- Skip comment lines when parsing /etc/timezone.
- Don't load timezone from current directory.
- Now verifies that the config files actually contain something before
reading them.
- Got rid of a BytesWarning
- Now handles if config file paths exists, but are directories.
- Moved tests out from distributions
- Support wheels
The canonical form [1] of an R package Makefile includes the
following:
- The first stanza includes R_PKGNAME, R_PKGVER, PKGREVISION (as
needed), and CATEGORIES.
- HOMEPAGE is not present but defined in math/R/Makefile.extension to
refer to the CRAN web page describing the package. Other relevant
web pages are often linked from there via the URL field.
This updates all current R packages to this form, which will make
regular updates _much_ easier, especially using pkgtools/R2pkg.
[1] http://mail-index.netbsd.org/tech-pkg/2019/08/02/msg021711.html
0.14.4
- [FIX] Fixed a regression in 0.14.3 that prevented a tzinfo argument of type string to be passed to the get() function. Functionality such as arrow.get("2019072807", "YYYYMMDDHH", tzinfo="UTC") should work as normal again.
- [CHANGE] Moved backports.functools_lru_cache dependency from extra_requires to install_requires for Python 2.7 installs to fix
0.14.3
- [NEW] Added full support for Python 3.8.
- [CHANGE] Added warnings for upcoming factory.get() parsing changes in 0.15.0. Please see https://github.com/crsmithdev/arrow/issues/612 for full details.
- [FIX] Extensive refactor and update of documentation.
- [FIX] factory.get() can now construct from kwargs.
- [FIX] Added meridians to Spanish Locale.
2.0.5:
Fixed
* Fixed ISO week dates not being parsed properly in from_format().
* Fixed loading of some timezones with empty posix spec.
* Fixed deprecation warnings.
Locales
* Added RU locale.
PR pkg/54340.
A small Python library to parse various kinds of time expressions,
inspired by a StackOverflow question.
The single function pytimeparse.timeparse.timeparse defined in the
library (also available as pytimeparse.parse) parses time expressions
like the following:
32m
2h32m
3d2h32m
1w3d2h32m
1w 3d 2h 32m
1 w 3 d 2 h 32 m
...
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
Upstream changes:
2.23 2018-12-30
- This release is based on version 2018i of the Olson database. This release
includes contemporary changes for São Tomé and Príncipe.
2.22 2018-12-29
- This release is based on version 2018h of the Olson database. This release
includes contemporary changes for Morocco, Kazakhstan, and Iran.
Changes:
Version 1.29 - released August 14, 2017
Update GPLv2 license text.
Update FSF address.
Remove trailing whitespace.
Use autotools for build.
Rename changelog to ChangeLog; clean up and split off TODO.
Correct bug report email address.
Remove unused variables.
Use unsigned char in mask bitmap to avoid overflow warnings.
Use correct includes for each file.
Add desktop entry file.
Version 1.28 - released September 20, 2011.
Debian patches added to the upstream version. These patches
are included:
01_all_previous_diff.diff, 02_update_time.diff,
03_add_southern_hemisphere_support.diff and
04_fix_hyphen_used_as_minus_sign.diff
BUGS file updated to report to wmaker-dev@lists.windowmaker.info
Source is now at http://repo.or.cz/w/dockapps.git
Updated by Rodolfo García Peñas (kix) <kix@kix.es>
Library for parsing ISO 8601 strings
Features
* Pure Python implementation
* Python 3 support
* Logical behavior
- Parse a time, get a datetime.time
- Parse a date, get a datetime.date
- Parse a datetime, get a datetime.datetime
- Parse a duration, get a datetime.timedelta
- Parse an interval, get a tuple of dates or datetimes
- Parse a repeating interval, get a date or datetime generator
* UTC offset represented as fixed-offset tzinfo
* Parser separate from representation, allowing parsing to different datetime
formats
* No regular expressions
2.0.4:
Fixed from_format() not recognizing input strings when the specified pattern had escaped elements.
Fixed missing x token for string formatting.
Fixed reading timezone files.
Added support for parsing padded 2-digit days of the month with from_format()
Fixed from_format() trying to parse escaped tokens.
Fixed the z token timezone parsing in from_format() to allow underscores.
Fixed C extensions build errors.
Fixed age calculation for future dates.
Upstream changes:
2.21 2018-10-27
- This release is based on version 2018f of the Olson database. This release
includes contemporary changes for Morocco.
2.20 2018-10-18
- Added more documentation on how local time zones work, and a warning to set
$ENV{TZ} if you're writing tests for code that tries to use the local time
zone.
- This release is based on version 2018f of the Olson database. This release
includes contemporary changes for Russia (Volograd), Fiji, and Chile.
Upstream changes:
1.06 2018-10-28 <schubiger@cpan.org>
- Merged development version to stable.
1.05_02 2018-10-27 <schubiger@cpan.org>
- Amend description of prefer_future option.
- Include the time zone when constructing DateTime objects
for the datetime option in dateparse.
- Minor tweaks to dateparse.
1.05_01 2018-10-25 <schubiger@cpan.org>
- Fix advancing to future when both datetime and prefer_future
options are provided.
Due to sysutils/ruby-chef's dependency, stop updating to latest version
0.12.0 for now.
## 0.11.0
* Add support for unary minus operator (thanks @walterbrebels).
## 0.10.1
* Fix `TimeInterval` size for non UTC timezones. (#41)
## 0.10.0
* Fix `TimeInterval` with `<duration>/<end>` patterns and leap years.
* Fix decimal fractions on date atoms. **WARNING** some duration patterns are
no longer valid.
# Hitimes Changelog
## Version 1.3.0 2018-06-15
* Add api method `Hitimes.raw_instant` to expose raw OS instant value
* Add api constant `Hitimes::INSTANT_CONVERSION_FACTOR` to expose raw OS instant conversion factor
* other development cleanup tasks
This removes the need for AUTO_MKDIRS and bsd.prefs.mk. It also
leverages ${INSTALL_SCRIPT}, ${INSTALL_MAN_DIR}, ${INSTALL_MAN} and
${INSTALL_DATA} instead of just ${INSTALL}.
No change to PKGREVISION as the final binary should be identical.
With suggestions from leot@, thanks!
1.50 2018-08-01
- The %F strftime pattern incorrectly zero-padded numbers less than four
digits. According to POSIX::strftime, this should output the year as-is
without padding. Reported by Andy Lester. GH #83.
MooseX::Types::DateTime::MoreCoercions builds on MooseX::Types::DateTime to add
additional custom types and coercions. Since it builds on an existing type, all
coercions and constraints are inherited.
C Extensions code does not seem supported when it is built with Python 2.7.
Pass the environment variable to avoid compiling it and failing and adjust PLIST
accordingly.
Reported via #pkgsrc by Juraj Lutter, thanks!
2.0.3:
Fixed handling of pytz timezones.
Fixed some formatter's tokens handling.
Fixed errors on some systems when retrieving timezone from localtime files.
Fixed diff methods.
Fixed closest()/farthest() methods.
Each R package should include ../../math/R/Makefile.extension, which also
defines MASTER_SITES. Consequently, it is redundant for the individual
packages to do the same. Package-specific definitions also prevent
redefining MASTER_SITES in a single common place.
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
1.28 2018-06-12
- Some tests which required support for epoch values larger than 2**32 were
not being skipped when the underlying Perl did not support that.
Version 0.16.6
==============
*released on 13 June 2018*
- **Packagers:** Documentation building no longer needs a working installation
of vdirsyncer.
Version 0.16.5
==============
*released on 13 June 2018*
- **Packagers:** click-log 0.3 is required.
- All output will now happen on stderr (because of the upgrade of ``click-log``).
2.0.2:
Fixed the weeks property for negative Period instances.
Fixed start_of() methods not setting microseconds to 0.
Fixed errors on some systems when retrieving timezone from clock files.
Fixed parsing of partial time.
Fixed parsing not raising an error for week 53 for ordinary years.
Fixed string formatting not supporting strftime format.
2.0.1:
Fixed behavior of the YY token in from_format().
Fixed errors on some systems when retrieving timezone from clock files.
Upstream changes:
1.22 2018-06-08
- Update the glibc source data to the data from glibc 2.27.
- Added documentation for this glibc data.
- Reformatted the DateTime::Locale::FromData docs.
1.21 2018-06-08
- Added a new DateTime::Local->register_from_data method. This replaces the
old custom locale registration system with something much simpler. Instead
of providing a new class you simply provide a hash of data for the locale
and it becomes available for use via DateTime::Local->load. Implemented by
Ryley Breiddal. PR #21. Addresse GH #19.
Upstream changes:
1.27 2018-06-09
- This release is identical to 1.26 except that it is a stable release, not a
trial.
- Fixed the tests so they will not break in the year 2020. The tests were
passing in 2-digit years on the assumption that a year like "70" would be
treated as 1970, but starting in 2020 this would be treated as 2070
instead. Reported by Bernhard M. Wiedemann. RT #124787.
- Added timelocal_modern and timegm_modern variants as optional exports. These
versions do not munge years at all. They treat the year value that they are
given exactly as-is.
1.26 2018-05-20 (TRIAL RELEASE)
- Fixed the tests so they will not break in the year 2020. The tests were
passing in 2-digit years on the assumption that a year like "70" would be
treated as 1970, but starting in 2020 this would be treated as 2070
instead. Reported by Bernhard M. Wiedemann. RT #124787.
- Added timelocal_modern and timegm_modern variants as optional exports. These
versions do not munge years at all. They treat the year value that they are
given exactly as-is.
Upstream changes:
2.19 2018-05-13
- This release is based on version 2018e of the Olson database. This release
includes contemporary changes for North Korea.
Upstream changes:
1.49 2018-05-20
- Updated the ppport.h with the latest version of Devel::PPPort. This fixes a
compilation warning when compiling with 5.27.11. Reported by Jim
Keenan. Fixed GH #81.
Version 2.7.3:
Data updates
- Update tzdata to 2018e.
Bugfixes
- Fixed an issue where decimal.Decimal would cast NaN or infinite value in a
parser.parse, which will raise decimal.Decimal-specific errors.
- Fixed a ValueError being thrown if tzinfos call explicity returns None.
- Fixed incorrect parsing of certain dates earlier than 100 AD when repesented
in the form "%B.%Y.%d", e.g. "December.0031.30".
- Fixed a bug where automatically generated DTSTART was naive even if a
specified UNTIL had a time zone. Automatically generated DTSTART will now
take on the timezone of an UNTIL date, if provided.
1.5.1
Fixed set() not acception the tz keyword argument.
Fixed datetime() not setting the timezone to UTC by default.
1.5.0
Added the datetime() helper.
Added the set() method to set properties.
Added the is_utc() and is_local() methods.
year_(), month_(), day_(), hour_(), minute_(), second_(), microsecond_() are now deprecated.
timezone_() and tz_() are now deprecated.
timestamp_() is now deprecated.
with_date_time(), with_time_from_string() and with_timestamp() are now deprecated.
between() is now deprecated.
min_(), max_(), minimum(), maximum() are now deprecated.
is_today(), is_yesterday(), is_tomorrow() and is_same_day() are now depecreated.
is_sunday() -> is_saturday() are now deprecated.
The utc and local properties are now deprecated. Use is_utc() and is_local() instead.
pkgsrc changes:
- Add support for the test suite (this needs gmake as a test tool dependency)
- Fix the shebang of test shell script with REPLACE_BASH and also add a
SUBST to fix a shebang in the middle of scripts (needed in shell script part
of the test suite).
REPLACE_INTERPRETER only adjust the shebang in the first line of the file.
- Add patches/patch-tests_test-lib.sh to just use `date -r' in non-GNU and
non-macOS lands. By default the current date is used and then the test will
definitely fails. While there are no guarantees that the date(1) available on
the system supports `-r' option it is probably better to try using it (indeed
this make all the date tests happy on NetBSD and probably also on FreeBSD and
OpenBSD according a quick skim of their date(1) man pages).
- Also install USAGE.md document (it is referenced by README.md).
Changes:
## [2.11.0] - 2018-03-26
### Added
- Added support for `$XDG_CONFIG_HOME` config file/actions location
- Created [CODE_OF_CONDUCT.md](/CODE_OF_CONDUCT.md) ([#217])
- Created [CHANGELOG.md](/CHANGELOG.md) ([#218])
### Changed
- Updated `add` command to accept lowercase priority ([#230])
- Clean tests and version file in Makefile. Don't ignore errors in tests.
- Updated [README.md](/README.md) ([#219])
- Update Downloads links to point at the Releases page ([#228])
- Set the executable bit when preparing releases ([#156])
### Fixes
- Update links to use https
- Suppress todo.sh error messages when invoked during completion ([#8])
Version 3.0.3:
--------------
* VTODO COMPLETED property can be a DATE-TIME or DATE (for backward compatibility)
* Improved recurrence iteration
Version 3.0.2:
--------------
* No longer attempt to detect the need for -DUSE_32BIT_TIME_T with MSVC
* New CMake option ICAL_BUILD_DOCS which can be used to disable the docs target
* Fix threading hang in BSD type systems (OpenBSD, MacOS,...)
* Build with Ninja improvements
Version 3.0.1:
--------------
* Built-in timezones updated to tzdata2017c
* Fix a multi-threaded deadlock in icaltimezone_load_builtin_timezone()
* Fix a CMake problem with parallel builds
Version 3.0.0:
--------------
* Relicense from MPL 1.0 to MPL 2.0 (keep dual license for LGPL v2.1)
* Requires CMake v3.1.0 or higher along with various CMake and buildsystem fixes
* Added a 'make uninstall'
* Fixed use-after-free issues and some memory leaks
* Built-in timezones updated to tzdata2017b
* More accurate VTIMEZONE generation when using the system time zone data (when
USE_BUILTIN_TZDATA=False)
* icalvalue_as_ical_string() returns "TRUE" (non-zero) or "FALSE" (zero) values only.
* New icalvalue.h convenience macros: ICAL_BOOLEAN_TRUE and ICAL_BOOLEAN_FALSE
* Better value type checking of property values when parsing
* icalvalue_new/set_date and icalvalue_new/set_datetime now enforce DATE and DATE-TIME
values respectively
* draft-ietf-calext-extensions (RFC 7986) support added
* Parameter values are now en/decoded per RFC 6868
* Removed is_utc from icaltimetype struct
* Set icaltimetype.zone to icaltimezone_get_utc_timezone() to change a time to UTC
* Use icaltime_is_utc() to check if a time is in UTC
* Added support for VPATCH component
* New publicly available functions:
+ icalproperty_set_parent (icalproperty_get_parent was already public)
+ icalvalue_get_parent (icalvalue_set_parent was already public)
+ icalparameter_set_parent
+ icalparameter_get_parent
+ icalvalue_new_datetimedate (DATE or DATE-TIME)
+ icalvalue_set_datetimedate
+ icalvalue_get_datetimedate
+ icalrecur_iterator_set_start
+ icalcomponent_normalize()
+ icalproperty_normalize()
* Removed deprecated functions:
+ icaltime_from_timet (use icaltime_from_timet_with_zone)
+ icaltime_start_day_of_week (use icaltime_start_day_week)
+ icalproperty_remove_parameter (use icalproperty_remove_parameter_by_kind)
+ icalproperty_string_to_enum (use icalproperty_kind_and_string_to_enum)
* Signature changed for functions:
+ VObject *Parse_MIME_FromFileName(const char *fname)
+ icalgauge *icalgauge_new_from_sql(const char *sql, int expand)
+ const char *icallangbind_property_eval_string(icalproperty *prop, const char *sep)
+ const char *icallangbind_property_eval_string_r(icalproperty *prop, const char *sep)
+ void set_zone_directory(const char *path)
+ icalcalendar *icalcalendar_new(const char *dir)
+ int icalrecur_expand_recurrence(const char *rule, time_t start, int count, time_t *array)
Version 2.0.0:
--------------
* WARNING: Version 2 IS NOT Binary Compatible with Older Versions
* Version 2 is Source Compatible with Older Versions
* Lots of source code scrubbing
* [New] RSCALE support (requires libicu from http://www.icu-project.org)
* [New] CalDAV attachment support (draft-ietf-calext-caldav-attachments)
* [New] Resurrect the Berkeley DB storage support
* [Bug] issue83: Incorrect recurrence generation for weekly pattern
* Handle RRULEs better
* Handle threading better
Upstream changes:
1.19 2018-04-21
- Fix handling of a locale (nds) that does not provide a native name for its
own locale code. This is a bug in CLDR, but since it exists we should handle
it sanely.
- If you attempted to thaw a DateTime::Locale::FromData object in a process
that had not loaded DateTime::Locale this would fail. Reported by Gregor
Herrmann. GH #18.
0.17 - 01 Apr 2018
* Fixed future timestamp on t/test.t. Irony not
intended, but a nice bug for April Fools Day. Happy
Easter to Torsten Raudssus for RT #124985.
1.48 2018-03-26
- The last release would die if Sub::Util was not available, but this should
just be an optional requirement. Fixed by Paul Howarth. Fixes GH #77. PR
#78.
1.47 2018-03-25
- DateTime::Duration->multiply now only allows integer
multipliers. Implemented by Dan Stewart. PR #73.
- Added is_last_day_of_quarter() and is_last_day_of_year()
methods. Implemented by Dan Stewart. PR #72.
- When an exception was thrown while adding a duration the object could be
left in a broken state, with the duration partially applied. Subsequent
addition or subtraction would produce the wrong results. Reported by Pawel
Pabian. GH #74.
(from: http://www.fresse.org/dateutils/changelog.html)
This is dateutils v0.4.3.
This is a feature release.
Features:
base expansion works for times now
Bugfixes:
durations in months weeks and days are calculated like
durations in months and days, consistency
am and pm indicators in inputs are handled properly
military midnights decay when not printed in full
See info page examples and/or README.
1.9758 [2018-03-21]
- fix build in Win32 with Visual C by introducing a fake struct timezone
[rt.cpan.org #124844]
- in utime.t detect better being run in a noatime filesystem,
and if so, skip the test (for the HAMMER filesystem of DragonflyBSD)
- also for the HAMMER fs (if not in noatime), lower the expected subsecond
timestamp granularity to microseconds
- fix the version number typo in Changes: 1.9577 -> 1.9757
2.18 2018-03-23
- This release is based on version 2018d of the Olson database. This release
includes contemporary changes for Palestine and Casey Station.
1.4.4:
Fixed extension building script.
1.4.3:
Fixed an error when adding intervals to a Pendulum instance across DST transition.
Fixed an error when subtracting two pendulum instances in the same timezone.
1.9577 [2018-03-15]
- fix win32 (and cygwin?) builds which have been broken since 1.9755:
problem was that gettimeofday() is a macro and needs to stay such
- regenerate ppport.h with Perl 5.26.1 (was previously generated with
5.25.6) and Devel::PPPort 3.35 (previously 3.36) -- this doesn't
change the ppport.h, though
1.9756 [2018-03-14]
- division by zero in new test tv_interval.t [rt.cpan.org #124775]:
made the test pass even if the difference is zero, but also
made it practically impossible to ever be zero by adding
a sub-second sleep.
- remove comments from inside qw [rt.cpan.org #124777],
only seemed to be caught by Perl 5.18.4
1.9755 [2018-03-14]
- adjust the error messages of tv_interval()
- the NV_1EX constants now cast to be NV so that
tv_interval() with long double builds does not
produce ugly results [rt.cpan.org #106456]
- add tests for tv_interval()
- centralize the mygettimeofday() logic
- make the mygettimeofday() a function instead of macro
- add the OS X 10.12+ clock_gettime() constants
CLOCK_MONOTONIC_RAW_APPROX CLOCK_UPTIME_RAW_APPROX
- regenerate the fallback files
Version 2.7.0
- Dropped support for Python 2.6
- Dropped support for Python 3.2
- Updated zoneinfo file to 2018c
- Changed licensing scheme so all new contributions are dual licensed under
Apache 2.0 and BSD.
- Added __all__ variable to the root package
- Added python_requires to setup.py so that pip will distribute the right
version of dateutil.
- Added the utils submodule, for miscellaneous utilities.
- Added within_delta function to utils
- Added today function to utils
- Added default_tzinfo function to utils
- Added dedicated ISO 8601 parsing function isoparse
- Moved parser module into parser/_parser.py and officially deprecated the use
of several private functions and classes from that module.
- Tweaked parser error message to include rejected string format
- Add support for parsing bytesarray
- Started raising a warning when the parser finds a timezone string that it
cannot construct a tzinfo instance for (rather than succeeding with no
indication of an error).
- Dropped the use of assert in the parser.
- Fixed to assertion logic in parser to support dates like '2015-15-May'
- Fixed IndexError in parser on dates with trailing colons
- Fixed bug where hours were not validated, leading to improper parse.
- Fixed problem parsing strings in %b-%Y-%d format.
- Fixed problem parsing strings in the %d%B%y format.
- Fixed problem parsing certain unambiguous strings when year <99
- Fixed issue with parsing an unambiguous string representation of an ambiguous
datetime such that if possible the correct value for fold is set.
- Fixed issue with improper rounding of fractional components.
- Performance improvement to parser from removing certain min() calls.
- Significantly refactored parser code
- Implementated of __hash__ for relativedelta and weekday
- Implemented __abs__ for relativedelta.
- Fixed relativedelta.weeks property getter and setter to work for both
negative and positive values.
- Fixed issue where passing whole number floats to the months or years
arguments of the relativedelta constructor would lead to errors during
addition.
- Added a pre-built tz.UTC object representing UTC
- Added a cache to tz.gettz so that by default it will return the same object
for identical inputs. This will change the semantics of certain operations
between datetimes constructed with tzinfo=tz.gettz(...).
- Changed the behavior of tz.tzutc to return a singleton
- Changed the behavior of tz.tzoffset to return the same object when passed the
same inputs, with a corresponding performance improvement
- Changed the behavior of tz.tzstr to return the same object when passed the
same inputs.
- Added .instance alternate constructors for tz.tzoffset and tz.tzstr, to
allow the construction of a new instance if desired.
- Added the tz.gettz.nocache function to allow explicit retrieval of a new
instance of the relevant tzinfo.
- Expand definition of tz.tzlocal equality so that the local zone is allow
equality with tzoffset and tzutc.
- Deprecated the idiosyncratic tzstr format mentioned in several examples but
evidently designed exclusively for dateutil, and very likely not used by
any current users.
- Added the tz.resolve_imaginary function, which generates a real date from
an imaginary one, if necessary.
- Fixed issue where the tz.tzstr constructor would erroneously succeed if
passed an invalid value for tzstr.
- Fixed issue with tz.gettz for TZ variables that start with a colon.
- Added a lock to tz.tzical's cache.
- Fixed an issue with fold support on certain Python 3 implementations that
used the pre-3.6 pure Python implementation of datetime.replace, most
notably pypy3
- Added support for VALUE=DATE-TIME for DTSTART in rrulestr.
- Started enforcing that within VTIMEZONE, the VALUE parameter can only be
omitted or DATE-TIME, per RFC 5545.
- Added support for TZID parameter for DTSTART in rrulestr.
- Added 'RRULE:' prefix to rrule strings generated by rrule.__str__, in
compliance with the RFC.
- Switched to setuptools_scm for version management, automatically calculating
a version number from the git metadata.
- Switched setup.py to use find_packages, and started testing against pip
installed versions of dateutil in CI. Fixed issue with parser import
- Switched test suite to using pytest
- Switched CI over to use tox.
- Added a test-only dependency on freezegun.
- Reduced number of CI builds on Appveyor.
- Made xfails strict by default, so that an xpass is a failure.
- Added a documentation generation stage to tox and CI.
- Added an explicit warning when running python setup.py explaining how to run
the test suites with pytest.
- Added requirements-dev.txt for test dependency management
- Fixed code coverage metrics to account for Windows builds
- Fixed code coverage metrics to NOT count xfails.
- Style improvement to zoneinfo.tzfile that was confusing to static type
checkers.
- Several unused imports were removed
- Switched isinstance(*, collections.Callable) to callable, which is available
on all supported Python versions.
- Added CONTRIBUTING.md
- Added AUTHORS.md
- Corrected setup.py metadata to reflect author vs. maintainer
- Corrected README to reflect that tests are now run in pytest.
- Updated all references to RFC 2445 (iCalendar) to point to RFC 5545.
- Corrected parse documentation to reflect proper integer offset units,
- Fixed dangling parenthesis in tzoffset documentation
- Started including the license file in wheels.
- Indendation fixes to parser docstring
- Moved many examples from the "examples" documentation into their appropriate
module documentation pages.
- Fixed documentation so that the parser.isoparse documentation displays.
- Refactored build and release sections and added setup instructions to
CONTRIBUTING.
- Cleaned up various dead links in the documentation.
0.30 Fri Mar 09 2018
- add support for bare times with am/pm
- thanks Rod Taylor rt #124567
- add support for format JUL25'17
- thanks Rod Taylor rt #124596
- fix warnings with invalid strings that have 'at' in them
- example: not a date
- thanks Rod Taylor rt #124589
- add support for bare times with 'at'
- examples:
- at noon
- at one
- at one pm
- at 12:43
Alan Coopersmith (6):
Remove unused function TDrawArc
Reduce scope of variables in check_jewel_poly
config: Add missing AC_CONFIG_SRCDIR
configure: Drop AM_MAINTAINER_MODE
autogen.sh: Honor NOCONFIGURE=1
oclock 1.0.4
Emil Velikov (1):
autogen.sh: use quoted string variables
Mihail Konev (1):
autogen: add default patch prefix
Peter Hutterer (1):
autogen.sh: use exec instead of waiting for configure to finish
Version 1.2.5 - 4-Feb-2018
--------------------------
* Support recursively (deep) freezing Country and Timezone instances. #80.
* Allow negative daylight savings time offsets to be derived when reading from
zoneinfo files. The utc_offset and std_offset are now derived correctly for
Europe/Dublin in the 2018a and 2018b releases of the Time Zone Database.
1.4.2:
Fixed an offset error when subtracting datetimes in the same timezone.
Fixed wrong value returned by tzname() for the UTC timezone.
Fixed deepcopy() raising an error when using UTC.
2018-02-22 Dave Cross <dave@dave.org.uk>
* lib/Calendar/Simple.pm: Bump version for another release. Thanks
Mohammed Anwar
2018-02-22 Mohammad S Anwar <mohammad.anwar@yahoo.com>
* Build.PL, MANIFEST, README.xml: - Removed +x bit from Build.PL as
reported by CPANTS.
2018-02-22 Dave Cross <dave@dave.org.uk>
* lib/Calendar/Simple.pm: Bump version to a number that that's not
already on CPAN :-/
* Build.PL: Remove signing.
* lib/Calendar/Simple.pm: Bump version for release.
* lib/Calendar/Simple.pm: Change the arguments passed to timelocal()
Following advice in the documentation: "Whenever possible, use an
absolute four digit year instead."
Upstream changes:
1.9754 [2018-02-16]
- unify the gettimeofday() and time() forked code
that had near identical code paths for MacOS Classic
(which has two unusual features: unsigned time_t,
and a special tz struct member), and for non-MacOS Classic
- tv_interval should be implemented in XS
[rt.cpan.org #106456]
thanks to Sergey Aleynikov (suggested implementation simplified
by the above-mentioned MacOS Classic simplification)
Upstream changes:
1.46 2018-02-11
- Fixed the formatting for the CLDR "S" symbol. It could in some cases round
_up_ to 1 instead of truncating a value. For example, the "SSS" symbol would
format 999,999,999 nanoseconds as "1.000". Fixed by Gianni Ceccarelli. PR
#71.
The 'timeDate' class fulfils the conventions of the ISO 8601 standard
as well as of the ANSI C and POSIX standards. Beyond these standards
it provides the "Financial Center" concept which allows to handle data
records collected in different time zones and mix them up to have
always the proper time stamps with respect to your personal financial
center, or alternatively to the GMT reference time. It can thus also
handle time stamps from historical data records from the same time
zone, even if the financial centers changed day light saving times at
different calendar dates.
0.7.0:
Features added during Google Summer of Code 2017:
* Harvesting language data from Unicode CLDR database (https://github.com/unicode-cldr/cldr-json), which includes over 200 locales
See full currently supported locale list in README.
* Extracting dates from longer strings of text
Special thanks for their awesome contributions!
New features:
* Added (independently from CLDR) Georgian and Swedish
Improvements:
* Improved support of Chinese, Thai, French, Russian
* Removed ruamel.yaml from dependencies. This should reduce the number of installation issues and improve performance as the result of moving away from YAML as basic data storage format.
Note that YAML is still used as format for support language files.
* Improved performance through using pre-compiling frequent regexes and lazy loading of data
* Extended tests
* Updated nose_parameterized to its current package, parameterized
1.4.1:
Fixed an error when comparing a Period to a timedelta in PyPy.
Fixed an offset error for datetimes between the before last and last transition.
Fixed unpickling with undefined / empty timezone name.
Upstream changes:
2.17 2018-01-23
- This release is based on version 2018b of the Olson database. This release
reverts the changes for Ireland in the previous versions as these caused
breakages in some systems that consumed the IANA time zone data.
2.16 2018-01-19
- This release is based on version 2018b of the Olson database. This release
includes contemporary changes for S瓊o Tom矇 and Pr穩ncipe, Brazil, and
Ireland. The 2018a was skipped because it was missing a file, but there are
no data changes from 2018a to 2018b.