| 1 | Version 3.0.5 October 23, 2006 |
|---|
| 2 | =============================== |
|---|
| 3 | BUG: Ticket#409 - Multiple page services will mess up page caching (Qiang) |
|---|
| 4 | BUG: Ticket#417 - SelectedIndex in template incorrect caused by bug in TList (Qiang) |
|---|
| 5 | CHG: Ticket#358 - TFileUpload::saveAs() now returns false instead of exception when error (Qiang) |
|---|
| 6 | ENH: Ticket#361 - Introduced include template tag that supports including external templates (Qiang) |
|---|
| 7 | ENH: Ticket#366 - white spaces are now allowed around attribute names in template (Qiang) |
|---|
| 8 | ENH: Ticket#378 - PRADO applications can now run in command line (Qiang) |
|---|
| 9 | ENH: Ticket#379 - TAuthorizationRule performance enhancement (Qiang) |
|---|
| 10 | ENH: Ticket#382 - Untranslated messages can be marked now (Wei) |
|---|
| 11 | ENH: Ticket#394 - Enhancing TDropDownListColumn to allow specifying both text and value (Qiang) |
|---|
| 12 | ENH: Easier to customize the TDatePicker using CssClass (Wei) |
|---|
| 13 | ENH: Added an interactive PHP shell, usage: "prado-cli.php shell" (Wei) |
|---|
| 14 | NEW: TLiteralColumn (Qiang) |
|---|
| 15 | NEW: TUrlMapping (Wei) |
|---|
| 16 | |
|---|
| 17 | Version 3.0.4 September 4, 2006 |
|---|
| 18 | =============================== |
|---|
| 19 | BUG: Fixed a bug that would prevent from using <prop:> tag in skins (Qiang) |
|---|
| 20 | BUG: Fixed a typo in TControl::setCustomData() (Qiang) |
|---|
| 21 | ENH: Ticket#336 - Speed up TSqliteCache with LIMIT SQL clause (Qiang) |
|---|
| 22 | ENH: Ticket#348 - Added THead.ShortcutIcon (Qiang) |
|---|
| 23 | ENH: Ticket#349 - Derived control classes now show trace logs when databinding (Qiang) |
|---|
| 24 | ENH: Ticket#357 - Added TListControl.DataGroupField to allow setting optgroup via databinding (Qiang) |
|---|
| 25 | ENH: TListControl.SelectedValues and SelectedIndices can now be set before databinding (Qiang) |
|---|
| 26 | ENH: Upgrade Scriptaculous javascript library to 1.6.2 (Wei) |
|---|
| 27 | ENH: Uses uncompressed javascript in debug mode. (Wei) |
|---|
| 28 | ENH: Cells in TDataGrid rows can now be accessed via the corresponding column IDs (Qiang) |
|---|
| 29 | ENH: Input controls in some datagrid columns can now be accessed in a named fashion (Qiang) |
|---|
| 30 | ENH: Prado::fatalError() now displays function parameter information (Qiang) |
|---|
| 31 | ENH: TEditCommandColumn now supports image buttons (Qiang) |
|---|
| 32 | CHG: Ticket#356 - TLabel will not render if its associated control is invisible (Qiang) |
|---|
| 33 | CHG: Validator the error message visibility before raising events OnError and OnSuccess (Wei) |
|---|
| 34 | CHG: Unify all client-side javascript event handler syntax. (Wei) |
|---|
| 35 | CHG: Added more conditions in the requirement checker (Qiang) |
|---|
| 36 | CHG: TControl::findControlsByType() now only returns objects of the specified type (Qiang) |
|---|
| 37 | CHG: Moved createdOnTemplate() and addParsedObject() from TControl to TComponent (Qiang) |
|---|
| 38 | NEW: TDateTimeStamp class for supporting time stamps outside 1970-2038 using float (Wei) |
|---|
| 39 | NEW: TDropDownListColumn (Qiang) |
|---|
| 40 | NEW: Added TEnumerable and all needed enumerable types (Qiang) |
|---|
| 41 | |
|---|
| 42 | |
|---|
| 43 | Version 3.0.3 August 6, 2006 |
|---|
| 44 | ============================ |
|---|
| 45 | BUG: Ticket#264 - Typos in some exception throw statements (Knut) |
|---|
| 46 | BUG: Ticket#268 - THttpResponse.redirect() may fail for some browsers (Qiang) |
|---|
| 47 | BUG: Ticket#271 - Page method setFocus doesn't work (Wei) |
|---|
| 48 | BUG: Ticket#285 - NumberFormat Rounding Bug (Wei) |
|---|
| 49 | BUG: Ticket#297 - THttpRequest::constructUrl() encoding bug about array GET parameters (Qiang) |
|---|
| 50 | BUG: Ticket#320 - Typo in calling TDataList::setSelectedItemIndex and a bug in inserting wizard steps (Qiang) |
|---|
| 51 | BUG: TDataGrid may complain getting ItemType on a non-object if the grid is not data-bound (Qiang) |
|---|
| 52 | BUG: TCheckBox.Value should be converted to string (Qiang) |
|---|
| 53 | BUG: Ticket#302 - TDatePicker's bug with AutoPostBack set to "true" (Wei) |
|---|
| 54 | BUG: Ticket#306 - Prado::localize function may fail when localized string passed as parameter (Wei) |
|---|
| 55 | BUG: Ticket#311 - Several bugs in TDatePicker (Wei) |
|---|
| 56 | BUG: Ticket#312 - TDatePicker's ReadOnly property bug (Wei) |
|---|
| 57 | CHG: Ticket#206 - TBaseValidator.OnValidate is raised only when the validator is visible (Qiang) |
|---|
| 58 | CHG: Raised PHP version requirement to 5.1 and above (Qiang) |
|---|
| 59 | ENH: Ticket#178 - Added TRadioButton.UniqueGroupName property (Qiang) |
|---|
| 60 | ENH: Ticket#220 - TClientScripts method to import custom javascript files (Wei) |
|---|
| 61 | ENH: Ticket#225 - TRadioButton::getRadioButtonsInGroup() added (Wei) |
|---|
| 62 | ENH: Ticket#223 - Use TRequiredFieldValidator for TRadioButtons with GroupName property (Wei) |
|---|
| 63 | ENH: StringLength, multi-byte, check in TRangeValidator (Wei) |
|---|
| 64 | ENH: Ticket#263 - TListBox and TDropDownList support optgroup now (Qiang) |
|---|
| 65 | ENH: Ticket#277 - Added TControl.CustomData property (Qiang) |
|---|
| 66 | ENH: Ticket#278 - client-side validator enable/disable (conditional) (Wei) |
|---|
| 67 | ENH: Ticket#287 - TControl::broadcastEvent() may raise events now (Qiang) |
|---|
| 68 | ENH: Ticket#292 - Added THttpRequest::parseUrl() so that it is easier to be extended (Qiang) |
|---|
| 69 | ENH: Ticket#309 - Added THttpRequest.UrlParamSeparator property (Qiang) |
|---|
| 70 | ENH: Ticket#313 - Added TTableStyle.BorderCollapse property (Qiang) |
|---|
| 71 | ENH: Ticket#316 - Added media type support to CSS files in a theme (Qiang) |
|---|
| 72 | ENH: Validating TDatePicker does not need to explictly specific the DateFormat in validators. (Wei) |
|---|
| 73 | ENH: TRequireFieldValidator can be used to validate a valid date (Wei). |
|---|
| 74 | NEW: Added TStyleSheet (Wei) |
|---|
| 75 | |
|---|
| 76 | |
|---|
| 77 | Version 3.0.2 July 2, 2006 |
|---|
| 78 | ========================== |
|---|
| 79 | BUG: Ticket#182 - List and validator controls cause problem in child classes (Qiang) |
|---|
| 80 | BUG: Ticket#191 - Duplicated postbacks occur when using TButton with validators (Qiang) |
|---|
| 81 | BUG: Ticket#207 - Validators ClientSide.OnError triggered twice (Wei) |
|---|
| 82 | BUG: Ticket#213 - PRADO Requirements Checker charset error (Qiang) |
|---|
| 83 | BUG: Ticket#227 - Enabled property doesn't works with THtmlArea (Wei) |
|---|
| 84 | BUG: Ticket#234 - Postback target could be out of date (Qiang) |
|---|
| 85 | BUG: Ticket#239 - Ondeactivate handler for the first View of MultiView is always fired (Qiang) |
|---|
| 86 | BUG: Ticket#244 - redirect() needs absolute URL (Qiang) |
|---|
| 87 | BUG: Ticket#245 - getIsSecureConnection() is not working correctly (Qiang) |
|---|
| 88 | BUG: Ticket#246 - TDatePicker wrong popup position in scrolled div (Wei) |
|---|
| 89 | BUG: Ticket#260 - Wrong value of a configuration option in setUseTransparentSessionID (Qiang) |
|---|
| 90 | CHG: ensureChildControls() is now invoked in TControl::initRecursive (Qiang) |
|---|
| 91 | CHG: Postback enabled control will always disable default client-side browser action. (Qiang) |
|---|
| 92 | CHG: CSS and JS files in a theme are now included in page in alphabetic order (Qiang) |
|---|
| 93 | ENH: Ticket#206 - Added OnValidate, OnError, OnSuccess events to validators (Qiang) |
|---|
| 94 | ENH: Ticket#230 - Added TDataList.EmptyTemplate property (Qiang) |
|---|
| 95 | ENH: Ticket#231 - Added TButton.ButtonType property to allow reset button (Qiang) |
|---|
| 96 | ENH: Ticket#232 - Allow <%# %> and <%= %> embedded within property values (Qiang) |
|---|
| 97 | ENH: Ticket#256 - Datagrid columns can now be accessed via IDs (Qiang) |
|---|
| 98 | ENH: Ticket#257 - OnSelectedIndexChanged event of TDataList and TDataGrid now passes the original command parameter (Qiang) |
|---|
| 99 | ENH: Ticket#262 - Added TCheckBox.Value property (Qiang) |
|---|
| 100 | ENH: TRepeater, TDataList and TDataGrid will store data indices in DataKeys if DataKeyField is not set. (Qiang) |
|---|
| 101 | ENH: Added TPageService.BasePageClass property (Qiang) |
|---|
| 102 | ENH: Added TDataGrid.EmptyTemplate property (Qiang) |
|---|
| 103 | ENH: Added paging feature to all TDataBoundControl-derived controls (Qiang) |
|---|
| 104 | ENH: ClientSide.ObserveChanges="false" to only revalidate client side validator when control changes (Wei) |
|---|
| 105 | NEW: Added TPager (Qiang) |
|---|
| 106 | NEW: Added Dreamweaver taglib extension (Stanislav, Qiang) |
|---|
| 107 | NEW: Prado Command line script to create a new project, see framework/prado-cli.php (Wei) |
|---|
| 108 | |
|---|
| 109 | Version 3.0.1 June 4, 2006 |
|---|
| 110 | ========================== |
|---|
| 111 | BUG: Ticket#28 - OnClick does not work with Safari/KHTML (Wei) |
|---|
| 112 | BUG: Ticket#37 - Changes of config files do not trigger cache update (Qiang) |
|---|
| 113 | BUG: Ticket#44 - THtmlArea (tiny_mce) not working on some systems (Qiang) |
|---|
| 114 | BUG: Ticket#162 - Missing currency sign in TNumberFormat if Value is 0 (Wei) |
|---|
| 115 | BUG: Ticket#167 - TSecurityManager issues warning when trying to encrypt/decrypt strings (Qiang) |
|---|
| 116 | BUG: Ticket#169 - Validation of subclass of THtmlArea/TDatePicker fails (Wei) |
|---|
| 117 | BUG: Ticket#179 - CGI incompatibility causing clientscripts.php failure (Qiang) |
|---|
| 118 | BUG: Ticket#181 - Unable to change Content-Type in response header if charset is not set (Qiang) |
|---|
| 119 | BUG: Ticket#200 - onClick javascript event triggered twice on CheckBox label (Qiang) |
|---|
| 120 | BUG: newly created controls during postbacks might get their initial states reset during loadStateRecursive. (Qiang) |
|---|
| 121 | ENH: Ticket#150 - TDataGrid and TDataList now render table section tags (Qiang) |
|---|
| 122 | ENH: Ticket#152 - constituent parts of TWizard are exposed (Qiang) |
|---|
| 123 | ENH: Ticket#184 - added TUserManager.Users and Roles properties (Qiang) |
|---|
| 124 | ENH: Ticket#197 - sanity check for datagrid header and footer (Qiang) |
|---|
| 125 | ENH: added sanity check to calling event handlers (Qiang) |
|---|
| 126 | ENH: added search for quickstart tutorials (Wei) |
|---|
| 127 | ENH: added support to property tags for template owner control (Qiang) |
|---|
| 128 | ENH: added Bulgarian requirement checker messages (StanProg) |
|---|
| 129 | ENH: added TTheme.BaseUrl and TTheme.BasePath property (Qiang) |
|---|
| 130 | ENH: added TListControl.SelectedValues property (Qiang) |
|---|
| 131 | ENH: added TThemeManager.AvailableThemes property (Qiang) |
|---|
| 132 | ENH: refactored TUserManager and TAuthManager so that they are easier to be extended (Qiang) |
|---|
| 133 | ENH: template syntax now supports setting event handler via subproperties (Qiang) |
|---|
| 134 | CHG: Ticket#151 - URL format is modified to handle empty GET values (Qiang) |
|---|
| 135 | CHG: Ticket#153 - TAssetManager now ignores .svn directories (Qiang) |
|---|
| 136 | CHG: Changed TControl::onBubbleEvent() to TControl::bubbleEvent() (Qiang) |
|---|
| 137 | NEW: TTableHeaderRow, TTableFooterRow and table section support (Qiang) |
|---|
| 138 | NEW: TCompositeControl (Qiang) |
|---|
| 139 | NEW: TTextProcessor (Qiang) |
|---|
| 140 | NEW: TMarkdown (Wei) |
|---|
| 141 | NEW: Blog demo (Qiang) |
|---|
| 142 | |
|---|
| 143 | Version 3.0.0 May 1, 2006 |
|---|
| 144 | ========================= |
|---|
| 145 | BUG: Ticket#68 - 2 TButtons with THtmlArea causes second button to fail to function (Wei) |
|---|
| 146 | BUG: Ticket#70 - Javascript for TDataTypeValidator added (Wei) |
|---|
| 147 | BUG: Ticket#131 - TImageMap and TLinkButton continue to postback even client validator fails (Wei) |
|---|
| 148 | BUG: Ticket#135 - TBrowserLogRoute reports wrong timings (Qiang) |
|---|
| 149 | BUG: Ticket#137 - The JavasciptLogger does not work (Qiang) |
|---|
| 150 | BUG: Ticket#138 - missing file in TDataGrid (Qiang) |
|---|
| 151 | BUG: Ticket#139 - TThemeManager::setBasePath() should understand an alias path (Qiang) |
|---|
| 152 | BUG: Non-control components can now use expressions in their properties (Qiang) |
|---|
| 153 | BUG: TControl.Visible did not make use of overriden getVisible() (Qiang) |
|---|
| 154 | BUG: TWizard did not stop navigation upon a validation failure (Qiang) |
|---|
| 155 | BUG: NumberFormat will now zero-fill numbers base on the pattern. (Wei) |
|---|
| 156 | ENH: TButton, TImageButton and TLinkButton now implement IButtonControl interface (Qiang) |
|---|
| 157 | ENH: TResponse::writeFile takes three additional parameters to allow sending memory data (Qiang) |
|---|
| 158 | ENH: TButtonColumn can now be a column of image buttons (Qiang) |
|---|
| 159 | ENH: TLiteral will display body content if Text is empty (Qiang) |
|---|
| 160 | ENH: Format string in classes extending TDataGridColumn can now evaluate an expression (Qiang) |
|---|
| 161 | ENH: Format string in classes extending TListControl can now evaluate an expression (Qiang) |
|---|
| 162 | ENH: Added THttpResponse::reload() (Qiang) |
|---|
| 163 | ENH: Custom visual effects can be added to client-side validators via ClientSide property in validators. (Wei) |
|---|
| 164 | ENH: TJavascript::encode() allows raw javascript code when string begins with "javascript:" (Wei) |
|---|
| 165 | ENH: Update TinyMCE to 2.0.5.1 |
|---|
| 166 | CHG: Rewrote client-side javascript validators, check your client-side validation behaviour (Wei) |
|---|
| 167 | CHG: Updated the javascript Prototype library, a few utilties functions REMOVED, may break your existing javascript code. (Wei) |
|---|
| 168 | CHG: Build javascript without compression, only comments are removed. (Wei) |
|---|
| 169 | 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) |
|---|
| 170 | CHG: TSimpleDateFormatter::parse() now return an integer or null on parse error (Wei) |
|---|
| 171 | CHG: TControl::createControls() is changed to public. (Qiang) |
|---|
| 172 | CHG: Template comment tag is changed from <! ... !> to <!-- ... --!> (Qiang) |
|---|
| 173 | NEW: TListControlValidator (Wei) |
|---|
| 174 | NEW: TClientScript (Wei) |
|---|
| 175 | |
|---|
| 176 | |
|---|
| 177 | Version 3.0RC2 April 16, 2006 |
|---|
| 178 | ============================= |
|---|
| 179 | BUG: Ticket#54 - recursive reverse() definition (Wei) |
|---|
| 180 | BUG: Ticket#93 - ValidationGroup not working in TImageMap for js validator (Wei) |
|---|
| 181 | BUG: Ticket#97 - Invalid return type value for TSimpleDateFormatter::parse (Wei) |
|---|
| 182 | BUG: Ticket#118 - Variables that may not have been initialized (Qiang) |
|---|
| 183 | BUG: Ticket#121 - OnClick don't fire with TImageButton and TRequiredFieldValidator (Wei) |
|---|
| 184 | BUG: Ticket#129 - TRadioButtonList in TWizard step does not postback correctly (Qiang) |
|---|
| 185 | CHG: Moved localize() into PradoBase (Qiang) |
|---|
| 186 | CHG: List controls now use array keys as list item values even if the array is integer-indexed (Qiang) |
|---|
| 187 | CHG: THttpUtility::htmlEncode and htmlDecode now do not deal with & (Qiang) |
|---|
| 188 | CHG: Expressions appeared in a template are evaluated in PreRender stage (Qiang) |
|---|
| 189 | CHG: The context of expressions appeared in a template is changed to the template control (Qiang) |
|---|
| 190 | ENH: Optimized the representation and evaluation of template expressions (Qiang) |
|---|
| 191 | ENH: Added Raw layout to TDataList (Qiang) |
|---|
| 192 | ENH: Added TRepeater.DataKeys and TRepeater.DataKeyField (Qiang) |
|---|
| 193 | |
|---|
| 194 | Version 3.0RC1 April 5, 2006 |
|---|
| 195 | ============================ |
|---|
| 196 | BUG: Ticket#85 - Undefined TDataGrid::setSelectedIndex (Qiang) |
|---|
| 197 | BUG: Ticket#87 - Typo in IDbConnection (Qiang) |
|---|
| 198 | BUG: Ticket#88 - Unclosed HTML tag in TDatePicker and TColorPicker (Qiang) |
|---|
| 199 | BUG: Ticket#89 - TInlineFrame::ScrollBars wrong behaviour expected (Qiang) |
|---|
| 200 | BUG: Ticket#95 - Typo in TTemplateControl::registerContentPlaceHolder (Qiang) |
|---|
| 201 | BUG: Ticket#103 - Typo in TStyle::setVerticalAlign (Qiang) |
|---|
| 202 | BUG: Ticket#107 - ListControls not respect parent disabling (Qiang) |
|---|
| 203 | BUG: SF#1432624 - Incorrect documentation about caching expiry (Qiang) |
|---|
| 204 | BUG: SF#1446846 - Typo in THead (Qiang) |
|---|
| 205 | BUG: THttpSession fails when user storage module is used (Qiang) |
|---|
| 206 | CHG: TTextHighlighter.EnableCopyCode defaults to false (Qiang) |
|---|
| 207 | CHG: Reorganized quickstart tutorial demo, added new sections (Qiang) |
|---|
| 208 | CHG: Reorganized folders under framework (Qiang) |
|---|
| 209 | CHG: Modified THtmlArea default toolbar and size. (Qiang) |
|---|
| 210 | CHG: Pagers in TDataGrid are now enclosed within panels (Qiang) |
|---|
| 211 | ENH: Ticket#92 - Support for user exception message file (Qiang) |
|---|
| 212 | ENH: Ticket#106 - Support for validation on THiddenField (Qiang) |
|---|
| 213 | ENH: Ticket#110 - Support for TVarDump with syntax highlight (Qiang) |
|---|
| 214 | ENH: TDataFieldAccessor can access public class variables (Qiang) |
|---|
| 215 | ENH: TPhpErrorException now shows the actual error lines (Qiang) |
|---|
| 216 | ENH: Refactored cache classes with support for cache dependency (Qiang) |
|---|
| 217 | NEW: TStack component (Qiang) |
|---|
| 218 | NEW: TImageMap control (Qiang) |
|---|
| 219 | NEW: TWizard control (Qiang) |
|---|
| 220 | NEW: TVarDumper and PradoBase::varDump() (Qiang) |
|---|
| 221 | NEW: TComponentReflection (Qiang) |
|---|
| 222 | NEW: TParameterModule (Qiang) |
|---|
| 223 | NEW: TPropelLogRoute (Jason) |
|---|
| 224 | |
|---|
| 225 | Version 3.0b March 6, 2006 |
|---|
| 226 | ========================== |
|---|
| 227 | BUG: fixed many |
|---|
| 228 | CHG: event names must be prefixed with 'On' (Qiang) |
|---|
| 229 | CHG: values of properties whose name ends with 'Template' are parsed directly by template parser (Qiang) |
|---|
| 230 | ENH: template parser reports exact error location (Qiang) |
|---|
| 231 | ENH: cookie HMAC check (Qiang) |
|---|
| 232 | NEW: TInlineFrame (Jason) |
|---|
| 233 | NEW: TAPCCache (Alban) |
|---|
| 234 | NEW: TColorPicker, TDatePicker, TRatingList, TAdodbProvider, TCreoleProvider (Wei) |
|---|
| 235 | NEW: TMultiView, TView, TControlAdapter, TWebControlAdapter, TPagedList, TAttributeCollection (Qiang) |
|---|
| 236 | |
|---|
| 237 | Version 3.0a January 18, 2006 |
|---|
| 238 | ============================= |
|---|
| 239 | Starting, main feaures ready (Qiang) |
|---|