= Changelog Of The Propel 1.5 Branch =

== 2010-06-17: Version 1.5.2 ==

 * [1810] Changed default table type keyword to ENGINE for MySQL (closes #969)
 * [1809] Added a way to read virtual columns starting with a lowercase character (closes #993)
 * [1808] Added connection object to the FK getter (closes #1018)
 * [1807] Fixed namespace issue with `soft_delete` behavior (closes #1015)
 * [1806] Fixed issue with instance pooling and soft_delete behavior (closes #1016)
 * [1805] Added namespace declaration to model class interface (closes #1014)
 * [1804] Improved generated class code when using namespaces (refs #683)
 * [1803] Documented namespace.autoPackage build property (refs #1005)
 * [1802] Added support for package autosetting based on namespace attribute (refs #1005)
 * [1801] Fixed related instance pooling clear in case of an emulated on delete cascade / set null (refs #1012)
 * [1800] Fixed onDelete cascade and setnull for self-referencing foreign keys (closes #1012)
 * [1799] Fixed `ModelCriteria::find()` throws `Exception` instead of `PropelException`
 * [1798] Fixed hard-to-debug unit test exception message
 * [1797] Fixed cascade deletion emulation when `Criteria` is modified by `doSelect()` (closes #1008)
 * [1796] Added `ModelCriteria::findOneOrCreate()` (closes #1009)
 * [1795] Fixed `delete()` called in iterator breaks on demand formatter (closes #1006)
 * [1794] Fixed double iteration on Propel collection (closes #1004) (patch from jeremyp)
 * [1793] Documented namespaces (refs #683)
 * [1792] Added support for namespaces in many-to-many relationships (refs #683)
 * [1791] Added support for namespaces in single table inheritance (refs #683)
 * [1790] Added mention of a common error code in runtime settings documentation
 * [1789] Documented the simple templating system (refs #1002)
 * [1788] Allowed namespace tests to run alongside normal tests (refs #683)
 * [1787] Fixed `PropelObjectCollection::toArray()` when the collection is empty (closes #1001)
 * [1786] Fixed runtime doc typo
 * [1785] Refactored the `aggregate_column` behavior to take advantage of the buildtime simple templating engine (refs #1002, #995)
 * [1784] Added simple templating engine for behaviors (refs #1002)
 * [1783] Added a !HowTo on writing behaviors (should have been published in the blog, but Posterous is having troubles with code samples)
 * [1782] Improved namespace support in generated `TableMap` classes (refs #683)
 * [1781] Introducing Model Namespaces (PHP 5.3 only) (WIP) (refs #683)
 * [1780] Fixed generated `filterByXXX()` for string columns when using custom comparison
 * [1779] Added `aggregate_column` behavior (refs #995)
 * [1778] Refactored `ForeignKey` class in generator
 * [1777] [doc] Fixed typo in CRUD chapter
 * [1776] Fixed generated relation names for tables with symmetrical foreign keys (closes #968)
 * [1775] Fixed generated relation names for tables with more than one self-referencing foreign key (closes #972)
 * [1774] Fixed copy of foreign keys with hardcoded refPhpName in concrete inheritance behavior (closes #988)
 * [1773] Changing runtime autoload strategy (closes #974):
    * Using absolute path in core autoloading
    * introducing `PropelAutoloader` for models
    * removing the need for include path change in installation docs
 * [1772] Added failed SQL query to `BasePeer` exception messages (closes #979)
 * [1771] Documented the schema autosuggest feature in supported IDEs
 * [1770] Expanded the schema XSD annotations for easier schema autocompletion
 * [1769] showcasing link to XSD file in schema to allow autocompletion on NetBeans
 * [1768] Fixed typos in `ModelCriteria` doc (closes #978) (patch from Frosty)
 * [1767] Fixed typo in install doc (closes #576)
 * [1766] Fixed schema DTD does not validate schemas without behaviors (closes #973)
 * [1765] Added the ability to comment the generated SQL query from a Criteria (closes #970)
 * [1764] Fixed limitation in schema size when transformation or external schema is included (closes #971)
 * [1763] Fixed limitation in schema size when no transformation nor external schema is included (closes #971)

== 2010-05-10: Version 1.5.1 ==

 * [1759] Moved ModelWith runtime class to formatter directory
 * [1758] Fixed warning with new StringReader
 * [1757] Reduced console logging when building an up-to-date schema
 * [1756] Parsing schemas as strings instead of files (closes #967)
 * [1755] Reverting r1548 to allow inclusion of external schemas (refs #967)
 * [1754] Documented custom defaultJoin type (refs #870) (closes #936)
 * [1749] fix Criteria::addCond() example and php-doc (closes #964)
 * [1748] fix Join::addCondition() php-doc (closes #963)
 * [1747] Add getJoin() method to ModelCriteria (closes #961)
 * [1745] Fixed auto_add_pk behavior when using separate schemas (closes #956)
 * [1743] Refactored ModelCriteria::count() to allow query cache on counts
 * [1742] Fixed propel-gen executable on windows (closes #942)
 * [1741] disabled query cloning by default, you can enable it on a per query basis using keepQuery() (refs #953)
 * [1740] Fixed shallow Criteria cloning (refs #953)
 * [1739] Fixed overriding primary key in a new object (closes #960)
 * [1738] Fixed generated joinXXX() methods used in secondary Criteria (closes #958)
 * [1737] Fixed array hydration (refs #954, #959)
 * [1736] Added unit test to demonstrate Array Hydration regression (refs #959)
 * [1735] Fixed typo in MySQL DDL builder (closes #957)
 * [1734] fixed doc typos (patch from Frosty) (closes #955)
 * [1733] Refactored hydration schema
    * removed circular dependency between Criteria and Formatter (refs #891)
    * formatters now copy the necessary hydration data from the ModelCriteria
    * Should improve memory handling in large resultsets
    * removed PropelFormatter::setCriteria() and checkCriteria (refs #892)
 * [1732] refactored on demand hydration (refs #954), removed ModelJoin storage in ModelWith
 * [1731] Refactored Joined Array hydration (refs #954)
 * [1730] Changed Propel::enableInstancePooling() return value
 * [1729] Added a exception to explicit the limits of one-to-many joined hydration
 * [1728] Refactored joined object hydration
    * Now deals correctly with any join chain (refs #954)
    * Faster for large resultsets and long join chains
 * [1727] refactored BasePeer::doDelete() to handle table aliases and perform better (closes #949)
 * [1726] Small Criteria optimization
 * [1725] Fixed ModelCriteria::delete() fails when using true table alias (closes #949)
 * [1724] Allowed Merging of Criteria objects to combien conditions with an OR (closes #951)
 * [1723] Added the ability to reindex a collection (closes #851)
 * [1722] Gave a public way to remove an alias (useful when merging Criterias)
 * [1721] Added ModelCriteria::postUpdate() and ModelCriteria::postDelete() hooks (closes #945)
 * [1720] Fixed issue with instance pooling and composite fkeys in peer classes (closes #924)
 * [1719] Fixed E_STRICT warning in concrete table inheritance (closes #910)
 * [1718] Added unit tests for PropelObjectCollection::toKeyValue(), and made it just a little smarter (closes #943)
 * [1717] Fixed typo in Relationships doc closes #941)
 * [1716] Fixed reverse task and validators (closes #928)
 * [1715] Fixed phpDoc for Criteria::getCriterion() (closes #929)
 * [1714] Fixed regression in orderBy() used in conjunction with ignoreCase (closes #946)
 * [1712] Fixed concrete table inheritance with more than one level (closes #922)
 * [1711] Fixed filterByXXX() when passed an explicit Criteria::EQUAL (closes #944)
 * [1710] Fixed references to 1.4 pages in documentaton (closes #937)