### 2.1.0 / 2023-06-26 * Added {Ronin::Code::SQL::Mixin}. * Added {Ronin::Code::SQLI} as an alias for {Ronin::Code::SQL::Injection}. * Added support for the `syntax:` and `comment:` keyword arguments to {Ronin::Code::SQL::Statement#to_sql} and {Ronin::Code::SQL::Injection#to_sql}. * Added {Ronin::Code::SQL::Clauses#order_by}. * Added {Ronin::Code::SQL::Emitter#emit_comment}. ### 2.0.0 / 2023-02-01 * Require `ruby` >= 3.0.0. * Added [ronin-support] ~> 0.1 as a dependency. * Renmaed `ronin/formatting/sql` to `ronin/support/encoding/sql` and moved it back into [ronin-support]. [ronin-support]: https://github.com/ronin-rb/ronin-support#readme ### 1.1.0 / 2013-01-22 * Added `Ronin::SQL::InjectionExpr`, so that statements specified within `and { }`, `or { }` blocks would not be appending to the `Ronin::SQL::Injection` object. * Made `Ronin::SQL::Field` emittable. * Added `Ronin::SQL::Emitter#emit_argument`, so that any sub-statements will be wrapped in `( )`. * Improved `Ronin::SQL::Emitter#emit_field`. * Fixed `Ronin::SQL::Emitter#emit` to pass `Ronin::SQL::Function`s to `Ronin::SQL::Emitter#emit_function`. ### 1.0.0 / 2013-01-21 * Require [Ruby] >= 1.9.1. * No longer require ronin. * No longer require ronin-web. * Added `String#sql_unescape`. * Moved `String#sql_escape`, `String#sql_encode` and `String#sql_decode` from [ronin-support]. * Refactored the `Ronin::SQL SQL` DSL to be more like [ARel](https://github.com/rails/arel#readme). * Moved the DSL from `Ronin::Code::SQL` into `Ronin::SQL`. * Removed `Ronin::SQL::Error`. * Removed `String#sql_error`. * Removed `String#sql_error?`. * Removed `URI::HTTP.has_sql_errors?`. * Removed `URI::HTTP.sql_error`. * Removed `URI::HTTP.sql_errors`. ### 0.2.4 / 2009-09-24 * Require ronin >= 0.3.0. * Require ronin-web >= 0.2.0. * Require rspec >= 1.1.12. * Require yard >= 0.2.3.5. * Updated the project summary and 3-point description for Ronin SQL. * Moved to YARD based documentation. * Fixed a formatting issue in the README.txt file, which was causing RDoc to crash. ### 0.2.3 / 2009-07-02 * Use Hoe >= 2.0.0. * Require ronin >= 0.2.4. * Require ronin-web >= 0.1.3. * Use Ronin::Scanners::Scanner to define the scanner for finding `Ronin::SQL::Injection` objects for URI::HTTP urls. * Added more specs. ### 0.2.2 / 2009-01-22 * Depend on the new ronin-web library. * Replace Hpricot with Nokogiri. * Use the new Ronin::Web::Spider, instead of directly using Spidr. * Use the new Nokogiri extensions from ronin-web. ### 0.2.1 / 2009-01-09 * Added missing files to the Manifest. ### 0.2.0 / 2009-01-08 * Require ronin >= 0.1.3. * Refactored `Ronin::Code::SQL`. * Implemented a token emitter system. * Support common SQL expression modifiers. * Support common SQL clauses. * Allow for injecting arbitrary SQL clauses. * Added more SQL Injection test generators. * all_rows: `OR 1 = 1` * exact_rows: `AND 1 = 1` * no_rows: `AND 1 = 0` * has_column?(column): `OR column IS NOT NULL` * has_table?(table): `AND (SELECT FROM table count(*) == 1)` * uses_column?(column): `GROUP BY column HAVING 1 = 1` * uses_table?(table): `OR table IS NOT NULL` * Removed references to `Ronin::Vulnerable`. * Added more specs: * Specs for most of `Ronin::Code::SQL`. * Specs on `Ronin::SQL::Error` and the SQL encoding/decoding extensions for the String class. ### 0.1.1 / 2008-09-28 * Trivial bug fix to `URI::HTTP#sql_errors`. ### 0.1.0 / 2007-12-23 * Initial release. * Supports SQL code generation. * Supports obfuscation of SQL code. * Supports SQL Injection code generation. [Ruby]: http://www.ruby-lang.org/