forked from phalcon/cphalcon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
200 lines (182 loc) · 12.3 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
0.5.2
- Fixed bug in Phalcon\Mvc\Model::_exists making PHQL inserts fail
- Fixed bug in Phalcon\Mvc\Model making that a magic method call doesn't accept extra parameters
0.5.1
- 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 to get 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
0.5.0
- Added Phalcon\CLI components to create CLI applications
- Added SQLite support
0.5.0a4
- Removed support for Twig and Mustache
- Added PhalconQL (PHQL), a high level query language directly engaged with the Phalcon\Mvc\Model component
- Multiples refactorizations 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
0.5.0a3
- 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
0.5.0a2
- Removed memory leaks when reading class constants
- Replaced the database native adapters by PDO
0.5.0a1
- Classes are now registered as PHP namespaces.
- Improved stability running Phalcon with PHP versions lower or equal than 5.3.3
- Thousand of unnecesary 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
0.4.4
- Fixed problem with Phalcon_Session functions not registered
0.4.3
- Fixed problem with partials, that removed any output previously generated
- Added Phalcon_Session::destroy
- Fixed memory leaks generated when throwing internal exceptions
0.4.2
- Added support for PostgreSQL database
- Phalcon_View is now fully integrated with Phalcon_Cache
- Dropped unnecessary registration of arguments for exception classes
- Dropped unncessary 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
0.4.1
- 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
0.4.0
- 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 less 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 to create persistent connections
- Added alphanum to Phalcon_Filter to filter strings allowing filter 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()
0.3.5
- Most of throw exception process has been rewrriten to use less instructions
- Super global initialization is now slightly fast
- Fixed bug in Phalcon_Db::close
- Added logging capabilities to Phalcon_Db
- Added Phalcon_Model_Metadata::getIdentityField allowing to know the identity (auto_increment) field
- Added DDL and DML methods to Phalcon_Db
- Added Phalcon_Db_Column to describe table columns
- Added Phalcon_Db_Index to describe table indexes
- Added Phalcon_Db_Reference to describe table references (foreign keys)
0.3.4
- Fixed wrong implementation in Phalcon_Tag::javascriptInclude
- Added Phalcon_Cache_Frontend_Output
- Renamed Phalcon_Db_Mysql to Phalcon_Db_Adapter_Mysql
- Renamed Phalcon_Cache_Adapter_File to Phalcon_Cache_Frontend_File
- Added Phalcon_Request::setRawHeader
- Added Phalcon_Paginator_Adapter_Array
- Fixed bugs in model paginator
- Added Phalcon_Tag::hiddenField
- Added Phalcon_Tag::fileField
- Added Phalcon_Loader to autoload classes based on some conventions
- Added Phalcon_Db_Profiler to profile database operations and determine posible bottlenecks
- Added methods to query table metadata: Phalcon_Db::describeTable, Phalcon_Db::describeIndexes and Phalcon_Db::describeReferences
- Fixed segmentation fault in Phalcon_Db::tableExists
- Fixed memory leak in Phalcon_Paginator
- Adding Zend Thread Safety (ZTS) support to Phalcon Memory Manager
0.3.3
- Added Phalcon_Tag::setDefault as an alias for Phalcon_Tag::displayTo
- Added Phalcon_View::setVar as an alias for Phalcon_View::setParamToView
- Added ACL managment with in-memory lists
- Fixed segfaults on methods with array optional parameters
- Fixed segfaults on some isset
- Added built-in model attributes validators
- Added Phalcon_ACL to manage access lists
- Added missing Phalcon_Tag::passwordField
0.3.2
- Fixed separation of super globals by mistake causing segmentation faults
- Support for compilation on Visual C++ 6.0
- Fixed segmentation faults when required parameters are not given for most methods
0.3.1
- Phalcon garbage collector incrementally releases memory allocated after the end of a particular execution trace reducing memory fragmentation.
0.3.0
- Refactored many code patterns as C macros, the total base code was reduced by about 8000 lines of code less.
- Most function calls was rewriten to avoid any string length counting by avoiding potential use of strlen. Functions and methods names have fixed string lengths improving general performance. This improvement was also implemented for static string concatenation.
- We have implemented some kind of Register Allocation to take advantage of processor registers. However, compiler will choose best register allocations when it compiles the extension.
- Support for PHP 5.4. A number of issues when running Phalcon under PHP 5.4 were identified and corrected.
- In some cases memory was copied without need when updating internal arrays, them were fixed.
- A function cache was included to avoid potential function lookups on internal HashTables. This cache stores internal pointers to functions low level code improving performance.
0.2.6
- Fixed segfault when reading _SESSION superglobal when no session_start has been made
- Added Phalcon_Cache with adapter File
- Added method Phalcon_Model_Manager::getHasOneRecords