diff --git a/docs/changes.rst b/docs/changes.rst index 4d55c06ceb..3377083192 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -22,6 +22,33 @@ You should generally assume that an API is internal unless you have specific information to the contrary. +------------------ +3.9.0 - 2017-05-14 +------------------ + +This is a feature release, adding datetime-related strategies to the core strategies. + +``extra.datetime.timezones`` allows you to sample pytz timezones from +the Olsen database. Use directly in a recipe for tz-aware datetimes, or +compose with `st.none()` to allow a mix of aware and naive output. + +The new ``dates``, ``times``, ``datetimes``, and ``timedeltas`` strategies +in ``hypothesis.strategies`` are all constrained by objects of their type. +This means that you can generate dates bounded by a single day +(i.e. a single date), or datetimes constrained to the microsecond. + +``times`` and ``datetimes`` take an optional ``timezones=`` argument, which +defaults to ``none()`` for naive times. You can use our extra strategy +based on pytz, or roll your own timezones strategy with dateutil or even +the standard library. + +The old ``dates``, ``times``, and ``datetimes`` strategies in +``hypothesis.extra.datetimes`` are deprecated in favor of the new +core strategies, which are more flexible and have no dependencies. + +The default field mapping for DateTimeField in the Django extra now respects +the ``USE_TZ`` setting when choosing a strategy. + ------------------ 3.8.3 - 2017-05-09 ------------------ diff --git a/src/hypothesis/version.py b/src/hypothesis/version.py index 78ab14103b..bf278f7c29 100644 --- a/src/hypothesis/version.py +++ b/src/hypothesis/version.py @@ -17,5 +17,5 @@ from __future__ import division, print_function, absolute_import -__version_info__ = (3, 8, 3) +__version_info__ = (3, 9, 0) __version__ = '.'.join(map(str, __version_info__))