All Versions
24
Latest Version
Avg Release Cycle
228 days
Latest Release
1444 days ago

Changelog History
Page 2

  • v2.4.1 Changes

    • 🛠 FIX: #96: Allow first bind value of query with numbered placeholders to be null.
  • v2.4.0 Changes

    🚀 The previous release changed the ExtendedPdoInterface by adding a new disconnect() method. That was an unintentional BC break to existing implementations of the interface. This release corrects that break by removing the disconnect() method from the interface, while leaving it in the implementation.

  • v2.3.0 Changes

    • ➕ ADD: ExtendedPdo::disconnect() method to close connections explicitly. This does not work for injected PDO connection objects, which should be managed from their creation point, not as part of ExtendedPdo. Thanks to both Jacob Emerick and Jacques Woodcock for their initial implementations.

    • 👻 CHG: ExtendedPdo::bindValue() now throws Exception\CannotBindValue when it encounters a non-bindable value. This helps with debugging values that make their way down to the PDO layer, which PDO cannot bind.

  • v2.2.1 Changes

    • CHG: ExtendedPdo::prepare() now profiles the query-preparation time
  • v2.2.0 Changes

    • SEC: ExtendedPdo no longer enables self::ATTR_EMULATE_PREPARES by default; this is to avoid security holes when using emulation.

    • REF: Extract the statement-rebuilding logic to its own Rebuilder class

    • ➕ ADD: ExtendedPdo::fetchGroup() functionality.

    • ➕ ADD: When binding values via perform(), add the self::PARAM_* type based on the value being bound.

    • ⚡️ TST: Update testing structure

  • v2.1.0 Changes

    • 🆕 NEW: Method Profiler::resetProfiles() allows you to clear existing profiles.

    • 🛠 FIX: Correctly handles zero-indexed placeholder arrays on execute.

    • 🛠 FIX: Passes all tests on HHVM.

    • REF: Added Scrutinizer-CI checks, along with code modifications to improve Scrutinizer score without changing functionality.

    • ⚡️ DOC: Updates to the README and various docblocks.

  • v2.0.1 Changes

    🚀 Release 2.0.1 includes a fix that moves PDO parameters explicitly back into the ⏪ constructor. This restores named parameter matching for DI containers.

  • v2.0.0 Changes

    🚀 First stable release of Aura.Sql 2.0.0

    🔖 Version 2 of Aura.Sql is greatly reduced from version 1, providing only an ExtendedPDO class, a query profiler, and a connection locator. No query objects, data mappers, or schema discovery objects are included; these are 📦 available in separate Aura.Sql_* packages. This keeps the package tightly focused as an extension for PDO, rather than a more general SQL toolset.

    This is a breaking change from the beta. Previously, the ExtendedPdo object itself would retain values to bind against the next query. After discussion with interested parties, notably Rasmus Schultz, I was convinced that it was too much of a departure from normal PDO semantics.

    🚚 Thus, the collection of values for binding has been removed. The methods query(), exec(), and prepare() no longer take bound values directly. Instead,we have a new method perform() that acts like query() but takes an array of values to bind at query time. We also have a new method prepareWithValues() that prepares a statement and binds values at that time. Finally, the new method fetchAffected() acts like exec(), but with bind values passed at the time of calling (just like with the other fetch*() methods).

    In addition, you can now pass an existing PDO connection to ExtendedPdo so decorate that existing PDO instance with the ExtendedPdo behaviors.

    🚀 Thanks to ralouphie, koriym, jblotus, and stof for their fixes and improvements in this release. Thanks also to Stan Lemon for the new proxy/decorator behavior, Rasmus Schultz for his semantic insights, and (as always) to Hari KT for his continued attention to detail.

    The full list of changes follows.

    • 🚚 [BRK] Remove methods bindValue(), bindValues(), and getBindValues()

    • [BRK] query(), exec(), and prepare() no longer bind values; perform() and prepareWithValues() do

    • [FIX] setAttribute() needs to return a bool; thanks @mindplay-dk

    • [FIX] PDO::quote() now converts NULL to ''; this fix honors the normal PDO behavior.

    • ⏪ [FIX] Method rollBack() now returns a boolean result

    • [ADD] Extract PdoInterface from ExtendedPdoInterface

    • [ADD] Add fetchObject*() to ExtendedPdoInterface

    • [ADD] Add methods perform() and prepareWithValues() to bind values as part of the call

    • [ADD] Add method fetchAffected() as an exec()-with-values replacement

    • [CHG] Constructor is now polymorphic; inject an existing PDO instance to be decorated, or pass PDO params

    • [ADD] Add method getPdo() to return the proxied/decorated instance

  • v2.0.0-beta1 Changes

    • 🎉 Initial release of 2.0.0-beta1.

    🔖 Version 2 of Aura.Sql is greatly reduced from version 1, providing only an ExtendedPDO class, a query profiler, and a connection locator. No query objects, data mappers, or schema discovery objects are included; these are 📦 available in separate Aura.Sql_* packages. This keeps the package tightly focused as an extension for PDO, rather than a more general SQL toolset.

  • v1.3.1 Changes

    🚀 Hygiene release.

    • 🛠 Fix UnitOfWork test for PHP 5.5

    • 🔀 Merge pull request #58 from MAXakaWIZARD/pr-select-query-reset-fix, fixes $from_key count when resetting select statement.

    • 🔀 Merge pull request #56 from MAXakaWIZARD/pr-correct-join-order, implements correct join order for Query\Select

    • Keep a running count of FROM keys in Select, instead of counting each time

    • ✂ Remove commented-out code and update docblocks