Restore ability to handle underdefined root (t/prefetch/incomplete.t)
[dbsrgits/DBIx-Class.git] / Changes
diff --git a/Changes b/Changes
index a9034d0..6eacbb1 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,9 +1,210 @@
 Revision history for DBIx::Class
 
     * Fixes
+        - Fix duplicated selected columns when calling 'count' when a same
+          aggregate function is used more than once in a 'having' clause
+          (RT#83305)
+
+    * Misc
+        - Fixup our distbuilding process to stop creating world-writable
+          tarball contents (implicitly fixes RT#83084)
+        - Added strict and warnings tests for all lib and test files
+
+0.08206 2013-02-08
+    * Fixes
+        - Fix dbh_do() failing to properly reconnect (regression in 0.08205)
+        - Extra sanity check of a fresh DBI handle ($dbh). Fixes
+          connection coderefs returning garbage (seen in the wild)
+
+    * Misc
+        - Only allow known globals in SQL::Translator leak allowance
+        - General cleanup of error message texts - quote names/identifiers
+          for easier reading
+        - Stop t/52leaks.t from failing when AUTOMATED_TESTING=1
+
+0.08205 2013-01-22
+    * New Features / Changes
+        - The emulate_limit() arbitrary limit dialect emulation mechanism is
+          now deprecated, and will be removed when DBIx::Class migrates to
+          Data::Query
+        - Support for the source_bind_attributes() storage method has been
+          removed after a lengthy deprecation cycle
+    * Fixes
+        - When performing resultset update/delete only strip condition
+          qualifiers - leave the source name alone (RT#80015, RT#78844)
+        - Fix incorrect behavior on resultset update/delete invoked on
+          composite resultsets (e.g. as_subselect_rs)
+        - Fix update/delete operations referencing the updated table failing
+          on MySQL, due to its refusal to modify a table being directly
+          queried. As a workaround induce in-memory temp-table creation
+          (RT#81378, RT#81897)
+        - More robust behavior under heavily threaded environments - make
+          sure we do not have refaddr reuse in the global storage registry
+        - Fix failing test on 5.8 under Win32 (RT#81114)
+        - Fix hash-randomization test issues (RT#81638)
+        - Disallow erroneous calling of connect_info on a replicated storage
+          (RT#78436)
+    * Misc
+        - Improve the populate docs in ::Schema and ::ResultSet
+        - ::Storage::DBI::source_bind_attributes() removed as announced
+          on Jan 2011 in 0e773352a
+
+0.08204 2012-11-08
+    * New Features / Changes
+        - SQLMaker now accepts \'literal' with the 'for' rs attribute as an
+          override to the builtin FOR options
+    * Fixes
+        - Fix unique constraint violations in Ordered.pm blanket movement
+          (RT#79773, rolls back short-sighted 5e6fde33e)
+        - Fix API mismatch between new_result() and new_related() (originally
+          broken by fea3d045)
+        - Fix test failure on perl 5.8
+    * Misc
+        - Much more extensive diagnostics when a new RDBMS/DSN combination is
+          encountered (RT#80431)
+
+0.08203 2012-10-18
+    * Fixes
+        - Really fix inadequate $dbh->ping SQLite implementation (what shipped
+          in 0.08201 tickled other deficiencies in DBD::SQLite itself)
+
+0.08202 2012-10-06
+    * Fixes
+        - Replace inadequate $dbh->ping SQLite implementation with our own,
+          fixes RT#78420
+
+0.08200 2012-08-24 (UTC)
+    * Fixes
+        - Change one of the new tests for the previous release to not require
+          SQL::Translator
+
+0.08199 2012-08-22 (UTC)
+    * Fixes
+        - Roll back incomplete (and broken) internal changes - restore prefetch functionality
+
+0.08198 2012-07-11 03:43 (UTC)
+    * Fixes
+        - Fix a number of Win32 Test issues
+        - Fix silent Oracle connection failures
+
+0.08197 2012-07-10 10:32 (UTC)
+    * New Features / Changes
+        - Issue a warning when DateTime objects are passed to ->search
+        - Fast populate() in void context is now even more efficient by
+          going directly through execute_for_fetch bypassing execute_array
+        - Fix update()/delete() on complex resultsets to no longer fall back
+          to silly row-by-row deletion, construct a massive OR statement
+          instead
+        - Allow complex update/delete operations on sources without a
+          primary key, as long as they have at least one non-nullable
+          unique constraint
+        - dbicadmin now better supports catalyst-style config files, by
+          unrolling 'config_info' hashkeys
+        - Multiple Improvements MSSQL over DBD::ADO
+          - Transaction support
+          - Support for VARCHAR(MAX)/VARBINARY(MAX)/NVARCHAR(MAX) datatypes
+          - Nomalization of retrieved GUID values
+
+    * Fixes
+        - Fix complex has_many prefetch with resultsets not selecting identity
+          columns from the root result source
+        - Fix SkipFirst and FirstSkip limit dialects (Informix and Firebird)
+        - Fix "Skimming limit" dialects (Top, FetchFirst) to properly check
+          the order_by criteria for stability
+        - Fix "Skimming limit" dialects (Top, FetchFirst) to propagate
+          non-selected order criteria when part of a larger subquery
+        - Fix RowNumberOver and all "skimming limits" to correctly assemble
+          bind values when supplied for both select and order_by
+        - Fix all subquery-based dialects to not lose a subquery fragment
+          when we both select and order by the result of the same subquery
+        - Fix the Sybase hubrid limit dialect (RowCountOrGenericSubQ) losing
+          Group/Having/Order clauses when called without an offset (RT#73244)
+        - No longer generate incorrect SQL on ->as_query called on resultsets
+          with software_limit enabled
+        - A number of corner case fixes of void context populate() with \[]
+        - Fix corner case of forked children disconnecting the parents DBI
+          handle
+        - Improve identity/autoinc retrieval code in MSSQL and Sybase -
+          should reduce weird side-effects especially with populate()
+        - Explicitly disable DBD::ODBC batch operations (as of DBD::ODBC 1.35)
+          for the following drivers too buggy to handle the optimized path:
+          - FreeTDS ODBC driver (when used with MSSQL)
+          - The Firebird ODBC driver
+          - The MSAccess ODBC driver
+        - Explicitly disable DBD::ODBC dynamic_cursors when using freetds 0.83
+          or later - they made enough ODBC incompatible changes making it
+          impossible to support sanely
+        - Explicitly disable SCOPE_IDENTITY queries and statement caching for
+          MSSQL on DBD::Sybase compiled against freetds 0.83 or later - way too
+          buggy
+        - Disable statement caching when using Sybase ASE and DBD::Sybase
+          compiled against freetds 0.83 or later
+        - Fix leakage of $schema on in-memory new_related() calls
+        - Fix more cases of $schema leakage in SQLT::Parser::DBIC
+        - Fix leakage of $storage in ::Storage::DBI::Oracle
+        - Fix pessimization of Oracle RowNum limit dialect query when no
+          offset has been specified
+        - Remove useless vestigial pessimization in Ordered.pm for cases
+          when the position column is part of a unique constraint
+        - Fix dbicadmin to no longer ignore the documented 'config' option
+        - The schema-resultsource entanglement is now much more robust
+          under threads
+        - Fix ::Schema::ddl_filename() failing miserably on paths containing
+          certain numeric sequences
+        - t/53lean_startup.t adjusted for new 5.15.x base.pm behavior
+
+    * Misc
+        - Centralized leak-checks for all instances of DBICTest::Schema
+          from within any test
+        - Now passes all tests with Test::Builder 1.005
+        - Codebase is now trailing-whitespace-free
+        - Cleanup of complex resultset update/delete oprations - storage
+          specific code moved back to ResultSet and replaced by checks
+          of storage capabilities
+        - Fixed carp_once only emitting one single warning per package
+          regardless of warning content
+        - Test suite now can be safely executed in parallel (prove -jN
+          or HARNESS_OPTIONS=jN)
+
+0.08196 2011-11-29 05:35 (UTC)
+    * Fixes
+        - Fix tests for DBD::SQLite >= 1.34.
+        - Fix test failures with DBICTEST_SQLITE_USE_FILE set
+        - Fix the find() condition heuristics being invoked even when the
+          call defaults to 'primary' (i.e. when invoked with bare values)
+        - Throw much clearer error on incorrect inflation spec
+        - Fix incorrect storage behavior when first call on a fresh schema
+          is with_deferred_fk_checks
+        - Fix incorrect dependency on Test::Simple/Builder (RT#72282)
+        - Fix uninitialized warning in ::Storage::Sybase::ASE
+        - Improve/cache  DBD-specific datatype bind checks (also solves a
+          nasty memleak with version.pm on multiple ->VERSION invocations)
+        - The internal carp module now correctly skips CAG frames when
+          reporting a callsite
+        - Fix test failures on perl < 5.8.7 and new Package::Stash::XS
+        - Fix TxnScopeGuard not behaving correctly when $@ is set at the
+          time of $guard instantiation
+        - Fix the join/prefetch resolver when dealing with ''/undef/()
+          relation specifications
+
+    * Misc
+        - No longer depend on Variable::Magic now that a pure-perl
+          namespace::clean is available
+        - Drop Oracle's Math::BigInt req down to 1.80 - no fixes concerning
+          us were made since
+
+0.08195 2011-07-27 16:20 (UTC)
+    * Fixes
+        - Fix horrible oversight in the Oracle sqlmaker when dealing with
+          queries updating blobs (RT#69829)
+
+0.08194 2011-07-20 16:10 (UTC)
+    * Fixes
         - Fix $rs->populate([]) to be a no-op rather than an exception
         - Overhaul t/53lean_startup.t to better dodge false positives
         - Stop Data::Compare from loading random plugins
+        - Oracle: Recalculate LOB bind indices for UPDATE with LOBs in WHERE
+          (RT#69548)
 
 0.08193 2011-07-14 17:00 (UTC)
     * New Features / Changes