Release 0.3.1:
Enhancements
* Add HQL keywords.
* Add support for time zone casts.
* Enhance formatting of AS keyword.
* Stabilize grouping engine when parsing invalid SQL statements.
Bug Fixes
* Fix splitting of SQL with multiple statements inside
parentheses.
* Correctly identify NULLS FIRST / NULLS LAST as keywords.
* Fix splitting of SQL statements that contain dollar signs in
identifiers.
* Remove support for parsing double slash comments introduced in
0.3.0 as it had some side-effects with other dialects and
doesn't seem to be widely used.
* Restrict detection of alias names to objects that acutally could
have an alias.
* Fix parsing of date/time literals.
* Fix initialization of TokenList.
* Fix parsing of LIKE.
* Improve parsing of identifiers
Release 0.3.0:
Notable Changes
* Remove support for Python 3.3.
Enhancements
* New formatting option "--indent_after_first"
* New formatting option "--indent_columns"
* Add UPSERT keyword
* Strip multiple whitespace within parentheses
* Support double slash (//) comments
* Support for Calcite temporal keywords
Bug Fixes
* Fix occasional IndexError
* Fix incorrect splitting of strings containing new lines
* Fix reindent issue for parenthesis
* Fix from( parsing issue
* Fix for get_real_name() to return correct name
* Wrap function params when wrap_after is set
* Fix parsing of "WHEN name" clauses
* Add missing EXPLAIN keyword
* Fix issue with strip_comments causing a syntax error
* Fix formatting on INSERT which caused staircase effect on values
by fredyw).
* Avoid formatting of psql commands
Internal Changes
* Unify handling of GROUP BY/ORDER BY
* Remove unnecessary compat shim for bytes
Release 0.2.4:
Enhancements
* Add more keywords for MySQL table options (pr328, pr333, by phdru).
* Add more PL/pgSQL keywords (pr357, by Demetrio92).
* Improve parsing of floats (pr330, by atronah).
Bug Fixes
* Fix parsing of MySQL table names starting with digits (issue337).
* Fix detection of identifiers using comparisons (issue327).
* Fix parsing of UNION ALL after WHERE (issue349).
* Fix handling of semicolon in assignments (issue359, issue358).
Release 0.2.2 (Oct 22, 2016)
----------------------------
Enhancements
* Add comma_first option: When splitting list "comma first" notation
is used (issue141).
Bug Fixes
* Fix parsing of incomplete AS (issue284, by vmuriart).
* Fix parsing of Oracle names containing dollars (issue291).
* Fix parsing of UNION ALL (issue294).
* Fix grouping of identifiers containing typecasts (issue297).
* Add Changelog to sdist again (issue302).
Internal Changes
* `is_whitespace` and `is_group` changed into properties
Release 0.2.1 (Aug 13, 2016)
---------------------------
Notable Changes
* PostgreSQL: Function bodys are parsed as literal string. Previously
sqlparse assumed that all function bodys are parsable psql
strings (see issue277).
Bug Fixes
* Fix a regression to parse streams again (issue273, reported and
test case by gmccreight).
* Improve Python 2/3 compatibility when using parsestream (isseu190,
by phdru).
* Improve splitting of PostgreSQL functions (issue277).
Release 0.2.0 (Jul 20, 2016)
----------------------------
IMPORTANT: The supported Python versions have changed with this release.
sqlparse 0.2.x supports Python 2.7 and Python >= 3.3.
Thanks to the many contributors for writing bug reports and working
on pull requests who made this version possible!
Internal Changes
* sqlparse.SQLParseError was removed from top-level module and moved to
sqlparse.exceptions.
* sqlparse.sql.Token.to_unicode was removed.
* The signature of a filter's process method has changed from
process(stack, stream) -> to process(stream). Stack was never used at
all.
* Lots of code cleanups and modernization (thanks esp. to vmuriart!).
* Improved grouping performance. (sjoerdjob)
Enhancements
* Support WHILE loops (issue215, by shenlongxing).
* Better support for CTEs (issue217, by Andrew Tipton).
* Recognize USING as a keyword more consistently (issue236, by koljonen).
* Improve alignment of columns (issue207, issue235, by vmuriat).
* Add wrap_after option for better alignment when formatting
lists (issue248, by Dennis Taylor).
* Add reindent-aligned option for alternate formatting (Adam Greenhall)
* Improved grouping of operations (issue211, by vmuriat).
Bug Fixes
* Leading whitespaces are now removed when format() is called with
strip_whitespace=True (issue213, by shenlongxing).
* Fix typo in keywords list (issue229, by cbeloni).
* Fix parsing of functions in comparisons (issue230, by saaj).
* Fix grouping of identifiers (issue233).
* Fix parsing of CREATE TABLE statements (issue242, by Tenghuan).
* Minor bug fixes (issue101).
* Improve formatting of CASE WHEN constructs (issue164, by vmuriat).
Release 0.1.19 (Mar 07, 2016)
-----------------------------
Bug Fixes
* Fix IndexError when statement contains WITH clauses (issue205).
Release 0.1.18 (Oct 25, 2015)
-----------------------------
Bug Fixes
* Remove universal wheel support, added in 0.1.17 by mistake.
Release 0.1.17 (Oct 24, 2015)
-----------------------------
Enhancements
* Speed up parsing of large SQL statements (pull request: issue201, fixes the
following issues: issue199, issue135, issue62, issue41, by Ryan Wooden).
Bug Fixes
* Fix another splitter bug regarding DECLARE (issue194).
Misc
* Packages on PyPI are signed from now on.
Release 0.1.16 (Jul 26, 2015)
-----------------------------
Bug Fixes
* Fix a regression in get_alias() introduced in 0.1.15 (issue185).
* Fix a bug in the splitter regarding DECLARE (issue193).
* sqlformat command line tool doesn't duplicat newlines anymore (issue191).
* Don't mix up MySQL comments starting with hash and MSSQL
temp tables (issue192).
* Statement.get_type() now ignores comments at the beginning of
a statement (issue186).
Release 0.1.15 (Apr 15, 2015)
-----------------------------
Bug Fixes
* Fix a regression for identifiers with square bracktes
notation (issue153, by darikg).
* Add missing SQL types (issue154, issue155, issue156, by jukebox).
* Fix parsing of multi-line comments (issue172, by JacekPliszka).
* Fix parsing of escaped backslashes (issue174, by caseyching).
* Fix parsing of identifiers starting with underscore (issue175).
* Fix misinterpretation of IN keyword (issue183).
Enhancements
* Improve formatting of HAVING statements.
* Improve parsing of inline comments (issue163).
* Group comments to parent object (issue128, issue160).
* Add double precision builtin (issue169, by darikg).
* Add support for square bracket array indexing (issue170, issue176,
issue177 by darikg).
* Improve grouping of aliased elements (issue167, by darikg).
* Support comments starting with '#' character (issue178).
Release 0.1.14 (Nov 30, 2014)
-----------------------------
Bug Fixes
* Floats in UPDATE statements are now handled correctly (issue145).
* Properly handle string literals in comparisons (issue148, change proposed
by aadis).
* Fix indentation when using tabs (issue146).
Enhancements
* Improved formatting in list when newlines precede commas (issue140).
Release 0.1.11 (Feb 07, 2014)
-----------------------------
Bug Fixes
* Fix incorrect parsing of string literals containing line breaks (issue118).
* Fix typo in keywords, add MERGE, COLLECT keywords (issue122/124,
by Cristian Orellana).
* Improve parsing of string literals in columns.
* Fix parsing and formatting of statements containing EXCEPT keyword.
* Fix Function.get_parameters() (issue126/127, by spigwitmer).
Enhancements
* Classify DML keywords (issue116, by Victor Hahn).
* Add missing FOREACH keyword.
* Grouping of BEGIN/END blocks.
Other
* Python 2.5 isn't automatically tested anymore, neither Travis nor Tox
still support it out of the box.
Release 0.1.10 (Nov 02, 2013)
-----------------------------
Bug Fixes
* Removed buffered reading again, it obviously causes wrong parsing in some rare
cases (issue114).
* Fix regression in setup.py introduced 10 months ago (issue115).
Enhancements
* Improved support for JOINs, by Alexander Beedie.
Release 0.1.9 (Sep 28, 2013)
----------------------------
Bug Fixes
* Fix an regression introduced in 0.1.5 where sqlparse didn't properly
distinguished between single and double quoted strings when tagging
identifier (issue111).
Enhancements
* New option to truncate long string literals when formatting.
* Scientific numbers are pares correctly (issue107).
* Support for arithmetic expressions (issue109, issue106; by prudhvi).