Fix check for blessedness and minor cleanup in many_to_many helper
[dbsrgits/DBIx-Class.git] / Changes
diff --git a/Changes b/Changes
index d33253b..d1bd079 100644 (file)
--- a/Changes
+++ b/Changes
 Revision history for DBIx::Class
 
+    * New Features / Changes
+        - New method ResultSource columns_info method, returning multiple
+          pairs of column name/info at once
+        - $rs->search now throws when called in void context, as it makes
+          no sense (and is nearly always a sign of a bug/misdesign)
+        - Deprecate legacy $rs->search( %condition ) syntax (warn once per
+          callsite)
+        - NULL is now supplied unquoted to all debug-objects, in order to
+          differentiate between a real NULL and the string 'NULL'
+        - New search() condition operator -value used to pass complex bind
+          values to DBI: search({ array_col => { -value => [1,2,3] }})
+        - +columns now behaves just like columns by not stripping a
+          fully-qualified 'as' spec (i.e. foo.bar results in $obj->foo->bar)
+        - Add full INSERT...RETURNING support for Oracle
+        - Deprecate use of -nest in search conditions (warn once per
+          callsite)
+
     * Fixes
+        - Fixed read-only attribute set attempt in ::Storage::Replicated
+          (RT#62642)
+        - Fix incomplete logic while detecting correct Oracle sequence
+          on insert
+        - Fix detection of Oracle sequences for tables without an explicitly
+          specified schema (RT#63493)
+        - Major overhaul of Storage::Oracle to handle enabled quoting
+        - Fixed incorrect composition of select/as/columns attributes during
+          chaining (RT#61235)
+        - Proper serialization of resultsets with open cursors
+        - Refactor handling of RDBMS-side values during insert() - fix
+          regression of inserts into a Postgres / ::Replicated combination
+        - Missing dependency check in t/60core.t (RT#62635)
+        - Fix regressions in IC::DT registration logic
+        - Fix regression in select-associated bind value handling (RT#61025)
+        - Fix infinite loops on old perls with a recent Try::Tiny
+        - Improve "fork()" on Win32 by reimplementing a more robust DBIC
+          thread support (still problematic, pending a DBI fix)
+        - Properly quote table name on INSERT with no values
+        - Work around possible Storage destruction warnings
+        - Fix count of grouped resultsets using HAVING with aliases
+        - Setting belongs_to columns/relationships no longer leaves the
+          FK value and related object out of sync
+        - Stop stripping newlines from SQL statements in the limit emulators
+          as it is possible that custom sql with comments was provided
+        - Add forgotten attributes to Admin.pm
+        - Fix incorrect 'having' attribute documentation (RT#64129)
+        - Improve fallback-to-master/return-to-slave reporting in
+          ::Replicated::Balancer
+
+    * Misc
+        - Add extra option groups to DBIC::Optional::Depencencies, to aid
+          users in requesting the prerequisites for a particular RDBMS
+        - Switch all serialization to use Storable::nfreeze for portable
+          architecture independent ice
+        - Fix the bogus META.yml dependency injection issue for good
+        - Refactor DBIx::Class::Storage::Statistics::debugfh() to be lazy
+
+0.08124 2010-10-28 14:23 (UTC)
+    * New Features / Changes
+        - Add new -ident "function" indicating rhs is a column name
+          { col => { -ident => 'othercol' } } vs { col => \'othercol' }
+        - Extend 'proxy' relationship attribute
+        - Use DBIx::Class::Storage::Debug::PrettyPrint when the
+          environment variable DBIC_TRACE_PROFILE is set, see
+          DBIx::Class::Storage for more information
+        - Implemented add_unique_constraints() which delegates to
+          add_unique_constraint() as appropriate
+        - add_unique_constraint() now poparly throws if called with
+          multiple constraint definitions
+        - No longer depend on SQL::Abstract::Limit - DBIC has been doing
+          most of the heavy lifting for a while anyway
+        - FilterColumn now passes data through when transformations
+          are not specified rather than throwing an exception.
+        - Optimized RowNum based Oracle limit-dialect (RT#61277)
+        - Requesting a pager on a resultset with cached entries now
+          throws an exception, instead of returning a 1-page object
+          since the amount of rows is always equal to the "pagesize"
+        - $rs->pager now uses a lazy count to determine the amount of
+          total entries only when really needed, instead of doing it
+          at instantiation time
+        - New documentation map organized by features
+          (DBIx::Class::Manual::Features)
+        - find( { ... }, { key => $constraint } ) now throws an exception
+          when the supplied data does not fully specify $constraint
+        - find( col1 => $val1, col2 => $val2, ... ) is no longer supported
+          (it has been in deprecated state for more than 4 years)
+        - Make sure exception_action does not allow exception-hiding
+          due to badly-written handlers (the mechanism was never meant
+          to be able to suppress exceptions)
+
+    * Fixes
+        - Fix memory leak during populate() on 5.8.x perls
+        - Temporarily fixed 5.13.x failures (RT#58225)
+          (perl-core fix still pending)
+        - Fix result_soutrce_instance leaks on compose_namespace
+        - Fix $_ volatility on load_namespaces (a class changing $_
+          at compile time no longer causes a massive fail)
+        - Fix find() without a key attr. choosing constraints even if
+          some of the supplied values are NULL (RT#59219)
         - Fixed rels ending with me breaking subqueried limit realiasing
+        - Fixed $rs->update/delete on resutsets constrained by an
+          -or condition
+        - Remove rogue GROUP BY on non-multiplying prefetch-induced
+          subqueries
+        - Fix incorrect order_by handling with prefetch on
+          $ordered_rs->search_related ('has_many_rel') resultsets
         - Oracle sequence detection now *really* works across schemas
           (fixed some ommissions from 0.08123)
-        - add_unique_constraint() now throws if called with multiple
-          constraint definitions
-        - Implemented add_unique_constraints() which delegates to
-          add_unique_constraint() as appropriate
         - dbicadmin now uses a /usr/bin/env shebang to work better with
           perlbrew and other local perl builds
         - bulk-inserts via $dbh->bind_array (void $rs->populate) now
@@ -18,13 +117,43 @@ Revision history for DBIx::Class
           column in the GROUP BY clause
         - Properly support column names with symbols (e.g. single quote)
           via custom accessors
+        - Fixed ::Schema::Versioned to work properly with quoting on
+          (RT#59619)
+        - Fixed t/54taint fails under local-lib
+        - Fixed SELECT ... FOR UPDATE with LIMIT regression (RT#58554)
+        - Fixed CDBICompat to preserve order of column-group additions,
+          so that test relying on the order of %{} will no longer fail
+        - Fixed mysterious ::Storage::DBI goto-shim failures on older
+          perl versions
+        - Non-blessed reference exceptions are now correctly preserved
+          when thrown from udner DBIC (e.g. from txn_do)
+        - No longer disconnecting database handles supplied to connect
+          via a coderef
+        - Fixed t/inflate/datetime_pg.t failures due to a low dependency
+          on DateTime::Format::Pg (RT#61503)
+        - Fix dirtyness detection on source-less objects
+        - Fix incorrect limit_dialect assignment on Replicated pool members
+        - Fix invalid sql on relationship attr order_by with prefetch
+        - Fix primary key sequence detection for Oracle
+          (first trigger instead of trigger for column)
+        - Add various missing things to Optional::Dependencies
+        - Skip a test that breaks due to serious bugs in current DBD::SQLite
+        - Fix tests related to leaks and leaky perls (5.13.5, 5.13.6)
 
     * Misc
-        - Refactored capability handling in Storage::DBI, allows for
-          standardized capability handling wrt query/enable/disable
+        - Entire test suite now passes under DBIC_TRACE=1
         - Makefile.PL no longer imports GetOptions() to interoperate
           better with Catalyst installers
         - Bumped minimum Module::Install for developers
+        - Bumped DBD::SQLite dependency and removed some TODO markers
+          from tests (RT#59565)
+        - Do not execute t/zzzzzzz_sqlite_deadlock.t for regular module
+          installs - test is prone to spontaneous blow up
+        - DT-related tests now require a DateTime >= 0.55 (RT#60324)
+        - Makefile.PL now provides a pre-parsed DBIC version to the
+          Opt::Dep pod generator
+        - t/52leaks.t now performs very aggressive leak detection in
+          author/smoker mode
 
 0.08123 2010-06-12 14:46 (UTC)
     * Fixes