This page summarizes the main new features that are introduced in each PRADO release.
- Added Adding toArray() and toJSON() to TActiveRecord
- Dropped Markdown for Parsedown, supporting GitHub Flavored Markdown's extension
- Web site administration tool (WSAT)
- Added THtmlArea4 control based on TinyMCE4
- Added support for Behaviors, Class Behaviors, fx global events, and dy one to one events
- Added the ability to set a priority (order) to event handlers
- TUrlMappingPattern support for constant parameters
- Added EnableCache property to THttpRequest to enable caching of the TUrlManager and any TMappingUrl pattern
- Lazy module loading in application configuration
- TEACache eAccellerator cache module
- TSecurityManager has been enhanced to support all the ciphers available in php
- Added a new UrlFormat for TUrlManager: HiddenPath; works like the 'Path' format, but hides the entryscript.php name
- Updated external packages
- Added methods quoteTableName, quoteColumnName, quoteColumnAlias to TDbMetaData & TDbConnection and added TDbConnection:getDbMetaData
- Added THttpSession::regenerate()
- Added method getHeaders to THttpRequest & THttpResponse
- Modified TThemeManager to allow custom subclassing of TTheme
- Application configuration can be stored in PHP code
- Added mouse coordinates and key status to drag & drop controls event
- Permit progressive rendering of a page and added TFlushOutput control to control it
- Added TReCaptcha control
- Added a new "Clickable" operating mode to TDatePicker
- ActiveControls's Visible property is reflected clientside on ajax requests
- Updated external packages to support Internet explorer 9
- Added property ClientScriptManagerClass to TPageService
- Added property TValidationSummary.ScrollToSummary to server-side control since property exists on client-side
- Added property TransactionClass (defaults to System.Data.TDbTransaction) to TDbConnection
- Added ClientSide property to TDropContainer
- Added Columns property to TInPlaceTextBox
- Added property TPage.EnableStateCompression and related modifications in TPageStateFormatter since it is unnecessary to compress clientstate if TCachePageStatePersister/TSessionPageStatePersister is used
- Add property CssClass to TBrowserLog otuput and hide inline CSS
- Added support for namespaces in TXmlDocument
- Added Registry for Prado generated clientside counterparts of serverside controls
- TValidationSummary: new display mode "HeaderOnly" that only render value of HeaderText property
- TDbCache performance: new property 'FlushInterval' to control how often expired items will be removed
- Added caching of message files to TException
- Added a new log route subclass for FirePHP: TFirePhpLogRoute - FirePHP is ideally suited for AJAX development where clean JSON and XML responses are required
- Added the ability to specify position of popup TDatePicker/TActiveDatePicker
- Add wildcard support to TUrlMapping
- Added a new active control TActivePager that allows to paginate a databound control with an ajax callback.
- Added TFirebugLogRoute to send logs to the Firebug console
- Added a new control TTabPanel that displays tabbed views.
- Added a new control TKeyboard that displays a virtual keyboard for text input.
- Added a new control TCaptcha that displays a CAPTCHA to keep spammers from signing up for certain accounts online. A related validator TCaptchaValidator is also implemented.
- Added a new control TSlider that displays a slider which can be used for numeric input.
- Added a new control TConditional that conditionally displays one of the two kinds of content.
- Added Oracle DB support to Active Record.
- Added support to TDataGrid to allow grouping consecutive cells with the same content.
- Added support to allow configuring page properties and authorization rules using relative page paths in application and page configurations. Added support to allow authorization based on remote host address.
- Added a new page state persister TCachePageStatePersister. It allows page state to be stored using a cache module (e.g. TMemCache, TDbCache, etc.)
- Added support to the auth framework to allow remembering login.
- Added support to display a prompt item in TDropDownList and TListBox (something like 'Please select:' as the first list item.)
- Added support to column mapping in Active Record.
- Added seamless AJAX support. A whole array of AJAX-enabled controls, called active controls, are introduced. The usage of these active controls is very similar to their non-AJAX counterparts, i.e., plug in and use. For more details, see the tutorial about active controls.
- Added complete database support.
- Added new controls, modules and services, including TSoapService, TOutputCache, TSessionPageStatePersister, TFeedService, TJsonService, cache dependency classes, TXmlTransform.
- Enhanced some data controls with renderers. Renderer enables reusing item templates that are commonly found in TRepeater, TDataList and TDataGrid, and makes the configuration on these controls much cleaner. For more details about renders, see the updated tutorials on TRepeater, TDataList and TDataGrid.
- Added support to allow including external application configurations. Enhanced template syntax to facilitate subproperty configuration.
- Added TDbUserManager and TDbUser to simplify authentication and authorization with user accounts stored in a database.