Skip to content
This repository has been archived by the owner on Sep 29, 2022. It is now read-only.

Scheduled weekly dependency update for week 36 #128

Merged
merged 9 commits into from
Sep 7, 2017

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Sep 4, 2017

Fixes #118.

Related

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.

PyYAML 3.10 » 3.12 PyPI | Changelog | Homepage
Babel 0.9.6 » 2.5.0 PyPI | Changelog | Homepage | Docs
blinker 1.2 » 1.4 PyPI | Changelog | Homepage | Docs
docutils 0.9.1 » 0.14 PyPI | Changelog | Homepage | Bugtracker
Jinja2 2.8 » 2.9.6 PyPI | Changelog | Homepage
Werkzeug 0.8.3 » 0.12.2 PyPI | Changelog | Homepage
smartypants 1.6.0.3 » 2.0.0 PyPI | Changelog | Repo | Docs
Pillow 4.0.0 » 4.2.1 PyPI | Changelog | Homepage

Changelogs

Babel 0.9.6 -> 2.5.0

2.5.0


New Features

  • Numbers: Add currency utilities and helpers (491) (kdeldycke)
  • Support PyInstaller (500, 505) (wodo)

Minor Improvements and bugfixes

  • Dates: Add str to DateTimePattern (515) (sfermigier)
  • Dates: Fix an invalid string to bytes comparison when parsing TZ files on Py3 (498) (rowillia)
  • Dates: Formatting zero-padded components of dates is faster (517) (akx)
  • Documentation: Fix "Good Commits" link in CONTRIBUTING.md (511) (naryanacharya6)
  • Documentation: Fix link to Python gettext module (512) (Linkid)
  • Messages: Allow both dash and underscore separated locale identifiers in pofiles (489, 490) (akx)
  • Messages: Extract Python messages in nested gettext calls (488) (sublee)
  • Messages: Fix in-place editing of dir list while iterating (476, 492) (MarcDufresne)
  • Messages: Stabilize sort order (482) (xavfernandez)
  • Time zones: Honor the no-inherit marker for metazone names (405) (akx)

2.4.0


New Features

Some of these changes might break your current code and/or tests.

  • CLDR: CLDR 29 is now used instead of CLDR 28 (405) (akx)
  • Messages: Add option 'add_location' for location line formatting (438, 459) (rrader, alxpy)
  • Numbers: Allow full control of decimal behavior (410) (etanol)

Minor Improvements and bugfixes

  • Documentation: Improve Date Fields descriptions (450) (ldwoolley)
  • Documentation: Typo fixes and documentation improvements (406, 412, 403, 440, 449, 463) (zyegfryed, adamchainz, jwilk, akx, roramirez, abhishekcs10)
  • Messages: Default to UTF-8 source encoding instead of ISO-8859-1 (399) (asottile)
  • Messages: Ensure messages are extracted in the order they were passed in (424) (ngrilly)
  • Messages: Message extraction for JSX files is improved (392, 396, 425) (karloskar, georgschoelly)
  • Messages: PO file reading supports multi-line obsolete units (429) (mbirtwell)
  • Messages: Python message extractor respects unicode_literals in future (427) (sublee)
  • Messages: Roundtrip Language headers (420) (kruton)
  • Messages: units before obsolete units are no longer erroneously marked obsolete (452) (mbirtwell)
  • Numbers: parse_pattern now preserves the full original pattern (414) (jtwang)
  • Numbers: Fix float conversion in extract_operands (435) (akx)
  • Plurals: Fix plural forms for Czech and Slovak locales (373) (ykshatroff)
  • Plurals: More plural form fixes based on Mozilla and CLDR references (431) (mshenfield)

Internal improvements

  • Local times are constructed correctly in tests (411) (etanol)
  • Miscellaneous small improvements (437) (scop)
  • Regex flags are extracted from the regex strings (462) (singingwolfboy)
  • The PO file reader is now a class and has seen some refactoring (429, 452) (mbirtwell)

2.3.4


(Bugfix release, released on April 22th)

Bugfixes

2.3.3


(Bugfix release, released on April 12th)

Bugfixes

2.3.2


(Bugfix release, released on April 9th)

Bugfixes

2.3.1


(Bugfix release because of deployment problems, released on April 8th)

2.3


(Feature release, released on April 8th)

Internal improvements

Features

Bugfixes

2.2


(Feature release, released on January 2nd 2016)

Bugfixes

  • General: Add hash to Locale. (303) (2aa8074)
  • General: Allow files with BOM if they're UTF-8 (189) (da87edd)
  • General: localedata directory is now locale-data (109) (2d1882e)
  • General: odict: Fix pop method (0a9e97e)
  • General: Removed uses of datetime.date class from *.dat files (174) (94f6830)
  • Messages: Fix plural selection for Chinese (531f666)
  • Messages: Fix typo and add semicolon in plural_forms (5784501)
  • Messages: Flatten NullTranslations.files into a list (ad11101)
  • Times: FixedOffsetTimezone: fix display of negative offsets (d816803)

Features

  • CLDR: Update to CLDR 28 (292) (9f7f4d0)
  • General: Add copy and deepcopy to LazyProxy. (a1cc3f1)
  • General: Add official support for Python 3.4 and 3.5
  • General: Improve odict performance by making key search O(1) (6822b7f)
  • Locale: Add an ordinal_form property to Locale (270) (b3f3430)
  • Locale: Add support for list formatting (37ce4fa, be6e23d)
  • Locale: Check inheritance exceptions first (3ef0d6d)
  • Messages: Allow file locations without line numbers (279) (79bc781)
  • Messages: Allow passing a callable to extract() (289) (3f58516)
  • Messages: Support 'Language' header field of PO files (76) (3ce842b)
  • Messages: Update catalog headers from templates (e0e7ef1)
  • Numbers: Properly load and expose currency format types (201) (df676ab)
  • Numbers: Use cdecimal by default when available (b6169be)
  • Numbers: Use the CLDR's suggested number of decimals for format_currency (139) (201ed50)
  • Times: Add format_timedelta(format='narrow') support (edc5eb5)

2.1


(Bugfix/minor feature release, released on September 25th 2015)

2.0


(Released on July 27th 2015, codename Second Coming)

  • Added support for looking up currencies that belong to a territory
    through the :func:babel.numbers.get_territory_currencies
    function.
  • Improved Python 3 support.
  • Fixed some broken tests for timezone behavior.
  • Improved various smaller things for dealing with dates.

1.4


(bugfix release, release date to be decided)

  • Fixed a bug that caused deprecated territory codes not being
    converted properly by the subtag resolving. This for instance
    showed up when trying to use und_UK as a language code
    which now properly resolves to en_GB.
  • Fixed a bug that made it impossible to import the CLDR data
    from scratch on windows systems.

1.3


(bugfix release, released on July 29th 2013)

  • Fixed a bug in likely-subtag resolving for some common locales.
    This primarily makes zh_CN work again which was broken
    due to how it was defined in the likely subtags combined with
    our broken resolving. This fixes :gh:37.
  • Fixed a bug that caused pybabel to break when writing to stdout
    on Python 3.
  • Removed a stray print that was causing issues when writing to
    stdout for message catalogs.

1.2


(bugfix release, released on July 27th 2013)

  • Included all tests in the tarball. Previously the include
    skipped past recursive folders.
  • Changed how tests are invoked and added separate standalone
    test command. This simplifies testing of the package for
    linux distributors.

1.1


(bugfix release, released on July 27th 2013)

  • added dummy version requirements for pytz so that it installs
    on pip 1.4.
  • Included tests in the tarball.

1.0


(Released on July 26th 2013, codename Revival)

  • support python 2.6, 2.7, 3.3+ and pypy - drop all other versions
  • use tox for testing on different pythons
  • Added support for the locale plural rules defined by the CLDR.
  • Added format_timedelta function to support localized formatting of
    relative times with strings such as "2 days" or "1 month" (:trac:126).
  • Fixed negative offset handling of Catalog._set_mime_headers (:trac:165).
  • Fixed the case where messages containing square brackets would break with
    an unpack error.
  • updated to CLDR 23
  • Make the CLDR import script work with Python 2.7.
  • Fix various typos.
  • Sort output of list-locales.
  • Make the POT-Creation-Date of the catalog being updated equal to
    POT-Creation-Date of the template used to update (:trac:148).
  • Use a more explicit error message if no option or argument (command) is
    passed to pybabel (:trac:81).
  • Keep the PO-Revision-Date if it is not the default value (:trac:148).
  • Make --no-wrap work by reworking --width's default and mimic xgettext's
    behaviour of always wrapping comments (:trac:145).
  • Add --project and --version options for commandline (:trac:173).
  • Add a ne() method to the Local class.
  • Explicitly sort instead of using sorted() and don't assume ordering
    (Jython compatibility).
  • Removed ValueError raising for string formatting message checkers if the
    string does not contain any string formattings (:trac:150).
  • Fix Serbian plural forms (:trac:213).
  • Small speed improvement in format_date() (:trac:216).
  • Fix so frontend.CommandLineInterface.run does not accumulate logging
    handlers (:trac:227, reported with initial patch by dfraser)
  • Fix exception if environment contains an invalid locale setting
    (:trac:200)
  • use cPickle instead of pickle for better performance (:trac:225)
  • Only use bankers round algorithm as a tie breaker if there are two nearest
    numbers, round as usual if there is only one nearest number (:trac:267,
    patch by Martin)
  • Allow disabling cache behaviour in LazyProxy (:trac:208, initial patch
    from Pedro Algarvio)
  • Support for context-aware methods during message extraction (:trac:229,
    patch from David Rios)
  • "init" and "update" commands support "--no-wrap" option (:trac:289)
  • fix formatting of fraction in format_decimal() if the input value is a float
    with more than 7 significant digits (:trac:183)
  • fix format_date() with datetime parameter (:trac:282, patch from Xavier
    Morel)
  • fix format_decimal() with small Decimal values (:trac:214, patch from
    George Lund)
  • fix handling of messages containing '\n' (:trac:198)
  • handle irregular multi-line msgstr (no "" as first line) gracefully
    (:trac:171)
  • parse_decimal() now returns Decimals not floats, API change (:trac:178)
  • no warnings when running setup.py without installed setuptools (:trac:262)
  • modified Locale.eq method so Locales are only equal if all of their
    attributes (language, territory, script, variant) are equal
  • resort to hard-coded message extractors/checkers if pkg_resources is
    installed but no egg-info was found (:trac:230)
  • format_time() and format_datetime() now accept also floats (:trac:242)
  • add babel.support.NullTranslations class similar to gettext.NullTranslations
    but with all of Babel's new gettext methods (:trac:277)
  • "init" and "update" commands support "--width" option (:trac:284)
  • fix 'input_dirs' option for setuptools integration (:trac:232, initial
    patch by Étienne Bersac)
  • ensure .mo file header contains the same information as the source .po file
    (:trac:199)
  • added support for get_language_name() on the locale objects.
  • added support for get_territory_name() on the locale objects.
  • added support for get_script_name() on the locale objects.
  • added pluralization support for currency names and added a '¤¤¤'
    pattern for currencies that includes the full name.
  • depend on pytz now and wrap it nicer. This gives us improved support
    for things like timezone transitions and an overall nicer API.
  • Added support for explicit charset to PO file reading.
  • Added experimental Python 3 support.
  • Added better support for returning timezone names.
  • Don't throw away a Catalog's obsolete messages when updating it.
  • Added basic likelySubtag resolving when doing locale parsing and no
    match can be found.

blinker 1.2 -> 1.4

1.4


Released July 23, 2015

  • Verified Python 3.4 support (no changes needed)
  • Additional bookkeeping cleanup for non-ANY connections at disconnect
    time.
  • Added Signal._cleanup_bookeeping() to prune stale bookkeeping on
    demand

1.3


Released July 3, 2013

  • The global signal stash behind blinker.signal() is now backed by a
    regular name-to-Signal dictionary. Previously, weak references were
    held in the mapping and ephermal usage in code like
    signal('foo').connect(...) could have surprising program behavior
    depending on import order of modules.
  • blinker.Namespace is now built on a regular dict. Use
    blinker.WeakNamespace for the older, weak-referencing behavior.
  • Signal.connect('text-sender') uses an alterate hashing strategy to
    avoid sharp edges in text identity.

docutils 0.9.1 -> 0.14

0.14

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

As rc2.

  • docutils/docs/ref/docutils.dtd:
  • Enable validation of Docutils XML documents against the DTD:
  • docutils/parsers/rst/:
  • Added functionality: escaped whitespace in URI contexts.
  • Consistent handling of all whitespace characters in inline markup
    recognition. (May break documents that relied on some whitespace
    characters (NBSP, ...) not to be recognized as whitespace.)
  • docutils/utils/smartquotes.py:
  • Update quote definitions for et, fi, fr, ro, sv, tr, uk.
  • Add quote definitions for hr, hsb, hu, lv, sh, sl, sr.
  • Differentiate apostrophe from closing single quote (if possible).
  • Add command line interface for stand-alone use (requires 2.7).
  • docutils/writers/_html_base:
  • Provide default title in metadata.
  • The MathJax CDN shut down on April 30, 2017. For security reasons, we
    don't use a third party public installation as default but warn
    if math-output is set to MathJax without specifying a URL.
    See math-output_ for details.
  • docutils/writers/html4css1:
  • Respect automatic table column sizing.
  • docutils/writers/latex2e/init.py
  • Handle class arguments for block-level elements by wrapping them
    in a "DUclass" environment. This replaces the special handling for
    "epigraph" and "topic" elements.
  • docutils/writers/odf_odt:
  • Language option sets ODF document's default language
  • Image width, scale, ... set image size in generated ODF.
  • tools/
  • New front-end rst2html4.py.

0.13.1

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

  • docutils/writers/html5_polyglot
  • New HTML writer generating HTML 5_.

.. _HTML 5: http://www.w3.org/TR/html5/

  • tools/
  • New front-end rst2html5.py.
  • languages: persian/farsi (fa) and latvian (la) mappings.
  • tables accept widths, a list and align
  • latex2e: Fix admonition width, remove deprecated options,
    better tablewidth auto, ...
  • rst.el: The problem with electric-indent-mode has been fixed.

0.12

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

Small changes only, release current state

0.11

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

  • General
  • Apply [ 2714873 ] Fix for the overwritting of document attributes.
  • Support embedded aliases within hyperlink references.
  • Fix [ 228 ] try local import of docutils components (reader, writer, parser,
    language module) before global search.
  • docutils/parsers/rst/directives/tables.py
  • Fix [ 210 ] Python 3.3 checks CVS syntax only if "strict" is True.
  • docutils/writers/html4css1/init.py
  • Fix [ 3600051 ] for tables in a list, table cells are not compacted.
  • New setting stylesheet_dirs (see above).

Now, it is easy to add a custom stylesheet to Docutils' default
stylesheet with, e.g., --stylesheet_path='html4css1.css, mystyle.css'

Changed behaviour of the default settings:
if there is a file html4css1.css in the working directory of the
process at launch, it is used instead of the one provided by Docutils
in the writer source directory.

  • New default for math-output_: HTML math.css.
  • Avoid repeated class declarations in html4css1 writer
    (modified version of patch [ 104 ]).

.. _math-output: docs/user/config.htmlmath-output

  • docutils/writers/latex2e/init.py
  • Drop the simple algorithm replacing straight double quotes with
    English typographic ones.
    Activate the SmartQuotes_ transform if you want this feature.
  • New setting stylesheet_dirs: Comma-separated list of directories
    where stylesheets are found. Used by stylesheet_path when expanding
    relative path arguments.

.. _SmartQuotes: docs/user/config.htmlsmart-quotes

  • docutils/writers/manpage.py
  • Fix [3607063] handle lines starting with a period.
  • Fix option separating comma was bold (thanks to Bill Morris).

0.10

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

.. Note::

Docutils 0.9.x is the last version supporting Python 2.3.

Docutils 0.10 is compatible with Python versions from 2.4 to 3.2
(cf. Python 3 compatibility_).

  • General:
  • SmartQuotes transform for typographic quotes and dashes.
  • docutils/math, docutils/error_reporting.py, and
    docutils/urischemes.py moved to the utils package.
    Code importing these modules needs to adapt, e.g.::
 try:
     import docutils.math as math
 except ImportError:
     import docutils.utils.math as math
  • enhanced math and error handling.
  • docutils/io.py
  • FileInput/FileOutput: no system-exit on IOError.
    The handle_io_errors option is ignored.

.. _Python 3 compatibility: README.htmlpython-3-compatibility

  • docutils/writers/html4css1/init.py
  • Use <code> tag for inline "code",
    do not drop nested inline nodes (syntax highlight tokens).
  • Customizable MathJax URL (based on patch by Dmitry Shachnev).
  • No line break after opening inline math tag.
  • docutils/writers/latex2e/init.py, docutils/writers/xetex/init.py
  • Fix section numbering by LaTeX.
  • docutils/writers/s5_html/init.py
  • Fix [ 3556388 ] Mathjax does not work with rst2s5.

Jinja2 2.8 -> 2.9.6

2.9.6


(bugfix release, released on April 3rd 2017)

  • Fixed custom context behavior in fast resolve mode (675)

2.9.5


(bugfix release, released on January 28th 2017)

  • Restored the original repr of the internal _GroupTuple because this
    caused issues with ansible and it was an unintended change. (654)
  • Added back support for custom contexts that override the old resolve
    method since it was hard for people to spot that this could cause a
    regression.
  • Correctly use the buffer for the else block of for loops. This caused
    invalid syntax errors to be caused on 2.x and completely wrong behavior
    on Python 3 (669)
  • Resolve an issue where the {% extends %} tag could not be used with
    async environments. (668)
  • Reduce memory footprint slightly by reducing our unicode database dump
    we use for identifier matching on Python 3 (666)
  • Fixed autoescaping not working for macros in async compilation mode. (671)

2.9.4


(bugfix release, released on January 10th 2017)

  • Solved some warnings for string literals. (646)
  • Increment the bytecode cache version which was not done due to an
    oversight before.
  • Corrected bad code generation and scoping for filtered loops. (649)
  • Resolved an issue where top-level output silencing after known extend
    blocks could generate invalid code when blocks where contained in if
    statements. (651)
  • Made the truncate.leeway default configurable to improve compatibility
    with older templates.

2.9.3


(bugfix release, released on January 8th 2017)

  • Restored the use of blocks in macros to the extend that was possible
    before. On Python 3 it would render a generator repr instead of
    the block contents. (645)
  • Set a consistent behavior for assigning of variables in inner scopes
    when the variable is also read from an outer scope. This now sets the
    intended behavior in all situations however it does not restore the
    old behavior where limited assignments to outer scopes was possible.
    For more information and a discussion see 641
  • Resolved an issue where block scoped would not take advantage of the
    new scoping rules. In some more exotic cases a variable overriden in a
    local scope would not make it into a block.
  • Change the code generation of the with statement to be in line with the
    new scoping rules. This resolves some unlikely bugs in edge cases. This
    also introduces a new internal With node that can be used by extensions.

2.9.2


(bugfix release, released on January 8th 2017)

  • Fixed a regression that caused for loops to not be able to use the same
    variable for the target as well as source iterator. (640)
  • Add support for a previously unknown behavior of macros. It used to be
    possible in some circumstances to explicitly provide a caller argument
    to macros. While badly buggy and unintended it turns out that this is a
    common case that gets copy pasted around. To not completely break backwards
    compatibility with the most common cases it's now possible to provide an
    explicit keyword argument for caller if it's given an explicit default.
    (642)

2.9.1


(bugfix release, released on January 7th 2017)

  • Resolved a regression with call block scoping for macros. Nested caller
    blocks that used the same identifiers as outer macros could refer to the
    wrong variable incorrectly.

2.9


(codename Derivation, released on January 7th 2017)

  • Change cache key definition in environment. This fixes a performance
    regression introduced in 2.8.
  • Added support for generator_stop on supported Python versions
    (Python 3.5 and later)
  • Corrected a long standing issue with operator precedence of math operations
    not being what was expected.
  • Added support for Python 3.6 async iterators through a new async mode.
  • Added policies for filter defaults and similar things.
  • urlize now sets "rel noopener" by default.
  • Support attribute fallback for old-style classes in 2.x.
  • Support toplevel set statements in extend situations.
  • Restored behavior of Cycler for Python 3 users.
  • Subtraction now follows the same behavior as other operators on undefined
    values.
  • map and friends will now give better error messages if you forgot to
    quote the parameter.
  • Depend on MarkupSafe 0.23 or higher.
  • Improved the truncate filter to support better truncation in case
    the string is barely truncated at all.
  • Change the logic for macro autoescaping to be based on the runtime
    autoescaping information at call time instead of macro define time.
  • Ported a modified version of the tojson filter from Flask to Jinja2
    and hooked it up with the new policy framework.
  • Block sets are now marked safe by default.
  • On Python 2 the asciification of ASCII strings can now be disabled with
    the compiler.ascii_str policy.
  • Tests now no longer accept an arbitrary expression as first argument but
    a restricted one. This means that you can now properly use multiple
    tests in one expression without extra parentheses. In particular you can
    now write foo is divisibleby 2 or foo is divisibleby 3
    as you would expect.
  • Greatly changed the scoping system to be more consistent with what template
    designers and developers expect. There is now no more magic difference
    between the different include and import constructs. Context is now always
    propagated the same way. The only remaining differences is the defaults
    for with context and without context.
  • The with and autoescape tags are now built-in.
  • Added the new select_autoescape function which helps configuring better
    autoescaping easier.

2.8.2


(bugfix release, unreleased)

  • Fixed a runtime error in the sandbox when attributes of async generators
    were accessed.

2.8.1


(bugfix release, released on December 29th 2016)

  • Fixed the for_qs flag for urlencode.
  • Fixed regression when applying int to non-string values.
  • SECURITY: if the sandbox mode is used format expressions are now sandboxed
    with the same rules as in Jinja. This solves various information leakage
    problems that can occur with format strings.

Werkzeug 0.8.3 -> 0.12.2

0.12.2


Released on May 16 2017

  • Fix regression: Pull request 892 prevented Werkzeug from correctly
    logging the IP of a remote client behind a reverse proxy, even when using
    ProxyFix.
  • Fix a bug in safe_join on Windows.

0.12.1


Released on March 15th 2017

  • Fix crash of reloader (used on debug mode) on Windows.
    (OSError: [WinError 10038]). See pull request 1081
  • Partially revert change to class hierarchy of Headers. See 1084.

0.12


Released on March 10th 2017

  • Spit out big deprecation warnings for werkzeug.script
  • Use inspect.getfullargspec internally when available as
    inspect.getargspec is gone in 3.6
  • Added support for status code 451 and 423
  • Improved the build error suggestions. In particular only if
    someone stringifies the error will the suggestions be calculated.
  • Added support for uWSGI's caching backend.
  • Fix a bug where iterating over a FileStorage would result in an infinite
    loop.
  • Datastructures now inherit from the relevant baseclasses from the
    collections module in the stdlib. See 794.
  • Add support for recognizing NetBSD, OpenBSD, FreeBSD, DragonFlyBSD platforms
    in the user agent string.
  • Recognize SeaMonkey browser name and version correctly
  • Recognize Baiduspider, and bingbot user agents
  • If LocalProxy's wrapped object is a function, refer to it with wrapped
    attribute.
  • The defaults of generate_password_hash have been changed to more secure
    ones, see pull request 753.
  • Add support for encoding in options header parsing, see pull request
    933.
  • test.Client now properly handles Location headers with relative URLs, see
    pull request 879.
  • When HTTPException is raised, it now prints the description, for easier
    debugging.
  • Werkzeug's dict-like datastructures now have view-methods under Python 2,
    see pull request 968.
  • Fix a bug in MultiPartParser when no stream_factory was provided
    during initialization, see pull request 973.
  • Disable autocorrect and spellchecker in the debugger middleware's Python
    prompt, see pull request 994.
  • Don't redirect to slash route when method doesn't match, see pull request
    907.
  • Fix a bug when using SharedDataMiddleware with frozen packages, see pull
    request 959.
  • Range header parsing function fixed for invalid values 974.
  • Add support for byte Range Requests, see pull request 978.
  • Use modern cryptographic defaults in the dev servers 1004.
  • the post() method of the test client now accept file object through the data
    parameter.
  • Color run_simple's terminal output based on HTTP codes 1013.
  • Fix self-XSS in debugger console, see 1031.
  • Fix IPython 5.x shell support, see 1033.

0.11.16


  • werkzeug.serving: set CONTENT_TYPE / CONTENT_LENGTH if only they're provided by the client
  • werkzeug.serving: Fix crash of reloader when using python -m werkzeug.serving.

0.11.15


Released on December 30th 2016.

  • Bugfix for the bugfix in the previous release.

0.11.14


Released on December 30th 2016.

  • Check if platform can fork before importing ForkingMixIn, raise exception
    when creating ForkingWSGIServer on such a platform, see PR 999.

0.11.13


Released on December 26th 2016.

  • Correct fix for the reloader issuer on certain Windows installations.

0.11.12


Released on December 26th 2016.

  • Fix more bugs in multidicts regarding empty lists. See 1000.
  • Add some docstrings to some EnvironBuilder properties that were previously
    unintentionally missing.
  • Added a workaround for the reloader on windows.

0.11.11


Released on August 31st 2016.

  • Fix JSONRequestMixin for Python3. See 731
  • Fix broken string handling in test client when passing integers. See 852
  • Fix a bug in parse_options_header where an invalid content type
    starting with comma or semi-colon would result in an invalid return value,
    see issue 995.
  • Fix a bug in multidicts when passing empty lists as values, see issue
    979.
  • Fix a security issue that allows XSS on the Werkzeug debugger. See 1001.

0.11.10


Released on May 24th 2016.

  • Fixed a bug that occurs when running on Python 2.6 and using a broken locale.
    See pull request 912.
  • Fixed a crash when running the debugger on Google App Engine. See issue 925.
  • Fixed an issue with multipart parsing that could cause memory exhaustion.

0.11.9


Released on April 24th 2016.

  • Corrected an issue that caused the debugger not to use the
    machine GUID on POSIX systems.
  • Corrected a Unicode error on Python 3 for the debugger's
    PIN usage.
  • Corrected the timestamp verification in the pin debug code.
    Without this fix the pin was remembered for too long.

0.11.8


Released on April 15th 2016.

  • fixed a problem with the machine GUID detection code on OS X
    on Python 3.

0.11.7


Released on April 14th 2016.

  • fixed a regression on Python 3 for the debugger.

0.11.6


Released on April 14th 2016.

  • werkzeug.serving: Still show the client address on bad requests.
  • improved the PIN based protection for the debugger to make it harder to
    brute force via trying cookies. Please keep in mind that the debugger
    is not intended for running on production environments
  • increased the pin timeout to a week to make it less annoying for people
    which should decrease the chance that users disable the pin check
    entirely.
  • werkzeug.serving: Fix broken HTTP_HOST when path starts with double slash.

0.11.5


Released on March 22nd 2016.

  • werkzeug.serving: Fix crash when attempting SSL connection to HTTP server.

0.11.4


Released on February 14th 2016.

  • Fixed werkzeug.serving not working from -m flag.
  • Fixed incorrect weak etag handling.

0.11.3


Released on December 20th 2015.

  • Fixed an issue with copy operations not working against
    proxies.
  • Changed the logging operations of the development server to
    correctly log where the server is running in all situations
    again.
  • Fixed another regression with SSL wrapping similar to the
    fix in 0.11.2 but for a different code path.

0.11.2


Released on November 12th 2015.

  • Fix inheritable sockets on Windows on Python 3.
  • Fixed an issue with the forking server not starting any longer.
  • Fixed SSL wrapping on platforms that supported opening sockets
    by file descriptor.
  • No longer log from the watchdog reloader.
  • Unicode errors in hosts are now better caught or converted into
    bad request errors.

0.11.1


Released on November 10th 2015.

  • Fixed a regression on Python 3 in the debugger.

0.11


Released on November 8th 2015, codename Gleisbaumaschine.

  • Added reloader_paths option to run_simple and other functions in
    werkzeug.serving. This allows the user to completely override the Python
    module watching of Werkzeug with custom paths.
  • Many custom cached properties of Werkzeug's classes are now subclasses of
    Python's property type (issue 616).
  • bind_to_environ now doesn't differentiate between implicit and explicit
    default port numbers in HTTP_HOST (pull request 204).
  • BuildErrors are now more informative. They come with a complete sentence
    as error message, and also provide suggestions (pull request 691).
  • Fix a bug in the user agent parser where Safari's build number instead of
    version would be extracted (pull request 703).
  • Fixed issue where RedisCache set_many was broken for twemproxy, which doesn't
    support the default MULTI command (pull request 702).
  • mimetype parameters on request and response classes are now always
    converted to lowercase.
  • Changed cache so that cache never expires if timeout is 0. This also fixes
    an issue with redis setex (issue 550)
  • Werkzeug now assumes UTF-8 as filesystem encoding on Unix if Python
    detected it as ASCII.
  • New optional has method on caches.
  • Fixed various bugs in parse_options_header (pull request 643).
  • If the reloader is enabled the server will now open the socket in the parent
    process if this is possible. This means that when the reloader kicks in
    the connection from client will wait instead of tearing down. This does
    not work on all Python versions.
  • Implemented PIN based authentication for the debugger. This can optionally
    be disabled but is discouraged. This change was necessary as it has been
    discovered that too many people run the debugger in production.
  • Devserver no longer requires SSL module to be installed.

0.10.5


(bugfix release, release date yet to be decided)

  • Reloader: Correctly detect file changes made by moving temporary files over
    the original, which is e.g. the case with PyCharm (pull request 722).
  • Fix bool behavior of werkzeug.datastructures.ETags under Python 3 (issue
    744).

0.10.4


(bugfix release, released on March 26th 2015)

  • Re-release of 0.10.3 with packaging artifacts manually removed.

0.10.3


(bugfix release, released on March 26th 2015)

  • Re-release of 0.10.2 without packaging artifacts.

0.10.2


(bugfix release, released on March 26th 2015)

  • Fixed issue where empty could break third-party libraries that relied on
    keyword arguments (pull request 675)
  • Improved Rule.empty by providing a ```get_empty_kwargsto allow setting custom kwargs without having to override entireempty`` method. (pull
    request ``675``)
  • Fixed extra_files parameter for reloader to not cause startup
    to crash when included in server params
  • Using MultiDict when building URLs is now not supported again. The behavior
    introduced several regressions.
  • Fix performance problems with stat-reloader (pull request 715).

0.10.1


(bugfix release, released on February 3rd 2015)

  • Fixed regression with multiple query values for URLs (pull request 667).
  • Fix issues with eventlet's monkeypatching and the builtin server (pull
    request 663).

0.10


Released on January 30th 2015, codename Bagger.

  • Changed the error handling of and improved testsuite for the caches in
    contrib.cache.
  • Fixed a bug on Python 3 when creating adhoc ssl contexts, due to sys.maxint
    not being defined.
  • Fixed a bug on Python 3, that caused
    :func:~werkzeug.serving.make_ssl_devcert to fail with an exception.
  • Added exceptions for 504 and 505.
  • Added support for ChromeOS detection.
  • Added UUID converter to the routing system.
  • Added message that explains how to quit the server.
  • Fixed a bug on Python 2, that caused len for
    :class:werkzeug.datastructures.CombinedMultiDict to crash.
  • Added support for stdlib pbkdf2 hmac if a compatible digest
    is found.
  • Ported testsuite to use py.test.
  • Minor optimizations to various middlewares (pull requests 496 and
    571).
  • Use stdlib ssl module instead of OpenSSL for the builtin server
    (issue 434). This means that OpenSSL contexts are not supported anymore,
    but instead ssl.SSLContext from the stdlib.
  • Allow protocol-relative URLs when building external URLs.
  • Fixed Atom syndication to print time zone offset for tz-aware datetime
    objects (pull request 254).
  • Improved reloader to track added files and to recover from broken
    sys.modules setups with syntax errors in packages.
  • cache.RedisCache now supports arbitrary **kwargs for the redis
    object.
  • werkzeug.test.Client now uses the original request method when resolving
    307 redirects (pull request 556).
  • werkzeug.datastructures.MIMEAccept now properly deals with mimetype
    parameters (pull request 205).
  • werkzeug.datastructures.Accept now handles a quality of 0 as
    intolerable, as per RFC 2616 (pull request 536).
  • werkzeug.urls.url_fix now properly encodes hostnames with idna
    encoding (issue 559). It also doesn't crash on malformed URLs anymore
    (issue 582).
  • werkzeug.routing.MapAdapter.match now recognizes the difference between
    the path / and an empty one (issue 360).
  • The interactive debugger now tries to decode non-ascii filenames (issue
    469).
  • Increased default key size of generated SSL certificates to 1024 bits (issue
    611).
  • Added support for specifying a Response subclass to use when calling
    :func:~werkzeug.utils.redirect\ .
  • werkzeug.test.EnvironBuilder now doesn't use the request method anymore
    to guess the content type, and purely relies on the form, files and
    input_stream properties (issue 620).
  • Added Symbian to the user agent platform list.
  • Fixed make_conditional to respect automatically_set_content_length
  • Unset Content-Length when writing to response.stream (issue 451)
  • wrappers.Request.method is now always uppercase, eliminating
    inconsistencies of the WSGI environment (issue 647).
  • routing.Rule.empty now works correctly with subclasses of Rule (pull
    request 645).
  • Made map updating safe in light of concurrent updates.
  • Allow multiple values for the same field for url building (issue 658).

0.9.7


  • Fixed uri_to_iri() not re-encoding hashes in query string parameters.

0.9.6


(bugfix release, released on June 7th 2014)

  • Added a safe conversion for IRI to URI conversion and use that
    internally to work around issues with spec violations for
    protocols such as itms-service.

0.9.5


(bugfix release, released on June 7th 2014)

  • Forward charset argument from request objects to the environ
    builder.
  • Fixed error handling for missing boundaries in multipart data.
  • Fixed session creation on systems without os.urandom().
  • Fixed pluses in dictionary keys not being properly URL encoded.
  • Fixed a problem with deepcopy not working for multi dicts.
  • Fixed a double quoting issue on redirects.
  • Fixed a problem with unicode keys appearing in headers on 2.x.
  • Fixed a bug with unicode strings in the test builder.
  • Fixed a unicode bug on Python 3 in the WSGI profiler.
  • Fixed an issue with the safe string compare function on
    Python 2.7.7 and Python 3.4.

0.9.4


(bugfix release, released on August 26th 2013)

  • Fixed an issue with Python 3.3 and an edge case in cookie parsing.
  • Fixed decoding errors not handled properly through the WSGI
    decoding dance.
  • Fixed URI to IRI conversion incorrectly decoding percent signs.

0.9.3


(bugfix release, released on July 25th 2013)

  • Restored behavior of the data descriptor of the request class to pre 0.9
    behavior. This now also means that .data and .get_data() have
    different behavior. New code should use .get_data() always.

In addition to that there is now a flag for the .get_data() method that
controls what should happen with form data parsing and the form parser will
honor cached data. This makes dealing with custom form data more consistent.

0.9.2


(bugfix release, released on July 18th 2013)

  • Added unsafe parameter to :func:~werkzeug.urls.url_quote.
  • Fixed an issue with :func:~werkzeug.urls.url_quote_plus not quoting
    '+' correctly.
  • Ported remaining parts of :class:~werkzeug.contrib.RedisCache to
    Python 3.3.
  • Ported remaining parts of :class:~werkzeug.contrib.MemcachedCache to
    Python 3.3
  • Fixed a deprecation warning in the contrib atom module.
  • Fixed a regression with setting of content types through the
    headers dictionary instead with the content type parameter.
  • Use correct name for stdlib secure string comparison function.
  • Fixed a wrong reference in the docstring of
    :func:~werkzeug.local.release_local.
  • Fixed an AttributeError that sometimes occurred when accessing the
    :attr:werkzeug.wrappers.BaseResponse.is_streamed attribute.

0.9.1


(bugfix release, released on June 14th 2013)

  • Fixed an issue with integers no longer being accepted in certain
    parts of the routing system or URL quoting functions.
  • Fixed an issue with url_quote not producing the right escape
    codes for single digit codepoints.
  • Fixed an issue with :class:~werkzeug.wsgi.SharedDataMiddleware not
    reading the path correctly and breaking on etag generation in some
    cases.
  • Properly handle Expect: 100-continue in the development server
    to resolve issues with curl.
  • Automatically exhaust the input stream on request close. This should
    fix issues where not touching request files results in a timeout.
  • Fixed exhausting of streams not doing anything if a non-limited
    stream was passed into the multipart parser.
  • Raised the buffer sizes for the multipart parser.

0.9


Released on June 13nd 2013, codename Planierraupe.

  • Added support for :meth:~werkzeug.wsgi.LimitedStream.tell
    on the limited stream.
  • :class:~werkzeug.datastructures.ETags now is nonzero if it
    contains at least one etag of any kind, including weak ones.
  • Added a workaround for a bug in the stdlib for SSL servers.
  • Improved SSL interface of the devserver so that it can generate
    certificates easily and load them from files.
  • Refactored test client to invoke the open method on the class
    for redirects. This makes subclassing more powerful.
  • :func:werkzeug.wsgi.make_chunk_iter and
    :func:werkzeug.wsgi.make_line_iter now support processing of
    iterators and streams.
  • URL generation by the routing system now no longer quotes
    +.
  • URL fixing now no longer quotes certain reserved characters.
  • The :func:werkzeug.security.generate_password_hash and
    check functions now support any of the hashlib algorithms.
  • wsgi.get_current_url is now ascii safe for browsers sending
    non-ascii data in query strings.
  • improved parsing behavior for :func:werkzeug.http.parse_options_header
  • added more operators to local proxies.
  • added a hook to override the default converter in the routing
    system.
  • The description field of HTTP exceptions is now always escaped.
    Use markup objects to disable that.
  • Added number of proxy argument to the proxy fix to make it more
    secure out of the box on common proxy setups. It will by default
    no longer trust the x-forwarded-for header as much as it did
    before.
  • Added support for fragment handling in URI/IRI functions.
  • Added custom class support for :func:werkzeug.http.parse_dict_header.
  • Renamed LighttpdCGIRootFix to CGIRootFix.
  • Always treat + as safe when fixing URLs as people love misusing them.
  • Added support to profiling into directories in the contrib profiler.
  • The escape function now by default escapes quotes.
  • Changed repr of exceptions to be less magical.
  • Simplified exception interface to no longer require environments
    to be passed to receive the response object.
  • Added sentinel argument to IterIO objects.
  • Added pbkdf2 support for the security module.
  • Added a plain request type that disables all form parsing to only
    leave the stream behind.
  • Removed support for deprecated fix_headers.
  • Removed support for deprecated header_list.
  • Removed support for deprecated parameter for iter_encoded.
  • Removed support for deprecated non-silent usage of the limited
    stream object.
  • Removed support for previous dummy writable parameter on
    the cached property.
  • Added support for explicitly closing request objects to close
    associated resources.
  • Conditional request handling or access to the data property on responses no
    longer ignores direct passthrough mode.
  • Removed werkzeug.templates and werkzeug.contrib.kickstart.
  • Changed host lookup logic for forwarded hosts to allow lists of
    hosts in which case only the first one is picked up.
  • Added wsgi.get_query_string, wsgi.get_path_info and
    wsgi.get_script_name and made the wsgi.pop_path_info and
    wsgi.peek_path_info functions perform unicode decoding. This
    was necessary to avoid having to expose the WSGI encoding dance
    on Python 3.
  • Added content_encoding and content_md5 to the request object's
    common request descriptor mixin.
  • added options and trace to the test client.
  • Overhauled the utilization of the input stream to be easier to use
    and better to extend. The detection of content payload on the input
    side is now more compliant with HTTP by detecting off the content
    type header instead of the request method. This also now means that
    the stream property on the request class is always available instead
    of just when the parsing fails.
  • Added support for using :class:werkzeug.wrappers.BaseResponse in a with
    statement.
  • Changed get_app_iter to fetch the response early so that it does not
    fail when wrapping a response iterable. This makes filtering easier.
  • Introduced get_data and set_data methods for responses.
  • Introduced get_data for requests.
  • Soft deprecated the data descriptors for request and response objects.
  • Added as_bytes operations to some of the headers to simplify working
    with things like cookies.
  • Made the debugger paste tracebacks into github's gist service as
    private pastes.

0.8.4


(bugfix release, release date to be announced)

  • Added a favicon to the debugger which fixes problem with
    state changes being triggered through a request to
    /favicon.ico in Google Chrome. This should fix some
    problems with Flask and other frameworks that use
    context local objects on a stack with context preservation
    on errors.
  • Fixed an issue with scrolling up in the debugger.
  • Fixed an issue with debuggers running on a different URL
    than the URL root.
  • Fixed a problem with proxies not forwarding some rarely
    used special methods properly.
  • Added a workaround to prevent the XSS protection from Chrome
    breaking the debugger.
  • Skip redis tests if redis is not running.
  • Fixed a typo in the multipart parser that caused content-type
    to not be picked up properly.

smartypants 1.6.0.3 -> 2.0.0

2.0.0


  • drop Pyblosxom support
  • drop str-type attr
  • use Attr.default instead of default_smartypants_attr
  • drop fooBarXyz functions, such as smartyPants, educateQuotes,
    and processEscapes
  • add Attr.u and Attr.h for Unicode characters and HTML named entities
    outputs, respectively. The stupefy_entities has become
    convert_entities to support all three types of conversions. (6)
  • Makefile
  • do not build bdist_wininst --plat-name win32 per
    :pep:527bdist-dmg-bdist-msi-and-bdist-wininst
  • do not make sdist --format=zip, it would get a duplicate warning on
    PyPI
  • test packages build in test_setup target
  • rename target install_test to test_setup

Releases 1.7 and greater

1.51.7


  • Add HBS language translation. Patch by by Vera Djuraskovic from
    Webhostinggeeks.com
  • Add Python3 support

1.51.6


  • Fixed bug where blocks of precious unalterable text was instead
    interpreted. Thanks to Le Roux and Dirk van Oosterbosch

1.51.5


  • Fix bogus magical quotation when there is no hint that the
    user wants it, e.g., in "21st century". Thanks to Nathan Hamblen
  • Be smarter about quotes before terminating numbers in an en-dash'ed
    range

1.51.4


  • Fix a date-processing bug, as reported by jacob childress
  • Begin a test-suite for ensuring correct output
  • Removed import of "string", since I didn't really need it
    (This was my first every Python program. Sue me!)

1.51.3


  • Abort processing if the flavour is in forbidden-list. Default of
    [ "rss" ] (Idea of Wolfgang SCHNERRING.)
  • Remove stray virgules from en-dashes. Patch by Wolfgang SCHNERRING

1.51.2


  • Some single quotes weren't replaced properly. Diff-tesuji played
    by Benjamin GEIGER

1.51.1


  • Support upcoming pyblosxom 0.9 plugin verification feature

1.51.0


  • Initial release

1.8.6


  • Makefile
  • add LC_ALL=C test for locale setting on setup.py wrt 5
  • change virtualenv invocation method in install_test target
  • fix UnicodeDecodeError on opening smartypants.py, which includes Unicode
    characters, when running setup.py with Python 3 and specific locales
    (5, patch by Benoît Monin)

1.8.5


  • fix requirement of Wheel, now optional (4)

1.8.4


  • add missing COPYING and CHANGES.rst to package (3)
  • add bdist_wheel to the building process for Python Wheel format
  • add test_doc8 target
  • fix install_test on missing of Wheel package
  • fix argparse version option breaks CLI on Python 3

1.8.3


  • fix _tokenize can not handle HTML comment properly

This fix includes pull request 1 with modification for handling
-- appears in a comment, which makes the comment not a comment

1.8.2


  • deprecate fooBarXyz functions, such as educateQuotes and
    processEscapes
  • fix --- being converted in educateDashes

The Perl doesn't do such, and it's possibly a mistaken in
version v1.5_1.5 (eed4a8a16f11)

If you want the same behavior with default attributes, you need to use
Attr.q | Attr.b | Attr.i | Attr.e

  • setup.py
  • add build_sphinx and upload_sphinx commands
  • Makefile
  • add doc for documentation generation
  • add upload_doc for uploading to PyPI
  • add clean for cleaning up built files
  • add documentation generation

1.8.1


  • fix deprecated smartyPants returns nothing (2)
  • add test file for deprecated stuff

1.8.0


  • deprecate str-type attr with:
  • redesign attr input with new Attr object
  • "-1" now is Attr.s ("s")
  • _str_attr_to_int() to handle str-type before the removal
  • deprecate function name smartyPants, now smartypants
  • remove tags_to_skip_regex and add tags_to_skip as a list of
    skipped HTML with a helper function to compile a regular expression
  • command-line
  • add --version
  • add --skip for skipped elements
  • add Makefile:
  • test_pep8, test_pyflakes, and test_test (unittest)
    targets
  • install_test target for checking package installation
  • test target for all tests above
  • add style, samp, and tt to be skipped HTML elements

1.7.1


  • fix README-PyPI.rst missing while installing

1.7.0


  • deprecate Pyblosxom support
  • remove HBS language translation added in 1.5_1.7.
  • fix convert_quot always enabled

It was always turned on. To have same effect of previous 1 attr,
equivalent attrs are qbdew. Now 1 means qbde

  • add Python 3 support
  • add unittest and checks
  • add CLI script

Pillow 4.0.0 -> 4.2.1

4.2.1


  • CI: Fix version specification and test on CI for PyPy/Windows 2608
    [wiredfool]

4.2.0


  • Doc: Clarified Image.save:append_images documentation 2604
    [radarhere]
  • CI: Amazon Linux and Centos6 docker images added to TravisCI 2585
    [wiredfool]

  • Image.alpha_composite added 2595
    [wiredfool]

  • Complex Text Support 2576
    [ShamsaHamed, Fahad-Alsaidi, wiredfool]

  • Added threshold parameter to ImageDraw.floodfill 2599
    [nediamond]

  • Added dBATCH parameter to ghostscript command 2588
    [radarhere]
  • JPEG: Adjust buffer size when icc_profile > MAXBLOCK 2596
    [Darou]
  • Specify Pillow Version in one place 2517
    [wiredfool]

  • CI: Change the owner of the TRAVIS_BUILD_DIR, fixing broken docker runs 2587
    [wiredfool]

  • Fix truncated PNG loading for some images, Fix memory leak on truncated PNG images. 2541, 2598
    [homm]

  • Add decompression bomb check to Image.crop 2410
    [wiredfool]

  • ImageFile: Ensure that the err_code variable is initialized in case of exception. 2363
    [alexkiro]

  • Tiff: Support append_images for saving multipage TIFFs 2406
    [blochl]

  • Doc: Clarify that draft is only implemented for JPEG and PCD 2409
    [wiredfool]
  • Test: MicImagePlugin 2447
    [hugovk]
  • Use round() instead of floor() to eliminate zero coefficients in resample 2558
    [homm]
  • Remove deprecated code 2549
    [hugovk]

  • Added append_images to PDF saving 2526
    [radarhere]

  • Remove unused function core image function new_array 2548
    [hugovk]

  • Remove unnecessary calls to dict.keys() 2551
    [jdufresne]

  • Add more ImageDraw.py tests and remove unused Draw.c code 2533
    [hugovk]

  • Test: More tests for ImageMorph 2554
    [hugovk]
  • Test: McIDAS area file 2552
    [radarhere]
  • Update Feature Detection 2520
    [wiredfool]
  • CI: Update pypy on TravisCI 2573
    [hugovk]
  • ImageMorph: Fix wrong expected size of MRLs read from disk 2561
    [dov]
  • Docs: Update install docs for FreeBSD 2546
    [wiredfool]
  • Build: Ignore OpenJpeg 1.5 on FreeBSD 2544
    [melvyn-sopacua]
  • Remove 'not yet implemented' methods from PIL 1.1.4 2538
    [hugovk]

  • Dependencies: Update FreeType to 2.8, LibTIFF to 4.0.8 and libimagequant to 2.9.1 2535 2537 2540
    [radarhere]

  • Raise TypeError and not also UnboundLocalError in ImageFile.Parser() 2525
    [joshblum]
  • Test: Use Codecov for coverage 2528
    [hugovk]
  • Use PNG for Image.show() 2527
    [HinTak, wiredfool]
  • Remove WITH_DEBUG compilation flag 2522
    [wiredfool]
  • Fix return value on parameter parse error in _webp.c 2521
    [adw1n]
  • Set executable flag on scripts with shebang line 2295
    [radarhere]
  • Flake8 2460
    [radarhere]
  • Doc: Release Process Changes 2516
    [wiredfool]
  • CI: Added region for s3 deployment on appveyor 2515
    [wiredfool]
  • Doc: Updated references to point to existing files 2507
    [radarhere]
  • Return copy on Image crop if crop dimensions match the image 2471
    [radarhere]
  • Test: Optimize CI speed 2464, 2466
    [hugovk]

4.1.1


  • Fix for file with DPI in EXIF but not metadata, and XResolution is an int rather than tuple 2484
    [hugovk]
  • Docs: Removed broken download counter badge 2487
    [hugovk]
  • Docs: Fixed rst syntax error 2477
    [thebjorn]

4.1.0


  • Close files after loading if possible 2330
    [homm, wiredfool]
  • Fix Image Access to be reloadable when embedding the Python interpreter 2296
    [wiredfool, cgohlke]
  • Fetch DPI from EXIF if not specified in JPEG header 2449, 2472
    [hugovk]
  • Removed winbuild checksum verification 2468
    [radarhere]
  • Git: Set ContainerIO test file as binary 2469
    [cgohlke]
  • Remove superfluous import of FixTk 2455
    [cgohlke)
  • Fix import of tkinter/Tkinter 2456
    [cgohlke)
  • Pure Python Decoders, including Python decoder to fix for MSP images 1938
    [wiredfool, hugovk]
  • Reorganized GifImagePlugin, fixes 2314. 2374
    [radarhere, wiredfool]
  • Doc: Reordered operating systems in Compatibility Matrix 2436
    [radarhere]
  • Test: Additional tests for BurfStub, Eps, Container, GribStub, IPTC, Wmf, XVThumb, ImageDraw, ImageMorph ImageShow 2425
    [radarhere]
  • Health fixes 2437
    [radarhere]
  • Test: Correctness tests ContainerIO, XVThumbImagePlugin, BufrStubImagePlugin, GribStubImagePlugin, FitsStubImagePlugin, Hdf5StubImagePlugin, PixarImageFile, PsdImageFile 2443, 2442, 2441, 2440, 2431, 2430, 2428, 2427
    [hugovk]
  • Remove unused imports 1822
    [radarhere]
  • Replaced KeyError catch with dictionary get method 2424
    [radarhere]
  • Test: Removed unrunnable code in test_image_toqimage 2415
    [hugovk]
  • Removed use of spaces in TIFF kwargs names, deprecated in 2.7 1390
    [radarhere]
  • Removed deprecated ImageDraw setink, setfill, setfont methods 2220
    [jdufresne]
  • Send unwanted subprocess output to /dev/null 2253
    [jdufresne]
  • Fix division by zero when creating 0x0 image from numpy array 2419
    [hugovk]
  • Test: Added matrix convert tests 2381
    [hugovk]
  • Replaced broken URL to partners.adobe.com 2413
    [radarhere]
  • Removed unused private functions in setup.py and build_dep.py 2414
    [radarhere]
  • Test: Fixed Qt tests for QT5 and saving 1 bit PNG 2394
    [wiredfool]
  • Test: docker builds for Arch and Debian Stretch 2394
    [wi

@jgerigmeyer
Copy link
Member

Assigning to @mirisuzanne for functional review, and @davisagli or @wlonk for quick code review.

Copy link
Member

@mirisuzanne mirisuzanne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what to look at here, but functionality still looks good to me with these updates.

@jgerigmeyer
Copy link
Member

@mirisuzanne Functional differences are mainly smart-quotes everywhere now (instead of just blog body text), and one regression: no more .quo and .dquo spans wrapping initial quotes -- but it looks like we weren't doing anything with those anyway.

@jgerigmeyer jgerigmeyer merged commit 455cfee into master Sep 7, 2017
@jgerigmeyer jgerigmeyer deleted the pyup-scheduled-update-09-04-2017 branch September 7, 2017 02:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

I want smart single-quotes. Please support 'Language' header field of PO files
4 participants