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

Closed
wants to merge 29 commits into from
Closed

Initial Update #43

wants to merge 29 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.

alembic 0.8.4 » 0.9.1 PyPI | Changelog | Repo | Docs
Babel 2.2.0 » 2.4.0 PyPI | Changelog | Homepage | Docs
Beaker 1.7.0 » 1.8.1 PyPI | Changelog | Docs
crank 0.7.3 » 0.8.1 PyPI | Repo
decorator 4.0.6 » 4.0.11 PyPI | Changelog | Repo | Docs
FormEncode 1.3.0 » 1.3.1 PyPI | Homepage
Mako 0.7.3 » 1.0.6 PyPI | Changelog | Homepage
MarkupSafe 0.23 » 1.0 PyPI | Changelog | Repo
Paste 2.0.2 » 2.0.3 PyPI | Changelog | Homepage
Pygments 2.0.2 » 2.2.0 PyPI | Changelog | Homepage
python-editor 0.5 » 1.0.3 PyPI | Repo
pytz 2015.7 » 2017.2 PyPI | Homepage | Docs
repoze.tm2 2.0 » 2.1 PyPI | Changelog | Homepage
Routes 2.2 » 2.4.1 PyPI | Changelog | Docs
simplejson 3.8.1 » 3.10.0 PyPI | Changelog | Repo
SQLAlchemy 1.0.11 » 1.1.9 PyPI | Changelog | Homepage
transaction 1.4.4 » 2.1.2 PyPI | Changelog | Repo
TurboGears2 2.2.2 » 2.3.10 PyPI | Homepage
tw2.core 2.2.3 » 2.2.4 PyPI | Changelog | Homepage
tw2.forms 2.2.0.3 » 2.2.5 PyPI | Changelog | Homepage
WebError 0.11 » 0.13.1 PyPI | Repo
WebOb 1.1.1 » 1.7.2 PyPI | Changelog | Homepage
WebTest 1.4.3 » 2.0.27 PyPI | Changelog | Homepage
zope.interface 4.1.3 » 4.4.0 PyPI | Changelog | Repo
zope.sqlalchemy 0.7.6 » 0.7.7 PyPI | Changelog | Homepage
tg.devtools 2.2.2 » 2.3.10 PyPI | Homepage
docutils 0.13.1 » 0.13.1 PyPI | Homepage | Bugtracker
gitchangelog 3.0.3 » 3.0.3 PyPI | Repo
wheel 0.29.0 » 0.29.0 PyPI | Changelog | Repo

Changelogs

alembic 0.8.4 -> 0.9.1

0.9.1

:released: March 1, 2017

.. change:: 417
:tags: bug, commands
🎟️ 417, 369

 An adjustment to the bug fix for :ticket:`369` to accommodate for
 env.py scripts that use an enclosing transaction distinct from the
 one that the context provides, so that the check for "didn't commit
 the transaction" doesn't trigger in this scenario.

.. changelog::

0.9.0

:released: February 28, 2017

.. change:: 38
:tags: feature, autogenerate
🎟️ 38

 The :paramref:`.EnvironmentContext.configure.target_metadata` parameter
 may now be optionally specified as a sequence of :class:`.MetaData`
 objects instead of a single :class:`.MetaData` object.  The
 autogenerate process will process the sequence of :class:`.MetaData`
 objects in order.

.. change:: 369
:tags: bug, commands
🎟️ 369

 A :class:`.CommandError` is now raised when a migration file opens
 a database transaction and does not close/commit/rollback, when
 the backend database or environment options also specify transactional_ddl
 is False.   When transactional_ddl is not in use, Alembic doesn't
 close any transaction so a transaction opened by a migration file
 will cause the following migrations to fail to apply.

.. change:: 413
:tags: bug, autogenerate, mysql
🎟️ 413

 The ``autoincrement=True`` flag is now rendered within the
 :meth:`.Operations.alter_column` operation if the source column indicates
 that this flag should be set to True.  The behavior is sensitive to
 the SQLAlchemy version in place, as the "auto" default option is new
 in SQLAlchemy 1.1.  When the source column indicates autoincrement
 as True or "auto", the flag will render as True if the original column
 contextually indicates that it should have "autoincrement" keywords,
 and when the source column explcitly sets it to False, this is also
 rendered.  The behavior is intended to preserve the AUTO_INCREMENT flag
 on MySQL as the column is fully recreated on this backend.  Note that this
 flag does **not** support alteration of a column's "autoincrement" status,
 as this is not portable across backends.

.. change:: 411
:tags: bug, postgresql
🎟️ 411

 Fixed bug where Postgresql JSON/JSONB types rendered on SQLAlchemy
 1.1 would render the "astext_type" argument which defaults to
 the ``Text()`` type without the module prefix, similarly to the
 issue with ARRAY fixed in :ticket:`85`.

.. change:: 85
:tags: bug, postgresql
🎟️ 85

 Fixed bug where Postgresql ARRAY type would not render the import prefix
 for the inner type; additionally, user-defined renderers take place
 for the inner type as well as the outer type.  Pull request courtesy
 Paul Brackin.

.. change:: process_revision_directives_command
:tags: feature, autogenerate

 Added a keyword argument ``process_revision_directives`` to the
 :func:`.command.revision` API call.  This function acts in the
 same role as the environment-level
 :paramref:`.EnvironmentContext.configure.process_revision_directives`,
 and allows API use of the
 command to drop in an ad-hoc directive process function.  This
 function can be used among other things to place a complete
 :class:`.MigrationScript` structure in place.

.. change:: 412
:tags: feature, postgresql
🎟️ 412

 Added support for Postgresql EXCLUDE constraints, including the
 operation directive :meth:`.Operations.create_exclude_constraints`
 as well as autogenerate render support for the ``ExcludeConstraint``
 object as present in a ``Table``.  Autogenerate detection for an EXCLUDE
 constraint added or removed to/from an existing table is **not**
 implemented as the SQLAlchemy Postgresql dialect does not yet support
 reflection of EXCLUDE constraints.
 Additionally, unknown constraint types now warn when
 encountered within an autogenerate action rather than raise.

.. change:: fk_schema_compare
:tags: bug, operations

 Fixed bug in :func:`.ops.create_foreign_key` where the internal table
 representation would not be created properly if the foriegn key referred
 to a table in a different schema of the same name.  Pull request
 courtesy Konstantin Lebedev.

.. changelog::

0.8.10

:released: January 17, 2017

.. change:: 406
:tags: bug, versioning
🎟️ 406

 The alembic_version table, when initially created, now establishes a
 primary key constraint on the "version_num" column, to suit database
 engines that don't support tables without primary keys.   This behavior
 can be controlled using the parameter
 :paramref:`.EnvironmentContext.configure.version_table_pk`.  Note that
 this change only applies to the initial creation of the alembic_version
 table; it does not impact any existing alembic_version table already
 present.

.. change:: 402
:tags: bug, batch
🎟️ 402

 Fixed bug where doing ``batch_op.drop_constraint()`` against the
 primary key constraint would fail to remove the "primary_key" flag
 from the column, resulting in the constraint being recreated.

.. change:: update_uq_dedupe
:tags: bug, autogenerate, oracle

 Adjusted the logic originally added for :ticket:`276` that detects MySQL
 unique constraints which are actually unique indexes to be generalized
 for any dialect that has this behavior, for SQLAlchemy version 1.0 and
 greater.  This is to allow for upcoming SQLAlchemy support for unique
 constraint reflection for Oracle, which also has no dedicated concept of
 "unique constraint" and instead establishes a unique index.

.. change:: 356
:tags: bug, versioning
🎟️ 356

 Added a file ignore for Python files of the form ``.<name>.py``,
 which are generated by the Emacs editor.  Pull request courtesy
 Markus Mattes.

.. changelog::

0.8.9

:released: November 28, 2016

.. change:: 393
:tags: bug, autogenerate
🎟️ 393

 Adjustment to the "please adjust!" comment in the script.py.mako
 template so that the generated comment starts with a single pound
 sign, appeasing flake8.

.. change::
:tags: bug, batch
🎟️ 391

 Batch mode will not use CAST() to copy data if type_ is given, however
 the basic type affinity matches that of the existing type.  This to
 avoid SQLite's CAST of TIMESTAMP which results in truncation of the
 data, in those cases where the user needs to add redundant type_ for
 other reasons.

.. change::
:tags: bug, autogenerate
🎟️ 393

 Continued pep8 improvements by adding appropriate whitespace in
 the base template for generated migrations.  Pull request courtesy
 Markus Mattes.

.. change::
:tags: bug, revisioning

 Added an additional check when reading in revision files to detect
 if the same file is being read twice; this can occur if the same directory
 or a symlink equivalent is present more than once in version_locations.
 A warning is now emitted and the file is skipped.  Pull request courtesy
 Jiri Kuncar.

.. change::
:tags: bug, autogenerate
🎟️ 395

 Fixed bug where usage of a custom TypeDecorator which returns a
 per-dialect type via :meth:`.TypeDecorator.load_dialect_impl` that differs
 significantly from the default "impl" for the type decorator would fail
 to compare correctly during autogenerate.

.. change::
:tags: bug, autogenerate, postgresql
🎟️ 392

 Fixed bug in Postgresql "functional index skip" behavior where a
 functional index that ended in ASC/DESC wouldn't be detected as something
 we can't compare in autogenerate, leading to duplicate definitions
 in autogenerated files.

.. change::
:tags: bug, versioning

 Fixed bug where the "base" specifier, as in "base:head", could not
 be used explicitly when ``--sql`` mode was present.

.. changelog::

0.8.8

:released: September 12, 2016

.. change::
:tags: autogenerate

  The imports in the default script.py.mako are now at the top
  so that flake8 editors don't complain by default.  PR courtesy
  Guilherme Mansur.

.. change::
:tags: feature, operations, postgresql
🎟️ 292

 Added support for the USING clause to the ALTER COLUMN operation
 for Postgresql.  Support is via the
 :paramref:`.op.alter_column.postgresql_using`
 parameter.  Pull request courtesy Frazer McLean.

.. change::
:tags: feature, autogenerate

 Autogenerate with type comparison enabled will pick up on the timezone
 setting changing between DateTime types.   Pull request courtesy
 David Szotten.

.. changelog::

0.8.7

:released: July 26, 2016

.. change::
:tags: bug, versioning
🎟️ 336

 Fixed bug where upgrading to the head of a branch which is already
 present would fail, only if that head were also the dependency
 of a different branch that is also upgraded, as the revision system
 would see this as trying to go in the wrong direction.   The check
 here has been refined to distinguish between same-branch revisions
 out of order vs. movement along sibling branches.

.. change::
:tags: bug, versioning
🎟️ 379

 Adjusted the version traversal on downgrade
 such that we can downgrade to a version that is a dependency for
 a version in a different branch, *without* needing to remove that
 dependent version as well.  Previously, the target version would be
 seen as a "merge point" for it's normal up-revision as well as the
 dependency.  This integrates with the changes for :ticket:`377`
 and :ticket:`378` to improve treatment of branches with dependencies
 overall.

.. change::
:tags: bug, versioning
🎟️ 377

 Fixed bug where a downgrade to a version that is also a dependency
 to a different branch would fail, as the system attempted to treat
 this as an "unmerge" of a merge point, when in fact it doesn't have
 the other side of the merge point available for update.

.. change::
:tags: bug, versioning
🎟️ 378

 Fixed bug where the "alembic current" command wouldn't show a revision
 as a current head if it were also a dependency of a version in a
 different branch that's also applied.   Extra logic is added to
 extract "implied" versions of different branches from the top-level
 versions listed in the alembic_version table.

.. change::
:tags: bug, versioning

 Fixed bug where a repr() or str() of a Script object would fail
 if the script had multiple dependencies.

.. change::
:tags: bug, autogenerate

 Fixed bug in autogen where if the DB connection sends the default
 schema as "None", this "None" would be removed from the list of
 schemas to check if include_schemas were set.  This could possibly
 impact using include_schemas with SQLite.

.. change::
:tags: bug, batch

 Small adjustment made to the batch handling for reflected CHECK
 constraints to accommodate for SQLAlchemy 1.1 now reflecting these.
 Batch mode still does not support CHECK constraints from the reflected
 table as these can't be easily differentiated from the ones created
 by types such as Boolean.

.. changelog::

0.8.6

:released: April 14, 2016

.. change::
:tags: bug, commands
🎟️ 367

 Errors which occur within the Mako render step are now intercepted
 and raised as CommandErrors like other failure cases; the Mako
 exception itself is written using template-line formatting to
 a temporary file which is named in the exception message.

.. change::
:tags: bug, postgresql
🎟️ 365

 Added a fix to Postgresql server default comparison which first checks
 if the text of the default is identical to the original, before attempting
 to actually run the default.  This accomodates for default-generation
 functions that generate a new value each time such as a uuid function.

.. change::
:tags: bug, batch
🎟️ 361
:pullreq: bitbucket:55

 Fixed bug introduced by the fix for :ticket:`338` in version 0.8.4
 where a server default could no longer be dropped in batch mode.
 Pull request courtesy Martin Domke.

.. change::
:tags: bug, batch, mssql
:pullreq: bitbucket:53

 Fixed bug where SQL Server arguments for drop_column() would not
 be propagated when running under a batch block.  Pull request
 courtesy Michal Petrucha.

.. changelog::

0.8.5

:released: March 9, 2016

.. change::
:tags: bug, autogenerate
🎟️ 335
:pullreq: bitbucket:49

 Fixed bug where the columns rendered in a ``PrimaryKeyConstraint``
 in autogenerate would inappropriately render the "key" of the
 column, not the name.  Pull request courtesy Jesse Dhillon.

.. change::
:tags: bug, batch
🎟️ 354

 Repaired batch migration support for "schema" types which generate
 constraints, in particular the ``Boolean`` datatype which generates
 a CHECK constraint.  Previously, an alter column operation with this
 type would fail to correctly accommodate for the CHECK constraint
 on change both from and to this type.  In the former case the operation
 would fail entirely, in the latter, the CHECK constraint would
 not get generated.  Both of these issues are repaired.

.. change::
:tags: bug, mysql
🎟️ 355

 Changing a schema type such as ``Boolean`` to a non-schema type would
 emit a drop constraint operation which emits ``NotImplementedError`` for
 the MySQL dialect.  This drop constraint operation is now skipped when
 the constraint originates from a schema type.

.. changelog::

Babel 2.2.0 -> 2.4.0

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

Beaker 1.7.0 -> 1.8.1

1.8.1

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

  • Sessions have a new option save_accessed_time which defaults to true for
    backwards compatibility. Set to false to tell beaker not to update
    _accessed_time if the session hasn't been changed, for non-cookie sessions
    stores. This lets you avoid needless datastore writes. _accessed_time will
    always be updated when the session is intentionally saved.
  • data_serializer parameter in Session accepts a custom object with dumps and loads methods.
  • Fixed a TypeError in exception reporting when failing to load a NamespaceManager
  • Allow to change Cookie Expiration from a value back to None, previously it had no effect.
  • Allow SessionMiddleware to setup a custom Session class through the session_class argument.
  • Added invalidate_corrupt option to CookieSessions too for valid cookies containing invalid data.

1.8.0

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

  • Encrypted sessions can now specify nonce length for salt generation through encrypt_nonce_bits parameter.
    set it to 48 for backward compatibility with sessions generated before 1.8.0
  • kwargs support in cache_region decorator
  • annotations support in cache_region decorator
  • data_serializer parameter in Session can now specify json to avoid pickle security issues
  • Invalid cookies are now skipped in cookie based sessions
  • Memcached based on PyLibMC now share same connection pool for same url

decorator 4.0.6 -> 4.0.11

4.0.11

Small improvements to the documentation and tested with Python 3.6

4.0.10

Improved the documentation thanks to Tony Goodchild (zearin) who also
provided a much better CSS than the one I was using.

4.0.9

Same as 4.0.7 and 4.0.8, re-uploaded due to issues on PyPI.

4.0.7

Switched to a new changelog format (the one in http://keepachangelog.com/)
since it was contributed by Alexander Artemenko. Re-added a newline to support
old version of Python, as requested by azjps.

Mako 0.7.3 -> 1.0.6

1.0.6

:released: Wed Nov 9 2016

.. change::
:tags: feature

 Added new parameter :paramref:`.Template.include_error_handler` .
 This works like :paramref:`.Template.error_handler` but indicates the
 handler should take place when this template is included within another
 template via the ``<%include>`` tag.  Pull request courtesy
 Huayi Zhang.

.. changelog::

1.0.5

:released: Wed Nov 2 2016

.. change::
:tags: bug

 Updated the Sphinx documentation builder to work with recent
 versions of Sphinx.

.. changelog::

1.0.4

:released: Thu Mar 10 2016

.. change::
:tags: feature, test

 The default test runner is now py.test.  Running "python setup.py test"
 will make use of py.test instead of nose.  nose still works as a test
 runner as well, however.

.. change::
:tags: bug, lexer
:pullreq: github:19

 Major improvements to lexing of intricate Python sections which may
 contain complex backslash sequences, as well as support for the bitwise
 operator (e.g. pipe symbol) inside of expression sections distinct
 from the Mako "filter" operator, provided the operator is enclosed
 within parentheses or brackets.  Pull request courtesy Daniel Martin.

.. change::
:tags: feature
:pullreq: bitbucket:16

 Added new method :meth:`.Template.list_defs`.   Pull request courtesy
 Jonathan Vanasco.

.. changelog::

1.0.3

:released: Tue Oct 27 2015

.. change::
:tags: bug, babel
:pullreq: bitbucket:21

 Fixed an issue where the Babel plugin would not handle a translation
 symbol that contained non-ascii characters.  Pull request courtesy
 Roman Imankulov.

.. changelog::

1.0.2

:released: Wed Aug 26 2015

.. change::
:tags: bug, installation
🎟️ 249

 The "universal wheel" marker is removed from setup.cfg, because
 our setup.py currently makes use of conditional dependencies.
 In :ticket:`249`, the discussion is ongoing on how to correct our
 setup.cfg / setup.py fully so that we can handle the per-version
 dependency changes while still maintaining optimal wheel settings,
 so this issue is not yet fully resolved.

.. change::
:tags: bug, py3k
🎟️ 250

 Repair some calls within the ast module that no longer work on Python3.5;
 additionally replace the use of ``inspect.getargspec()`` under
 Python 3 (seems to be called from the TG plugin) to avoid deprecation
 warnings.

.. change::
:tags: bug
:pullreq: bitbucket:18

 Update the Lingua translation extraction plugin to correctly
 handle templates mixing Python control statements (such as if,
 for and while) with template fragments. Pull request courtesy
 Laurent Daverio.

.. change::
:tags: feature
🎟️ 236

 Added ``STOP_RENDERING`` keyword for returning/exiting from a
 template early, which is a synonym for an empty string ``""``.
 Previously, the docs suggested a bare
 ``return``, but this could cause ``None`` to appear in the
 rendered template result.
 .. seealso::
   :ref:`syntax_exiting_early`

.. changelog::

1.0.1

:released: Thu Jan 22 2015

.. change::
:tags: feature
:pullreq: bitbucket:9

 Added support for Lingua, a translation extraction system as an
 alternative to Babel.  Pull request courtesy Wichert Akkerman.

.. change::
:tags: bug, py3k
:pullreq: bitbucket:11

 Modernized the examples/wsgi/run_wsgi.py file for Py3k.
 Pull requset courtesy Cody Taylor.

.. changelog::

1.0.0

:released: Sun Jun 8 2014

.. change::
:tags: bug, py2k
:pullreq: bitbucket:8

 Improved the error re-raise operation when a custom
 :paramref:`.Template.error_handler` is used that does not handle
 the exception; the original stack trace etc. is now preserved.
 Pull request courtesy Manfred Haltner.

.. change::
:tags: bug, py2k, filters
:pullreq: bitbucket:7

 Added an html_escape filter that works in "non unicode" mode.
 Previously, when using ``disable_unicode=True``, the ``u`` filter
 would fail to handle non-ASCII bytes properly.  Pull request
 courtesy George Xie.

.. change::
:tags: general

 Compatibility changes; in order to modernize the codebase, Mako
 is now dropping support for Python 2.4 and Python 2.5 altogether.
 The source base is now targeted at Python 2.6 and forwards.

.. change::
:tags: feature

 Template modules now generate a JSON "metadata" structure at the bottom
 of the source file which includes parseable information about the
 templates' source file, encoding etc. as well as a mapping of module
 source lines to template lines, thus replacing the " SOURCE LINE"
 markers throughout the source code.  The structure also indicates those
 lines that are explicitly not part of the template's source; the goal
 here is to allow better integration with coverage and other tools.

.. change::
:tags: bug, py3k

 Fixed bug in ``decode.<encoding>`` filter where a non-string object
 would not be correctly interpreted in Python 3.

.. change::
:tags: bug, py3k
🎟️ 227

 Fixed bug in Python parsing logic which would fail on Python 3
 when a "try/except" targeted a tuple of exception types, rather
 than a single exception.

.. change::
:tags: feature
:pullreq: bitbucket:5

 mako-render is now implemented as a setuptools entrypoint script;
 a standalone mako.cmd.cmdline() callable is now available, and the
 system also uses argparse now instead of optparse.  Pull request
 courtesy Derek Harland.

.. change::
:tags: feature
:pullreq: bitbucket:4

 The mako-render script will now catch exceptions and run them
 into the text error handler, and exit with a non-zero exit code.
 Pull request courtesy Derek Harland.

.. change::
:tags: bug
:pullreq: bitbucket:2

 A rework of the mako-render script allows the script to run
 correctly when given a file pathname that is outside of the current
 directory, e.g. ``mako-render ../some_template.mako``.  In this case,
 the "template root" defaults to the directory in which the template
 is located, instead of ".".  The script also accepts a new argument
 ``--template-dir`` which can be specified multiple times to establish
 template lookup directories.  Standard input for templates also works
 now too.  Pull request courtesy Derek Harland.

.. change::
:tags: feature, py3k
:pullreq: github:7

 Support is added for Python 3 "keyword only" arguments, as used in
 defs.  Pull request courtesy Eevee.

0.9

.. changelog::

0.9.1

:released: Thu Dec 26 2013

.. change::
:tags: bug
🎟️ 225

 Fixed bug in Babel plugin where translator comments
 would be lost if intervening text nodes were encountered.
 Fix courtesy Ned Batchelder.

.. change::
:tags: bug
🎟️

 Fixed TGPlugin.render method to support unicode template
 names in Py2K - courtesy Vladimir Magamedov.

.. change::
:tags: bug
🎟️

 Fixed an AST issue that was preventing correct operation
 under alpha versions of Python 3.4.  Pullreq courtesy Zer0-.

.. change::
:tags: bug
🎟️

 Changed the format of the "source encoding" header output
 by the code generator to use the format `` -*- coding:%s -*-``
 instead of `` -*- encoding:%s -*-``; the former is more common
 and compatible with emacs.  Courtesy Martin Geisler.

.. change::
:tags: bug
🎟️ 224

 Fixed issue where an old lexer rule prevented a template line
 which looked like "*" from being correctly parsed.

.. changelog::

0.9.0

:released: Tue Aug 27 2013

.. change::
:tags: bug
🎟️ 219

 The Context.locals_() method becomes a private underscored
 method, as this method has a specific internal use. The purpose
 of Context.kwargs has been clarified, in that it only delivers
 top level keyword arguments originally passed to template.render().

.. change::
:tags: bug
🎟️

 Fixed the babel plugin to properly interpret ${} sections
 inside of a "call" tag, i.e. <%self:some_tag attr="${_('foo')}"/>.
 Code that's subject to babel escapes in here needs to be
 specified as a Python expression, not a literal.  This change
 is backwards incompatible vs. code that is relying upon a _('')
 translation to be working within a call tag.

.. change::
:tags: bug
🎟️ 187

 The Babel plugin has been repaired to work on Python 3.

.. change::
:tags: bug
🎟️ 207

 Using <%namespace import="*" module="somemodule"/> now
 skips over module elements that are not explcitly callable,
 avoiding TypeError when trying to produce partials.

.. change::
:tags: bug
🎟️ 190

 Fixed Py3K bug where a "lambda" expression was not
 interpreted correctly within a template tag; also
 fixed in Py2.4.

0.8

.. changelog::

0.8.1

:released: Fri May 24 2013

.. change::
:tags: bug
🎟️ 216

 Changed setup.py to skip installing markupsafe
 if Python version is < 2.6 or is between 3.0 and
 less than 3.3, as Markupsafe now only supports 2.6->2.X,
 3.3->3.X.

.. change::
:tags: bug
🎟️ 214

 Fixed regression where "entity" filter wasn't
 converted for py3k properly (added tests.)

.. change::
:tags: bug
🎟️ 212

 Fixed bug where mako-render script wasn't
 compatible with Py3k.

.. change::
:tags: bug
🎟️ 213

 Cleaned up all the various deprecation/
 file warnings when running the tests under
 various Pythons with warnings turned on.

.. changelog::

0.8.0

:released: Wed Apr 10 2013

.. change::
:tags: feature
🎟️

 Performance improvement to the
 "legacy" HTML escape feature, used for XML
 escaping and when markupsafe isn't present,
 courtesy George Xie.

.. change::
:tags: bug
🎟️ 209

 Fixed bug whereby an exception in Python 3
 against a module compiled to the filesystem would
 fail trying to produce a RichTraceback due to the
 content being in bytes.

.. change::
:tags: bug
🎟️ 208

 Change default for compile()->reserved_names
 from tuple to frozenset, as this is expected to be
 a set by default.

.. change::
:tags: feature
🎟️

 Code has been reworked to support Python 2.4->
 Python 3.xx in place.  2to3 no longer needed.

.. change::
:tags: feature
🎟️

 Added lexer_cls argument to Template,
 TemplateLookup, allows alternate Lexer classes
 to be used.

.. change::
:tags: feature
🎟️

 Added future_imports parameter to Template
 and TemplateLookup, renders the __future__ header
 with desired capabilities at the top of the generated
 template module.  Courtesy Ben Trofatter.

0.7

.. changelog::

MarkupSafe 0.23 -> 1.0

1.0


  • Fixed custom types not invoking __unicode__ when used
    with format().
  • Added __version__ module attribute
  • Improve unescape code to leave lone ampersands alone.

Paste 2.0.2 -> 2.0.3

2.0.3


Pygments 2.0.2 -> 2.2.0

2.2.0


(release Jan 22, 2017)

  • Added lexers:
  • AMPL
  • TypoScript (1173)
  • Varnish config (PR554)
  • Clean (PR503)
  • WDiff (PR513)
  • Flatline (PR551)
  • Silver (PR537)
  • HSAIL (PR518)
  • JSGF (PR546)
  • NCAR command language (PR536)
  • Extempore (PR530)
  • Cap'n Proto (PR595)
  • Whiley (PR573)
  • Monte (PR592)
  • Crystal (PR576)
  • Snowball (PR589)
  • CapDL (PR579)
  • NuSMV (PR564)
  • SAS, Stata (PR593)
  • Added the ability to load lexer and formatter classes directly from files
    with the -x command line option and the lexers.load_lexer_from_file()
    and formatters.load_formatter_from_file() functions. (PR559)
  • Added lexers.find_lexer_class_by_name(). (1203)
  • Added new token types and lexing for magic methods and variables in Python
    and PHP.
  • Added a new token type for string affixes and lexing for them in Python, C++
    and Postgresql lexers.
  • Added a new token type for heredoc (and similar) string delimiters and
    lexing for them in C++, Perl, PHP, Postgresql and Ruby lexers.
  • Styles can now define colors with ANSI colors for use in the 256-color
    terminal formatter. (PR531)
  • Improved the CSS lexer. (1083, 1130)
  • Added "Rainbow Dash" style. (PR623)
  • Delay loading pkg_resources, which takes a long while to import. (PR690)

2.1.3


(released Mar 2, 2016)

  • Fixed regression in Bash lexer (PR563)

2.1.2


(released Feb 29, 2016)

  • Fixed Python 3 regression in image formatter (1215)
  • Fixed regression in Bash lexer (PR562)

2.1.1


(relased Feb 14, 2016)

  • Fixed Jython compatibility (1205)
  • Fixed HTML formatter output with leading empty lines (1111)
  • Added a mapping table for LaTeX encodings and added utf8 (1152)
  • Fixed image formatter font searching on Macs (1188)
  • Fixed deepcopy-ing of Token instances (1168)
  • Fixed Julia string interpolation (1170)
  • Fixed statefulness of HttpLexer between get_tokens calls
  • Many smaller fixes to various lexers

2.1


(released Jan 17, 2016)

  • Added lexers:
  • Emacs Lisp (PR431)
  • Arduino (PR442)
  • Modula-2 with multi-dialect support (1090)
  • Fortran fixed format (PR213)
  • Archetype Definition language (PR483)
  • Terraform (PR432)
  • Jcl, Easytrieve (PR208)
  • ParaSail (PR381)
  • Boogie (PR420)
  • Turtle (PR425)
  • Fish Shell (PR422)
  • Roboconf (PR449)
  • Test Anything Protocol (PR428)
  • Shen (PR385)
  • Component Pascal (PR437)
  • SuperCollider (PR472)
  • Shell consoles (Tcsh, PowerShell, MSDOS) (PR479)
  • Elm and J (PR452)
  • Crmsh (PR440)
  • Praat (PR492)
  • CSound (PR494)
  • Ezhil (PR443)
  • Thrift (PR469)
  • QVT Operational (PR204)
  • Hexdump (PR508)
  • CAmkES Configuration (PR462)
  • Added styles:
  • Lovelace (PR456)
  • Algol and Algol-nu (1090)
  • Added formatters:
  • IRC (PR458)
  • True color (24-bit) terminal ANSI sequences (1142)
    (formatter alias: "16m")
  • New "filename" option for HTML formatter (PR527).
  • Improved performance of the HTML formatter for long lines (PR504).
  • Updated autopygmentize script (PR445).
  • Fixed style inheritance for non-standard token types in HTML output.
  • Added support for async/await to Python 3 lexer.
  • Rewrote linenos option for TerminalFormatter (it's better, but slightly
    different output than before) (1147).
  • Javascript lexer now supports most of ES6 (1100).
  • Cocoa builtins updated for iOS 8.1 (PR433).
  • Combined BashSessionLexer and ShellSessionLexer, new version should support
    the prompt styles of either.
  • Added option to pygmentize to show a full traceback on exceptions.
  • Fixed incomplete output on Windows and Python 3 (e.g. when using iPython
    Notebook) (1153).
  • Allowed more traceback styles in Python console lexer (PR253).
  • Added decorators to TypeScript (PR509).
  • Fix highlighting of certain IRC logs formats (1076).

repoze.tm2 2.0 -> 2.1

2.1


  • Add support for Python 3.4, 3.5 and PyPy3.
  • Drop support for Python 2.6 and 3.2.
  • Add support for testing under Travis.

Routes 2.2 -> 2.4.1

2.4.0

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

  • Release as a universal wheel. PR 75.
  • Convert readthedocs links for their .org -> .io migration for hosted projects. PR 67.

2.3.1

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

  • Backwards compatability fix - connect should work with mandatory
    routename and optional path. Patch by Davanum Srinivas (PR 65).

2.3

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

  • Fix sub_domain equivalence check. Patch by Nikita Uvarov
  • Add support for protocol-relative URLs generation (i.e. starting with double
    slash //). PR 60. Patch by Sviatoslav Sydorenko.
  • Add support for the middleware extra requirement, making possible to
    depend on webob optionally. PR 59. Patch by Sviatoslav Sydorenko.
  • Fix matching of an empty string route, which led to exception in earlier
    versions. PR 58. Patch by Sviatoslav Sydorenko.
  • Add support for the requirements option when using
    mapper.resource to create routes. PR 57. Patch by Sean Dague.
  • Concatenation fix when using submappers with path prefixes. Multiple
    submappers combined the path prefix inside the controller argument in
    non-obvious ways. The controller argument will now be properly carried
    through when using submappers. PR 28.

simplejson 3.8.1 -> 3.10.0

3.10.0

3.9.0

3.8.2

SQLAlchemy 1.0.11 -> 1.1.9

1.1.9

:released: April 4, 2017

.. change:: 3956
:tags: bug, ext
🎟️ 3956

   Fixed regression released in 1.1.8 due to :ticket:`3950` where the
   deeper search for information about column types in the case of a
   "schema type" or a :class:`.TypeDecorator` would produce an attribute
   error if the mapping also contained a :obj:`.column_property`.

.. change:: 3952
:tags: bug, sql
:versions: 1.2.0b1
🎟️ 3952

   Fixed regression released in 1.1.5 due to :ticket:`3859` where
   adjustments to the "right-hand-side" evaluation of an expression
   based on :class:`.Variant` to honor the underlying type's
   "right-hand-side" rules caused the :class:`.Variant` type
   to be inappropriately lost, in those cases when we *do* want the
   left-hand side type to be transferred directly to the right hand side
   so that bind-level rules can be applied to the expression's argument.

.. change:: 3955
:tags: bug, sql, postgresql
:versions: 1.2.0b1
🎟️ 3955

   Changed the mechanics of :class:`.ResultProxy` to unconditionally
   delay the "autoclose" step until the :class:`.Connection` is done
   with the object; in the case where Postgresql ON CONFLICT with
   RETURNING returns no rows, autoclose was occurring in this previously
   non-existent use case, causing the usual autocommit behavior that
   occurs unconditionally upon INSERT/UPDATE/DELETE to fail.

.. changelog::

1.1.8

:released: March 31, 2017

.. change:: 3950
:tags: bug, ext
:versions: 1.2.0b1
🎟️ 3950

   Fixed bug in :mod:`sqlalchemy.ext.mutable` where the
   :meth:`.Mutable.as_mutable` method would not track a type that had
   been copied using :meth:`.TypeEngine.copy`.  This became more of
   a regression in 1.1 compared to 1.0 because the :class:`.TypeDecorator`
   class is now a subclass of :class:`.SchemaEventTarget`, which among
   other things indicates to the parent :class:`.Column` that the type
   should be copied when the :class:`.Column` is.  These copies are
   common when using declarative with mixins or abstract classes.

.. change::
:tags: bug, ext
:versions: 1.2.0b1

   Added support for bound parameters, e.g. those normally set up
   via :meth:`.Query.params`, to the :meth:`.baked.Result.count`
   method.  Previously, support for parameters were omitted. Pull request
   courtesy Pat Deegan.

.. change::
:tags: bug, postgresql
:versions: 1.2.0b1

   Added support for parsing the Postgresql version string for
   a development version like "PostgreSQL 10devel".  Pull request
   courtesy Sean McCully.

.. changelog::

1.1.7

:released: March 27, 2017

.. change::
:tags: feature, orm
🎟️ 3933
:versions: 1.2.0b1

   An :func:`.aliased()` construct can now be passed to the
   :meth:`.Query.select_entity_from` method.   Entities will be pulled
   from the selectable represented by the :func:`.aliased` construct.
   This allows special options for :func:`.aliased` such as
   :paramref:`.aliased.adapt_on_names` to be used in conjunction with
   :meth:`.Query.select_entity_from`.

.. change::
:tags: bug, engine
🎟️ 3946
:versions: 1.2.0b1

   Added an exception handler that will warn for the "cause" exception on
   Py2K when the "autorollback" feature of :class:`.Connection` itself
   raises an exception. In Py3K, the two exceptions are naturally reported
   by the interpreter as one occurring during the handling of the other.
   This is continuing with the series of changes for rollback failure
   handling that were last visited as part of :ticket:`2696` in 1.0.12.

.. change::
:tags: bug, orm
🎟️ 3947
:versions: 1.2.0b1

   Fixed a race condition which could occur under threaded environments
   as a result of the caching added via :ticket:`3915`.   An internal
   collection of ``Column`` objects could be regenerated on an alias
   object inappropriately, confusing a joined eager loader when it
   attempts to render SQL and collect results and resulting in an
   attribute error.   The collection is now generated up front before
   the alias object is cached and shared among threads.

.. change::
:tags: bug, sql, postgresql
🎟️ 2892

   Added support for the :class:`.Variant` and the :class:`.SchemaType`
   objects to be compatible with each other.  That is, a variant
   can be created against a type like :class:`.Enum`, and the instructions
   to create constraints and/or database-specific type objects will
   propagate correctly as per the variant's dialect mapping.

.. change::
:tags: bug, sql
🎟️ 3931

   Fixed bug in compiler where the string identifier of a savepoint would
   be cached in the identifier quoting dictionary; as these identifiers
   are arbitrary, a small memory leak could occur if a single
   :class:`.Connection` had an unbounded number of savepoints used,
   as well as if the savepoint clause constructs were used directly
   with an unbounded umber of savepoint names.   The memory leak does
   **not** impact the vast majority of cases as normally the
   :class:`.Connection`, which renders savepoint names with a simple
   counter starting at "1", is used on a per-transaction or
   per-fixed-number-of-transactions basis before being discarded.

.. change::
:tags: bug, sql
🎟️ 3924

   Fixed bug in new "schema translate" feature where the translated schema
   name would be invoked in terms of an alias name when rendered along
   with a column expression; occurred only when the source translate
   name was "None".   The "schema translate" feature now only takes
   effect for :class:`.SchemaItem` and :class:`.SchemaType` subclasses,
   that is, objects that correspond to a DDL-creatable structure in
   a database.

.. changelog::

1.1.6

:released: February 28, 2017

.. change::
:tags: bug, mysql

   Added new MySQL 8.0 reserved words to the MySQL dialect for proper
   quoting.  Pull request courtesy Hanno Schlichting.

.. change:: 3915
:tags: bug, orm
🎟️ 3915

   Addressed some long unattended performance concerns within the joined
   eager loader query construction system that have accumulated since
   earlier versions as a result of increased abstraction. The use of ad-
   hoc :class:`.AliasedClass` objects per query, which produces lots of
   column lookup overhead each time, has been replaced with a cached
   approach that makes use of a small pool of :class:`.AliasedClass`
   objects that are reused between invocations of joined eager loading.
   Some mechanics involving eager join path construction have also been
   optimized.   Callcounts for an end-to-end query construction + single
   row fetch test with a worst-case joined loader scenario have been
   reduced by about 60% vs. 1.1.5 and 42% vs. that of 0.8.6.

.. change:: 3804
:tags: bug, postgresql
🎟️ 3804

   Added regular expressions for the "IMPORT FOREIGN SCHEMA",
   "REFRESH MATERIALIZED VIEW" Postgresql statements so that they
   autocommit when invoked via a connection or engine without
   an explicit transaction.  Pull requests courtesy Frazer McLean
   and Paweł Stiasny.

.. change:: 3909
:tags: bug, orm
🎟️ 3909

   Fixed a major inefficiency in the "eager_defaults" feature whereby
   an unnecessary SELECT would be emitted for column values where the
   ORM had explicitly inserted NULL, corresponding to attributes that
   were unset on the object but did not have any server default
   specified, as well as expired attributes on update that nevertheless
   had no server onupdate set up.   As these columns are not part of the
   RETURNING that eager_defaults tries to use, they should not be
   post-SELECTed either.

.. change:: 3908
:tags: bug, orm
🎟️ 3908

   Fixed two closely related bugs involving the mapper eager_defaults
   flag in conjunction with single-table inheritance; one where the
   eager defaults logic would inadvertently try to access a column
   that's part of the mapper's "exclude_properties" list (used by
   Declarative with single table inheritance) during the eager defaults
   fetch, and the other where the full load of the row in order to
   fetch the defaults would fail to use the correct inheriting mapper.

.. change:: 3905
:tags: bug, sql
🎟️ 3905

   Fixed bug whereby the :meth:`.DDLEvents.column_reflect` event would not
   allow a non-textual expression to be passed as the value of the
   "default" for the new column, such as a :class:`.FetchedValue`
   object to indicate a generic triggered default or a
   :func:`.sql.expression.text` construct.  Clarified the documentation
   in this regard as well.

.. change:: 3901
:tags: bug, ext
🎟️ 3901

   Fixed bug in new :mod:`sqlalchemy.ext.indexable` extension
   where setting of a property that itself refers to another property
   would fail.

.. change:: 3900
:tags: bug, postgresql
🎟️ 3900

   Fixed bug in Postgresql :class:`.ExcludeConstraint` where the
   "whereclause" and "using" parameters would not be copied during an
   operation like :meth:`.Table.tometadata`.

.. change:: 3898
:tags: bug, mssql
🎟️ 3898

   Added a version check to the "get_isolation_level" feature, which is
   invoked upon first connect, so that it skips for SQL Server version
   2000, as the necessary system view is not available prior to SQL Server
   2005.

.. change:: 3897
:tags: feature, ext
🎟️ 3896

   Added :meth:`.baked.Result.scalar` and :meth:`.baked.Result.count`
   to the "baked" query system.

.. change:: 3895
:tags: bug, orm, declarative
🎟️ 3895

   Fixed bug where the "automatic exclude" feature of declarative that
   ensures a column local to a single table inheritance subclass does
   not appear as an attribute on other derivations of the base would
   not take effect for multiple levels of subclassing from the base.

.. change:: 3893
:tags: bug, orm
🎟️ 3893

   Fixed bug first introduced in 0.9.7 as a result of :ticket:`3106`
   which would cause an incorrect query in some forms of multi-level
   subqueryload against aliased entities, with an unnecessary extra
   FROM entity in the innermost subquery.

.. changelog::

1.1.5

:released: January 17, 2017

.. change:: mysql_index_prefix
:tags: feature, mysql

   Added a new parameter ``mysql_prefix`` supported by the :class:`.Index`
   construct, allows specification of MySQL-specific prefixes such as
   "FULLTEXT". Pull request courtesy Joseph Schorr.

.. change:: 3854
:tags: bug, orm
🎟️ 3854

   Fixed bug in subquery loading where an object encountered as an
   "existing" row, e.g. already loaded from a different path in the
   same query, would not invoke subquery loaders for unloaded attributes
   that specified this loading.  This issue is in the same area
   as that of :ticket:`3431`, :ticket:`3811` which involved
   similar issues with joined loading.

.. change:: 3888
:tags: bug, postgresql
🎟️ 3888

   Fixed bug in new "ON CONFLICT DO UPDATE" feature where the "set"
   values for the UPDATE clause would not be subject to type-level
   processing, as normally takes effect to handle both user-defined
   type level conversions as well as dialect

@tantale tantale closed this Mar 21, 2018
@tantale tantale deleted the pyup-initial-update branch March 21, 2018 22:12
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