Skip to content
This repository has been archived by the owner on Nov 2, 2018. It is now read-only.

Scheduled weekly dependency update for week 52 #23

Closed
wants to merge 15 commits into from

Conversation

pyup-bot
Copy link

Updates

Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.

coverage 4.4.1 » 4.4.2 PyPI | Changelog | Repo
django-debug-panel 0.8.3 » 0.8.3 PyPI | Repo
django-debug-toolbar 1.9.1 » 1.9.1 PyPI | Changelog | Repo
factory-boy 2.9.2 » 2.9.2 PyPI | Changelog | Repo
fake-factory 0.6.0 » 9999.9.9 PyPI | Repo
responses 0.5.1 » 0.8.1 PyPI | Changelog | Repo
pylint 1.7.2 » 1.8.1 PyPI | Changelog | Repo
pytest 3.2.2 » 3.3.1 PyPI | Changelog | Repo | Homepage
Django 1.11.6 » 2.0 PyPI | Changelog | Homepage
djangorestframework 3.7.0 » 3.7.7 PyPI | Changelog | Homepage
matplotlib 1.5.3 » 2.1.1 PyPI | Changelog | Homepage
pandas 0.20.3 » 0.21.1 PyPI | Changelog | Homepage
psycopg2 2.7.3.1 » 2.7.3.2 PyPI | Changelog | Homepage
seaborn 0.7.1 » 0.8.1 PyPI | Changelog | Repo | Homepage
tensorflow 1.3.0 » 1.4.1 PyPI | Changelog | Homepage

Changelogs

coverage 4.4.1 -> 4.4.2

4.4.2


  • Support for Python 3.7. In some cases, class and module docstrings are no
    longer counted in statement totals, which could slightly change your total
    results.
  • Specifying both --source and --include no longer silently ignores the
    include setting, instead it displays a warning. Thanks, Loïc Dachary. Closes
    issue 265_ and issue 101_.
  • Fixed a race condition when saving data and multiple threads are tracing
    (issue 581_). It could produce a "dictionary changed size during iteration"
    RuntimeError. I believe this mostly but not entirely fixes the race
    condition. A true fix would likely be too expensive. Thanks, Peter Baughman
    for the debugging, and Olivier Grisel for the fix with tests.
  • Configuration values which are file paths will now apply tilde-expansion,
    closing issue 589_.
  • Now secondary config files like tox.ini and setup.cfg can be specified
    explicitly, and prefixed sections like [coverage:run] will be read. Fixes
    issue 588_.
  • Be more flexible about the command name displayed by help, fixing
    issue 600_. Thanks, Ben Finney.

.. _issue 101: https://bitbucket.org/ned/coveragepy/issues/101/settings-under-report-affect-running
.. _issue 581: https://bitbucket.org/ned/coveragepy/issues/581/race-condition-when-saving-data-under
.. _issue 588: https://bitbucket.org/ned/coveragepy/issues/588/using-rcfile-path-to-toxini-uses-run
.. _issue 589: https://bitbucket.org/ned/coveragepy/issues/589/allow-expansion-in-coveragerc
.. _issue 600: https://bitbucket.org/ned/coveragepy/issues/600/get-program-name-from-command-line-when

.. _changes_441:

django-debug-toolbar -> 1.9.1

1.9


This version is compatible with Django 2.0 and requires Django 1.8 or
later.

Bugfixes

  • The profiling panel now escapes reported data resulting in valid HTML.
  • Many minor cleanups and bugfixes.

1.8


This version is compatible with Django 1.11 and requires Django 1.8 or
later.

Backwards incompatible changes

  • debug_toolbar.middleware.show_toolbar (the default value of setting
    SHOW_TOOLBAR_CALLBACK) no longer returns False for AJAX requests.
    This is to allow reusing the SHOW_TOOLBAR_CALLBACK function to verify
    access to panel views requested via AJAX. Projects defining a custom
    SHOW_TOOLBAR_CALLBACK should remove checks for AJAX requests in order to
    continue to allow access to these panels.

Features

  • New decorator debug_toolbar.decorators.require_show_toolbar prevents
    unauthorized access to decorated views by checking SHOW_TOOLBAR_CALLBACK
    every request. Unauthorized access results in a 404.
  • The SKIP_TEMPLATE_PREFIXES setting allows skipping templates in
    the templates panel. Template-based form widgets' templates are
    skipped by default to avoid panel sizes going into hundreds of
    megabytes of HTML.

Bugfixes

  • All views are now decorated with
    debug_toolbar.decorators.require_show_toolbar preventing unauthorized
    access.
  • The templates panel now reuses contexts' pretty printed version which
    makes the debug toolbar usable again with Django 1.11's template-based
    forms rendering.
  • Long SQL statements are now forcibly wrapped to fit on the screen.

1.7


Bugfixes

  • Recursive template extension is now understood.
  • Deprecation warnings were fixed.
  • The SQL panel uses HMAC instead of simple hashes to verify that SQL
    statements have not been changed. Also, the handling of bytes and text
    for hashing has been hardened. Also, a bug with Python's division
    handling has been fixed for improved Python 3 support.
  • An error with django-jinja has been fixed.
  • A few CSS classes have been prefixed with djdt- to avoid
    conflicting class names.

1.6


The debug toolbar was adopted by jazzband.

Removed features

  • Support for automatic setup has been removed as it was frequently
    problematic. Installation now requires explicit setup. The
    DEBUG_TOOLBAR_PATCH_SETTINGS setting has also been removed as it is now
    unused. See the :doc:installation documentation <installation> for details.

Bugfixes

  • The DebugToolbarMiddleware now also supports Django 1.10's MIDDLEWARE
    setting.

1.5


This version is compatible with Django 1.10 and requires Django 1.8 or later.

Support for Python 3.2 is dropped.

Bugfixes

  • Restore compatibility with sqlparse ≥ 0.2.0.
  • Add compatibility with Bootstrap 4, Pure CSS, MDL, etc.
  • Improve compatibility with RequireJS / AMD.
  • Improve the UI slightly.
  • Fix invalid (X)HTML.

1.4


This version is compatible with Django 1.9 and requires Django 1.7 or later.

New features

  • New panel method :meth:debug_toolbar.panels.Panel.generate_stats allows panels
    to only record stats when the toolbar is going to be inserted into the
    response.

Bugfixes

  • Response time for requests of projects with numerous media files has
    been improved.

1.3


This is the first version compatible with Django 1.8.

New features

  • A new panel is available: Template Profiler.
  • The SHOW_TOOLBAR_CALLBACK accepts a callable.
  • The toolbar now provides a :ref:javascript-api.

Bugfixes

  • The toolbar handle cannot leave the visible area anymore when the toolbar is
    collapsed.
  • The root level logger is preserved.
  • The RESULTS_CACHE_SIZE setting is taken into account.
  • CSS classes are prefixed with djdt- to prevent name conflicts.
  • The private copy of jQuery no longer registers as an AMD module on sites
    that load RequireJS.

1.2


New features

  • The JQUERY_URL setting defines where the toolbar loads jQuery from.

Bugfixes

  • The toolbar now always loads a private copy of jQuery in order to avoid
    using an incompatible version. It no longer attemps to integrate with AMD.

This private copy is available in djdt.jQuery. Third-party panels are
encouraged to use it because it should be as stable as the toolbar itself.

1.1


This is the first version compatible with Django 1.7.

New features

  • The SQL panel colors queries depending on the stack level.
  • The Profiler panel allows configuring the maximum depth.

Bugfixes

  • Support languages where lowercase and uppercase strings may have different
    lengths.
  • Allow using cursor as context managers.
  • Make the SQL explain more helpful on SQLite.
  • Various JavaScript improvements.

Deprecated features

  • The INTERCEPT_REDIRECTS setting is superseded by the more generic
    DISABLE_PANELS.

1.0


This is the first stable version of the Debug Toolbar!

It includes many new features and performance improvements as well a few
backwards-incompatible changes to make the toolbar easier to deploy, use,
extend and maintain in the future.

You're strongly encouraged to review the installation and configuration docs
and redo the setup in your projects.

Third-party panels will need to be updated to work with this version.

factory-boy -> 2.9.2

2.9.2


Bugfix:

  • Fix declaration corruption bug when a factory defined foo__bar__baz=1 and a caller
    provided a foo__bar=x parameter at call time: this got merged into the factory's base
    declarations.

2.9.1


Bugfix:

2.9.0


This version brings massive changes to the core engine, thus reducing the number of
corner cases and weird behaviourrs.

New:

  • :issue:275: factory.fuzzy and factory.faker now use the same random seed.
  • Add :class:factory.Maybe, which chooses among two possible declarations based
    on another field's value (powers the :class:~factory.Trait feature).
  • :class:~factory.PostGenerationMethodCall only allows to pass one positional argument; use keyword arguments for
    extra parameters.

Deprecation:

  • factory.fuzzy.get_random_state is deprecated, factory.random.get_random_state should be used instead.
  • factory.fuzzy.set_random_state is deprecated, factory.random.set_random_state should be used instead.
  • factory.fuzzy.reseed_random is deprecated, factory.random.reseed_random should be used instead.

2.8.1


Bugfix:

  • Fix packaging issues.

2.8.0


New:

  • :issue:240: Call post-generation declarations in the order they were declared,
    thanks to Oleg Pidsadnyi <https://github.com/olegpidsadnyi>_.
  • :issue:309: Provide new options for SQLAlchemy session persistence

Bugfix:

  • :issue:334: Adjust for the package change in faker

2.7.0


New:

  • :issue:267: Add :class:factory.LazyFunction to remove unneeded lambda parameters,
    thanks to Hervé Cauwelier <https://github.com/bors-ltd>_.
  • :issue:251: Add :ref:parameterized factories <parameters> and :class:traits <factory.Trait>
  • :issue:256, :issue:292: Improve error messages in corner cases

Removed:

  • :issue:278: Formally drop support for Python2.6

2.6.1


New:

  • :issue:262: Allow optional forced flush on SQLAlchemy, courtesy of Minjung <https://github.com/Minjung>_.

2.6.0


New:

  • Add :attr:factory.FactoryOptions.rename to help handle conflicting names (:issue:206)
  • Add support for random-yet-realistic values through fake-factory <https://pypi.python.org/pypi/fake-factory>_,
    through the :class:factory.Faker class.
  • :class:factory.Iterator no longer begins iteration of its argument at import time,
    thus allowing to pass in a lazy iterator such as a Django queryset
    (i.e factory.Iterator(models.MyThingy.objects.all())).
  • Simplify imports for ORM layers, now available through a simple factory import,
    at factory.alchemy.SQLAlchemyModelFactory / factory.django.DjangoModelFactory / factory.mongoengine.MongoEngineFactory.

Bugfix:

  • :issue:201: Properly handle custom Django managers when dealing with abstract Django models.
  • :issue:212: Fix :meth:factory.django.mute_signals to handle Django's signal caching
  • :issue:228: Don't load :func:django.apps.apps.get_model() until required
  • :issue:219: Stop using :meth:mogo.model.Model.new(), deprecated 4 years ago.

2.5.2


Bugfix:

  • Add support for Django 1.7/1.8
  • Add support for mongoengine>=0.9.0 / pymongo>=2.1

2.5.1


Bugfix:

  • Respect custom managers in :class:~factory.django.DjangoModelFactory (see :issue:192)
  • Allow passing declarations (e.g :class:~factory.Sequence) as parameters to :class:~factory.django.FileField
    and :class:~factory.django.ImageField.

2.5.0


New:

  • Add support for getting/setting :mod:factory.fuzzy's random state (see :issue:175, :issue:185).
  • Support lazy evaluation of iterables in :class:factory.fuzzy.FuzzyChoice (see :issue:184).
  • Support non-default databases at the factory level (see :issue:171)
  • Make :class:factory.django.FileField and :class:factory.django.ImageField non-post_generation, i.e normal fields also available in save() (see :issue:141).

Bugfix:

  • Avoid issues when using :meth:factory.django.mute_signals on a base factory class (see :issue:183).
  • Fix limitations of :class:factory.StubFactory, that can now use :class:factory.SubFactory and co (see :issue:131).

Deprecation:

  • Remove deprecated features from :ref:v2.4.0
  • Remove the auto-magical sequence setup (based on the latest primary key value in the database) for Django and SQLAlchemy;
    this relates to issues :issue:170, :issue:153, :issue:111, :issue:103, :issue:92, :issue:78. See FactoryBoy/factory_boy@13d310f for technical details.

.. warning:: Version 2.5.0 removes the 'auto-magical sequence setup' bug-and-feature.
This could trigger some bugs when tests expected a non-zero sequence reference.

Upgrading
"""""""""

.. warning:: Version 2.5.0 removes features that were marked as deprecated in :ref:v2.4.0 <v2.4.0>.

All FACTORY_*-style attributes are now declared in a class Meta: section:

.. code-block:: python

Old-style, deprecated

class MyFactory(factory.Factory):
FACTORY_FOR = models.MyModel
FACTORY_HIDDEN_ARGS = ['a', 'b', 'c']

New-style

class MyFactory(factory.Factory):
class Meta:
model = models.MyModel
exclude = ['a', 'b', 'c']

A simple shell command to upgrade the code would be:

.. code-block:: sh

sed -i: inplace update
grep -l: only file names, not matching lines

sed -i 's/FACTORY_FOR =/class Meta:\n model =/' $(grep -l FACTORY_FOR $(find . -name '*.py'))

This takes care of all FACTORY_FOR occurences; the files containing other attributes to rename can be found with grep -R FACTORY .

2.4.1


Bugfix:

  • Fix overriding deeply inherited attributes (set in one factory, overridden in a subclass, used in a sub-sub-class).

2.4.0


New:

  • Add support for :attr:factory.fuzzy.FuzzyInteger.step, thanks to ilya-pirogov <https://github.com/ilya-pirogov>_ (:issue:120)
  • Add :meth:~factory.django.mute_signals decorator to temporarily disable some signals, thanks to ilya-pirogov <https://github.com/ilya-pirogov>_ (:issue:122)
  • Add :class:~factory.fuzzy.FuzzyFloat (:issue:124)
  • Declare target model and other non-declaration fields in a class Meta section.

Deprecation:

  • Use of FACTORY_FOR and other FACTORY class-level attributes is deprecated and will be removed in 2.5.
    Those attributes should now declared within the :class:class Meta <factory.FactoryOptions> attribute:
 For :class:`factory.Factory`:
 * Rename :attr:`~factory.Factory.FACTORY_FOR` to :attr:`~factory.FactoryOptions.model`
 * Rename :attr:`~factory.Factory.ABSTRACT_FACTORY` to :attr:`~factory.FactoryOptions.abstract`
 * Rename :attr:`~factory.Factory.FACTORY_STRATEGY` to :attr:`~factory.FactoryOptions.strategy`
 * Rename :attr:`~factory.Factory.FACTORY_ARG_PARAMETERS` to :attr:`~factory.FactoryOptions.inline_args`
 * Rename :attr:`~factory.Factory.FACTORY_HIDDEN_ARGS` to :attr:`~factory.FactoryOptions.exclude`
 For :class:`factory.django.DjangoModelFactory`:
 * Rename :attr:`~factory.django.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE` to :attr:`~factory.django.DjangoOptions.django_get_or_create`
 For :class:`factory.alchemy.SQLAlchemyModelFactory`:
 * Rename :attr:`~factory.alchemy.SQLAlchemyModelFactory.FACTORY_SESSION` to :attr:`~factory.alchemy.SQLAlchemyOptions.sqlalchemy_session`

2.3.1


Bugfix:

  • Fix badly written assert containing state-changing code, spotted by chsigi <https://github.com/chsigi>_ (:issue:126)
  • Don't crash when handling objects whose repr is non-pure-ascii bytes on Py2,
    discovered by mbertheau <https://github.com/mbertheau>_ (:issue:123) and strycore <https://github.com/strycore>_ (:issue:127)

2.3.0


New:

  • Add :class:~factory.fuzzy.FuzzyText, thanks to jdufresne <https://github.com/jdufresne>_ (:issue:97)
  • Add :class:~factory.fuzzy.FuzzyDecimal, thanks to thedrow <https://github.com/thedrow>_ (:issue:94)
  • Add support for :class:~mongoengine.EmbeddedDocument, thanks to imiric <https://github.com/imiric>_ (:issue:100)

2.2.1


Bugfix:

  • Fixed sequence counter for :class:~factory.django.DjangoModelFactory when a factory
    inherits from another factory relating to an abstract model.

2.2.0


Bugfix:

  • Removed duplicated :class:~factory.alchemy.SQLAlchemyModelFactory lurking in :mod:factory
    (:issue:83)
  • Properly handle sequences within object inheritance chains.
    If FactoryA inherits from FactoryB, and their associated classes share the same link,
    sequence counters will be shared (:issue:93)
  • Properly handle nested :class:~factory.SubFactory overrides

New:

  • The :class:~factory.django.DjangoModelFactory now supports the FACTORY_FOR = 'myapp.MyModel'
    syntax, making it easier to shove all factories in a single module (:issue:66).
  • Add :meth:factory.debug() helper for easier backtrace analysis
  • Adding factory support for mongoengine with :class:~factory.mongoengine.MongoEngineFactory.

2.1.2


New:

  • The :class:~factory.Factory.ABSTRACT_FACTORY keyword is now optional, and automatically set
    to True if neither the :class:~factory.Factory subclass nor its parent declare the
    :class:~factory.Factory.FACTORY_FOR attribute (:issue:74)

2.1.1


Bugfix:

  • Properly retrieve the color keyword argument passed to :class:~factory.django.ImageField

2.1.0


New:

  • Add :class:~factory.fuzzy.FuzzyDate thanks to saulshanabrook <https://github.com/saulshanabrook>_
  • Add :class:~factory.fuzzy.FuzzyDateTime and :class:~factory.fuzzy.FuzzyNaiveDateTime.
  • Add a :attr:~factory.builder.Resolver.factory_parent attribute to the
    :class:~factory.builder.Resolver passed to :class:~factory.LazyAttribute, in order to access
    fields defined in wrapping factories.
  • Move :class:~factory.django.DjangoModelFactory and :class:~factory.mogo.MogoFactory
    to their own modules (:mod:factory.django and :mod:factory.mogo)
  • Add the :meth:~factory.Factory.reset_sequence classmethod to :class:~factory.Factory
    to ease resetting the sequence counter for a given factory.
  • Add debug messages to factory logger.
  • Add a :meth:~factory.Iterator.reset method to :class:~factory.Iterator (:issue:63)
  • Add support for the SQLAlchemy ORM through :class:~factory.alchemy.SQLAlchemyModelFactory
    (:issue:64, thanks to Romain Commandé <https://github.com/rcommande>_)
  • Add :class:factory.django.FileField and :class:factory.django.ImageField hooks for
    related Django model fields (:issue:52)

Bugfix

  • Properly handle non-integer pks in :class:~factory.django.DjangoModelFactory (:issue:57).
  • Disable :class:~factory.RelatedFactory generation when a specific value was
    passed (:issue:62, thanks to Gabe Koscky <https://github.com/dhekke>_)

Deprecation:

  • Rename :class:~factory.RelatedFactory's name argument to factory_related_name (See :issue:58)

2.0.2


New:

  • When :attr:~factory.django.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE is
    empty, use Model.objects.create() instead of Model.objects.get_or_create.

2.0.1


New:

  • Don't push defaults to get_or_create when
    :attr:~factory.django.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE is not set.

2.0.0


New:

  • Allow overriding the base factory class for :func:~factory.make_factory and friends.
  • Add support for Python3 (Thanks to kmike <https://github.com/kmike>_ and nkryptic <https://github.com/nkryptic>_)
  • The default :attr:~factory.Sequence.type for :class:~factory.Sequence is now :obj:int
  • Fields listed in :attr:~factory.Factory.FACTORY_HIDDEN_ARGS won't be passed to
    the associated class' constructor
  • Add support for get_or_create in :class:~factory.django.DjangoModelFactory,
    through :attr:~factory.django.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE.
  • Add support for :mod:~factory.fuzzy attribute definitions.
  • The :class:Sequence counter can be overridden when calling a generating function
  • Add :class:~factory.Dict and :class:~factory.List declarations (Closes :issue:18).

Removed:

  • Remove associated class discovery
  • Remove :class:~factory.InfiniteIterator and :func:~factory.infinite_iterator
  • Remove :class:~factory.CircularSubFactory
  • Remove extract_prefix kwarg to post-generation hooks.
  • Stop defaulting to Django's Foo.objects.create() when "creating" instances
  • Remove STRATEGY_*
  • Remove :meth:~factory.Factory.set_building_function / :meth:~factory.Factory.set_creation_function

1.3.0


.. warning:: This version deprecates many magic or unexplicit features that will be
removed in v2.0.0.

        Please read the :ref:`changelog-1-3-0-upgrading` section, then run your
        tests with ``python -W default`` to see all remaining warnings.

New
"""

  • Global:
    • Rewrite the whole documentation
    • Provide a dedicated :class:~factory.mogo.MogoFactory subclass of :class:~factory.Factory
  • The Factory class:
    • Better creation/building customization hooks at :meth:factory.Factory._build and :meth:factory.Factory.create
    • Add support for passing non-kwarg parameters to a :class:~factory.Factory
      wrapped class through :attr:~factory.Factory.FACTORY_ARG_PARAMETERS.
    • Keep the :attr:~factory.Factory.FACTORY_FOR attribute in :class:~factory.Factory classes
  • Declarations:
    • Allow :class:~factory.SubFactory to solve circular dependencies between factories
    • Enhance :class:~factory.SelfAttribute to handle "container" attribute fetching
    • Add a :attr:~factory.Iterator.getter to :class:~factory.Iterator
      declarations
    • A :class:~factory.Iterator may be prevented from cycling by setting
      its :attr:~factory.Iterator.cycle argument to False
    • Allow overriding default arguments in a :class:~factory.PostGenerationMethodCall
      when generating an instance of the factory
    • An object created by a :class:~factory.django.DjangoModelFactory will be saved
      again after :class:~factory.PostGeneration hooks execution

Pending deprecation
"""""""""""""""""""

The following features have been deprecated and will be removed in an upcoming release.

  • Declarations:
    • :class:~factory.InfiniteIterator is deprecated in favor of :class:~factory.Iterator
    • :class:~factory.CircularSubFactory is deprecated in favor of :class:~factory.SubFactory
    • The extract_prefix argument to :meth:~factory.post_generation is now deprecated
  • Factory:
    • Usage of :meth:~factory.Factory.set_creation_function and :meth:~factory.Factory.set_building_function
      are now deprecated
    • Implicit associated class discovery is no longer supported, you must set the :attr:~factory.Factory.FACTORY_FOR
      attribute on all :class:~factory.Factory subclasses

.. _changelog-1-3-0-upgrading:

Upgrading
"""""""""

This version deprecates a few magic or undocumented features.
All warnings will turn into errors starting from v2.0.0.

In order to upgrade client code, apply the following rules:

  • Add a FACTORY_FOR attribute pointing to the target class to each
    :class:~factory.Factory, instead of relying on automagic associated class
    discovery
  • When using factory_boy for Django models, have each factory inherit from
    :class:~factory.django.DjangoModelFactory
  • Replace factory.CircularSubFactory('some.module', 'Symbol') with
    factory.SubFactory('some.module.Symbol')
  • Replace factory.InfiniteIterator(iterable) with factory.Iterator(iterable)
  • Replace factory.post_generation() with factory.post_generation
  • Replace factory.set_building_function(SomeFactory, building_function) with
    an override of the :meth:~factory.Factory._build method of SomeFactory
  • Replace factory.set_creation_function(SomeFactory, creation_function) with
    an override of the :meth:~factory.Factory._create method of SomeFactory

1.2.0


New:

  • Add :class:~factory.CircularSubFactory to solve circular dependencies between factories

1.1.5


Bugfix:

  • Fix :class:~factory.PostGenerationDeclaration and derived classes.

1.1.4


New:

  • Add :meth:~factory.use_strategy decorator to override a
    :class:~factory.Factory's default strategy
  • Improve test running (tox, python2.6/2.7)
  • Introduce :class:~factory.PostGeneration and
    :class:~factory.RelatedFactory

1.1.3


Bugfix:

  • Fix packaging rules

1.1.2


New:

  • Add :class:~factory.Iterator and :class:~factory.InfiniteIterator for :class:~factory.Factory attribute declarations.
  • Provide :func:~factory.Factory.generate and :func:~factory.Factory.simple_generate, that allow specifying the instantiation strategy directly.
    Also provides :func:~factory.Factory.generate_batch and :func:~factory.Factory.simple_generate_batch.

1.1.1


New:

  • Add :func:~factory.Factory.build_batch, :func:~factory.Factory.create_batch and :func:~factory.Factory.stub_batch, to instantiate factories in batch

1.1.0


New:

  • Improve the :class:~factory.SelfAttribute syntax to fetch sub-attributes using the foo.bar syntax;
  • Add :class:~factory.ContainerAttribute to fetch attributes from the container of a :class:~factory.SubFactory.
  • Provide the :func:~factory.make_factory helper: MyClassFactory = make_factory(MyClass, x=3, y=4)
  • Add :func:~factory.build, :func:~factory.create, :func:~factory.stub helpers

Bugfix:

  • Allow classmethod/staticmethod on factories

Deprecation:

  • Auto-discovery of :attr:~factory.Factory.FACTORY_FOR based on class name is now deprecated

1.0.4


New:

  • Improve the algorithm for populating a :class:~factory.Factory attributes dict
  • Add python setup.py test command to run the test suite
  • Allow custom build functions
  • Introduce :data:~factory.MOGO_BUILD build function
  • Add support for inheriting from multiple :class:~factory.Factory
  • Base :class:~factory.Factory classes can now be declared :attr:abstract <factory.Factory.ABSTRACT_FACTORY>.
  • Provide :class:~factory.django.DjangoModelFactory, whose :class:~factory.Sequence counter starts at the next free database id
  • Introduce :class:~factory.SelfAttribute, a shortcut for factory.LazyAttribute(lambda o: o.foo.bar.baz.

Bugfix:

  • Handle nested :class:~factory.SubFactory
  • Share sequence counter between parent and subclasses
  • Fix :class:~factory.SubFactory / :class:~factory.Sequence interferences

1.0.2


New:

  • Introduce :class:~factory.SubFactory

1.0.1


New:

  • Allow :class:~factory.Factory inheritance
  • Improve handling of custom build/create functions

Bugfix:

  • Fix concurrency between :class:~factory.LazyAttribute and :class:~factory.Sequence

1.0.0


New:

  • First version of factory_boy

Credits

  • Initial version by Mark Sandstrom (2010)
  • Developed by Raphaël Barrois since 2011

.. vim:et:ts=4:sw=4:tw=119:ft=rst:

responses 0.5.1 -> 0.8.1

0.8.0


  • Added the ability to passthru real requests via add_passthru()
    and passthru_prefixes configurations.

0.7.0


  • Responses will now be rotated until the final match is hit, and
    then persist using that response (GH-171).

0.6.2


  • Fixed call counting with exceptions (GH-163).
  • Fixed behavior with arbitrary status codes (GH-164).
  • Fixed handling of multiple responses with the same match (GH-165).
  • Fixed default path behavior with match_querystring (GH-166).

0.6.1


  • Restored adding_headers compatibility (GH-160).

0.6.0


  • Allow empty list/dict as json object (GH-100).
  • Added response_callback (GH-151).
  • Added Response interfaces (GH-155).
  • Fixed unicode characters in querystring (GH-153).
  • Added support for streaming IO buffers (GH-154).
  • Added support for empty (unset) Content-Type (GH-139).
  • Added reason to mocked responses (GH-132).
  • yapf autoformatting now enforced on codebase.

pylint 1.7.2 -> 1.8.1

1.8

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

Release date: 2017-12-15

  • Respect disable=... in config file when running with --py3k.
  • New warning shallow-copy-environ added
 Shallow copy of os.environ doesn't work as people may expect. os.environ
 is not a dict object but rather a proxy object, so any changes made
 on copy may have unexpected effects on os.environ
 Instead of copy.copy(os.environ) method os.environ.copy() should be
 used.
 See https://bugs.python.org/issue15373 for details.
 Close 1301
  • Do not display no-absolute-import warning multiple times per file.
  • trailing-comma-tuple refactor check now extends to assignment with
    more than one element (such as lists)
 Close 1713
  • Fixing u'' string in superfluous-parens message
 Close 1420
  • abstract-class-instantiated is now emitted for all inference paths.
  Close 1673
  • Add set of predefined naming style to ease configuration of checking
    naming conventions.
 Closes 1013
  • Added a new check, keyword-arg-before-vararg
 This is emitted for function definitions
 in which keyword arguments are placed before variable
 positional arguments (*args).
 This may lead to args list getting modified if keyword argument's value
 is not provided in the function call assuming it will take default value
 provided in the definition.
  • The invalid-name check contains the name of the template that caused the failure
 Close 1176
  • Using the -j flag won't start more child linters than needed.
 Contributed by Roman Ivanov in 1614
  • Fix a false positive with bad-python3-import on relative imports
 Close 1608
  • Added a new Python 3 check, non-ascii-bytes-literals
 Close 1545
  • Added a couple of new Python 3 checks for accessing dict methods in non-iterable context
  • Protocol checks (not-a-mapping, not-an-iterable and co.) aren't emitted on classes with dynamic getattr
  • Added a new warning, 'bad-thread-instantiation'
 This message is emitted when the threading.Thread class does not
 receive the target argument, but receives just one argument, which
 is by default the group parameter.
 Close 1327
  • In non-quiet mode, absolute path of used config file is logged to
    standard error.
    Close 1519
  • Raise meaningful exception for invalid reporter class being selected
 When unknown reporter class will be selected as Pylint reporter,
 meaningful error message would be raised instead of bare ``ImportError``
 or ``AttribueError`` related to module or reporter class being not found.
 Close 1388
  • Added a new Python 3 check for accessing removed functions from itertools
    like izip or ifilterfalse
  • Added a new Python 3 check for accessing removed fields from the types
    module like UnicodeType or XRangeType
  • Added a new Python 3 check for declaring a method next that would have
    been treated as an iterator in Python 2 but a normal function in Python 3.
  • Added a new key-value pair in json output. The key is message-id
    and the value is the message id.
    Close 1512

  • Added a new Python 3.0 check for raising a StopIteration inside a generator.
    The check about raising a StopIteration inside a generator is also valid if the exception
    raised inherit from StopIteration.
    Close 1385

  • Added a new warning, raising-format-tuple, to detect multi-argument
    exception construction instead of message string formatting.
  • Added a new check for method of logging module that concatenate string via + operator
    Close 1479
  • Added parameter for limiting number of suggestions in spellchecking checkers
  • Fix a corner-case in consider-using-ternary checker.
 When object ``A`` used in  ``X and A or B`` was falsy in boolean context,
 Pylint incorrectly emitted non-equivalent ternary-based suggestion.
 After a change message is correctly not emitted for this case.
 Close 1559
  • Added suggestion-mode configuration flag. When flag is enabled, informational
    message is emitted instead of cryptic error message for attributes accessed on
    c-extensions.
    Close 1466
  • Fix a false positive useless-super-delegation message when
    parameters default values are different from those used in the base class.
    Close 1085
  • Disabling 'wrong-import-order', 'wrong-import-position', or
    'ungrouped-imports' for a single line now prevents that line from
    triggering violations on subsequent lines.
 Close 1336
  • Added a new Python check for inconsistent return statements inside method or function.
    Close 1267
  • Fix superfluous-parens false positive related to handling logical statements
    involving in operator.
 Close 574
  • function-redefined message is no longer emitted for functions and
    methods which names matches dummy variable name regular expression.
    Close 1369
  • Fix missing-param-doc and missing-type-doc false positives when
    mixing Args and Keyword Args in Google docstring.
    Close 1409
* Fix ``missing-docstring`` false negatives when modules, classes, or methods
consist of compound statements that exceed the ``docstring-min-length``
  • Fix useless-else-on-loop false positives when break statements are
    deeply nested inside loop.
    Close 1661
  • Fix no wrong-import-order message emitted on ordering of first and third party
    libraries. With this fix, pylint distinguishes third and first party
    modules when checking import order.
    Close 1702
  • Fix pylint disable=fixme directives ignored for comments following the
    last statement in a file.
    Close 1681
  • Fix line-too-long message deactivated by wrong disable directive.
    The directive disable=fixme doesn't deactivate anymore the emission
    of line-too-long message for long commented lines.
    Close 1741
  • If the rcfile specified on the command line doesn't exist, then an
    IOError exception is raised.
    Close 1747

pytest 3.2.2 -> 3.3.1

3.3.1

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

Bug Fixes

  • Fix issue about -p no:<plugin> having no effect. (2920 <https://github.com/pytest-dev/pytest/issues/2920>_)
  • Fix regression with warnings that contained non-strings in their arguments in
    Python 2. (2956 <https://github.com/pytest-dev/pytest/issues/2956>_)
  • Always escape null bytes when setting PYTEST_CURRENT_TEST. (2957 <https://github.com/pytest-dev/pytest/issues/2957>_)
  • Fix ZeroDivisionError when using the testmon plugin when no tests
    were actually collected. (2971 <https://github.com/pytest-dev/pytest/issues/2971>_)
  • Bring back TerminalReporter.writer as an alias to
    TerminalReporter._tw. This alias was removed by accident in the 3.3.0
    release. (2984 <https://github.com/pytest-dev/pytest/issues/2984>_)
  • The pytest-capturelog plugin is now also blacklisted, avoiding errors when
    running pytest with it still installed. (3004 <https://github.com/pytest-dev/pytest/issues/3004>_)

Improved Documentation

  • Fix broken link to plugin pytest-localserver. (2963 <https://github.com/pytest-dev/pytest/issues/2963>_)

Trivial/Internal Changes

  • Update github "bugs" link in CONTRIBUTING.rst (2949 <https://github.com/pytest-dev/pytest/issues/2949>_)

3.3.0

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

Deprecations and Removals

  • Pytest no longer supports Python 2.6 and 3.3. Those Python versions
    are EOL for some time now and incur maintenance and compatibility costs on
    the pytest core team, and following up with the rest of the community we
    decided that they will no longer be supported starting on this version. Users
    which still require those versions should pin pytest to <3.3. (2812 <https://github.com/pytest-dev/pytest/issues/2812>_)
  • Remove internal _preloadplugins() function. This removal is part of the
    pytest_namespace() hook deprecation. (2636 <https://github.com/pytest-dev/pytest/issues/2636>_)
  • Internally change CallSpec2 to have a list of marks instead of a broken
    mapping of keywords. This removes the keywords attribute of the internal
    CallSpec2 class. (2672 <https://github.com/pytest-dev/pytest/issues/2672>_)
  • Remove ParameterSet.deprecated_arg_dict - its not a public api and the lack
    of the underscore was a naming error. (2675 <https://github.com/pytest-dev/pytest/issues/2675>_)
  • Remove the internal multi-typed attribute Node._evalskip and replace it
    with the boolean Node._skipped_by_mark. (2767 <https://github.com/pytest-dev/pytest/issues/2767>_)
  • The params list passed to pytest.fixture is now for
    all effects considered immutable and frozen at the moment of the pytest.fixture
    call. Previously the list could be changed before the first invocation of the fixture
    allowing for a form of dynamic parametrization (for example, updated from command-line options),
    but this was an unwanted implementation detail which complicated the internals and prevented
    some internal cleanup. See issue 2959 <https://github.com/pytest-dev/pytest/issues/2959>_
    for details and a recommended workaround.

Features

  • pytest_fixture_post_finalizer hook can now receive a request
    argument. (2124 <https://github.com/pytest-dev/pytest/issues/2124>_)
  • Replace the old introspection code in compat.py that determines the available
    arguments of fixtures with inspect.signature on Python 3 and
    funcsigs.signature on Python 2. This should respect __signature__
    declarations on functions. (2267 <https://github.com/pytest-dev/pytest/issues/2267>_)
  • Report tests with global pytestmark variable only once. (2549 <https://github.com/pytest-dev/pytest/issues/2549>_)
  • Now pytest displays the total progress percentage while running tests. The
    previous output style can be set by configuring the console_output_style
    setting to classic. (2657 <https://github.com/pytest-dev/pytest/issues/2657>_)
  • Match warns signature to raises by adding match keyword. (2708 <https://github.com/pytest-dev/pytest/issues/2708>_)
  • Pytest now captures and displays output from the standard logging module.
    The user can control the logging level to be captured by specifying options
    in pytest.ini, the command line and also during individual tests using
    markers. Also, a caplog fixture is available that enables users to test
    the captured log during specific tests (similar to capsys for example).
    For more information, please see the logging docs <https://docs.pytest.org/en/latest/logging.html>. This feature was
    introduced by merging the popular pytest-catchlog <https://pypi.org/project/pytest-catchlog/>
    plugin, thanks to Thomas Hisch <https://github.com/thisch>. Be advised that during the merging the
    backward compatibility interface with the defunct pytest-capturelog has
    been dropped. (2794 <https://github.com/pytest-dev/pytest/issues/2794>
    )
  • Add allow_module_level kwarg to pytest.skip(), enabling to skip the
    whole module. (2808 <https://github.com/pytest-dev/pytest/issues/2808>_)
  • Allow setting file_or_dir, -c, and -o in PYTEST_ADDOPTS. (2824 <https://github.com/pytest-dev/pytest/issues/2824>_)
  • Return stdout/stderr capture results as a namedtuple, so out and
    err can be accessed by attribute. (2879 <https://github.com/pytest-dev/pytest/issues/2879>_)
  • Add capfdbinary, a version of capfd which returns bytes from
    readouterr(). (2923 <https://github.com/pytest-dev/pytest/issues/2923>_)
  • Add capsysbinary a version of capsys which returns bytes from
    readouterr(). (2934 <https://github.com/pytest-dev/pytest/issues/2934>_)
  • Implement feature to skip setup.py files when run with
    --doctest-modules. (502 <https://github.com/pytest-dev/pytest/issues/502>_)

Bug Fixes

  • Resume output capturing after capsys/capfd.disabled() context manager.
    (1993 <https://github.com/pytest-dev/pytest/issues/1993>_)
  • pytest_fixture_setup and pytest_fixture_post_finalizer hooks are now
    called for all conftest.py files. (2124 <https://github.com/pytest-dev/pytest/issues/2124>_)
  • If an exception happens while loading a plugin, pytest no longer hides the
    original traceback. In python2 it will show the original traceback with a new
    message that explains in which plugin. In python3 it will show 2 canonized
    exceptions, the original exception while loading the plugin in addition to an
    exception that PyTest throws about loading a plugin. (2491 <https://github.com/pytest-dev/pytest/issues/2491>_)
  • capsys and capfd can now be used by other fixtures. (2709 <https://github.com/pytest-dev/pytest/issues/2709>_)
  • Internal pytester plugin properly encodes bytes arguments to
    utf-8. (2738 <https://github.com/pytest-dev/pytest/issues/2738>_)
  • testdir now uses use the same method used by tmpdir to create its
    temporary directory. This changes the final structure of the testdir
    directory slightly, but should not affect usage in normal scenarios and
    avoids a number of potential problems. (2751 <https://github.com/pytest-dev/pytest/issues/2751>_)
  • Pytest no longer complains about warnings with unicode messages being
    non-ascii compatible even for ascii-compatible messages. As a result of this,
    warnings with unicode messages are converted first to an ascii representation
    for safety. (2809 <https://github.com/pytest-dev/pytest/issues/2809>_)
  • Change return value of pytest command when --maxfail is reached from
    2 (interrupted) to 1 (failed). (2845 <https://github.com/pytest-dev/pytest/issues/2845>_)
  • Fix issue in assertion rewriting which could lead it to rewrite modules which
    should not be rewritten. (2939 <https://github.com/pytest-dev/pytest/issues/2939>_)
  • Handle marks without description in pytest.ini. (2942 <https://github.com/pytest-dev/pytest/issues/2942>_)

Trivial/Internal Changes

  • pytest now depends on attrs <https://pypi.org/project/attrs/>_ for internal
    structures to ease code maintainability. (2641 <https://github.com/pytest-dev/pytest/issues/2641>_)
  • Refactored internal Python 2/3 compatibility code to use six. (2642 <https://github.com/pytest-dev/pytest/issues/2642>_)
  • Stop vendoring pluggy - we're missing out on its latest changes for not
    much benefit (2719 <https://github.com/pytest-dev/pytest/issues/2719>_)
  • Internal refactor: simplify ascii string escaping by using the
    backslashreplace error handler in newer Python 3 versions. (2734 <https://github.com/pytest-dev/pytest/issues/2734>_)
  • Remove unnecessary mark evaluator in unittest plugin (2767 <https://github.com/pytest-dev/pytest/issues/2767>_)
  • Calls to Metafunc.addcall now emit a deprecation warning. This function
    is scheduled to be removed in pytest-4.0. (2876 <https://github.com/pytest-dev/pytest/issues/2876>_)
  • Internal move of the parameterset extraction to a more maintainable place.
    (2877 <https://github.com/pytest-dev/pytest/issues/2877>_)
  • Internal refactoring to simplify scope node lookup. (2910 <https://github.com/pytest-dev/pytest/issues/2910>_)
  • Configure pytest to prevent pip from installing pytest in unsupported
    Python versions. (2922 <https://github.com/pytest-dev/pytest/issues/2922>_)

3.2.5

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

Bug Fixes

  • Remove py<1.5 restriction from pytest as this can cause version
    conflicts in some installations. (2926 <https://github.com/pytest-dev/pytest/issues/2926>_)

3.2.4

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

Bug Fixes

  • Fix the bug where running with --pyargs will result in items with
    empty parent.nodeid if run from a different root directory. (2775 <https://github.com/pytest-dev/pytest/issues/2775>_)
  • Fix issue with pytest.parametrize if argnames was specified as keyword arguments.
    (2819 <https://github.com/pytest-dev/pytest/issues/2819>_)
  • Strip whitespace from marker names when reading them from INI config. (2856 <https://github.com/pytest-dev/pytest/issues/2856>_)
  • Show full context of doctest source in the pytest output, if the line number of
    failed example in the docstring is < 9. (2882 &lt;https://github.com/pytest-dev/pytest/issues/2882&gt;_)
  • Match fixture paths against actual path segments in order to avoid matching folders which share a prefix.
    (2836 &lt;https://github.com/pytest-dev/pytest/issues/2836&gt;_)

Improved Documentation

  • Introduce a dedicated section about conftest.py. (1505 &lt;https://github.com/pytest-dev/pytest/issues/1505&gt;_)
  • Explicitly mention xpass in the documentation of xfail. (1997 &lt;https://github.com/pytest-dev/pytest/issues/1997&gt;_)
  • Append example for pytest.param in the example/parametrize document. (2658 &lt;https://github.com/pytest-dev/pytest/issues/2658&gt;_)
  • Clarify language of proposal for fixtures parameters (2893 &lt;https://github.com/pytest-dev/pytest/issues/2893&gt;_)
  • List python 3.6 in the documented supported versions in the getting started
    document. (2903 &lt;https://github.com/pytest-dev/pytest/issues/2903&gt;_)
  • Clarify the documentation of available fixture scopes. (538 &lt;https://github.com/pytest-dev/pytest/issues/538&gt;_)
  • Add documentation about the python -m pytest invocation adding the
    current directory to sys.path. (911 &lt;https://github.com/pytest-dev/pytest/issues/911&gt;_)

3.2.3

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

Bug Fixes

  • Fix crash in tab completion when no prefix is given. (2748 &lt;https://github.com/pytest-dev/pytest/issues/2748&gt;_)
  • The equality checking function (__eq__) of MarkDecorator returns
    False if one object is not an instance of MarkDecorator. (2758 &lt;https://github.com/pytest-dev/pytest/issues/2758&gt;_)
  • When running pytest --fixtures-per-test: don't crash if an item has no
    fixtureinfo attribute (e.g. doctests) (2788 &lt;https://github.com/pytest-dev/pytest/issues/2788&gt;)

Improved Documentation

  • In help text of -k option, add example of using not to not select
    certain tests whose names match the provided expression. (1442 &lt;https://github.com/pytest-dev/pytest/issues/1442&gt;_)
  • Add note in parametrize.rst about calling metafunc.parametrize
    multiple times. (1548 &lt;https://github.com/pytest-dev/pytest/issues/1548&gt;_)

Trivial/Internal Changes

  • Set xfail_strict=True in pytest's own test suite to catch expected
    failures as soon as they start to pass. (2722 &lt;https://github.com/pytest-dev/pytest/issues/2722&gt;_)
  • Fix typo in example of passing a callable to markers (in example/markers.rst)
    (2765 &lt;https://github.com/pytest-dev/pytest/issues/2765&gt;_)

Django 1.11.6 -> 2.0

2.0

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

December 2, 2017

Welcome to Django 2.0!

These release notes cover the :ref:new features &lt;whats-new-2.0&gt;, as well as
some :ref:backwards incompatible changes &lt;backwards-incompatible-2.0&gt; you'll
want to be aware of when upgrading from Django 1.11 or earlier. We've
:ref:dropped some features&lt;removed-features-2.0&gt; that have reached the end of
their deprecation cycle, and we've :ref:begun the deprecation process for some features &lt;deprecated-features-2.0&gt;.

This release starts Django's use of a :ref:loose form of semantic versioning &lt;internal-release-cadence&gt;, but there aren't any major backwards incompatible
changes that might be expected of a 2.0 release. Upgrading should be a similar
amount of effort as past feature releases.

See the :doc:/howto/upgrade-version guide if you're updating an existing
project.

Python compatibility

Django 2.0 supports Python 3.4, 3.5, and 3.6. We highly recommend and only
officially support the latest release of each series.

The Django 1.11.x series is the last to support Python 2.7.

Django 2.0 will be the last release series to support Python 3.4. If you plan
a deployment of Python 3.4 beyond the end-of-life for Django 2.0 (April 2019),
stick with Django 1.11 LTS (supported until April 2020) instead. Note, however,
that the end-of-life for Python 3.4 is March 2019.

Third-party library support for older version of Django

Following the release of Django 2.0, we suggest that third-party app authors
drop support for all versions of Django prior to 1.11. At that time, you should
be able to run your package's tests using python -Wd so that deprecation
warnings do appear. After making the deprecation warning fixes, your app should
be compatible with Django 2.0.

.. _whats-new-2.0:

What's new in Django 2.0

Simplified URL routing syntax

The new :func:django.urls.path() function allows a simpler, more readable URL
routing syntax. For example, this example from previous Django releases::

url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),

could be written as::

path('articles/<int:year>/', views.year_archive),

The new syntax supports type coercion of URL parameters. In the example, the
view will receive the year keyword argument as an integer rather than as
a string. Also, the URLs that will match are slightly less constrained in the
rewritten example. For example, the year 10000 will now match since the year
integers aren't constrained to be exactly four digits long as they are in the
regular expression.

The django.conf.urls.url() function from previous versions is now available
as :func:django.urls.re_path. The old location remains for backwards
compatibility, without an imminent deprecation. The old
django.conf.urls.include() function is now importable from django.urls
so you can use from django.urls import include, path, re_path in your
URLconfs.

The :doc:/topics/http/urls document is rewritten to feature the new syntax
and provide more details.

Mobile-friendly contrib.admin

The admin is now responsive and supports all major mobile devices. Older
browsers may experience varying levels of graceful degradation.

Window expressions

The new :class:~django.db.models.expressions.Window expression allows
adding an OVER clause to querysets. You can use :ref:window functions &lt;window-functions&gt; and :ref:aggregate functions &lt;aggregation-functions&gt; in
the expression.

Minor features

:mod:django.contrib.admin

  • The new :attr:.ModelAdmin.autocomplete_fields attribute and
    :meth:.ModelAdmin.get_autocomplete_fields method allow using an
    Select2 &lt;https://select2.org&gt;_ search widget for ForeignKey and
    ManyToManyField.

:mod:django.contrib.auth

  • The default iteration count for the PBKDF2 password hasher is increased from
    36,000 to 100,000.

:mod:django.contrib.gis

  • Added MySQL support for the
    :class:~django.contrib.gis.db.models.functions.AsGeoJSON function,
    :class:~django.contrib.gis.db.models.functions.GeoHash function,
    :class:~django.contrib.gis.db.models.functions.IsValid function,
    :lookup:isvalid lookup, and :ref:distance lookups &lt;distance-lookups&gt;.
  • Added the :class:~django.contrib.gis.db.models.functions.Azimuth and
    :class:~django.contrib.gis.db.models.functions.LineLocatePoint functions,
    supported on PostGIS and SpatiaLite.
  • Any :class:~django.contrib.gis.geos.GEOSGeometry imported from GeoJSON now
    has its SRID set.
  • Added the :attr:.OSMWidget.default_zoom attribute to customize the map's
    default zoom level.
  • Made metadata readable and editable on rasters through the
    :attr:~django.contrib.gis.gdal.GDALRaster.metadata,
    :attr:~django.contrib.gis.gdal.GDALRaster.info, and
    :attr:~django.contrib.gis.gdal.GDALBand.metadata attributes.
  • Allowed passing driver-specific creation options to
    :class:~django.contrib.gis.gdal.GDALRaster objects using papsz_options.
  • Allowed creating :class:~django.contrib.gis.gdal.GDALRaster objects in
    GDAL's internal virtual filesystem. Rasters can now be :ref:created from and converted to binary data &lt;gdal-raster-vsimem&gt; in-memory.
  • The new :meth:GDALBand.color_interp() &lt;django.contrib.gis.gdal.GDALBand.color_interp&gt; method returns the color
    interpretation for the band.

:mod:django.contrib.postgres

  • The new distinct argument for
    :class:~django.contrib.postgres.aggregates.ArrayAgg determines if
    concatenated values will be distinct.
  • The new :class:~django.contrib.postgres.functions.RandomUUID database
    function returns a version 4 UUID. It requires use of PostgreSQL's
    pgcrypto extension which can be activated using the new
    :class:~django.contrib.postgres.operations.CryptoExtension migration
    operation.
  • :class:django.contrib.postgres.indexes.GinIndex now supports the
    fastupdate and gin_pending_list_limit parameters.
  • The new :class:~django.contrib.postgres.indexes.GistIndex class allows
    creating GiST indexes in the database. The new
    :class:~django.contrib.postgres.operations.BtreeGistExtension migration
    operation installs the btree_gist extension to add support for operator
    classes that aren't built-in.
  • :djadmin:inspectdb can now introspect JSONField and various
    RangeField\s (django.contrib.postgres must be in INSTALLED_APPS).

:mod:django.contrib.sitemaps

  • Added the protocol keyword argument to the
    :class:~django.contrib.sitemaps.GenericSitemap constructor.

Cache

  • cache.set_many() now returns a list of keys that failed to be inserted.
    For the built-in backends, failed inserts can only happen on memcached.

File Storage

  • :meth:File.open() &lt;django.core.files.File.open&gt; can be used as a context
    manager, e.g. with file.open() as f:.

Forms

  • The new date_attrs and time_attrs arguments for
    :class:~django.forms.SplitDateTimeWidget and
    :class:~django.forms.SplitHiddenDateTimeWidget allow specifying different
    HTML attributes for the DateInput and TimeInput (or hidden)
    subwidgets.
  • The new :meth:Form.errors.get_json_data() &lt;django.forms.Form.errors.get_json_data&gt; method returns form errors as
    a dictionary suitable for including in a JSON response.

Generic Views

  • The new :attr:.ContextMixin.extra_context attribute allows adding context
    in View.as_view().

Management Commands

  • :djadmin:inspectdb now translates MySQL's unsigned integer columns to
    PositiveIntegerField or PositiveSmallIntegerField.
  • The new :option:makemessages --add-location option controls the comment
    format in PO files.
  • :djadmin:loaddata can now :ref:read from stdin &lt;loading-fixtures-stdin&gt;.
  • The new :option:diffsettings --output option allows formatting the output
    in a unified diff format.
  • On Oracle, :djadmin:inspectdb can now introspect AutoField if the
    column is created as an identity column.
  • On MySQL, :djadmin:dbshell now supports client-side TLS certificates.

Migrations

  • The new :option:squashmigrations --squashed-name option allows naming the
    squashed migration.

Models

  • The new :class:~django.db.models.functions.StrIndex database function
    finds the starting index of a string inside another string.
  • On Oracle, AutoField and BigAutoField are now created as identity columns_.

.. _identity columns: https://docs.oracle.com/database/121/DRDAA/migr_tools_feat.htmDRDAA109

  • The new chunk_size parameter of :meth:.QuerySet.iterator controls the
    number of rows fetched by the Python database client when streaming results
    from the database. For databases that don't support server-side cursors, it
    controls the number of results Django fetches from the database adapter.
  • :meth:.QuerySet.earliest, :meth:.QuerySet.latest, and
    :attr:Meta.get_latest_by &lt;django.db.models.Options.get_latest_by&gt; now
    allow ordering by several fields.
  • Added the :class:~django.db.models.functions.ExtractQuarter function to
    extract the quarter from :class:~django.db.models.DateField and
    :class:~django.db.models.DateTimeField, and exposed it through the

@pyup-bot
Copy link
Author

pyup-bot commented Jan 1, 2018

Closing this in favor of #24

@pyup-bot pyup-bot closed this Jan 1, 2018
@mmourafiq mmourafiq deleted the pyup-scheduled-update-12-25-2017 branch January 1, 2018 15:17
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant