=== 7.1.2 / 2016-09-13 * bug fixes * Don't store all aliases to a table === 7.1.1 / 2016-07-27 * bug fixes * fix warning in `casted#hash` === 7.1.0 / 2016-07-19 * Enhancements * Support Ruby 2.4 unified Integer class * Implement `CASE` conditional expression * Support for Bitwise Operations as `InfixOperations` === 7.0.0 / 2015-12-17 * Enhancements * Remove deprecated method `Table#primary_key` * Remove engine from the constructor arguments `Arel::Table` * Deprecate automatic type casting within Arel === 6.0.0 / 2014-11-25 * Enhancements * Remove deprecated `Arel::Expression` * Remove deprecated `Arel::SqlLiteral` * Remove deprecated `SelectManager#joins` * Remove deprecated `SelectManager#to_a` * Remove deprecated `Arel::Sql::Engine` * Remove deprecated `Arel::InnerJoin` constant * Remove deprecated `Arel::OuterJoin` constant == 5.0.0 / 2013-12-04 * Enhancements * Remove deprecated code * Bug Fixes * Fix serializing a relation when calling `to_yaml` === 4.0.2 / 2014-02-05 * Bug Fixes * Fix `SqlLiteral` YAML serialization * PostgreSQL bugfix for invalid SQL in subqueries == 4.0.1 / 2013-10-22 * Enhancements * Cache visitor dispatch on a per-visitor basis * Improve performance of #uniq across a large number of nodes * Bug Fixes * Make visitors threadsafe by removing @last_column * Support `columns_for_distinct` with Oracle adapter == 3.0.3 / 2013-11-12 * Enhancements * Support ANSI 2003 window functions * Bug Fixes * Fix joins in Informix == 3.0.2 / 2012-02-21 * Enhancements * Added a module for visiting and transforming bind values * Fix in [] to be false, not in [] to be true * Bug Fixes * Revert fix for LIMIT / OFFSET when query is ordered in Oracle == 3.0.1 / 2012-02-17 * Bug Fixes * Fixed LIMIT / OFFSET when query is ordered in Oracle == 3.0.0 / 2012-01-12 * Enhancements * Support connection pool and schema cache * Bug Fixes * Conditions with no column can be followed by other conditions in Postgres == 2.2.3 / 2012-02-21 * Enhancements * Added a module for visiting and transforming bind values == 2.2.2 / 2012-02-20 * Enhancements * Support LOCK * Allow using non-table alias as a right-hand relation name * Added SelectManager#distinct == 2.2.1 / 2011-09-15 * Enhancements * Added UpdateManager#key to access the key value * Added SelectManager#projections= to override any existing projections * Added SelectManager#source to get the source of the last select core in the AST == 2.2.0 / 2011-08-09 * Bug Fixes * The database connection caches visitors for generating SQL. * FALSE and TRUE nodes can be constructed. * Fixed ORDER BY / LIMIT clauses for UPDATE statements in Oracle. == 2.1.4 / 2011-07-25 * Bug Fixes * Fix depth-first traversal to understand ascending / descending nodes. * Parenthesis are suppressed with nested unions in MySQL. Thanks jhtwong! == 2.1.3 / 2011-06-27 * Bug Fixes * Fixed broken gem build. == 2.1.2 / 2011-06-27 * Bug Fixes * Visitors can define their own cache strategy so caches are not shared. Fixes #57 * Informix support fixed. Thanks Khronos. * Ordering nodes broken to subclasses. Thanks Ernie Miller! * Reversal supported in ordering nodes. Thanks Ernie Miller! == 2.1.1 / 2011/05/14 * Bug fixes * Fixed thread safety bug in ToSql visitor. Thanks Damon McCormick and Cameron Walters! == 2.1.0 / 2011/04/30 * Enhancements * AST is now Enumerable * AND nodes are now n-ary nodes * SQL Literals may be used as Attribute names * Added Arel::Nodes::NamedFunction for representing generic SQL functions * Add Arel::SelectManager#limit= * Add Arel::SelectManager#offset * Add Arel::SelectManager#offset= * Added Arel::SelectManager#create_insert for building an insert manager. * SQL Literals are allowed for values in INSERT statements. * Math operations have been added to attributes, thanks to Vladimir Meremyanin. * Bug fixes * MSSQL adds TOP to sub selects * Assigning nil to take() removes LIMIT from statement. * Assigning nil to offset() removes OFFSET from statement. * TableAlias leg ordering fixed * Deprecations * Calls to `insert` are deprecated. Please use `compile_insert` then call `to_sql` on the resulting object and execute that SQL. * Calls to `update` are deprecated. Please use `compile_update` then call `to_sql` on the resulting object and execute that SQL. * Calls to `delete` are deprecated. Please use `compile_delete` then call `to_sql` on the resulting object and execute that SQL. * Arel::Table#joins is deprecated and will be removed in 3.0.0 with no replacement. * Arel::Table#columns is deprecated and will be removed in 3.0.0 with no replacement. * Arel::Table.table_cache is deprecated and will be removed in 3.0.0 with no replacement. * Arel::Nodes::And.new takes a single list instead of left and right. * Arel::Table#primary_key is deprecated and will be removed in 3.0.0 with no replacement. * Arel::SelectManager#where_clauses is deprecated and will be removed in 3.0.0 with no replacement. * Arel::SelectManager#wheres is deprecated and will be removed in 3.0.0 with no replacement. == 2.0.9 / 2010/02/25 * Bug Fixes * Custom LOCK strings are allowed. Fixes LH # 6399 https://rails.lighthouseapp.com/projects/8994/tickets/6399-allow-database-specific-locking-clauses-to-be-used * Strings passed to StringManager#on will be automatically tagged as SQL literals. Fixes Rails LH #6384 https://rails.lighthouseapp.com/projects/8994/tickets/6384-activerecord-303-and-3-0-stable-generate-invalid-sql-for-has_many-through-association-with-conditions == 2.0.8 / 2010/02/08 * Bug Fixes * Added set operation support * Fixed problems with *_any / *_all methods. == 2.0.7 * Bug Fixes * Limit members are visited * Fixing MSSQL TOP support == 2.0.6 12/01/2010 * Bug Fixes * Rails 3.0.x does not like that Node is Enumerable, so removing for now. == 2.0.5 11/30/2010 * Enhancements * Arel::Visitors::DepthFirst can walk your AST depth first * Arel::Nodes::Node is enumerable, depth first * Bug fixes * #lock will lock SELECT statements "FOR UPDATE" on mysql * Nodes::Node#not factory method added for creating Nodes::Not nodes * Added an As node * Deprecations * Support for Subclasses of core classes will be removed in Arel version 2.2.0 == 2.0.4 * Bug fixes * Speed improvements for Range queries. Thanks Rolf Timmermans! == 2.0.3 * Bug fixes * Fixing Oracle support * Added a visitor for "Class" objects == 2.0.2 * Bug fixes * MySQL selects from DUAL on empty FROM * Visitor translates nil to NULL * Visitor translates Bignum properly == 2.0.1 * Bug fixes == 2.0.0 / 2010-08-01 * Enhancements * Recreate library using the Visitor pattern. http://en.wikipedia.org/wiki/Visitor_pattern == 0.3.0 / 2010-03-10 * Enhancements * Introduced "SQL compilers" for query generation. * Added support for Oracle (Raimonds Simanovskis) and IBM/DB (Praveen Devarao). * Improvements to give better support to Active Record. == 0.2.1 / 2010-02-05 * Enhancements * Bump dependency version of activesupport to 3.0.0.beta == 0.2.0 / 2010-01-31 * Ruby 1.9 compatibility * Many improvements to support the Arel integration into Active Record (see `git log v0.1.0..v0.2.0`) * Thanks to Emilio Tagua and Pratik Naik for many significant contributions! == 0.1.0 / 2009-08-06 * 1 major enhancement * Birthday!