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 #398

Open
wants to merge 30 commits into
base: development
Choose a base branch
from
Open

Initial Update #398

wants to merge 30 commits into from

Conversation

pyup-bot
Copy link

This is my first visit to this fine repo so I have bundled all updates in a single pull request to make things easier for you to merge.

Close this pull request and delete the branch if you want me to start with single pull requests right away

Here's the executive summary:

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.

pytest-splinter 1.7.* » 1.8.1 PyPI | Changelog | Repo
dj-database-url 0.3.* » 0.4.1 PyPI | Repo
ipython 4.0.0 » 5.1.0 PyPI | Homepage
fake-factory 0.5.7 » 9999.9.9 PyPI | Changelog | Repo
python-dateutil 2.5.0 » 2.6.0 PyPI | Changelog | Docs
Markdown 2.6.5 » 2.6.7 PyPI | Changelog | Homepage | Docs
pdbpp 0.8.* » 0.8.3 PyPI | Changelog | Repo
coverage 4.* » 4.3.1 PyPI | Changelog | Docs
uwsgi 2.0.* » 2.0.14 PyPI | Homepage
flake8 2.4.* » 3.2.1 PyPI | Repo
pytest-django 2.9.* » 3.1.2 PyPI | Changelog | Docs
djangorestframework 3.2.4 » 3.5.3 PyPI | Changelog | Homepage
Django 1.8.11 » 1.10.4 PyPI | Changelog | Homepage
fancycompleter 0.4 » 0.7 PyPI | Repo
twython 3.3.0 » 3.4.0 PyPI | Changelog | Repo
django-braces 1.8.1 » 1.10.0 PyPI | Changelog | Repo
django-extensions 1.5.2 » 1.7.5 PyPI | Changelog | Repo | Docs
celery 3.1.23 » 4.0.2 PyPI | Changelog | Homepage | Docs
django-filter 0.13.0 » 1.0.1 PyPI | Changelog | Repo
django-autocomplete-light 3.1.3 » 3.2.1 PyPI | Changelog | Docs
Pillow 3.1.1 » 3.4.2 PyPI | Changelog | Homepage
factory-boy 2.5.* » 2.8.1 PyPI | Repo
pytest-cov 2.2.* » 2.4.0 PyPI | Changelog | Repo
django-allauth 0.25.2 » 0.29.0 PyPI | Changelog | Repo
psycopg2 2.6.1 » 2.6.2 PyPI | Changelog | Homepage | Docs

Changelogs

pytest-splinter 1.7.* -> 1.8.1

1.8.1


  • Ensure node's splinter_failure always exists (bubenkoff, pelme)
  • Correctly handle skipped tests (bubenkoff, schtibe)

1.8.0


  • Limit retry behavior for prepare_browser (bubenkoff)
  • Workaround for cleaning cookies (Edge browser) (bubenkoff)

1.7.8


  • Make it possible to override the default value for --splinter-wait-time (magnus-staberg)

1.7.7


  • Make it possible to override the default --splinter-webdriver (pelme)
  • Fix screenshots for function scoped fixtues (pelme)

1.7.6


  • Support pytest 3 (bubenkoff)
  • Less opionated override of splinter's visit (bubenkoff)

1.7.5


  • escape screenshot paths for path separators (bubenkoff)

1.7.4


  • use tmpdir_factory to get session scoped tmpdir (RonnyPfannschmidt, bubenkoff)

1.7.3


  • fixed Firefox freezing when opening a missing codec extension (olegpidsadnyi)

1.7.2


  • fixed taking a screenshot with pytest>=2.9.0 (olegpidsadnyi)

1.7.1


  • pytest warnings fixed (firebirdberlin)
  • remove firefox firstrun script (aaugustin, bubenkoff)

1.7.0


  • add possibility to clean cookies on given domains during the browser cleanup, document cookies cleanup (bubenkoff)

1.6.6


  • screenshot encoding made flexible (bubenkoff)

1.6.2


  • pass timeout to restored connection (bubenkoff)

1.6.0


  • added html screenshot (bubenkoff, blueyed)

1.5.3


  • remote webdriver fixes (bubenkoff)

1.5.2


  • respect splinter_make_screenshot_on_failure (bubenkoff)

1.5.1


  • use native selenium socket timeout feature (pelme)

1.5.0


  • pytest tmpdir_factory support (bubenkoff)
  • depend on splinter 0.7.3, remove the previous status_code monkey patch (pelme)
  • add option --splinter-wait-time to specify splinter explicit wait timeout (pelme)

1.4.6


  • ensure base tempdir exists (bubenkoff)

1.4.0


  • introduce splinter_browser_class fixture (bubenkoff, ecesena)

1.3.8


  • correctly handle zope.testbrowser splinter driver (bubenkoff)

1.3.7


  • pass splinter_selenium_implicit_wait as wait_time to splinter Browser (lrowe)

1.3.6


  • properly respect webdriver executable command line option (bubenkoff, bh)

1.3.5


  • add option --splinter-webdriver-executable for phantomjs and chrome (sureshvv)

1.3.4


  • make browser_instance_getter session scoped, add session_browser fixture (bubenkoff, sureshvv)

1.3.3


  • make mouse_over comparible with more use-cases (bubenkoff)

1.3.1


  • properly handle driver switch during the test run (bubenkoff)
  • respect splinter_session_scoped_browser fixture (bubenkoff)

1.2.10


  • handle exceptions during screenshot saving (blueyed, bubenkoff)
  • documentation improvements (blueyed)

1.2.9


  • status_code is back in a lazy way (bubenkoff)

1.2.7


  • Fix automatic download of pdf content type (bubenkoff)

1.2.4


  • fix failing the test run if pytest-xdist is not installed, as it's completely optional dependency (bubenkoff, slafs)

1.2.3


  • improve exception handing when preparing the browser instance (bubenkoff)
  • require pytest (bubenkoff)

1.2.0


  • automatic screenshot capture on test failure (bubenkoff)
  • improvements to the browser preparation procedure (bubenkoff)
  • boolean config options made more clear (bubenkoff)

1.1.1


  • restore browser parameters on each test run instead of once for browser start (bubenkoff)

1.1.0


  • added possibility to have multiple browser instances for single test (amakhnach, bubenkoff)

1.0.4


  • Fixed browser fixture to support splinter_browser_load_condition and splinter_browser_load_timeout by default. (markon)

1.0.3


  • unicode fixes to setup.py (bubenkoff, valberg)

1.0.2


  • wait_for_condition now receives pytest_bdd.plugin.Browser object, not selenium webdriver one (bubenkoff)

1.0.1


  • Refactoring and cleanup (bubenkoff)

1.0.0


  • Initial public release

fake-factory 0.5.7 -> 9999.9.9

0.7.7


  • Fix no_NO postcodes. Thanks kdeldycke.
  • Fix fa_IR city generator. Thanks kdeldycke.

0.7.6


  • Fix packaging issue with docs directory. Thanks wyattanderson.

0.7.5


  • Deprecate facke-factory package on PyPI.

0.7.4


  • Add Ukrainian address provider. Thanks illia-v.
  • Add Ukrainian internet provider. Thanks illia-v.
  • Middle name support for person.ru_RU provider. Thanks zeal18.
  • Add address, company, internet ans SSN provider for ru_RU. Thanks zeal18.
  • Improved address.pl_PL provider. Thanks pkisztelinski.
  • Add date and time object providers. Thanks jtojnar.
  • Refactor Korean address methods. Thanks item4.
  • Add provider for locale nl_BE (address, phone, ssn). Thanks vema.
  • Add additional job titles. Thanks wontonst.
  • Add Ukrainian color provider. Thanks illia-v.
  • Add support to brazilian company IDs (CNPJ). Thanks lamenezes.
  • Improve the Internet provider. Thanksillia-v.
  • Improve the Ukrainian person provider. Thanks illia-v.
  • Improve some SSN providers. Thanks illia-v.
  • Improve code samples in README.rst and docs/index.rst. Thanks illia-v.
  • Improve the method locale. Thanks illia-v.
  • Fix pyfloat. Thanks illia-v.
  • Allow left/right_digits=0 for pyfloat. Thanks mnalt.
  • update fa_IR person names and phone numbers. Thanks aminalaee.

0.7.3


  • date_time_this_century now returns datetime s outside the current decade. Thanks JarUrb.
  • Add support for localized jobs for hr_HR. Thanks mislavcimpersak.
  • Adding support for Croatian hr_HR ssn (oib). Thanks mislavcimpersak.
  • Rename PyPI package to Faker.

0.6.0


  • Dropped Python 2.6 support

0.5.11


  • Add optional parameter sex to profile and simple_profile. Thanks navyad.
  • Fix whitespace in dk_DK provider last_names/last_name. Thanks iAndriy.
  • Fix utf8 coding issue with address/fi_FI provider. Thanks delneg.
  • ! Latest version to support Python 2.6

0.5.10


  • Fix random_sample_unique. Thanks cecedille1.

0.5.9


  • Add more pt_BR names. Thanks cuducos.
  • Added en_GB names. Thanks jonny5532.
  • Add romanized internet provider for zh_CN.
  • Add fr_CH providers. Thanks gfavre.

0.5.8


  • Improve CLI output and help. Thanks cbaines.
  • Update en_US anmes to be more realistic. Thanks dethpickle.
  • Modify pystr provider to accept a minimum number of characters. Thanks tamarbuta.
  • Add job Provider for zh_TW. Thanks weihanglo.
  • Modify zh_TW phone number for a more valid format. Thanks weihanglo.
  • Reduce the maximum value of start timestamps. Thanks cbaines.
  • Add random_sample and random_sample_unique. Thanks bengolder.

python-dateutil 2.5.0 -> 2.6.0

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
  • 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).

pdbpp 0.8.* -> 0.8.3

0.8.2

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

0.8.1

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

0.8

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

  • fix issue 20: support argument-free post mortem

0.7.2

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

  • don't crash with newer versions of py.test

0.7.1

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

  • The pp (pretty print) command now uses the actual width of the terminal,
    instead of hardcoding 80 columns
  • py.test and unittest internal frames are hidden by default (type help hidden_frames for more info)
  • don't crash if py is installed but py.test is not

coverage 4.* -> 4.3.1

4.3.1


  • Some environments couldn't install 4.3, as described in issue 540_. This is
    now fixed.
  • The check for conflicting --source and --include was too simple in a
    few different ways, breaking a few perfectly reasonable use cases, described
    in issue 541. The check has been reverted while we re-think the fix for
    issue 265
    .

.. _issue 540: https://bitbucket.org/ned/coveragepy/issues/540/cant-install-coverage-v43-into-under
.. _issue 541: https://bitbucket.org/ned/coveragepy/issues/541/coverage-43-breaks-nosetest-with-coverage

4.3


  • Subprocesses that are measured with automatic subprocess measurement_ used
    to read in any pre-existing data file. This meant data would be incorrectly
    carried forward from run to run. Now those files are not read, so each
    subprocess only writes its own data. Fixes issue 510_.
  • The coverage combine command will now fail if there are no data files to
    combine. The combine changes in 4.2 meant that multiple combines could lose
    data, leaving you with an empty .coverage data file. Fixes issues
    issue 525, issue 412, issue 516, and probably issue 511.
  • Coverage.py wouldn't execute sys.excepthook_ when an exception happened in
    your program. Now it does, thanks to Andrew Hoos. Closes issue 535_.

.. _sys.excepthook: https://docs.python.org/3/library/sys.htmlsys.excepthook

  • Branch coverage fixes:
  • Branch coverage could misunderstand a finally clause on a try block that
    never continued on to the following statement, as described in issue 493_. This is now fixed. Thanks to Joe Doherty for the report and Loïc
    Dachary for the fix.
  • A while loop with a constant condition (while True) and a continue
    statement would be mis-analyzed, as described in issue 496_. This is now
    fixed, thanks to a bug report by Eli Skeggs and a fix by Loïc Dachary.
  • While loops with constant conditions that were never executed could result
    in a non-zero coverage report. Artem Dayneko reported this in issue 502_, and Loïc Dachary provided the fix.
  • The HTML report now supports a --skip-covered option like the other
    reporting commands. Thanks, Loïc Dachary for the implementation, closing
    issue 433_.
  • Options can now be read from a tox.ini file, if any. Like setup.cfg, sections
    are prefixed with "coverage:", so [run] options will be read from the
    [coverage:run] section of tox.ini. Implements part of issue 519_.
    Thanks, Stephen Finucane.
  • Specifying both --source and --include no longer silently ignores the
    include setting, instead it fails with a message. Thanks, Nathan Land and
    Loïc Dachary. Closes issue 265_.
  • The Coverage.combine method has a new parameter, strict=False, to
    support failing if there are no data files to combine.
  • When forking subprocesses, the coverage data files would have the same random
    number appended to the file name. This didn't cause problems, because the
    file names had the process id also, making collisions (nearly) impossible.
    But it was disconcerting. This is now fixed.
  • The text report now properly sizes headers when skipping some files, fixing
    issue 524_. Thanks, Anthony Sottile and Loïc Dachary.
  • Coverage.py can now search .pex files for source, just as it can .zip and
    .egg. Thanks, Peter Ebden.
  • Data files are now about 15% smaller.
  • Improvements in the [run] debug setting:
  • The "dataio" debug setting now also logs when data files are deleted during
    combining or erasing.
  • A new debug option, "multiproc", for logging the behavior of
    concurrency=multiprocessing.
  • If you used the debug options "config" and "callers" together, you'd get a
    call stack printed for every line in the multi-line config output. This is
    now fixed.
  • Fixed an unusual bug involving multiple coding declarations affecting code
    containing code in multi-line strings: issue 529_.
  • Coverage.py will no longer be misled into thinking that a plain file is a
    package when interpreting --source options. Thanks, Cosimo Lupo.
  • If you try to run a non-Python file with coverage.py, you will now get a more
    useful error message. Issue 514_.
  • The default pragma regex changed slightly, but this will only matter to you
    if you are deranged and use mixed-case pragmas.
  • Deal properly with non-ASCII file names in an ASCII-only world, issue 533_.
  • Programs that set Unicode configuration values could cause UnicodeErrors when
    generating HTML reports. Pytest-cov is one example. This is now fixed.
  • Prevented deprecation warnings from configparser that happened in some
    circumstances, closing issue 530_.
  • Corrected the name of the jquery.ba-throttle-debounce.js library. Thanks,
    Ben Finney. Closes issue 505_.
  • Testing against PyPy 5.6 and PyPy3 5.5.
  • Switched to pytest from nose for running the coverage.py tests.
  • Renamed AUTHORS.txt to CONTRIBUTORS.txt, since there are other ways to
    contribute than by writing code. Also put the count of contributors into the
    author string in setup.py, though this might be too cute.

.. _issue 265: https://bitbucket.org/ned/coveragepy/issues/265/when-using-source-include-is-silently
.. _issue 412: https://bitbucket.org/ned/coveragepy/issues/412/coverage-combine-should-error-if-no
.. _issue 433: https://bitbucket.org/ned/coveragepy/issues/433/coverage-html-does-not-suport-skip-covered
.. _issue 493: https://bitbucket.org/ned/coveragepy/issues/493/confusing-branching-failure
.. _issue 496: https://bitbucket.org/ned/coveragepy/issues/496/incorrect-coverage-with-branching-and
.. _issue 502: https://bitbucket.org/ned/coveragepy/issues/502/incorrect-coverage-report-with-cover
.. _issue 505: https://bitbucket.org/ned/coveragepy/issues/505/use-canonical-filename-for-debounce
.. _issue 514: https://bitbucket.org/ned/coveragepy/issues/514/path-to-problem-file-not-reported-when
.. _issue 510: https://bitbucket.org/ned/coveragepy/issues/510/erase-still-needed-in-42
.. _issue 511: https://bitbucket.org/ned/coveragepy/issues/511/version-42-coverage-combine-empties
.. _issue 516: https://bitbucket.org/ned/coveragepy/issues/516/running-coverage-combine-twice-deletes-all
.. _issue 519: https://bitbucket.org/ned/coveragepy/issues/519/coverage-run-sections-in-toxini-or-as
.. _issue 524: https://bitbucket.org/ned/coveragepy/issues/524/coverage-report-with-skip-covered-column
.. _issue 525: https://bitbucket.org/ned/coveragepy/issues/525/coverage-combine-when-not-in-parallel-mode
.. _issue 529: https://bitbucket.org/ned/coveragepy/issues/529/encoding-marker-may-only-appear-on-the
.. _issue 530: https://bitbucket.org/ned/coveragepy/issues/530/deprecationwarning-you-passed-a-bytestring
.. _issue 533: https://bitbucket.org/ned/coveragepy/issues/533/exception-on-unencodable-file-name
.. _issue 535: https://bitbucket.org/ned/coveragepy/issues/535/sysexcepthook-is-not-called

4.2


  • Since concurrency=multiprocessing uses subprocesses, options specified on
    the coverage.py command line will not be communicated down to them. Only
    options in the configuration file will apply to the subprocesses.
    Previously, the options didn't apply to the subprocesses, but there was no
    indication. Now it is an error to use --concurrency=multiprocessing and
    other run-affecting options on the command line. This prevents
    failures like those reported in issue 495_.
  • Filtering the HTML report is now faster, thanks to Ville Skyttä.

.. _issue 495: https://bitbucket.org/ned/coveragepy/issues/495/branch-and-concurrency-are-conflicting

4.2b1


Work from the PyCon 2016 Sprints!

  • BACKWARD INCOMPATIBILITY: the coverage combine command now ignores an
    existing .coverage data file. It used to include that file in its
    combining. This caused confusing results, and extra tox "clean" steps. If
    you want the old behavior, use the new coverage combine --append option.
  • The concurrency option can now take multiple values, to support programs
    using multiprocessing and another library such as eventlet. This is only
    possible in the configuration file, not from the command line. The
    configuration file is the only way for sub-processes to all run with the same
    options. Fixes issue 484_. Thanks to Josh Williams for prototyping.
  • Using a concurrency setting of multiprocessing now implies
    --parallel so that the main program is measured similarly to the
    sub-processes.
  • When using automatic subprocess measurement, running coverage commands
    would create spurious data files. This is now fixed, thanks to diagnosis and
    testing by Dan Riti. Closes issue 492
    .
  • A new configuration option, report:sort, controls what column of the
    text report is used to sort the rows. Thanks to Dan Wandschneider, this
    closes issue 199_.
  • The HTML report has a more-visible indicator for which column is being
    sorted. Closes issue 298_, thanks to Josh Williams.
  • If the HTML report cannot find the source for a file, the message now
    suggests using the -i flag to allow the report to continue. Closes
    issue 231_, thanks, Nathan Land.
  • When reports are ignoring errors, there's now a warning if a file cannot be
    parsed, rather than being silently ignored. Closes issue 396_. Thanks,
    Matthew Boehm.
  • A new option for coverage debug is available: coverage debug config
    shows the current configuration. Closes issue 454_, thanks to Matthew
    Boehm.
  • Running coverage as a module (python -m coverage) no longer shows the
    program name as __main__.py. Fixes issue 478_. Thanks, Scott Belden.
  • The test_helpers module has been moved into a separate pip-installable
    package: unittest-mixins_.

.. _automatic subprocess measurement: http://coverage.readthedocs.io/en/latest/subprocess.html
.. _issue 199: https://bitbucket.org/ned/coveragepy/issues/199/add-a-way-to-sort-the-text-report
.. _issue 231: https://bitbucket.org/ned/coveragepy/issues/231/various-default-behavior-in-report-phase
.. _issue 298: https://bitbucket.org/ned/coveragepy/issues/298/show-in-html-report-that-the-columns-are
.. _issue 396: https://bitbucket.org/ned/coveragepy/issues/396/coverage-xml-shouldnt-bail-out-on-parse
.. _issue 454: https://bitbucket.org/ned/coveragepy/issues/454/coverage-debug-config-should-be
.. _issue 478: https://bitbucket.org/ned/coveragepy/issues/478/help-shows-silly-program-name-when-running
.. _issue 484: https://bitbucket.org/ned/coveragepy/issues/484/multiprocessing-greenlet-concurrency
.. _issue 492: https://bitbucket.org/ned/coveragepy/issues/492/subprocess-coverage-strange-detection-of
.. _unittest-mixins: https://pypi.python.org/pypi/unittest-mixins

4.1


  • The internal attribute Reporter.file_reporters was removed in 4.1b3. It
    should have come has no surprise that there were third-party tools out there
    using that attribute. It has been restored, but with a deprecation warning.

4.1b3


  • When running your program, execution can jump from an except X: line to
    some other line when an exception other than X happens. This jump is no
    longer considered a branch when measuring branch coverage.
  • When measuring branch coverage, yield statements that were never resumed
    were incorrectly marked as missing, as reported in issue 440_. This is now
    fixed.
  • During branch coverage of single-line callables like lambdas and generator
    expressions, coverage.py can now distinguish between them never being called,
    or being called but not completed. Fixes issue 90, issue 460 and
    issue 475_.
  • The HTML report now has a map of the file along the rightmost edge of the
    page, giving an overview of where the missed lines are. Thanks, Dmitry
    Shishov.
  • The HTML report now uses different monospaced fonts, favoring Consolas over
    Courier. Along the way, issue 472_ about not properly handling one-space
    indents was fixed. The index page also has slightly different styling, to
    try to make the clickable detail pages more apparent.
  • Missing branches reported with coverage report -m will now say ->exit
    for missed branches to the exit of a function, rather than a negative number.
    Fixes issue 469_.
  • coverage --help and coverage --version now mention which tracer is
    installed, to help diagnose problems. The docs mention which features need
    the C extension. (issue 479_)
  • Officially support PyPy 5.1, which required no changes, just updates to the
    docs.
  • The Coverage.report function had two parameters with non-None defaults,
    which have been changed. show_missing used to default to True, but now
    defaults to None. If you had been calling Coverage.report without
    specifying show_missing, you'll need to explicitly set it to True to keep
    the same behavior. skip_covered used to default to False. It is now None,
    which doesn't change the behavior. This fixes issue 485_.
  • It's never been possible to pass a namespace module to one of the analysis
    functions, but now at least we raise a more specific error message, rather
    than getting confused. (issue 456_)
  • The coverage.process_startup function now returns the Coverage instance
    it creates, as suggested in issue 481_.
  • Make a small tweak to how we compare threads, to avoid buggy custom
    comparison code in thread classes. (issue 245_)

.. _issue 90: https://bitbucket.org/ned/coveragepy/issues/90/lambda-expression-confuses-branch
.. _issue 245: https://bitbucket.org/ned/coveragepy/issues/245/change-solution-for-issue-164
.. _issue 440: https://bitbucket.org/ned/coveragepy/issues/440/yielded-twisted-failure-marked-as-missed
.. _issue 456: https://bitbucket.org/ned/coveragepy/issues/456/coverage-breaks-with-implicit-namespaces
.. _issue 460: https://bitbucket.org/ned/coveragepy/issues/460/confusing-html-report-for-certain-partial
.. _issue 469: https://bitbucket.org/ned/coveragepy/issues/469/strange-1-line-number-in-branch-coverage
.. _issue 472: https://bitbucket.org/ned/coveragepy/issues/472/html-report-indents-incorrectly-for-one
.. _issue 475: https://bitbucket.org/ned/coveragepy/issues/475/generator-expression-is-marked-as-not
.. _issue 479: https://bitbucket.org/ned/coveragepy/issues/479/clarify-the-need-for-the-c-extension
.. _issue 481: https://bitbucket.org/ned/coveragepy/issues/481/asyncioprocesspoolexecutor-tracing-not
.. _issue 485: https://bitbucket.org/ned/coveragepy/issues/485/coveragereport-ignores-show_missing-and

4.1b2


  • Problems with the new branch measurement in 4.1 beta 1 were fixed:
  • Class docstrings were considered executable. Now they no longer are.
  • yield from and await were considered returns from functions, since
    they could tranfer control to the caller. This produced unhelpful "missing
    branch" reports in a number of circumstances. Now they no longer are
    considered returns.
  • In unusual situations, a missing branch to a negative number was reported.
    This has been fixed, closing issue 466_.
  • The XML report now produces correct package names for modules found in
    directories specified with source=. Fixes issue 465_.
  • coverage report won't produce trailing whitespace.

.. _issue 465: https://bitbucket.org/ned/coveragepy/issues/465/coveragexml-produces-package-names-with-an
.. _issue 466: https://bitbucket.org/ned/coveragepy/issues/466/impossible-missed-branch-to-a-negative

4.1b1


  • Branch analysis has been rewritten: it used to be based on bytecode, but now
    uses AST analysis. This has changed a number of things:
  • More code paths are now considered runnable, especially in
    try/except structures. This may mean that coverage.py will
    identify more code paths as uncovered. This could either raise or lower
    your overall coverage number.
  • Python 3.5's async and await keywords are properly supported,
    fixing issue 434_.
  • Some long-standing branch coverage bugs were fixed:
  • issue 129_: functions with only a docstring for a body would
    incorrectly report a missing branch on the def line.
  • issue 212_: code in an except block could be incorrectly marked as
    a missing branch.
  • issue 146_: context managers (with statements) in a loop or try
    block could confuse the branch measurement, reporting incorrect partial
    branches.
  • issue 422_: in Python 3.5, an actual partial branch could be marked as
    complete.
  • Pragmas to disable coverage measurement can now be used on decorator lines,
    and they will apply to the entire function or class being decorated. This
    implements the feature requested in issue 131_.
  • Multiprocessing support is now available on Windows. Thanks, Rodrigue
    Cloutier.
  • Files with two encoding declarations are properly supported, fixing
    issue 453_. Thanks, Max Linke.
  • Non-ascii characters in regexes in the configuration file worked in 3.7, but
    stopped working in 4.0. Now they work again, closing issue 455_.
  • Form-feed characters would prevent accurate determination of the beginning of
    statements in the rest of the file. This is now fixed, closing issue 461_.

.. _issue 129: https://bitbucket.org/ned/coveragepy/issues/129/misleading-branch-coverage-of-empty
.. _issue 131: https://bitbucket.org/ned/coveragepy/issues/131/pragma-on-a-decorator-line-should-affect
.. _issue 146: https://bitbucket.org/ned/coveragepy/issues/146/context-managers-confuse-branch-coverage
.. _issue 212: https://bitbucket.org/ned/coveragepy/issues/212/coverage-erroneously-reports-partial
.. _issue 422: https://bitbucket.org/ned/coveragepy/issues/422/python35-partial-branch-marked-as-fully
.. _issue 434: https://bitbucket.org/ned/coveragepy/issues/434/indexerror-in-python-35
.. _issue 453: https://bitbucket.org/ned/coveragepy/issues/453/source-code-encoding-can-only-be-specified
.. _issue 455: https://bitbucket.org/ned/coveragepy/issues/455/unusual-exclusions-stopped-working-in
.. _issue 461: https://bitbucket.org/ned/coveragepy/issues/461/multiline-asserts-need-too-many-pragma

4.0.3


  • Fixed a mysterious problem that manifested in different ways: sometimes
    hanging the process (issue 420), sometimes making database connections
    fail (issue 445
    ).
  • The XML report now has correct <source> elements when using a
    --source= option somewhere besides the current directory. This fixes
    issue 439_. Thanks, Arcady Ivanov.
  • Fixed an unusual edge case of detecting source encodings, described in
    issue 443_.
  • Help messages that mention the command to use now properly use the actual
    command name, which might be different than "coverage". Thanks to Ben
    Finney, this closes issue 438_.

.. _issue 420: https://bitbucket.org/ned/coveragepy/issues/420/coverage-40-hangs-indefinitely-on-python27
.. _issue 438: https://bitbucket.org/ned/coveragepy/issues/438/parameterise-coverage-command-name
.. _issue 439: https://bitbucket.org/ned/coveragepy/issues/439/incorrect-cobertura-file-sources-generated
.. _issue 443: https://bitbucket.org/ned/coveragepy/issues/443/coverage-gets-confused-when-encoding
.. _issue 445: https://bitbucket.org/ned/coveragepy/issues/445/django-app-cannot-connect-to-cassandra

4.0.2


  • More work on supporting unusually encoded source. Fixed issue 431_.
  • Files or directories with non-ASCII characters are now handled properly,
    fixing issue 432_.
  • Setting a trace function with sys.settrace was broken by a change in 4.0.1,
    as reported in issue 436_. This is now fixed.
  • Officially support PyPy 4.0, which required no changes, just updates to the
    docs.

.. _issue 431: https://bitbucket.org/ned/coveragepy/issues/431/couldnt-parse-python-file-with-cp1252
.. _issue 432: https://bitbucket.org/ned/coveragepy/issues/432/path-with-unicode-characters-various
.. _issue 436: https://bitbucket.org/ned/coveragepy/issues/436/disabled-coverage-ctracer-may-rise-from

4.0.1


  • When combining data files, unreadable files will now generate a warning
    instead of failing the command. This is more in line with the older
    coverage.py v3.7.1 behavior, which silently ignored unreadable files.
    Prompted by issue 418_.
  • The --skip-covered option would skip reporting on 100% covered files, but
    also skipped them when calculating total coverage. This was wrong, it should
    only remove lines from the report, not change the final answer. This is now
    fixed, closing issue 423_.
  • In 4.0, the data file recorded a summary of the system on which it was run.
    Combined data files would keep all of those summaries. This could lead to
    enormous data files consisting of mostly repetitive useless information. That
    summary is now gone, fixing issue 415_. If you want summary information,
    get in touch, and we'll figure out a better way to do it.
  • Test suites that mocked os.path.exists would experience strange failures, due
    to coverage.py using their mock inadvertently. This is now fixed, closing
    issue 416_.
  • Importing a __init__ module explicitly would lead to an error:
    AttributeError: 'module' object has no attribute '__path__', as reported
    in issue 410_. This is now fixed.
  • Code that uses sys.settrace(sys.gettrace()) used to incur a more than 2x
    speed penalty. Now there's no penalty at all. Fixes issue 397_.
  • Pyexpat C code will no longer be recorded as a source file, fixing
    issue 419_.
  • The source kit now contains all of the files needed to have a complete source
    tree, re-fixing issue 137_ and closing issue 281_.

.. _issue 281: https://bitbucket.org/ned/coveragepy/issues/281/supply-scripts-for-testing-in-the
.. _issue 397: https://bitbucket.org/ned/coveragepy/issues/397/stopping-and-resuming-coverage-with
.. _issue 410: https://bitbucket.org/ned/coveragepy/issues/410/attributeerror-module-object-has-no
.. _issue 415: https://bitbucket.org/ned/coveragepy/issues/415/repeated-coveragedataupdates-cause
.. _issue 416: https://bitbucket.org/ned/coveragepy/issues/416/mocking-ospathexists-causes-failures
.. _issue 418: https://bitbucket.org/ned/coveragepy/issues/418/json-parse-error
.. _issue 419: https://bitbucket.org/ned/coveragepy/issues/419/nosource-no-source-for-code-path-to-c
.. _issue 423: https://bitbucket.org/ned/coveragepy/issues/423/skip_covered-changes-reported-total

4.0


4.0b3


  • Reporting on an unmeasured file would fail with a traceback. This is now
    fixed, closing issue 403_.
  • The Jenkins ShiningPanda plugin looks for an obsolete file name to find the
    HTML reports to publish, so it was failing under coverage.py 4.0. Now we
    create that file if we are running under Jenkins, to keep things working
    smoothly. issue 404_.
  • Kits used to include tests and docs, but didn't install them anywhere, or
    provide all of the supporting tools to make them useful. Kits no longer
    include tests and docs. If you were using them from the older packages, get
    in touch and help me understand how.

.. _issue 403: https://bitbucket.org/ned/coveragepy/issues/403/hasherupdate-fails-with-typeerror-nonetype
.. _issue 404: https://bitbucket.org/ned/coveragepy/issues/404/shiningpanda-jenkins-plugin-cant-find-html

4.0b2


  • 4.0b1 broke --append creating new data files. This is now fixed, closing
    issue 392_.
  • py.test --cov can write empty data, then touch files due to --source,
    which made coverage.py mistakenly force the data file to record lines instead
    of arcs. This would lead to a "Can't combine line data with arc data" error
    message. This is now fixed, and changed some method names in the
    CoverageData interface. Fixes issue 399_.
  • CoverageData.read_fileobj and CoverageData.write_fileobj replace the
    .read and .write methods, and are now properly inverses of each other.
  • When using report --skip-covered, a message will now be included in the
    report output indicating how many files were skipped, and if all files are
    skipped, coverage.py won't accidentally scold you for having no data to
    report. Thanks, Krystian Kichewko.
  • A new conversion utility has been added: python -m coverage.pickle2json
    will convert v3.x pickle data files to v4.x JSON data files. Thanks,
    Alexander Todorov. Closes issue 395_.
  • A new version identifier is available, coverage.version_info, a plain tuple
    of values similar to sys.version_info_.

.. _issue 392: https://bitbucket.org/ned/coveragepy/issues/392/run-append-doesnt-create-coverage-file
.. _issue 395: https://bitbucket.org/ned/coveragepy/issues/395/rfe-read-pickled-files-as-well-for
.. _issue 399: https://bitbucket.org/ned/coveragepy/issues/399/coverageexception-cant-combine-line-data
.. _sys.version_info: https://docs.python.org/3/library/sys.htmlsys.version_info

4.0b1


  • Coverage.py is now licensed under the Apache 2.0 license. See NOTICE.txt for
    details. Closes issue 313_.
  • The data storage has been completely revamped. The data file is now
    JSON-based instead of a pickle, closing issue 236_. The CoverageData
    class is now a public supported documented API to the data file.
  • A new configuration option, [run] note, lets you set a note that will be
    stored in the runs section of the data file. You can use this to annotate
    the data file with any information you like.
  • Unrecognized configuration options will now print an error message and stop
    coverage.py. This should help prevent configuration mistakes from passing
    silently. Finishes issue 386_.
  • In parallel mode, coverage erase will now delete all of the data files,
    fixing issue 262_.
  • Coverage.py now accepts a directory name for coverage run and will run a
    __main__.py found there, just like Python will. Fixes issue 252_.
    Thanks, Dmitry Trofimov.
  • The XML report now includes a missing-branches attribute. Thanks, Steve
    Peak. This is not a part of the Cobertura DTD, so the XML report no longer
    references the DTD.
  • Missing branches in the HTML report now have a bit more information in the
    right-hand annotations. Hopefully this will make their meaning clearer.
  • All the reporting functions now behave the same if no data had been
    collected, exiting with a status code of 1. Fixed fail_under to be
    applied even when the report is empty. Thanks, Ionel Cristian M�rie�.
  • Plugins are now initialized differently. Instead of looking for a class
    called Plugin, coverage.py looks for a function called coverage_init.
  • A file-tracing plugin can now ask to have built-in Python reporting by
    returning "python" from its file_reporter() method.
  • Code that was executed with exec would be mis-attributed to the file that
    called it. This is now fixed, closing issue 380_.
  • The ability to use item access on Coverage.config (introduced in 4.0a2) has
    been changed to a more explicit Coverage.get_option and
    Coverage.set_option API.
  • The Coverage.use_cache method is no longer supported.
  • The private method Coverage._harvest_data is now called
    Coverage.get_data, and returns the CoverageData containing the
    collected data.
  • The project is consistently referred to as "coverage.py" throughout the code
    and the documentation, closing issue 275_.
  • Combining data files with an explicit configuration file was broken in 4.0a6,
    but now works again, closing issue 385_.
  • coverage combine now accepts files as well as directories.
  • The speed is back to 3.7.1 levels, after having slowed down due to plugin
    support, finishing up issue 387_.

.. _issue 236: https://bitbucket.org/ned/coveragepy/issues/236/pickles-are-bad-and-you-should-feel-bad
.. _issue 252: https://bitbucket.org/ned/coveragepy/issues/252/coverage-wont-run-a-program-with
.. _issue 262: https://bitbucket.org/ned/coveragepy/issues/262/when-parallel-true-erase-should-erase-all
.. _issue 275: https://bitbucket.org/ned/coveragepy/issues/275/refer-consistently-to-project-as-coverage
.. _issue 313: https://bitbucket.org/ned/coveragepy/issues/313/add-license-file-containing-2-3-or-4
.. _issue 380: https://bitbucket.org/ned/coveragepy/issues/380/code-executed-by-exec-excluded-from
.. _issue 385: https://bitbucket.org/ned/coveragepy/issues/385/coverage-combine-doesnt-work-with-rcfile
.. _issue 386: https://bitbucket.org/ned/coveragepy/issues/386/error-on-unrecognised-configuration
.. _issue 387: https://bitbucket.org/ned/coveragepy/issues/387/performance-degradation-from-371-to-40

.. 40 issues closed in 4.0 below here

4.0a6


  • Python 3.5b2 and PyPy 2.6.0 are supported.
  • The original module-level function interface to coverage.py is no longer
    supported. You must now create a coverage.Coverage object, and use
    methods on it.
  • The coverage combine command now accepts any number of directories as
    arguments, and will combine all the data files from those directories. This
    means you don't have to copy the files to one directory before combining.
    Thanks, Christine Lytwynec. Finishes issue 354_.
  • Branch coverage couldn't properly handle certain extremely long files. This
    is now fixed (issue 359_).
  • Branch coverage didn't understand yield statements properly. Mickie Betz
    persisted in pursuing this despite Ned's pessimism. Fixes issue 308_ and
    issue 324_.
  • The COVERAGE_DEBUG environment variable can be used to set the
    [run] debug configuration option to control what internal operations are
    logged.
  • HTML reports were truncated at formfeed characters. This is now fixed
    (issue 360). It's always fun when the problem is due to a bug in the Python standard library <http://bugs.python.org/issue19035>.
  • Files with incorrect encoding declaration comments are no longer ignored by
    the reporting commands, fixing issue 351_.
  • HTML reports now include a timestamp in the footer, closing issue 299_.
    Thanks, Conrad Ho.
  • HTML reports now begrudgingly use double-quotes rather than single quotes,
    because there are "software engineers" out there writing tools that read HTML
    and somehow have no idea that single quotes exist. Capitulates to the absurd
    issue 361_. Thanks, Jon Chappell.
  • The coverage annotate command now handles non-ASCII characters properly,
    closing issue 363_. Thanks, Leonardo Pistone.
  • Drive letters on Windows were not normalized correctly, now they are. Thanks,
    Ionel Cristian M�rie�.
  • Plugin support had some bugs fixed, closing issue 374_ and issue 375_.
    Thanks, Stefan Behnel.

.. _issue 299: https://bitbucket.org/ned/coveragepy/issue/299/inserted-created-on-yyyy-mm-dd-hh-mm-in
.. _issue 308: https://bitbucket.org/ned/coveragepy/issue/308/yield-lambda-branch-coverage
.. _issue 324: https://bitbucket.org/ned/coveragepy/issue/324/yield-in-loop-confuses-branch-coverage
.. _issue 351: https://bitbucket.org/ned/coveragepy/issue/351/files-with-incorrect-encoding-are-ignored
.. _issue 354: https://bitbucket.org/ned/coveragepy/issue/354/coverage-combine-should-take-a-list-of
.. _issue 359: https://bitbucket.org/ned/coveragepy/issue/359/xml-report-chunk-error
.. _issue 360: https://bitbucket.org/ned/coveragepy/issue/360/html-reports-get-confused-by-l-in-the-code
.. _issue 361: https://bitbucket.org/ned/coveragepy/issue/361/use-double-quotes-in-html-output-to
.. _issue 363: https://bitbucket.org/ned/coveragepy/issue/363/annotate-command-hits-unicode-happy-fun
.. _issue 374: https://bitbucket.org/ned/coveragepy/issue/374/c-tracer-lookups-fail-in
.. _issue 375: https://bitbucket.org/ned/coveragepy/issue/375/ctracer_handle_return-reads-byte-code

4.0a5


  • Plugin support is now implemented in the C tracer instead of the Python
    tracer. This greatly improves the speed of tracing projects using plugins.
  • Coverage.py now always adds the current directory to sys.path, so that
    plugins can import files in the current directory (issue 358_).
  • If the config_file argument to the Coverage constructor is specified as
    ".coveragerc", it is treated as if it were True. This means setup.cfg is
    also examined, and a missing file is not considered an error (issue 357_).
  • Wildly experimental: support for measuring processes started by the
    multiprocessing module. To use, set --concurrency=multiprocessing,
    either on the command line or in the .coveragerc file (issue 117_). Thanks,
    Eduardo Schettino. Currently, this does not work on Windows.
  • A new warning is possible, if a desired file isn't measured because it was
    imported before coverage.py was started (issue 353_).
  • The coverage.process_startup function now will start coverage measurement
    only once, no matter how many times it is called. This fixes problems due
    to unusual virtualenv configurations (issue 340_).
  • Added 3.5.0a1 to the list of supported CPython versions.

.. _issue 117: https://bitbucket.org/ned/coveragepy/issue/117/enable-coverage-measurement-of-code-run-by
.. _issue 340: https://bitbucket.org/ned/coveragepy/issue/340/keyerror-subpy
.. _issue 353: https://bitbucket.org/ned/coveragepy/issue/353/40a3-introduces-an-unexpected-third-case
.. _issue 357: https://bitbucket.org/ned/coveragepy/issue/357/behavior-changed-when-coveragerc-is
.. _issue 358: https://bitbucket.org/ned/coveragepy/issue/358/all-coverage-commands-should-adjust

4.0a4


  • Plugins can now provide sys_info for debugging output.
  • Started plugins documentation.
  • Prepared to move the docs to readthedocs.org.

4.0a3


  • Reports now use file names with extensions. Previously, a report would
    describe a/b/c.py as "a/b/c". Now it is shown as "a/b/c.py". This allows
    for better support of non-Python files, and also fixed issue 69_.
  • The XML report now reports each directory as a package again. This was a bad
    regression, I apologize. This was reported in issue 235_, which is now
    fixed.
  • A new configuration option for the XML report: [xml] package_depth
    controls which directories are identified as packages in the report.
    Directories deeper than this depth are not reported as packages.
    The default is that all directories are reported as packages.
    Thanks, Lex Berezhny.
  • When looking for the source for a frame, check if the file exists. On
    Windows, .pyw files are no longer recorded as .py files. Along the way, this
    fixed issue 290_.
  • Empty files are now reported as 100% covered in the XML report, not 0%
    covered (issue 345_).
  • Regexes in the configuration file are now compiled as soon as they are read,
    to provide error messages earlier (issue 349_).

.. _issue 69: https://bitbucket.org/ned/coveragepy/issue/69/coverage-html-overwrite-files-that-doesnt
.. _issue 235: https://bitbucket.org/ned/coveragepy/issue/235/package-name-is-missing-in-xml-report
.. _issue 290: https://bitbucket.org/ned/coveragepy/issue/290/running-programmatically-with-pyw-files
.. _issue 345: https://bitbucket.org/ned/coveragepy/issue/345/xml-reports-line-rate-0-for-empty-files
.. _issue 349: https://bitbucket.org/ned/coveragepy/issue/349/bad-regex-in-config-should-get-an-earlier

4.0a2


  • Officially support PyPy 2.4, and PyPy3 2.4. Drop support for
    CPython 3.2 and older versions of PyPy. The code won't work on CPython 3.2.
    It will probably still work on older versions of PyPy, but I'm not testing
    against them.
  • Plugins!
  • The original command line switches (-x to run a program, etc) are no
    longer supported.
  • A new option: coverage report --skip-covered will reduce the number of
    files reported by skipping files with 100% coverage. Thanks, Krystian
    Kichewko. This means that empty __init__.py files will be skipped, since
    they are 100% covered, closing issue 315_.
  • You can now specify the --fail-under option in the .coveragerc file
    as the [report] fail_under option. This closes issue 314_.
  • The COVERAGE_OPTIONS environment variable is no longer supported. It was
    a hack for --timid before configuration files were available.
  • The HTML report now has filtering. Type text into the Filter box on the
    index page, and only modules with that text in the name will be shown.
    Thanks, Danny Allen.
  • The textual report and the HTML report used to report partial branches
    differently for no good reason. Now the text report's "missing branches"
    column is a "partial branches" column so that both reports show the same
    numbers. This closes issue 342_.
  • If you specify a --rcfile that cannot be read, you will get an error
    message. Fixes issue 343_.
  • The --debug switch can now be used on any command.
  • You can now programmatically adjust the configuration of coverage.py by
    setting items on Coverage.config after construction.
  • A module run with -m can be used as the argument to --source, fixing
    issue 328_. Thanks, Buck Evan.
  • The regex for matching exclusion pragmas has been fixed to allow more kinds
    of whitespace, fixing issue 334_.
  • Made some PyPy-specific tweaks to improve speed under PyPy. Thanks, Alex
    Gaynor.
  • In some cases, with a source file missing a final newline, coverage.py would
    count statements incorrectly. This is now fixed, closing issue 293_.
  • The status.dat file that HTML reports use to avoid re-creating files that
    haven't changed is now a JSON file instead of a pickle file. This obviates
    issue 287_ and issue 237_.

.. _issue 237: https://bitbucket.org/ned/coveragepy/issue/237/htmlcov-with-corrupt-statusdat
.. _issue 287: https://bitbucket.org/ned/coveragepy/issue/287/htmlpy-doesnt-specify-pickle-protocol
.. _issue 293: https://bitbucket.org/ned/coveragepy/issue/293/number-of-statement-detection-wrong-if-no
.. _issue 314: https://bitbucket.org/ned/coveragepy/issue/314/fail_under-param-not-working-in-coveragerc
.. _issue 315: https://bitbucket.org/ned/coveragepy/issue/315/option-to-omit-empty-files-eg-__init__py
.. _issue 328: https://bitbucket.org/ned/coveragepy/issue/328/misbehavior-in-run-source
.. _issue 334: https://bitbucket.org/ned/coveragepy/issue/334/pragma-not-recognized-if-tab-character
.. _issue 342: https://bitbucket.org/ned/coveragepy/issue/342/console-and-html-coverage-reports-differ
.. _issue 343: https://bitbucket.org/ned/coveragepy/issue/343/an-explicitly-named-non-existent-config

4.0a1


  • Python versions supported are now CPython 2.6, 2.7, 3.2, 3.3, and 3.4, and
    PyPy 2.2.
  • Gevent, eventlet, and greenlet are now supported, closing issue 149_.
    The concurrency setting specifies the concurrency library in use. Huge
    thanks to Peter Portante for initial implementation, and to Joe Jevnik for
    the final insight that completed the work.
  • Options are now also read from a setup.cfg file, if any. Sections are
    prefixed with "coverage:", so the [run] options will be read from the
    [coverage:run] section of setup.cfg. Finishes issue 304_.
  • The report -m command can now show missing branches when reporting on
    branch coverage. Thanks, Steve Leonard. Closes issue 230_.
  • The XML report now contains a <source> element, fixing issue 94_. Thanks
    Stan Hu.
  • The class defined in the coverage module is now called Coverage instead
    of coverage, though the old name still works, for backward compatibility.
  • The fail-under value is now rounded the same as r

@coveralls
Copy link

Coverage Status

Coverage decreased (-14.0%) to 76.787% when pulling 4a562c9 on pyup-initial-update into add12e1 on development.

Made changes as per django 1.10
@coveralls
Copy link

Coverage Status

Coverage decreased (-1.0%) to 89.77% when pulling f3e9afe on pyup-initial-update into add12e1 on development.

@coveralls
Copy link

Coverage Status

Coverage decreased (-1.0%) to 89.77% when pulling 3bed5c9 on pyup-initial-update into add12e1 on development.

@coveralls
Copy link

Coverage Status

Coverage decreased (-3.7%) to 88.639% when pulling 882e98e on pyup-initial-update into d20dc4d on development.

Change URL as per django 1.10
@coveralls
Copy link

Coverage Status

Coverage decreased (-3.7%) to 88.639% when pulling f1290a4 on pyup-initial-update into d20dc4d on development.

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.

2 participants