Recent Releases

4.3.001 Jan 2024 12:18 minor feature: ENH: Issues #824, #838, #851, #891, #910, #917 - General Behaviors Update: Cloning and Serializing supports behaviors. IBaseBehavior has init( config) method. TClassBehavior tracks their owners. Behaviors attach their registered event handlers at the behavior priority. Registered Behavior event can optionally attached and detached automatically when the behavior is enabled or disabled (default). Behavior events() support Closures. IBehavior are attachable class-wide by cloning. Behaviors for behaviors has better support. Behaviors are case insensitive. Supports Anonymous (unnamed/numeric) behaviors. Wakeup updates the component behaviors with new named class behaviors. (belisoful) BUG: Issue #843 - Permissions Manager behaviors rename the method 'getManager' to 'getPermissionsManager' for specificity. (belisoful) ENH: Issue #845 - PHP Clone and Unserialize of TComponent objects supports behaviors. (belisoful) ENH: Issue #848 - TComponent events support Closure (anonymous functions) as handlers. (belisoful) ENH: Issue #861 - TWebColors lists all the Web Colors in a TEnumerable and implements TPropertyValue::ensureHexColor (belisoful) ENH: Issue #886 - Lists the 1st level traits of the class and its parents in TComponent::getClassHierarchy. Class-wide behaviors support attaching to Traits as well as interfaces, classes, and their parents. (belisoful) ENH: Issue #904 - TRational and TURational for reading, writing, and computing EXIF-Tiff (GPS) Rational and URational unit types; in Prado Util Math. (belisoful) BUG: Issue #911 - Protect the message cache file to be thread safe. (majuca) ENH: Issue #939 - TEventHandler for embedding data with a specific event handler callable. (belisoful) ENH: Issue #944 - TExitException for gracefully exiting the application anywhere. Exception chaining with the last parameter being the previous Exception. (belisoful) ENH: Issue #979 - TComponent::raiseEvent optionally execute handlers in reverse; asa() and getBehaviors() searches for b
4.2.207 Apr 2023 11:25 minor feature: Php updates, prepare release 4.2.2 php-cs-r update for php 7.4. PHP 8.2: var string interpolation deprecated. Require php 7.4, test on 8.x; composer update. Prepare release 4.2.2.
4.1.128 Mar 2020 09:25 minor feature: TActiveFileUpload: use about:blank as empty iframe src instead of a d . Removed internal usage of non-namespaced and prado3-namespaced classes. . TExpression control. . Composer functionaltest: remove forced timeout. . PradoGenericSelenium2Test: failing of first prado-demos test. . Removed internal usage of prado3-namespaced classes in tests. . Removed some useless Prado::using() calls. . Deprecate / port method using attributes obsoleted in html5. . TMemCache: remove Threshold and MinSavings properties. . @return phpdoc for Itrerator. . TMemCached: support persistent connections on memcached, drop old and . . THyperlink: add ImageStyle property to replace the deprecated ImageAl . . Undeprecated CaptionAlign in TTable and derived classes. . Updates on TInlineFrame::ShowBorder deprecation. . Php 7.4 support: Remove workaround for deprecated get_magic_quotes_gpc(). . Php 7.4 support: TStyleDiff returning null instead of empty object. . Php 7.4 support: TSimpleDateFormatter. . demo tar file used by TAssetManagerTest::testPublishTarFile() test. . Add php 7.4 to tests. . Update TestCase.php. . Php 7.4 support: remove deprecated usage of curly braces. . TSimpleDateFormatter: reworked ambigous code, added tests. . THyperLink: ImageAlign broken in a2b724f. . TActiveRecordConfig: typo in default manager class. . Composer update. . Add support for PostgreSQL 12 #708. . Bump version to 4.1.1; composer update.
4.1.019 Nov 2019 14:45 minor feature: TGlobalizationAutoDetect: for php 7.2's warning on count(null) . Require at least php 5.6, composer up. . Pradobase: use... operator. . Remove all the outdated copyright headers from source files. . Keep and update copyright only in the main LICENSE fle. . Travis: disable coverage (broken on php = 7.2), test on php 7.3. . error in TMappedStatement. . Phpunit: disable code coverage (broken on php = 7.2). . Bump version to 4.1.0, require php 7.1. . Update to phphunit 7. . FunctionalTests. . a few broken/missing namespaces in docblock. . Remove apigen; switch to phpDocumentor2. . Minor updates to release files. . ignore.php_cs.cache. . TMemcache drop support for memcache, use only memcached. . Php-cs-r: added some php7 rules, run on tests too. . Enable logging tests to clover format for scrutinizer parsing. . Update README.md. . TAPCCache: update for APCu extension, tests. . PradoBase: don't check for class existence anymore. . SQL error when trying to disable PDO::ATTR_EMULATE_PREPARES optio . . Update HISTORY.md. . Added ClientSide.RetryLimit to retry timeout out ajax requests. . . Made all properties saved in __sleep() protected. . Update TPriorityMap due to changes in properties visibility made in 0 . . Revert "Remove apigen; switch to phpDocumentor2". . Composer update, minor typos. . Update date for release.
4.0.213 Apr 2019 03:17 minor feature: Pass fx and dy calls within __call of TActiveRecord to parent, so tha . datepicker, colorpicker popup position on jquery 3.3. . validators on some subclasses;. TValidationSummary when no validator has an ErrorMessage set and . . Prado.WebUI.Control: control deinitialization on replacement. . THtmlArea4 in TActiveRepeater. . Tests: for mysql strict mode. . Tests: More ing for mysql strict mode. . tests: moar mysql strict mode ing. . misc documentation and style. composer update. . Error report improvements. . Add support for igbinary php extension. . TFireLogRoute: render logs on callbacks. . TJuiSortable render on callback. . Remove internal I18n data; use php's intl instead;. Add TUtf8Converter;. tests. . CultureInfo: for php 7.2 countable. . More php7.2. THttpResponse: don't ob_clean() when the buffer is empty. . Make TableColumnClass in TMysqlMetaData variable, analogous to TableI . . DatePicker: use "abbreviated" instead of "short" format for daynames. . Mitigate CVE-2011-4718 by regenerating the session id when TAuthManag . . Prepare 4.0.2 release.
4.0.131 Mar 2018 03:16 minor feature: One class per file: framework/Caching/ . One class per file: framework/Collections/. . One class per file: framework/Exceptions/. . One class per file: framework/I18N/. . One class per file: framework/Security. . One class per file: framework/Util. . One class per file: framework/Xml. . One class per file: framework/Data. . One class per file: framework/Data (continue). . Removed ? from framework/Wsat. . One class per file: framework/Web/Javascripts. . One class per file: framework/Web/Services. . one class per file: framework/Web/*.php. . one class per file: framework/Web/UI/ActiveControls. . One class per file: framework/Web/UI/JuiControls. . One class per file: framework/Web/UI/JuiControls (continue). . one class per file: framework/Web/UI/*.php. . One class per file: framework/Web/UI/*.php (continue). . one class per file: framework/Web/UI/WebControls. . Once class per file: framework/*.php; removed pradolite. . Add namespaces: Caching, Collections, Data. . previously broken file. . Add namespaces: Exceptions, I18N, Security. . Add namespaces: framework/*.php, Util, Wsat, Xml. . Add namespaces: Web/Javascripts, Web/Services, Web/UI/WebControls. . Add namespace: ActiveControls, JuiControls. . Removed @version doc comments. . Apply namespaces to class inheritances (pt1). . More namespace changes. . composer.json. . prado.php. . Renamed 3rdparty directory to vendor. . Added missing use statements in framework. . added missing Prado::using. . validator by using short class name. . some class names. . Prado::using and Prado::createComponent. . use Prado::using instead of class_alias to avoid double definition of . . Removed redundand Prado::using statements. . unit tests. . First support for pages with namespaced page class files.
3.3.326 Jan 2018 09:25 minor feature: Two to run under IIS #610 #625. an important when running in fpm mode #648.
4.0.022 Nov 2017 06:45 minor feature: Added basic support for html5 new input types . One class per file: framework/Caching/. . One class per file: framework/Collections/. . One class per file: framework/Exceptions/. . One class per file: framework/I18N/. . One class per file: framework/Security. . One class per file: framework/Util. . One class per file: framework/Xml. . One class per file: framework/Data. . One class per file: framework/Data (continue). . Removed ? from framework/Wsat. . One class per file: framework/Web/Javascripts. . One class per file: framework/Web/Services. . one class per file: framework/Web/*.php. . one class per file: framework/Web/UI/ActiveControls. . One class per file: framework/Web/UI/JuiControls. . One class per file: framework/Web/UI/JuiControls (continue). . one class per file: framework/Web/UI/*.php. . One class per file: framework/Web/UI/*.php (continue). . one class per file: framework/Web/UI/WebControls. . Once class per file: framework/*.php; removed pradolite. . Add namespaces: Caching, Collections, Data. . previously broken file. . Add namespaces: Exceptions, I18N, Security. . Add namespaces: framework/*.php, Util, Wsat, Xml. . Add namespaces: Web/Javascripts, Web/Services, Web/UI/WebControls. . Add namespace: ActiveControls, JuiControls. . Removed @version doc comments. . Apply namespaces to class inheritances (pt1). . More namespace changes. . composer.json. . prado.php. . Renamed 3rdparty directory to vendor. . Added missing use statements in framework. . added missing Prado::using. . validator by using short class name. . some class names. . Prado::using and Prado::createComponent. . use Prado::using instead of class_alias to avoid double definition of . . Removed redundand Prado::using statements. . unit tests. . First support for pages with namespaced page class files. . TProperyValue::ensureEnum and some unit tests class names. . class usage cases. . : path to vendor/autoload.php. . for not-namespaced interface
3.3.224 Aug 2016 06:05 minor feature: Site demo: add urls for external resources. Constructor parent call to allow TStyle behaviors. Support for hyphenated attributes via template syntax. Partially revert cc53959 to. Serialize all inputs to catch nuts outside . Implement TControl::__isset() to check for sub controls. . Allowing translation message cache to be initialized (and used). typo. Add HISTORY entry for #599 and small indentation. . Ensure correct loading of TJuiControls callback parameters. TJuiDialog: add "collecting user input" example. . Small doc addition; refs #607. . Demos: clean assets directories on "phing clean". Prepare release 3.3.2.
3.3.121 Apr 2016 02:05 minor feature: doc. Be more aggressive stopping events. callback for controls with PostState=false. TJuiAutoComplete: parsing of suggestions. Minor indent. Rework the callback error handler to use the browser console for outp?. Make logging configurable. callback loading for dynamically created JuiControls. link to class documentation in TTemplateException. TJuiAutoComplete: better handling of the TextCssClass Option on compl?. Better for 4e666b6. ClientSide.RequestTimeOut on active controls. Clear dead code related to HasPriority. error reporting for not-existing property set on TJuiControl. TJuiDialog: avoid "cannot call methods on dialog prior to initializat?. Applied some misc optimizations to class serialization. Intercept fatal errors using register_shutdown_function. indent. Phing lint: don't run lint on 3rd-party js files. Travis: run on trusty. Remove depending.in badge. Revert part of #553;. Activecontrols: avoid updating client side if the value didn't change. Add some deprecation notices. TActiveCheckBoxList cannot be updated during callback, if it was init?. updated history. belated happy new year. Avoid double error report. . Added TReCaptcha2 and wrote doc;. Removed simpletest and moved all tests in the unit tree. TRecaptcha2: small. Js: restored 100ms delay on Prado.Element.focus. Ported / most old tests. Js: Prado.Element.focus: wait for all callbacks to finish before focu?. suggestion display for dynamically-created, initially-hidden TJui?. partially revert cc53959;. "critical" found by scrutinizer. Dropped unused benchmark script. Removed deprecated code. Updated pradolite.php. rename __getZappableSleepProps to _getZappableSleepProps. Added TClientStyleSheet::PradoStyles -. Remove fatal error on autoload fail. Possibly. Possible for #585. Removing regex modifier deleted from PHP7. New-style constructors replacement for leftover PHP4-style constructors. Removing MySQL I18N MessageSource, as mysql_ functions are gone from?. Doc update for #587. Don't
3.3.015 Feb 2016 10:45 minor feature: Ported colorpicker. Ported THtmlArea. Ported THtmlArea4. Ported TKeyboard. Ported TSlider. Re-enabled prototype, moved scriptaculous inside it. Re-added Prado.Callback helper function. dynamic creation of js events. Speed up functional tests. DataTypeValidator for dates. Ported some tests. updated todo. Merge branch 'jquery' of https://github.com/pradosoft/prado into jquery. Adjusting to PRADO code style. readded the ability to get a simple result from an ajax callback. Deleted duplicated files. nome notes on porting existing prado javascript from prototype to jquery. cleaned up forgotten code in datepicker js. Adding Many To Many relationships support!. WIP port of TAutoComplete to jQuery-ui. Removing unnecessary dependencies!. Added an autocomplete based on jQuery-ui. Avoid rendering blocks in callbacks. Small for autocomplete. typo. jQuery-ui based draggable and droppable. jQuery-ui: Resizable, Selectable, Sortable. TListBox TImageButton AutoPostback. Wsat documentation in QuickStart tutorial at 35 !. QS Doc completed!. Support for all PRADO DB drivers!. wsat 1.0 release. release v1.0. all ready. Restored TAutoComplete. Ported TInPlaceTextBox. Ensure script works in jQuery.noConflict() mode. Re-enable prototype-based scripts, and enable old drag drop controls. Ported TAccordion. updated read me. some function tests; start working on porting them to Selenium2?. Happy 2014!. Removed all @version Id comments: they were managed by svn and are u?. Ignore netbeans's junk. Implemented ajax queue (based on https://github.com/gnarf37/jquery-aj?. Adding toArray() and toJSON() to TActiveRecord. updated 3rdParty read me. AutoPostback of TImageButton, TCheckBoxList, TRadioButtonList. Ported TRatingList. TRatingList test (it's not even enabled, anyway). Added quickstart demo for TRatingList. Added quickstart demo for TActiveRatingList. Some doc update. TActiveCheckBoxList, TActiveRadioButtonList. Optimization: avoid duplicate creation of T*CheckBoxList, T*RadioButt?. A
3.2.426 Aug 2014 16:21 minor bugfix: The PRADO Team is proud to announce the formal release of PRADO 3.2.4. This release backports a number of significative bugfixes and changes from the master branch where the new, jQuery-based Prado is been developed. This release officially introduces Wsat, an useful tool coded by DarthDaniel that can help out generating Active Record classes. This release should be an easy plug-in update from previous 3.2.x Prado versions, without any backwards-compatibility issue; anyway, if you find any problem feel free to report it, and we'll take care of sorting it out. Finally, some words on the current development. We have some new members helping out the development: welcome in Daniel and David! Many thanks goes to them and also to all the others that have reported issues and fixes on the project's github pages. Enjoy!
3.2.306 Aug 2014 16:40 minor bugfix: The PRADO Team is proud to announce the formal release of PRADO 3.2.3. Even being a patch release, it packs some important changes. First, it's the first release since the move to github: the revision numbering scheme is different, using git's hashes instead of subversion's number; the download location has changed aswell. Second, the long-awaited patch by javalizard adding even priorities, class and object behaviors, dynamic events and global events has been merged. To start experimenting it, have a look at TComponent's documentation. Third, all the most recent bugfixes and improvements have been included, and a new THtmlArea4 component, based on TinyMCE4, has been added. As usual we encourage you to report any problem with this release, we'll take care of them. A last word on the work that's currently going on in the "jquery" branch on github. As the name suggests, a new PRADO version based on the jQuery js framework in the works, and it currently looks quite good even if it's not completed yet. This will be the base for the next 3.4 version that, due to the javascript framework switch, will inevitably bring some backward-incompatible change. You don't have to worry too much anyway, since any important fix will be backported to the 3.2 version too. Enjoy! The PRADO Team
06 Aug 2014 16:37 minor bugfix: