Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Update #57

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from
Open

Initial Update #57

wants to merge 7 commits into from

Conversation

pyup-bot
Copy link

This PR sets up pyup.io on this repo and updates all dependencies at once, in a single branch.

Subsequent pull requests will update one dependency at a time, each in their own branch. If you want to start with that right away, simply close this PR.

Update lockfile from 0.12.2 to 0.12.2.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update moto from 0.4.1 to 1.3.3.

Changelog

1.3.3

------
 
 * Fix a regression in S3 url regexes
 * APIGateway region fixes
 * ECS improvements
 * Add mock_cognitoidentity, thanks to brcoding

1.3.2

------
The huge change in this version is that the responses library is no longer vendored. Many developers are now unblocked. Kudos to spulec for the fix.

 * Fix route53 TTL bug
 * Added filtering support for S3 lifecycle
 * unvendoring responses

1.3.0

------

Dozens of major endpoint additions in this release. Highlights include:

 * Fixed AMI tests and the Travis build setup
 * SNS improvements
 * Dynamodb improvements
 * EBS improvements
 * Redshift improvements
 * RDS snapshot improvements
 * S3 improvements
 * Cloudwatch improvements
 * SSM improvements
 * IAM improvements
 * ELBV1 and ELBV2 improvements
 * Lambda improvements
 * EC2 spot pricing improvements
 * ApiGateway improvements
 * VPC improvements

1.2.0

------

 * Supports filtering AMIs by self
 * Implemented signal_workflow_execution for SWF
 * Wired SWF backend to the moto server
 * Added url decoding to x-amz-copy-source header for copying S3 files
 * Revamped lambda function storage to do versioning
 * IOT improvements
 * RDS improvements
 * Implemented CloudWatch get_metric_statistics
 * Improved Cloudformation EC2 support
 * Implemented Cloudformation change_set endpoints

1.1.25

-----

 * Implemented Iot and Iot-data
 * Implemented resource tagging API
 * EC2 AMIs now have owners
 * Improve codegen scaffolding
 * Many small fixes to EC2 support
 * CloudFormation ELBv2 support
 * UTF fixes for S3
 * Implemented SSM get_parameters_by_path
 * More advanced Dynamodb querying

1.1.24

-----

 * Implemented Batch
 * Fixed regression with moto_server dashboard
 * Fixed and closed many outstanding bugs
 * Fixed serious performance problem with EC2 reservation listing
 * Fixed Route53 list_resource_record_sets

1.1.23

-----

 * Implemented X-Ray
 * Implemented Autoscaling EC2 attachment
 * Implemented Autoscaling Load Balancer methods
 * Improved DynamoDB filter expressions

1.1.22

-----

 * Lambda policies
 * Dynamodb filter expressions
 * EC2 Spot fleet improvements

1.1.21

-----

 * ELBv2 bugfixes
 * Removing GPL'd dependency

1.1.20

-----

 * Improved `make scaffold`
 * Implemented IAM attached group policies
 * Implemented skeleton of Cloudwatch Logs
 * Redshift: fixed multi-params
 * Redshift: implement taggable resources
 * Lambda + SNS: Major enhancements

1.1.19

-----

 * Fixing regression from 1.1.15

1.1.15

-----

 * Polly implementation
 * Added EC2 instance info
 * SNS publish by phone number

1.1.14

-----

 * ACM implementation
 * Added `make scaffold`
 * X-Ray implementation

1.1.13

-----

 * Created alpine-based Dockerfile (dockerhub: motoserver/moto)
 * SNS.SetSMSAttributes & SNS.GetSMSAttributes + Filtering
 * S3 ACL implementation
 * pushing to Dockerhub on `make publish`

1.1.12

-----

 * implemented all AWS managed policies in source
 * fixing Dynamodb CapacityUnits format
 * S3 ACL implementation

1.1.11

-----

 * S3 authentication
 * SSM get_parameter
 * ELBv2 target group tagging
 * EC2 Security group filters

1.1.10

-----

 * EC2 vpc address filtering
 * EC2 elastic ip dissociation
 * ELBv2 target group tagging
 * fixed complexity of accepting new filter implementations

1.1.9

-----

 * EC2 root device mapping

1.1.8

-----

 * Lambda get_function for function created with zipfile
 * scripts/implementation_coverage.py

1.1.7

-----

 * Lambda invoke_async
 * EC2 keypair filtering

1.1.6

-----

 * Dynamo ADD and DELETE operations in update expressions
 * Lambda tag support

1.1.5

-----

 * Dynamo allow ADD update_item of a string set
 * Handle max-keys in list-objects
 * bugfixes in pagination

1.1.3

-----

 * EC2 vpc_id in responses

1.1.2

-----

 * IAM account aliases
 * SNS subscription attributes
 * bugfixes in Dynamo, CFN, and EC2

1.1.1

-----

 * EC2 group-id filter
 * EC2 list support for filters

1.1.0

-----

 * Add ELBv2
 * IAM user policies
 * RDS snapshots
 * IAM policy versions

1.0.1

-----

 * Add Cloudformation exports
 * Add ECR
 * IAM policy versions

1.0.0

-----

 BACKWARDS INCOMPATIBLE
 * The normal mock_<service> decorators will no longer work with boto. It is suggested that you upgrade to boto3 or use the standalone-server mode. If you would still like to use boto, you must use the mock_<service>_deprecated decorators which will be removed in a future release.
 * The mock_s3bucket_path decorator is now deprecated. Use the mock_s3 decorator instead.
 * Drop support for Python 2.6
 * Redshift server defaults to returning XML instead of JSON

 Added features
 * Reset API: a reset API has been added to flush all of the current data ex: `requests.post("http://motoapi.amazonaws.com/moto-api/reset")`
 * A dashboard is now available with moto_server at http://localhost:5000/moto-api/

0.4.31

------

 * ECS Cloudformation support
 * Cleaned up RDS XML/JSON issues
 * Boto==2.45
 * Add STS get_caller_identity
 * Turn on variable escaping in templates for S3 XML documents

0.4.30

------

 * Change spot requests to launch instances

0.4.29

------

 * Nest flask import so that it is not required globally

0.4.28

------

 * Add basic spot fleet support
 * IAM Managed Policies
 * Better EMR coverage
 * Basic KMS support for encrypt/decrypt

0.4.27

------

 *

0.4.25

------

 * ASG tags
 * ContainerInstance handling in ECS
 *

0.4.22

------

 * Add basic lambda endpoints
 * Support placement for EC2
 * Cleanup API versions

0.4.21

------

 * Fix bug with wrong response matches for S3

0.4.20

------

 * mock_s3 and mocks3bucket_path are now the same thing. The server decides
 which interface to is being used based on the request Host header. We will
 evetually deprecate mocks3bucket_path.
 * Basic ECS support
 * More Dynamo querying and indexes
 * Add Kinesis and ELB tags
 * Add JSON responses for EMR
 * Fix root instance volume to show up in other EBS volume calls
Links

Update mock from 1.3.0 to 2.0.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update python-novaclient from 3.2.0 to 10.3.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pytest from 3.4.1 to 3.6.2.

Changelog

3.6.1

=========================

Bug Fixes
---------

- Fixed a bug where stdout and stderr were logged twice by junitxml when a test
was marked xfail. (`3491
<https://github.com/pytest-dev/pytest/issues/3491>`_)

- Fix ``usefixtures`` mark applyed to unittest tests by correctly instantiating
``FixtureInfo``. (`3498
<https://github.com/pytest-dev/pytest/issues/3498>`_)

- Fix assertion rewriter compatibility with libraries that monkey patch
``file`` objects. (`3503
<https://github.com/pytest-dev/pytest/issues/3503>`_)


Improved Documentation
----------------------

- Added a section on how to use fixtures as factories to the fixture
documentation. (`3461 <https://github.com/pytest-dev/pytest/issues/3461>`_)


Trivial/Internal Changes
------------------------

- Enable caching for pip/pre-commit in order to reduce build time on
travis/appveyor. (`3502
<https://github.com/pytest-dev/pytest/issues/3502>`_)

- Switch pytest to the src/ layout as we already suggested it for good practice
- now we implement it as well. (`3513
<https://github.com/pytest-dev/pytest/issues/3513>`_)

- Fix if in tests to support 3.7.0b5, where a docstring handling in AST got
reverted. (`3530 <https://github.com/pytest-dev/pytest/issues/3530>`_)

- Remove some python2.5 compatibility code. (`3529
<https://github.com/pytest-dev/pytest/issues/3529>`_)

3.6.0

=========================

Features
--------

- Revamp the internals of the ``pytest.mark`` implementation with correct per
node handling which fixes a number of long standing bugs caused by the old
design. This introduces new ``Node.iter_markers(name)`` and
``Node.get_closest_mark(name)`` APIs. Users are **strongly encouraged** to
read the `reasons for the revamp in the docs
<https://docs.pytest.org/en/latest/mark.htmlmarker-revamp-and-iteration>`_,
or jump over to details about `updating existing code to use the new APIs
<https://docs.pytest.org/en/latest/mark.htmlupdating-code>`_. (`3317
<https://github.com/pytest-dev/pytest/issues/3317>`_)

- Now when ``pytest.fixture`` is applied more than once to the same function a
``ValueError`` is raised. This buggy behavior would cause surprising problems
and if was working for a test suite it was mostly by accident. (`2334
<https://github.com/pytest-dev/pytest/issues/2334>`_)

- Support for Python 3.7's builtin ``breakpoint()`` method, see `Using the
builtin breakpoint function
<https://docs.pytest.org/en/latest/usage.htmlbreakpoint-builtin>`_ for
details. (`3180 <https://github.com/pytest-dev/pytest/issues/3180>`_)

- ``monkeypatch`` now supports a ``context()`` function which acts as a context
manager which undoes all patching done within the ``with`` block. (`3290
<https://github.com/pytest-dev/pytest/issues/3290>`_)

- The ``--pdb`` option now causes KeyboardInterrupt to enter the debugger,
instead of stopping the test session. On python 2.7, hitting CTRL+C again
exits the debugger. On python 3.2 and higher, use CTRL+D. (`3299
<https://github.com/pytest-dev/pytest/issues/3299>`_)

- pytest not longer changes the log level of the root logger when the
``log-level`` parameter has greater numeric value than that of the level of
the root logger, which makes it play better with custom logging configuration
in user code. (`3307 <https://github.com/pytest-dev/pytest/issues/3307>`_)


Bug Fixes
---------

- A rare race-condition which might result in corrupted ``.pyc`` files on
Windows has been hopefully solved. (`3008
<https://github.com/pytest-dev/pytest/issues/3008>`_)

- Also use iter_marker for discovering the marks applying for marker
expressions from the cli to avoid the bad data from the legacy mark storage.
(`3441 <https://github.com/pytest-dev/pytest/issues/3441>`_)

- When showing diffs of failed assertions where the contents contain only
whitespace, escape them using ``repr()`` first to make it easy to spot the
differences. (`3443 <https://github.com/pytest-dev/pytest/issues/3443>`_)


Improved Documentation
----------------------

- Change documentation copyright year to a range which auto-updates itself each
time it is published. (`3303
<https://github.com/pytest-dev/pytest/issues/3303>`_)


Trivial/Internal Changes
------------------------

- ``pytest`` now depends on the `python-atomicwrites
<https://github.com/untitaker/python-atomicwrites>`_ library. (`3008
<https://github.com/pytest-dev/pytest/issues/3008>`_)

- Update all pypi.python.org URLs to pypi.org. (`3431
<https://github.com/pytest-dev/pytest/issues/3431>`_)

- Detect `pytest_` prefixed hooks using the internal plugin manager since
``pluggy`` is deprecating the ``implprefix`` argument to ``PluginManager``.
(`3487 <https://github.com/pytest-dev/pytest/issues/3487>`_)

- Import ``Mapping`` and ``Sequence`` from ``_pytest.compat`` instead of
directly from ``collections`` in ``python_api.py::approx``. Add ``Mapping``
to ``_pytest.compat``, import it from ``collections`` on python 2, but from
``collections.abc`` on Python 3 to avoid a ``DeprecationWarning`` on Python
3.7 or newer. (`3497 <https://github.com/pytest-dev/pytest/issues/3497>`_)

3.5.1

=========================


Bug Fixes
---------

- Reset ``sys.last_type``, ``sys.last_value`` and ``sys.last_traceback`` before
each test executes. Those attributes are added by pytest during the test run
to aid debugging, but were never reset so they would create a leaking
reference to the last failing test's frame which in turn could never be
reclaimed by the garbage collector. (`2798
<https://github.com/pytest-dev/pytest/issues/2798>`_)

- ``pytest.raises`` now raises ``TypeError`` when receiving an unknown keyword
argument. (`3348 <https://github.com/pytest-dev/pytest/issues/3348>`_)

- ``pytest.raises`` now works with exception classes that look like iterables.
(`3372 <https://github.com/pytest-dev/pytest/issues/3372>`_)


Improved Documentation
----------------------

- Fix typo in ``caplog`` fixture documentation, which incorrectly identified
certain attributes as methods. (`3406
<https://github.com/pytest-dev/pytest/issues/3406>`_)


Trivial/Internal Changes
------------------------

- Added a more indicative error message when parametrizing a function whose
argument takes a default value. (`3221
<https://github.com/pytest-dev/pytest/issues/3221>`_)

- Remove internal ``_pytest.terminal.flatten`` function in favor of
``more_itertools.collapse``. (`3330
<https://github.com/pytest-dev/pytest/issues/3330>`_)

- Import some modules from ``collections.abc`` instead of ``collections`` as
the former modules trigger ``DeprecationWarning`` in Python 3.7. (`3339
<https://github.com/pytest-dev/pytest/issues/3339>`_)

- record_property is no longer experimental, removing the warnings was
forgotten. (`3360 <https://github.com/pytest-dev/pytest/issues/3360>`_)

- Mention in documentation and CLI help that fixtures with leading ``_`` are
printed by ``pytest --fixtures`` only if the ``-v`` option is added. (`3398
<https://github.com/pytest-dev/pytest/issues/3398>`_)

3.5.0

=========================

Deprecations and Removals
-------------------------

- ``record_xml_property`` fixture is now deprecated in favor of the more
generic ``record_property``. (`2770
<https://github.com/pytest-dev/pytest/issues/2770>`_)

- Defining ``pytest_plugins`` is now deprecated in non-top-level conftest.py
files, because they "leak" to the entire directory tree. (`3084
<https://github.com/pytest-dev/pytest/issues/3084>`_)


Features
--------

- New ``--show-capture`` command-line option that allows to specify how to
display captured output when tests fail: ``no``, ``stdout``, ``stderr``,
``log`` or ``all`` (the default). (`1478
<https://github.com/pytest-dev/pytest/issues/1478>`_)

- New ``--rootdir`` command-line option to override the rules for discovering
the root directory. See `customize
<https://docs.pytest.org/en/latest/customize.html>`_ in the documentation for
details. (`1642 <https://github.com/pytest-dev/pytest/issues/1642>`_)

- Fixtures are now instantiated based on their scopes, with higher-scoped
fixtures (such as ``session``) being instantiated first than lower-scoped
fixtures (such as ``function``). The relative order of fixtures of the same
scope is kept unchanged, based in their declaration order and their
dependencies. (`2405 <https://github.com/pytest-dev/pytest/issues/2405>`_)

- ``record_xml_property`` renamed to ``record_property`` and is now compatible
with xdist, markers and any reporter. ``record_xml_property`` name is now
deprecated. (`2770 <https://github.com/pytest-dev/pytest/issues/2770>`_)

- New ``--nf``, ``--new-first`` options: run new tests first followed by the
rest of the tests, in both cases tests are also sorted by the file modified
time, with more recent files coming first. (`3034
<https://github.com/pytest-dev/pytest/issues/3034>`_)

- New ``--last-failed-no-failures`` command-line option that allows to specify
the behavior of the cache plugin's --last-failed`` feature when no tests
failed in the last run (or no cache was found): ``none`` or ``all`` (the
default). (`3139 <https://github.com/pytest-dev/pytest/issues/3139>`_)

- New ``--doctest-continue-on-failure`` command-line option to enable doctests
to show multiple failures for each snippet, instead of stopping at the first
failure. (`3149 <https://github.com/pytest-dev/pytest/issues/3149>`_)

- Captured log messages are added to the ``<system-out>`` tag in the generated
junit xml file if the ``junit_logging`` ini option is set to ``system-out``.
If the value of this ini option is ``system-err``, the logs are written to
``<system-err>``. The default value for ``junit_logging`` is ``no``, meaning
captured logs are not written to the output file. (`3156
<https://github.com/pytest-dev/pytest/issues/3156>`_)

- Allow the logging plugin to handle ``pytest_runtest_logstart`` and
``pytest_runtest_logfinish`` hooks when live logs are enabled. (`3189
<https://github.com/pytest-dev/pytest/issues/3189>`_)

- Passing `--log-cli-level` in the command-line now automatically activates
live logging. (`3190 <https://github.com/pytest-dev/pytest/issues/3190>`_)

- Add command line option ``--deselect`` to allow deselection of individual
tests at collection time. (`3198
<https://github.com/pytest-dev/pytest/issues/3198>`_)

- Captured logs are printed before entering pdb. (`3204
<https://github.com/pytest-dev/pytest/issues/3204>`_)

- Deselected item count is now shown before tests are run, e.g. ``collected X
items / Y deselected``. (`3213
<https://github.com/pytest-dev/pytest/issues/3213>`_)

- The builtin module ``platform`` is now available for use in expressions in
``pytest.mark``. (`3236
<https://github.com/pytest-dev/pytest/issues/3236>`_)

- The *short test summary info* section now is displayed after tracebacks and
warnings in the terminal. (`3255
<https://github.com/pytest-dev/pytest/issues/3255>`_)

- New ``--verbosity`` flag to set verbosity level explicitly. (`3296
<https://github.com/pytest-dev/pytest/issues/3296>`_)

- ``pytest.approx`` now accepts comparing a numpy array with a scalar. (`3312
<https://github.com/pytest-dev/pytest/issues/3312>`_)


Bug Fixes
---------

- Suppress ``IOError`` when closing the temporary file used for capturing
streams in Python 2.7. (`2370
<https://github.com/pytest-dev/pytest/issues/2370>`_)

- Fixed ``clear()`` method on ``caplog`` fixture which cleared ``records``, but
not the ``text`` property. (`3297
<https://github.com/pytest-dev/pytest/issues/3297>`_)

- During test collection, when stdin is not allowed to be read, the
``DontReadFromStdin`` object still allow itself to be iterable and resolved
to an iterator without crashing. (`3314
<https://github.com/pytest-dev/pytest/issues/3314>`_)


Improved Documentation
----------------------

- Added a `reference <https://docs.pytest.org/en/latest/reference.html>`_ page
to the docs. (`1713 <https://github.com/pytest-dev/pytest/issues/1713>`_)


Trivial/Internal Changes
------------------------

- Change minimum requirement of ``attrs`` to ``17.4.0``. (`3228
<https://github.com/pytest-dev/pytest/issues/3228>`_)

- Renamed example directories so all tests pass when ran from the base
directory. (`3245 <https://github.com/pytest-dev/pytest/issues/3245>`_)

- Internal ``mark.py`` module has been turned into a package. (`3250
<https://github.com/pytest-dev/pytest/issues/3250>`_)

- ``pytest`` now depends on the `more-itertools
<https://github.com/erikrose/more-itertools>`_ package. (`3265
<https://github.com/pytest-dev/pytest/issues/3265>`_)

- Added warning when ``[pytest]`` section is used in a ``.cfg`` file passed
with ``-c`` (`3268 <https://github.com/pytest-dev/pytest/issues/3268>`_)

- ``nodeids`` can now be passed explicitly to ``FSCollector`` and ``Node``
constructors. (`3291 <https://github.com/pytest-dev/pytest/issues/3291>`_)

- Internal refactoring of ``FormattedExcinfo`` to use ``attrs`` facilities and
remove old support code for legacy Python versions. (`3292
<https://github.com/pytest-dev/pytest/issues/3292>`_)

- Refactoring to unify how verbosity is handled internally. (`3296
<https://github.com/pytest-dev/pytest/issues/3296>`_)

- Internal refactoring to better integrate with argparse. (`3304
<https://github.com/pytest-dev/pytest/issues/3304>`_)

- Fix a python example when calling a fixture in doc/en/usage.rst (`3308
<https://github.com/pytest-dev/pytest/issues/3308>`_)

3.4.2

=========================

Bug Fixes
---------

- Removed progress information when capture option is ``no``. (`3203
<https://github.com/pytest-dev/pytest/issues/3203>`_)

- Refactor check of bindir from ``exists`` to ``isdir``. (`3241
<https://github.com/pytest-dev/pytest/issues/3241>`_)

- Fix ``TypeError`` issue when using ``approx`` with a ``Decimal`` value.
(`3247 <https://github.com/pytest-dev/pytest/issues/3247>`_)

- Fix reference cycle generated when using the ``request`` fixture. (`3249
<https://github.com/pytest-dev/pytest/issues/3249>`_)

- ``[tool:pytest]`` sections in ``*.cfg`` files passed by the ``-c`` option are
now properly recognized. (`3260
<https://github.com/pytest-dev/pytest/issues/3260>`_)


Improved Documentation
----------------------

- Add logging plugin to plugins list. (`3209
<https://github.com/pytest-dev/pytest/issues/3209>`_)


Trivial/Internal Changes
------------------------

- Fix minor typo in fixture.rst (`3259
<https://github.com/pytest-dev/pytest/issues/3259>`_)
Links

Update xmltodict from 0.9.2 to 0.11.0.

Changelog

0.11.0

-------

* Determine fileness by checking for `read` attr
* Thanks, jwodder!
* Add support for Python 3.6.
* Thanks, cclauss!
* Release as a universal wheel.
* Thanks, adamchainz!
* Updated docs examples to use print function.
* Thanks, cdeil!
* unparse: pass short_empty_elements to XMLGenerator
* Thanks, zhanglei002!
* Added namespace support when unparsing.
* Thanks, imiric!

0.10.2

-------

* Fixed defusedexpat expat import.
* Thanks, fiebiga!

0.10.1

-------

* Use defusedexpat if available.
* Allow non-string attributes in unparse.
* Add postprocessor support for attributes.
* Make command line interface Python 3-compatible.

0.10.0

-------

* Add force_list feature.
* Thanks, guewen and jonlooney!
* Add support for Python 3.4 and 3.5.
* Performance optimization: use list instead of string for CDATA.
* Thanks, bharel!
* Include Arch Linux package instructions in README.
* Thanks, felixonmars!
* Improved documentation.
* Thanks, ubershmekel!
* Allow any iterable in unparse, not just lists.
* Thanks, bzamecnik!
* Bugfix: Process namespaces in attributes too.
* Better testing under Python 2.6.
* Thanks, TyMaszWeb!
Links

Update python-dateutil from 2.4.2 to 2.7.3.

Changelog

2.7.2

==========================

Bugfixes
--------

- Fixed an issue with the setup script running in non-UTF-8 environment.
Reported and fixed by gergondet (gh pr 651)


Misc
----

- GH 655

2.7.1

===========================

Data updates
------------

- Updated tzdata version to 2018d.


Bugfixes
--------

- Fixed issue where parser.parse would occasionally raise
decimal.Decimal-specific error types rather than ValueError. Reported by
amureki (gh issue 632). Fixed by pganssle (gh pr 636).
- Improve error message when rrule's dtstart and until are not both naive or
both aware. Reported and fixed by ryanpetrello (gh issue 633, gh pr 634)


Misc
----

- GH 644, GH 648

2.7.0

=============
- Dropped support for Python 2.6 (gh pr 362 by jdufresne)
- Dropped support for Python 3.2 (gh pr 626)
- Updated zoneinfo file to 2018c (gh pr 616)
- Changed licensing scheme so all new contributions are dual licensed under
Apache 2.0 and BSD. (gh pr 542, issue 496)
- Added __all__ variable to the root package. Reported by tebriel
(gh issue 406), fixed by mariocj89 (gh pr 494)
- Added python_requires to setup.py so that pip will distribute the right
version of dateutil. Fixed by jakec-github (gh issue 537, pr 552)
- Added the utils submodule, for miscellaneous utilities.
- Added within_delta function to utils - added by justanr (gh issue 432,
gh pr 437)
- Added today function to utils (gh pr 474)
- Added default_tzinfo function to utils (gh pr 475), solving an issue
reported by nealmcb (gh issue 94)
- Added dedicated ISO 8601 parsing function isoparse (gh issue 424).
Initial implementation by pganssle in gh pr 489 and 622, with a
pre-release fix by kirit93 (gh issue 546, gh pr 573). 
- Moved parser module into parser/_parser.py and officially deprecated the use
of several private functions and classes from that module. (gh pr 501, 515)
- Tweaked parser error message to include rejected string format, added by
pbiering (gh pr 300)
- Add support for parsing bytesarray, reported by uckelman (gh issue 417) and
fixed by uckelman and pganssle (gh pr 514)
- 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). Reported and fixed by jbrockmendel (gh pr 540)
- Dropped the use of assert in the parser. Fixed by jbrockmendel (gh pr 502)
- Fixed to assertion logic in parser to support dates like '2015-15-May',
reported and fixed by jbrockmendel (gh pr 409)
- Fixed IndexError in parser on dates with trailing colons, reported and fixed
by jbrockmendel (gh pr 420)
- Fixed bug where hours were not validated, leading to improper parse. Reported
by heappro (gh pr 353), fixed by jbrockmendel (gh pr 482)
- Fixed problem parsing strings in %b-%Y-%d format. Reported and fixed by
jbrockmendel (gh pr 481)
- Fixed problem parsing strings in the %d%B%y format. Reported by asishm
(gh issue 360), fixed by jbrockmendel (gh pr 483)
- Fixed problem parsing certain unambiguous strings when year <99 (gh pr 510).
Reported by alexwlchan (gh issue 293).
- Fixed issue with parsing an unambiguous string representation of an ambiguous
datetime such that if possible the correct value for fold is set. Fixes
issue reported by JordonPhillips and pganssle (gh issue 318, 320,
gh pr 517)
- Fixed issue with improper rounding of fractional components. Reported by
dddmello (gh issue 427), fixed by m-dz (gh pr 570)
- Performance improvement to parser from removing certain min() calls. Reported
and fixed by jbrockmendel (gh pr 589)
- Significantly refactored parser code by jbrockmendel (gh prs 419, 436,
490, 498, 539) and pganssle (gh prs 435, 468)
- Implementated of __hash__ for relativedelta and weekday, reported and fixed
by mrigor (gh pr 389) 
- Implemented __abs__ for relativedelta. Reported by binnisb and pferreir
(gh issue 350, pr 472)
- Fixed relativedelta.weeks property getter and setter to work for both
negative and positive values. Reported and fixed by souliane (gh issue 459,
pr 460)
- Fixed issue where passing whole number floats to the months or years
arguments of the relativedelta constructor would lead to errors during
addition. Reported by arouanet (gh pr 411), fixed by lkollar (gh pr 553)
- Added a pre-built tz.UTC object representing UTC (gh pr 497)
- 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(...). (gh pr 628)
- Changed the behavior of tz.tzutc to return a singleton (gh pr 497, 504)
- Changed the behavior of tz.tzoffset to return the same object when passed the
same inputs, with a corresponding performance improvement (gh pr 504)
- Changed the behavior of tz.tzstr to return the same object when passed the
same inputs. (gh pr 628)
- Added .instance alternate constructors for tz.tzoffset and tz.tzstr, to
allow the construction of a new instance if desired. (gh pr 628)
- Added the tz.gettz.nocache function to allow explicit retrieval of a new
instance of the relevant tzinfo. (gh pr 628)
- Expand definition of tz.tzlocal equality so that the local zone is allow
equality with tzoffset and tzutc. (gh pr 598)
- Deprecated the idiosyncratic tzstr format mentioned in several examples but
evidently designed exclusively for dateutil, and very likely not used by
any current users. (gh issue 595, gh pr 606)
- Added the tz.resolve_imaginary function, which generates a real date from
an imaginary one, if necessary. Implemented by Cheukting (gh issue 339,
gh pr 607)
- Fixed issue where the tz.tzstr constructor would erroneously succeed if
passed an invalid value for tzstr. Fixed by pablogsal (gh issue 259,
gh pr 581)
- Fixed issue with tz.gettz for TZ variables that start with a colon. Reported
and fixed by lapointexavier (gh pr 601)
- Added a lock to tz.tzical's cache. Reported and fixed by Unrud (gh pr 430) 
- 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 (gh pr 446).
- Added support for VALUE=DATE-TIME for DTSTART in rrulestr. Reported by potuz
(gh issue 401) and fixed by Unrud (gh pr 429)
- Started enforcing that within VTIMEZONE, the VALUE parameter can only be
omitted or DATE-TIME, per RFC 5545. Reported by Unrud (gh pr 439)
- Added support for TZID parameter for DTSTART in rrulestr. Reported and
fixed by ryanpetrello (gh issue 614, gh pr 624)
- Added 'RRULE:' prefix to rrule strings generated by rrule.__str__, in
compliance with the RFC. Reported by AndrewPashkin (gh issue 86), fixed by
jarondl and mlorant (gh pr 450)
- Switched to setuptools_scm for version management, automatically calculating
a version number from the git metadata. Reported by jreback (gh issue 511),
implemented by Sulley38 (gh pr 564)
- Switched setup.py to use find_packages, and started testing against pip
installed versions of dateutil in CI. Fixed issue with parser import
discovered by jreback in pandas-dev/pandas18141. (gh issue 507, pr 509)
- Switched test suite to using pytest (gh pr 495)
- Switched CI over to use tox. Fixed by gaborbernat (gh pr 549)
- Added a test-only dependency on freezegun. (gh pr 474)
- Reduced number of CI builds on Appveyor. Fixed by kirit93 (gh issue 529,
gh pr 579)
- Made xfails strict by default, so that an xpass is a failure. (gh pr 567)
- Added a documentation generation stage to tox and CI. (gh pr 568)
- Added an explicit warning when running python setup.py explaining how to run
the test suites with pytest. Fixed by lkollar. (gh issue 544, gh pr 548)
- Added requirements-dev.txt for test dependency management (gh pr 499, 516)
- Fixed code coverage metrics to account for Windows builds (gh pr 526)
- Fixed code coverage metrics to NOT count xfails. Fixed by gaborbernat
(gh issue 519, gh pr 563)
- Style improvement to zoneinfo.tzfile that was confusing to static type
checkers. Reported and fixed by quodlibetor (gh pr 485)
- Several unused imports were removed by jdufresne. (gh pr 486)
- Switched ``isinstance(*, collections.Callable)`` to callable, which is available
on all supported Python versions. Implemented by jdufresne (gh pr 612)
- Added CONTRIBUTING.md (gh pr 533)
- Added AUTHORS.md (gh pr 542)
- Corrected setup.py metadata to reflect author vs. maintainer, (gh issue 477,
gh pr 538)
- Corrected README to reflect that tests are now run in pytest. Reported and
fixed by m-dz (gh issue 556, gh pr 557)
- Updated all references to RFC 2445 (iCalendar) to point to RFC 5545. Fixed
by mariocj89 (gh issue 543, gh pr 555)
- Corrected parse documentation to reflect proper integer offset units,
reported and fixed by abrugh (gh pr 458)
- Fixed dangling parenthesis in tzoffset documentation (gh pr 461)
- Started including the license file in wheels. Reported and fixed by
jdufresne (gh pr 476)
- Indendation fixes to parser docstring by jbrockmendel (gh pr 492)
- Moved many examples from the "examples" documentation into their appropriate
module documentation pages. Fixed by Tomasz-Kluczkowski and jakec-github
(gh pr 558, 561)
- Fixed documentation so that the parser.isoparse documentation displays.
Fixed by alexchamberlain (gh issue 545, gh pr 560)
- Refactored build and release sections and added setup instructions to
CONTRIBUTING. Reported and fixed by kynan (gh pr 562)
- Cleaned up various dead links in the documentation. (gh pr 602, 608, 618)

2.6.1

=============
- Updated zoneinfo file to 2017b. (gh pr 395)
- Added Python 3.6 to CI testing (gh pr 365)
- Removed duplicate test name that was preventing a test from being run.
Reported and fixed by jdufresne (gh pr 371)
- Fixed testing of folds and gaps, particularly on Windows (gh pr 392)
- Fixed deprecated escape characters in regular expressions. Reported by
nascheme and thierryba (gh issue 361), fixed by thierryba (gh pr 358)
- Many PEP8 style violations and other code smells were fixed by jdufresne
(gh prs 358, 363, 364, 366, 367, 368, 372, 374, 379, 380, 398)
- Improved performance of tzutc and tzoffset objects. (gh pr 391)
- Fixed issue with several time zone classes around DST transitions in any
zones with +0 standard offset (e.g. Europe/London) (gh issue 321, pr 390)
- Fixed issue with fuzzy parsing where tokens similar to AM/PM that are in the
end skipped were dropped in the fuzzy_with_tokens list. Reported and fixed
by jbrockmendel (gh pr 332).
- Fixed issue with parsing dates of the form X m YY. Reported by jbrockmendel.
(gh issue 333, pr 393)
- Added support for parser weekdays with less than 3 characters. Reported by
arcadefoam (gh issue 343), fixed by jonemo (gh pr 382)
- Fixed issue with the addition and subtraction of certain relativedeltas.
Reported and fixed by kootenpv (gh issue 346, pr 347)
- Fixed issue where the COUNT parameter of rrules was ignored if 0. Fixed by
mshenfield (gh pr 330), reported by vaultah (gh issue 329).
- Updated documentation to include the new tz methods. (gh pr 324)
- Update documentation to reflect that the parser can raise TypeError, reported
and fixed by tomchuk (gh issue 336, pr 337)
- Fixed an incorrect year in a parser doctest. Fixed by xlotlu (gh pr 357)
- Moved version information into _version.py and set up the versions more
granularly.

2.6.0

=============
- Added PEP-495-compatible methods to address ambiguous and imaginary dates in
time zones in a backwards-compatible way. Ambiguous dates and times can now
be safely represented by all dateutil time zones. Many thanks to Alexander
Belopolski (abalkin) and Tim Peters tim-one for their inputs on how to
address this. Original issues reported by Yupeng and zed (lP: 1390262,
gh issues 57, 112, 249, 284, 286, prs 127, 225, 248, 264, 302).
- Added new methods for working with ambiguous and imaginary dates to the tz
module. datetime_ambiguous() determines if a datetime is ambiguous for a given
zone and datetime_exists() determines if a datetime exists in a given zone.
This works for all fold-aware datetimes, not just those provided by dateutil.
(gh issue 253, gh pr 302)
- Fixed an issue where dst() in Portugal in 1996 was returning the wrong value
in tz.tzfile objects. Reported by abalkin (gh issue 128, pr 225)
- Fixed an issue where zoneinfo.ZoneInfoFile errors were not being properly
deep-copied. (gh issue 226, pr 225)
- Refactored tzwin and tzrange as a subclass of a common class, tzrangebase, as
there was substantial overlapping functionality. As part of this change,
tzrange and tzstr now expose a transitions() function, which returns the
DST on and off transitions for a given year. (gh issue 260, pr 302)
- Deprecated zoneinfo.gettz() due to confusion with tz.gettz(), in favor of
get() method of zoneinfo.ZoneInfoFile objects. (gh issue 11, pr 310)
- For non-character, non-stream arguments, parser.parse now raises TypeError
instead of AttributeError. (gh issues 171, 269, pr 247)
- Fixed an issue where tzfile objects were not properly handling dst() and
tzname() when attached to datetime.time objects. Reported by ovacephaloid.
(gh issue 292, pr 309)
- /usr/share/lib/zoneinfo was added to TZPATHS for compatibility with Solaris
systems. Reported by dhduvall (gh issue 276, pr 307)
- tzoffset and tzrange objects now accept either a number of seconds or a
datetime.timedelta() object wherever previously only a number of seconds was
allowed. (gh pr 264, 277)
- datetime.timedelta objects can now be added to relativedelta objects. Reported
and added by Alec Nikolas Reiter (justanr) (gh issue 282, pr 283
- Refactored relativedelta.weekday and rrule.weekday into a common base class
to reduce code duplication. (gh issue 140, pr 311)
- An issue where the WKST parameter was improperly rendering in str(rrule) was
reported and fixed by Daniel LePage (dplepage). (gh issue 262, pr 263)
- A replace() method has been added to rrule objects by jendas1, which creates
new rrule with modified attributes, analogous to datetime.replace (gh pr 167)
- Made some significant performance improvements to rrule objects in Python 2.x
(gh pr 245)
- All classes defining equality functions now return NotImplemented when
compared to unsupported classes, rather than raising TypeError, to allow other
classes to provide fallback support. (gh pr 236)
- Several classes have been marked as explicitly unhashable to maintain
identical behavior between Python 2 and 3. Submitted by Roy Williams
(rowillia) (gh pr 296)
- Trailing whitespace in easter.py has been removed. Submitted by OmgImAlexis
(gh pr 299)
- Windows-only batch files in build scripts had line endings switched to CRLF.
(gh pr 237)
- adamchainz updated the documentation links to reflect that the canonical
location for readthedocs links is now at .io, not .org. (gh pr 272)
- Made some changes to the CI and codecov to test against newer versions of
Python and pypy, and to adjust the code coverage requirements. For the moment,
full pypy3 compatibility is not supported until a new release is available,
due to upstream bugs in the old version affecting PEP-495 support.
(gh prs 265, 266, 304, 308)
- The full PGP signing key fingerprint was added to the README.md in favor of
the previously used long-id. Reported by valholl (gh issue 287, pr 304)
- Updated zoneinfo to 2016i. (gh issue 298, gh pr 306)

2.5.3

=============
- Updated zoneinfo to 2016d
- Fixed parser bug where unambiguous datetimes fail to parse when dayfirst is
set to true. (gh issue 233, pr 234)
- Bug in zoneinfo file on platforms such as Google App Engine which do not
do not allow importing of subprocess.check_call was reported and fixed by
savraj (gh issue 239, gh pr 240)
- Fixed incorrect version in documentation (gh issue 235, pr 243)

2.5.2

=============
- Updated zoneinfo to 2016c
- Fixed parser bug where yearfirst and dayfirst parameters were not being
respected when no separator was present. (gh issue 81 and 217, pr 229)

2.5.1

=============
- Updated zoneinfo to 2016b
- Changed MANIFEST.in to explicitly include test suite in source distributions,
with help from koobs (gh issue 193, pr 194, 201, 221)
- Explicitly set all line-endings to LF, except for the NEWS file, on a
per-repository basis (gh pr 218)
- Fixed an issue with improper caching behavior in rruleset objects (gh issue
104, pr 207)
- Changed to an explicit error when rrulestr strings contain a missing BYDAY
(gh issue 162, pr 211)
- tzfile now correctly handles files containing leapcnt (although the leapcnt
information is not actually used). Contributed by hjoukl (gh issue 146, pr
147)
- Fixed recursive import issue with tz module (gh pr 204)
- Added compatibility between tzwin objects and datetime.time objects (gh issue
216, gh pr 219)
- Refactored monolithic test suite by module (gh issue 61, pr 200 and 206)
- Improved test coverage in the relativedelta module (gh pr 215)
- Adjusted documentation to reflect possibly counter-intuitive properties of
RFC-5545-compliant rrules, and other documentation improvements in the rrule
module (gh issue 105, gh issue 149 - pointer to the solution by phep,
pr 213).

2.5.0

=============
- Updated zoneinfo to 2016a
- zoneinfo_metadata file version increased to 2.0 - the updated updatezinfo.py
script will work with older zoneinfo_metadata.json files, but new metadata
files will not work with older updatezinfo.py versions. Additionally, we have
started hosting our own mirror of the Olson databases on a github pages
site (https://dateutil.github.io/tzdata/) (gh pr 183)
- dateutil zoneinfo tarballs now contain the full zoneinfo_metadata file used
to generate them. (gh issue 27, gh pr 85)
- relativedelta can now be safely subclassed without derived objects reverting
to base relativedelta objects as a result of arithmetic operations.
(lp:1010199, gh issue 44, pr 49)
- relativedelta 'weeks' parameter can now be set and retrieved as a property of
relativedelta instances. (lp: 727525, gh issue 45, pr 49)
- relativedelta now explicitly supports fractional relative weeks, days, hours,
minutes and seconds. Fractional values in absolute parameters (year, day, etc)
are now deprecated. (gh issue 40, pr 190)
- relativedelta objects previously did not use microseconds to determine of two
relativedelta objects were equal. This oversight has been corrected.
Contributed by elprans (gh pr 113)
- rrule now has an xafter() method for retrieving multiple recurrences after a
specified date. (gh pr 38)
- str(rrule) now returns an RFC2445-compliant rrule string, contributed by
schinckel and armicron (lp:1406305, gh issue 47, prs 50, 62 and 160)
- rrule performance under certain conditions has been significantly improved
thanks to a patch contributed by dekoza, based on an article by Brian Beck
(exogen) (gh pr 136)
- The use of both the 'until' and 'count' parameters is now deprecated as
inconsistent with RFC2445 (gh pr 62, 185)
- Parsing an empty string will now raise a ValueError, rather than returning the
datetime passed to the 'default' parameter. (gh issue 78, pr 187)
- tzwinlocal objects now have a meaningful repr() and str() implementation
(gh issue 148, prs 184 and 186)
- Added equality logic for tzwin and tzwinlocal objects. (gh issue 151,
pr 180, 184)
- Added some flexibility in subclassing timelex, and switched the default
behavior over to using string methods rather than comparing against a fixed
list. (gh pr 122, 139)
- An issue causing tzstr() to crash on Python 2.x was fixed. (lp: 1331576,
gh issue 51, pr 55)
- An issue with string encoding causing exceptions under certain circumstances
when tzname() is called was fixed. (gh issue 60, 74, pr 75)
- Parser issue where calling parse() on dates with no day specified when the
day of the month in the default datetime (which is "today" if unspecified) is
greater than the number of days in the parsed month was fixed (this issue
tended to crop up between the 29th and 31st of the month, for obvious reasons)
(canonical gh issue 25, pr 30, 191)
- Fixed parser issue causing fuzzy_with_tokens to raise an unexpected exception
in certain circumstances. Contributed by MichaelAquilina (gh pr 91)
- Fixed parser issue where years > 100 AD were incorrectly parsed. Contributed
by Bachmann1234 (gh pr 130)
- Fixed parser issue where commas were not a valid separator between seconds
and microseconds, preventing parsing of ISO 8601 dates. Contributed by
ryanss (gh issue 28, pr 106)
- Fixed issue with tzwin encoding in locales with non-Latin alphabets
(gh issue 92, pr 98)
- Fixed an issue where tzwin was not being properly imported on Windows.
Contributed by labrys. (gh pr 134)
- Fixed a problem causing issues importing zoneinfo in certain circumstances.
Issue and solution contributed by alexxv (gh issue 97, pr 99)
- Fixed an issue where dateutil timezones were not compatible with basic time
objects. One of many, many timezone related issues contributed and tested by
labrys. (gh issue 132, pr 181)
- Fixed issue where tzwinlocal had an invalid utcoffset. (gh issue 135,
pr 141, 142)
- Fixed issue with tzwin and tzwinlocal where DST transitions were incorrectly
parsed from the registry. (gh issue 143, pr 178)
- updatezinfo.py no longer suppresses certain OSErrors. Contributed by bjamesv
(gh pr 164)
- An issue that arose when timezone locale changes during runtime has been
fixed by carlosxl and mjschultz (gh issue 100, prs 107, 109)
- Python 3.5 was added to the supported platforms in the metadata (tacaswell
gh pr 159) and the test suites (moreati gh pr 117).
- An issue with tox failing without unittest2 installed in Python 2.6 was fixed
by moreati (gh pr 115)
- Several deprecated functions were replaced in the tests by moreati
(gh pr 116)
- Improved the logic in Travis and Appveyor to alleviate issues where builds
were failing due to connection issues when downloading the IANA timezone
files. In addition to adding our own mirror for the files (gh pr 183), the
download is now retried a number of times (with a delay) (gh pr 177)
- Many failing doctests were fixed by moreati. (gh pr 120)
- Many fixes to the documentation (gh pr 103, gh pr 87 from radarhere,
gh pr 154 from gpoesia, gh pr 156 from awsum, gh pr 168 from ja8zyjits)
- Added a code coverage tool to the CI to help improve the library. (gh pr 182)
- We now have a mailing list - dateutilpython.org, graciously hosted by
Python.org.
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant