Releases: phalcon/cphalcon
Version 0.6.1 Stable
0.6.1
- Fixed bug in Phalcon\Mvc\Micro's not-found handler
- Fixed bug reading named-parameters with quantifiers in Phalcon\Mvc\Router
- Now named-routes are processed without use regular expressions
- Now $this->view->disable() disables the auto-rendering mode completely
- Added Phalcon\Mvc\View::enable that re-enables the auto-rendering mode
- Added Phalcon\Cache\Backend::stop() to stop the cache without store anything into the backend
- Fixed bug in Phalcon\Mvc\View that saves an empty cached content when using a cache
- Implemented Phalcon\Db::FETCH_OBJ to return objects instead of arrays
- Added functions version, version_id, date and time to Volt
- PHQL OFFSET complete implementation
- Fixed bug in Phalcon\Mvc\Collection::find and Phalcon\Mvc\Collection::findFirst
- Removing unnecessary duplications in zval PHALCON_GET_FOREACH_VALUE
- Merging PHALCON_INIT_NVAR into PHALCON_GET_FOREACH_KEY
- Added HTML/XHTML document type support in Phalcon\Tag
- Added "exists" method to every backend in Phalcon\Cache\Backend
- Now is required pass true as parameter to Phalcon\Http\Request::getClientAddress if the user want to check the client address in the $_SERVER['HTTP_X_FORWARDED_FOR'] header
- Removed unnecessary duplication of function names when calling function and methods
- Now Phalcon can call functions from the PHP userspace without use call_user_func_array/call_user_func increasing performance
- Added beforeException event triggered from Phalcon\Dispatcher before launch an exception allowing injecting code before launch a real exception modifing the behavior of the component
- Now is possible attach listeners directly to specific events in Phalcon\Event\Managers
- Added Phalcon\Http\Request::get and Phalcon\Http\Request::has to read/check values from $_REQUEST
- Added Phalcon\Cache\Backend\Mongo that uses a MongoDB collection as backend
- Added options (compiled path, compiled separator, stat) for Volt
- Concatenation on the same variable is now faster by using realloc instead of zval duplication
- Some internal macros like PHALCON_INIT_VAR now produce fewer C-code making the extension lighter
- Removed initialization of the memory stack frame when isn't needed
- Inlining of scope locating functions to make read/write on objects faster
- Array joins are now faster because a zval needle isn't needed anymore
- Implemented fast copy/ctor to return_value reducing the overall memory usage
- Added Phalcon\Tag::friendlyTitle to create friendly titles
- Added a new C-based template engine highly coupled with Phalcon called Volt
- Registered Phalcon\Mvc\Model\Transaction\Manager in Phalcon\DI\FactoryDefault as 'transactionManager'
- Added Phalcon\Escaper to add contextual escaping of different kinds of texts
- Registered Phalcon\Escaper in Phalcon\DI\FactoryDefault as 'escaper'
- Phalcon\Tag now caches resolved services such as 'url' and 'dispatcher' making the view generation faster
- Added support to the OFFSET clause in PHQL
- Optimized Phalcon\Mvc\Model\Metadata to use fewer memory when using a high number of tables
- Changed the use of strpos by phalcon_memnstr to search for strings into other strings reducing unnecessary zval allocations
- Added faster camelize/uncamelize functions
- Now a model can implement the method metaData to return the model meta-data insteaf of leave Phalcon do it automatically
- Phalcon\Mvc\Model::skipAttributes allows setting a group of attributes that must be skipped from the INSERT/UPDATE SQL generation
- Added Phalcon\Mvc\Collection to manage non-structured data models, for example: MongoDB
Version 0.5.3 Stable
- Fixed bug in Phalcon\Mvc\Model::_exists making PHQL inserts fail
- Fixed bug passing extra parameters to Phalcon\Mvc\Model magic methods
- Fixed bug in Phalcon\Loader producing that pathFound event wasn't triggered
- Added throwing exception in Phalcon\Loader when trying to write in a read only file
- Now Phalcon\Loader replaces _ by DIRECTORY_SEPARATOR in most strategies
- Fixed bug in Phalcon\Mvc\Model\Resultset::seek that doesn't allow to paginate results in Phalcon\Paginator
- Fixed bug in Phalcon\Mvc\Dispatcher that doesn't throws an exception when an infinite forward is produced
- PDO error mode was changed to PDO::ERRMODE_EXCEPTION producing exceptions instead of silent error messages
- Fixed wrong precedence in PHQL operators
- Fixed bug that makes that the correct value for SERIAL columns wasn't filled for PostgreSQL
- Added an extra parameter "data" to an event triggering in Phalcon\Events allowing getting more information about certain event
- Added an extra parameter to Phalcon\Db::query and Phalcon\Db::execute to bind parameters by their data type
- Added recognition of the related sequence for PostgreSQL when inserting data into tables with SERIAL columns Phalcon\Mvc\Model
- Phalcon\Db\Adapter*::describeColumns try to find the best bind param type for every column
- Added bindType to Phalcon\Db\Column to know what its best bind param to cast according to its data type
- Added getDefaultValue() to Phalcon\Db\Adapter* in order the best value to insert in an auto-increment or serial column
- Added bindTypes param to Phalcon\Mvc\Model::find and Phalcon\Mvc\Model::findFirst
- Due to the new agressive type-casting when binding parameters, Phalcon\Mvc\Model isn't capable anymore of generate reliable automatic keys for the cache
- Fixed bug that makes actions and events implemented in a parent class innaccessibles for Phalcon
- Now Phalcon\Text::camelize checks for underscores and dashes
- Added Phalcon\Mvc\Model::getRelated to return related relation models on namespaced models
- Added Phalcon\CLI components to create CLI applications
- Added SQLite support
- Removed support for Twig and Mustache
- Added PhalconQL (PHQL), a high level query language directly engaged with the Phalcon\Mvc\Model component
- Multiples refactorings removing unused code
- Added support to match routes on a determined individual or a set of HTTP methods
- Added support for named parameters without requiring a regular expression in Phalcon\Mvc\Router
- Added Phalcon\Mvc\Router\Route to encapsulate the information of a route
- Added Phalcon\Mvc\Micro to create applications in a micro-framework style
- Added Phalcon\Di\FactoryDefault that has the Phalcon Components registered as Default
- Added Phalcon\DI as dependency injector container
- Added Phalcon\Events as events management component
- Removed Phalcon\Router\Rewrite
- Phalcon\Router\Regex moved to Phalcon\Mvc\Router
- Phalcon\Dispatcher moved to Phalcon\Mvc\Dispatcher
- Phalcon\Mvc\Dispatcher::forward now only accepts an array parameter
- Dispatcher events has been removed (beforeDispatch and afterDispatch) in favor of the new EventsManager component
- Controller look up based on controllersDir has been removed in favor of autoloaders
- Phalcon\Controller moved to Phalcon\Mvc\Controller
- Phalcon\Model moved to Phalcon\Mvc\Model
- Phalcon\Transaction moved to Phalcon\Mvc\Model\Transaction
- Removed Phalcon\Db\Pool
- ModelsManager look up based on modelsDir has been removed in favor of autoloaders
- Phalcon\Db\Pdo::describeColumns return an array of Phalcon\Db\Columns
- Removed Phalcon\Controller\Front
- Most "Factories" and "Singletons" implementations were removed
- Phalcon\Mvc\Model\Metadata adapters must be instantiated directly
- Removed memory leaks when reading class constants
- Replaced the database native adapters by PDO
- Classes are now registered as PHP namespaces.
- Improved stability running Phalcon with PHP versions lower or equal than 5.3.3
- Thousand of unnecessary intermediate variables were removed improving stability
- Phalcon now performs a reduced number of copy-on-write checks
- Added class modifiers like Abstract or Final to Phalcon classes
- Fixed memory leaks generated when throwing internal exceptions
- Removed deprecated experimental function and method calls
Version 0.4.5 Stable
Fixed problem with Phalcon_Session functions not registered
Fixed problem with partials, that removed any output previously generated
Added Phalcon_Session::destroy
Fixed memory leaks generated when throwing internal exceptions
Added support for PostgreSQL database
Phalcon_View is now fully integrated with Phalcon_Cache
Dropped unnecessary registration of arguments for exception classes
Dropped unnecessary zval copy-on-write checks
Fixed double registration of Phalcon_Config in MODULE_MINIT
Fixed method definition of destruct adding ZEND_ACC_DTOR
Fixed bug in Phalcon_Model_Query making that the component does not apply quoting properly
Fixed segmentation fault in Phalcon_Loader
Fixed memory leaks generated when retreiving some static properties
Replaced PHP's str_replace for a slightly faster once
Improved stability working with static properties in multi-threaded web servers
Fixed bug in integration between Phalcon_Db and Phalcon_Logger
Complex concatenations are now made without a lot of intermediate zvals improving the overall memory usage
Improved throwing of simple exceptions with a unique string parameter
Added Phalcon_Dispatcher::setParam to change a routing parameter
Added Phalcon_Request::redirect to make HTTP redirections from controllers
Phalcon_Model* is now completely decoupled from Phalcon_Controller_Front
Phalcon_Model_Base::createSQLSelectMulti and Phalcon_Model_Base::createSQLSelectOne has been joined into a single method
Added Phalcon_Db::bindParams in order to avoid SQL injections
Added "bind" parameter to Phalcon_Model_Base::find, Phalcon_Model_Base::findFirst, Phalcon_Model_Base::count, Phalcon_Model_Base::sum, etc. to avoid SQL injections
The database adapter Phalcon_Db_Adapter_Mysql was moved from mysql extension to mysqli
Added Phalcon_Db_Result_Mysql to encapsulate the resultset functionality. Those methods were before in Phalcon_Db.
Fixed bug rebuilding symbol table in Phalcon_View_Engine_Php::render
Added Phalcon_View::pick to choose a view to show different than last-controller/last-action
Now is possible to define routes with a shortened syntax in Regex
Phalcon is now using Compare-and-Swap to reduce the number of writes to cache adapters like files or APC, also avoiding the unnecesary register of shutdown functions
Fixed possible segmentation fault when releasing memory of zval strings that has constant values
Fixed bug avoiding that auto-globals will jit-initialized inside Phalcon on some old versions of PHP
Moved zval separation to phalcon_array_update*
Moved zval separation to phalcon_array_append*
Moved zval constructor to phalcon_array_update*
Implemented functions to avoid use arrays of zvals parameters for static and method calls
Removed error reporting silence from the extension
Removed thousands of unnecessary referencing/deferencing vars when calling functions/methods
Moved multi-dimensional array updates to fewer complex functions
Moved access to static properties to a function that controls possible invalid access to non existent properties
Fixed memory leaks in Phalcon_Cache and Phalcon_Transaction_Manager
Added virtual foreign keys to Phalcon_Model (ORM)
Implemented the possibility to serialize Phalcon_Model_Resultset objects
Implemented the possibility to access Phalcon_Model_Resultset as an array of objects
Added Phalcon_Cache_Backend_Apc, Phalcon_Cache_Backend_Memcache, Phalcon_Cache_Frontend_None and Phalcon_Cache_Frontend_Data
Added Phalcon_Request::hasPost and Phalcon_Request::hasQuery
Added parameter "persistent" to Phalcon_Db allowing creating persistent connections
Added alphanum to Phalcon_Filter to filter strings allowing filtering only alpha-numeric characters
Refactored Phalcon_Tag::select and Phalcon_Tag::selectStatic, now uses the same code in Phalcon_Tag_Select
Added Phalcon_Tag::checkField helper to create input[type="checkbox"] tags
Added Phalcon_View::getParams to recover extra params sent to the request
Sometimes when Phalcon throws an internal exception or E_ERROR the memory stack is not properly cleaned producing an unstable state, this situation was fixed
Phalcon_View was refactored to allow other templating engines like Mustache or Twig
Added Phalcon_Translate for multi-lingual translation messages based on adapters
Added calculation functions to Phalcon_Model: count, sum, average, minimum and maximum
Dispatcher exceptions now throws a HTTP 404 Not found status
Added Phalcon_Router_Regex to define routes based on regular expressions
Renamed Phalcon_Request::getBestQualityCharset() to Phalcon_Request::getBestCharset()
Added Phalcon_Request::getBestLanguage()