Version 3.0.1 June 4, 2006
==========================
BUG: Ticket#28 - OnClick does not work with Safari/KHTML (Wei)
BUG: Ticket#37 - Changes of config files do not trigger cache update (Qiang)
BUG: Ticket#44 - THtmlArea (tiny_mce) not working on some systems (Qiang)
BUG: Ticket#162 - Missing currency sign in TNumberFormat if Value is 0 (Wei)
BUG: Ticket#167 - TSecurityManager issues warning when trying to encrypt/decrypt strings (Qiang)
BUG: Ticket#169 - Validation of subclass of THtmlArea/TDatePicker fails (Wei)
BUG: Ticket#179 - CGI incompatibility causing clientscripts.php failure (Qiang)
BUG: Ticket#181 - Unable to change Content-Type in response header if charset is not set (Qiang)
BUG: Ticket#200 - onClick javascript event triggered twice on CheckBox label (Qiang)
BUG: newly created controls during postbacks might get their initial states reset during loadStateRecursive. (Qiang)
ENH: Ticket#150 - TDataGrid and TDataList now render table section tags (Qiang)
ENH: Ticket#152 - constituent parts of TWizard are exposed (Qiang)
ENH: Ticket#184 - added TUserManager.Users and Roles properties (Qiang)
ENH: Ticket#197 - sanity check for datagrid header and footer (Qiang)
ENH: added sanity check to calling event handlers (Qiang)
ENH: added search for quickstart tutorials (Wei)
ENH: added support to property tags for template owner control (Qiang)
ENH: added Bulgarian requirement checker messages (StanProg)
ENH: added TTheme.BaseUrl and TTheme.BasePath property (Qiang)
ENH: added TListControl.SelectedValues property (Qiang)
ENH: added TThemeManager.AvailableThemes property (Qiang)
ENH: refactored TUserManager and TAuthManager so that they are easier to be extended (Qiang)
ENH: template syntax now supports setting event handler via subproperties (Qiang)
CHG: Ticket#151 - URL format is modified to handle empty GET values (Qiang)
CHG: Ticket#153 - TAssetManager now ignores .svn directories (Qiang)
CHG: Changed TControl::onBubbleEvent() to TControl::bubbleEvent() (Qiang)
NEW: TTableHeaderRow, TTableFooterRow and table section support (Qiang)
NEW: TCompositeControl (Qiang)
NEW: TTextProcessor (Qiang)
NEW: TMarkdown (Wei)
NEW: Blog demo (Qiang)

Version 3.0.0 May 1, 2006
=========================
BUG: Ticket#68  - 2 TButtons with THtmlArea causes second button to fail to function (Wei)
BUG: Ticket#70  - Javascript for TDataTypeValidator added (Wei)
BUG: Ticket#131 - TImageMap and TLinkButton continue to postback even client validator fails (Wei)
BUG: Ticket#135 - TBrowserLogRoute reports wrong timings (Qiang)
BUG: Ticket#137 - The JavasciptLogger does not work (Qiang)
BUG: Ticket#138 - missing file in TDataGrid (Qiang)
BUG: Ticket#139 - TThemeManager::setBasePath() should understand an alias path (Qiang)
BUG: Non-control components can now use expressions in their properties (Qiang)
BUG: TControl.Visible did not make use of overriden getVisible() (Qiang)
BUG: TWizard did not stop navigation upon a validation failure (Qiang)
BUG: NumberFormat will now zero-fill numbers base on the pattern. (Wei)
ENH: TButton, TImageButton and TLinkButton now implement IButtonControl interface (Qiang)
ENH: TResponse::writeFile takes three additional parameters to allow sending memory data (Qiang)
ENH: TButtonColumn can now be a column of image buttons (Qiang)
ENH: TLiteral will display body content if Text is empty (Qiang)
ENH: Format string in classes extending TDataGridColumn can now evaluate an expression (Qiang)
ENH: Format string in classes extending TListControl can now evaluate an expression (Qiang)
ENH: Added THttpResponse::reload() (Qiang)
ENH: Custom visual effects can be added to client-side validators via ClientSide property in validators. (Wei)
ENH: TJavascript::encode() allows raw javascript code when string begins with "javascript:" (Wei)
ENH: Update TinyMCE to 2.0.5.1
CHG: Rewrote client-side javascript validators, check your client-side validation behaviour (Wei)
CHG: Updated the javascript Prototype library, a few utilties functions REMOVED, may break your existing javascript code. (Wei)
CHG: Build javascript without compression, only comments are removed. (Wei)
CHG: TDatePicker's date can be set using Date property, it value must be in same format as DateFormat, TimeStamp must be set as integer (wei)
CHG: TSimpleDateFormatter::parse() now return an integer or null on parse error (Wei)
CHG: TControl::createControls() is changed to public. (Qiang)
CHG: Template comment tag is changed from <! ... !> to <!-- ... --!> (Qiang)
NEW: TListControlValidator (Wei)
NEW: TClientScript (Wei)


Version 3.0RC2 April 16, 2006
=============================
BUG: Ticket#54 - recursive reverse() definition (Wei)
BUG: Ticket#93 - ValidationGroup not working in TImageMap for js validator (Wei)
BUG: Ticket#97 - Invalid return type value for TSimpleDateFormatter::parse (Wei)
BUG: Ticket#118 - Variables that may not have been initialized (Qiang)
BUG: Ticket#121 - OnClick don't fire with TImageButton and TRequiredFieldValidator (Wei)
BUG: Ticket#129 - TRadioButtonList in TWizard step does not postback correctly (Qiang)
CHG: Moved localize() into PradoBase (Qiang)
CHG: List controls now use array keys as list item values even if the array is integer-indexed (Qiang)
CHG: THttpUtility::htmlEncode and htmlDecode now do not deal with & (Qiang)
CHG: Expressions appeared in a template are evaluated in PreRender stage (Qiang)
CHG: The context of expressions appeared in a template is changed to the template control (Qiang)
ENH: Optimized the representation and evaluation of template expressions (Qiang)
ENH: Added Raw layout to TDataList (Qiang)
ENH: Added TRepeater.DataKeys and TRepeater.DataKeyField (Qiang)

Version 3.0RC1 April 5, 2006
============================
BUG: Ticket#85 - Undefined TDataGrid::setSelectedIndex (Qiang)
BUG: Ticket#87 - Typo in IDbConnection (Qiang)
BUG: Ticket#88 - Unclosed HTML tag in TDatePicker and TColorPicker (Qiang)
BUG: Ticket#89 - TInlineFrame::ScrollBars wrong behaviour expected (Qiang)
BUG: Ticket#95 - Typo in TTemplateControl::registerContentPlaceHolder (Qiang)
BUG: Ticket#103 - Typo in TStyle::setVerticalAlign (Qiang)
BUG: Ticket#107 - ListControls not respect parent disabling (Qiang)
BUG: SF#1432624 - Incorrect documentation about caching expiry (Qiang)
BUG: SF#1446846 - Typo in THead (Qiang)
BUG: THttpSession fails when user storage module is used (Qiang)
CHG: TTextHighlighter.EnableCopyCode defaults to false (Qiang)
CHG: Reorganized quickstart tutorial demo, added new sections (Qiang)
CHG: Reorganized folders under framework (Qiang)
CHG: Modified THtmlArea default toolbar and size. (Qiang)
CHG: Pagers in TDataGrid are now enclosed within panels (Qiang)
ENH: Ticket#92 - Support for user exception message file (Qiang)
ENH: Ticket#106 - Support for validation on THiddenField (Qiang)
ENH: Ticket#110 - Support for TVarDump with syntax highlight (Qiang)
ENH: TDataFieldAccessor can access public class variables (Qiang)
ENH: TPhpErrorException now shows the actual error lines (Qiang)
ENH: Refactored cache classes with support for cache dependency (Qiang)
NEW: TStack component (Qiang)
NEW: TImageMap control (Qiang)
NEW: TWizard control (Qiang)
NEW: TVarDumper and PradoBase::varDump() (Qiang)
NEW: TComponentReflection (Qiang)
NEW: TParameterModule (Qiang)
NEW: TPropelLogRoute (Jason)

Version 3.0b March 6, 2006
==========================
BUG: fixed many
CHG: event names must be prefixed with 'On' (Qiang)
CHG: values of properties whose name ends with 'Template' are parsed directly by template parser (Qiang)
ENH: template parser reports exact error location (Qiang)
ENH: cookie HMAC check (Qiang)
NEW: TInlineFrame (Jason)
NEW: TAPCCache (Alban)
NEW: TColorPicker, TDatePicker, TRatingList, TAdodbProvider, TCreoleProvider (Wei)
NEW: TMultiView, TView, TControlAdapter, TWebControlAdapter, TPagedList, TAttributeCollection (Qiang)

Version 3.0a January 18, 2006
=============================
Starting, main feaures ready (Qiang)
