# changelog

author: Joerg Bruehe <joerg.bruehe@oracle.com>
changelog:
  - Add a macro "runselftest":
    if set to 1 (default), the test suite will be run during the RPM build;
    this can be oveeridden via the command line by adding
        --define "runselftest 0"
    Failures of the test suite will NOT make the RPM build fail!


author: Joerg Bruehe <joerg.bruehe@oracle.com>
changelog:
  - Let the installation use the new option "--random-passwords" of "mysql_install_db".
    (Bug# 12794345 Ensure root password)
  - Fix an inconsistency: "new install" vs "upgrade" are told from the (non)existence
    of "$mysql_datadir/mysql" (holding table "mysql.user" and other system stuff).


author: Joerg Bruehe <joerg.bruehe@oracle.com>
changelog:
  - Allow to override the default to use the bundled yaSSL by an option like
        --define="with_ssl /path/to/ssl"


author: Honza Horak <hhorak@redhat.com> - 1:10.0.13-4
changelog:
  - Build config subpackage everytime
  - Disable failing tests: innodb_simulate_comp_failures_small, key_cache
    rhbz#1096787


author: Honza Horak <hhorak@redhat.com> - 1:10.0.13-6
changelog:
  - Disable vcol_supported_sql_funcs_myisam test on all arches
    Related: #1096787
  - Install systemd service file on RHEL-7+
    Server requires any mysql package, so it should be fine with older client


author: Honza Horak <hhorak@redhat.com> - 1:10.0.13-8
changelog:
  - Move connect engine to a separate package
    Rename oqgraph engine to align with upstream packages
  - Move some files to correspond with MariaDB upstream packages
    client.cnf into -libs, mysql_plugin and msql2mysql into base,
    tokuftdump and aria_* into -server, errmsg-utf8.txt into -errmsg
  - Remove duplicate cnf files packaged using %doc
  - Check upgrade script added to warn about need for mysql_upgrade


author: Oleg Cherniy <oleg.cherniy@gmail.com> 0.7.0.20121205-0
changelog:
  - Update to last relase 0.7.0 from github 20121205
   - Now the namespace can be set in a path of the route and it will passed automatically to the dispatcher
   - Implementing URL generation based on routed without regular expressions
   - Now is possible register a template engine in Phalcon\Mvc\View with an anonymous function
   - Passing 'compileAlways' => true as option for Volt makes that the templates will be always compiled instead of checking if they have changes
   - Now Phalcon\Cache\Backend adapters return false in the "exists" method if the cache has expired
   - Reduced number of re-executions when using scrollable cursors
   - Reducing class entry resolution in function calls
   - Disabling search of class execution scope when classes don't have a parent class
   - Removing unnecessary duplication of memory when printing string zvals
   - Implemented a fast way to retrieve object's members without add a memory frame
   - Now Phalcon\Mvc\Dispatcher checks for methods beforeExecuteRoute and afterExecuteRoute in the controller handler
   - Added phalcon_start_with to check if a zval string starts with other string avoiding substrs in PHP userland
   - Added interfaces to most classes helping the developer to easily create component replacements and add new adapters/classes
   - Implemented interfaces on their own components
   - Implemented event propagation, event cancelation and ability to stop events in EventsManager
   - Added Phalcon\Dispatcher::getDefaultNamespace
   - Added a $merge parameter to every Phalcon\Loader strategy to merge current values with a new array
   - Implemented registering services as "always shared"
   - Now Phalcon\Mvc\Model::save, Phalcon\Mvc\Model::create, Phalcon\Mvc\Model::update receives an array to assign the model's attributes from it
   - Support for UTF-8/UTF-16 characters on 32 bit platforms for PHQL/Volt parsers
   - Support for custom schemas in PHQL
   - Now is possible pass bound parameters to Phalcon\DB::fetchOne and Phalcon\Db::fetchAll
   - Implemented independent column map for models and a full escaping system for columns/tables/schemas according to the database system conventions
   - Added a $merge parameter to Phalcon\Mvc\Application::registerModules to merge new modules with current ones
   - Phalcon\Mvc\Application now allows registering a module using an anonymous function
   - Added Phalcon\Mvc\Model\Query\Builder to aid in the creation of PHQL queries using an OO interface
   - Support for COUNT(DISTINCT x) syntax in PHQL
   - Allowing user-defined messages in most Phalcon\Mvc\Model\Validators
   - Now Phalcon\Mvc\Model\Validator\StringLength uses mb_strlen when it is available
   - Allowed pass a URI manually to Phalcon\Mvc\Micro::handle()
   - Fixed missing json_encode filter in Volt
   - Moving cache implementation from Phalcon\Mvc\Model to Phalcon\Mvc\Model\Query, this allows caching both simple and complex resultsets


author: Oleg Cherniy <oleg.cherniy@gmail.com> 0.8.0.20121218-0
changelog:
  - Update to last alfa relase 0.8.0 from github 20121218
   - Removed unnecessary intermediate zvals when retrieving array items reducing overall memory comsumption
   - Removed unnecessary intermediate zvals when retrieving object members reducing overall memory comsumption
   - Removed PH_CHECK constant making simpler calling functions and methods internally
   - Added Phalcon\Text::increment, Phalcon\Text::random, Phalcon\Text::lower, Phalcon\Text::upper, Phalcon\Text::
   - Added Phalcon\Config::merge to merge recursively a configuration with another one
   - Added Phalcon\Config::toArray method to recursively convert an object to an array
   - Improved Volt runtime error/syntax error messages including always line and file
   - Added Phalcon\Security providing a set of functions to improve the security in Phalcon applications like bcry
   - Added Phalcon\Mvc\View\Engine\Volt\Compiler::addFunction to register user functions
   - Added Phalcon\Mvc\View\Engine\Volt\Compiler::addFilter to register user filters
   - Added Phalcon\Mvc\Model\Relation as class for model relationships
   - Added support for aliasing of model relationships in Phalcon\Mvc\Model
   - Relationships in Models are now case insensitive to be compliant with the PHP standard
   - Looking for a relationship in the models manager now performs a search in O(1) order
   - Added "cache" statement in Volt to cache view fragments
   - Added "do" statement to Volt to execute an expression without printing its evaluated value
   - Added "include" statement to Volt to perform a statical include of other views in compiling time
   - Added an internal method cache to speed up overall execution
   - Reduced memory allocation when reading/writing properties from objects
   - Added missing Phalcon\Mvc\Collection::getMessages() and Phalcon\Mvc\Collection::appendMessage
   - Added Phalcon\Config::get method to obtain a value from the configuration object setting a default value
   - Added an optional default value to Phalcon\Session\Adapter::get if this method returns a null value
   - Added OO methods to Phalcon\Session\Bag::get
   - Added an optional default value to Phalcon\Session\Bag::get if this method returns a null value
   - Added multiple inheritance and two-way replacement of blocks in Volt
   - Added evaluation of "tests" to Volt
   - Added support to call methods and read properties in sub-objects in Volt
   - Volt now checks if a variable name is a registered service and injects it to the views
   - The "For" statement in Volt now supports get the current key and add an optional if evaluation
   - Added support to read PHP constants in Volt
   - Added "prefix" option to Volt, allowing prefixing the resulting compiled paths
   - Now registerAutoloader in module definitions receives the services container (DI) as first parameter
   - Fixed skipAttributes methods in Phalcon\Mvc\Model
   - Fixed use of muliples databases in the ORM
   - Fixed use of a common events manager databases in the ORM
   - Now Phalcon\Mvc\Router can be configured to remove extra slashes passed in the URI
   - In Phalcon\Mvc\Router the default route is '/' when none is giving


author: Oleg Cherniy <oleg.cherniy@gmail.com> 0.8.0.20130110-0
changelog:
  - Update to version 0.8.0b1
   - Improved Phalcon\Escaper, this component provides contextual escaping of different kinds of texts (CSS, Javascript, URL, HTML Attributes etc)
   - Added serialization of Mvc\Collection instances
   - Added Phalcon\Mvc\View::setLayout to change the layout instead of looking for a controller with the same name as the latest controller dispatched
   - Now is possible to pass an option called 'options' to any of the Phalcon\Db\Adapter\Pdo adapters to set extra PDO options in the connection
   - Removed filtering of keys from Phalcon\Cache\Backend\File
   - Support for creating groups of routes using Phalcon\Router\Route\Group
   - Added Phalcon\Mvc\Micro middleware events
   - Implemented virtual scopes in Phalcon\Mvc\View

   - Update to version 0.8.0a2
   - Added support for behaviors in the ORM including: Phalcon\Mvc\Model\Behavior\Timestampable and Phalcon\Mvc\Model\Behavior\SoftDelete
   - Improved serialization of Mvc\Model instances and complex resultsets
   - Added an option to change the layouts directory and partials directory in Phalcon\Mvc\View
   - Added an option to disable an specific level of rendering in Phalcon\Mvc\View
   - Added Phalcon\Mvc\Model::setup to globally enable/disable specific features in the ORM
   - Added Phalcon\Db::setup to globally enable/disable specific features in the database component
   - Added Phalcon\Mvc\Model\Resultset::delete to delete every complete object returned in a resultset using a transaction
   - Added Phalcon\Mvc\Model\Resultset::update to update every complete object returned in a resultset using a transaction
   - Added support for converters in Phalcon\Mvc\Router
   - Added Phalcon\Mvc\View::getRender to return contents of a template into a string
   - Added methods to support HTTP method PATCH
   - Now Phalcon\Mvc\Model uses the last part of a namespaced class name as source name
   - Phalcon\DI now implements ArrayAccess to get/set services
   - Phalcon\Mvc\Micro now implements ArrayAccess to get services from the related services container
   - Improved building of complex service definitions in the DI
   - Added toArray method to Phalcon\Mvc\Model instances
   - Added autoescape mode in Volt


author: Oleg Cherniy <oleg.cherniy@gmail.com> 0.9.0.20130201-0
changelog:
  - Update to version 0.9.0b2
   - Added 'elseif' statement to Volt
   - Changed static key in Volt's 'cache' to any valid expression
   - Added Phalcon\Logger\Adapter\Syslog and Phalcon\Logger\Adapter\Stream to Phalcon\Logger
   - Added Phalcon\Logger\Multiple to send logs to multiples adapters
   - Added formatters abstraction to Phalcon\Logger, now including: Phalcon\Logger\Formatter\Line, Phalcon\Logger\Formatter\Json and Phalcon\L
   - Added Phalcon\Annotations\Adapter\Files to Phalcon\Annotations, this adapter stores the annotations in PHP files

   - Update to version 0.9.0b1
   - Added Phalcon\Annotations, a general purpose component to read annotations from docblocks
   - Phalcon\Mvc\Model now supports saving related records using magic methods with a unique call to 'save'
   - Adding autoescaping option to Phalcon\Tag
   - Added andWhere/orWhere to Phalcon\Mvc\Model\Criteria
   - Added passing an HTTP body to the Phalcon\Http\Response's constructor
   - Phalcon\Mvc\View is now able to pass variables to the views using magic methods
   - Support for slice with filter and built-in syntax in Volt
   - Added magic methods in the ORM to find/findFirst by a single field
   - Improved XSS protection in Phalcon\Tag
   - Implemented queuing events with priorities in Phalcon\Events
   - Implemented collecting of returned responses in Phalcon\Events
   - Added toArray method to Phalcon\Mvc\Model\Resultset classes
   - Added hydration modes to Phalcon\Mvc\Model\Resultset (HYDRATE_RECORDS, HYDRATE_ARRAYS, HYDRATE_OBJECTS)


author: Oleg Cherniy <oleg.cherniy@gmail.com> 0.9.0.20130206-0
changelog:
  - Update to last stable release
   - Support for reusable records. A relation can be marked to cache in memory the records to speedup getting related records


author: Oleg Cherniy <oleg.cherniy@gmail.com> 1.0.0.20130215-0
changelog:
  - Update to last beta release
   - Fixed bug with missing blocks in multiple inheritance in Volt
   - Support for ternary operator in Volt
   - Support for 'forelse' in Volt
   - Added support for loop variable context in Volt
   - Added whitespace control delimiters { -%} and {{- -}} to Volt
   - Suport for 'in' and 'not in' operators in Volt
   - Added Phalcon\Mvc\Model::assign to assign an array of values to a model instance
   - Added Phalcon\Mvc\Model::refresh to refresh the state of a model
   - Added Phalcon\Logger\Adapter::setLogLevel to filter messages with greater or less priority
   - Removed constructor from Phalcon\Cache\BackendInterface


author: Oleg Cherniy <oleg.cherniy@gmail.com> 1.0.1.20130424-0
changelog:
  - Update to last beta release
  1.0.1
   - Paths aren't correctly normalized in Phalcon\Mvc\Model\MetaData\Files
   - Added extra class prefix to schema.table in Phalcon\Mvc\Model\MetaData to avoid multiple-database collisions
   - Now Phalcon\Mvc\Router ignores numeric paths in controller, namespace, module and action, avoiding that those will be p
   - Added Phalcon\Forms\Form::remove to remove an element from the form and Phalcon\Forms\Form::has to check if a form has
  1.0.0b2
   - Added Phalcon\Mvc\Router::setUriSource to set if the URI source must be $_GET['_url'] or $_SERVER['REQUEST_URI']
   - Added a white-list parameter to Phalcon\Mvc\Model::save(), Phalcon\Mvc\Model::create() and
   Phalcon\Mvc\Model::update() to avoid possible mass-assigment attacks
   - Added leftJoin/rightJoin to QueryBuilder
  1.0.0b1
   - Fixed bug with missing blocks in multiple inheritance in Volt
   - Support for ternary operator in Volt
   - Support for 'forelse' in Volt
   - Added support for loop variable context in Volt
   - Added whitespace control delimiters { -%} and {{- -}} to Volt
   - Suport for 'in' and 'not in' operators in Volt
   - Added Phalcon\Mvc\Model::assign to assign an array of values to a model instance
   - Added Phalcon\Mvc\Model::refresh to refresh the state of a model
   - Added Phalcon\Logger\Adapter::setLogLevel to filter messages with greater or less priority
   - Removed constructor from Phalcon\Cache\BackendInterface
   - Added Phalcon\Cache\Multiple, this backend writes to several backends, and reads data according to the order in which b
   - Now a model can use a separate connection to read and another to write, this makes horizontal sharding easy
   - Now, a model could implement a method selectReadConnection to dynamically return the correct database according to the
   - Added Phalcon\Cache\Backend\Memory to cache data in the current request
   - Added Phalcon\Validation, this component allows the validate a set of data based on pre-defined rules
   - Added Phalcon\Forms, this component acts as a forms builder binding request data to entities, aiding in the validation
   - Phalcon\Db is now case-folding independent
   - Phalcon\Mvc\Model uses column names keeping the case-folding as they were defined
   - Added Phalcon\Mvc\Router::notFound to define the paths the router must use if any route is matched
   - Improved \Phalcon\Mvc\Router\Annotations to work better with controllers in namespaces and modules
   - A model can be marked to keep record snapshots allowing to check what fields have been changed
   - The _source and _schema properties have been moved from Phalcon\Mvc\Model to Phalcon\Mvc\Model\Manager. This allow set
   - Added Phalcon\Session\Bag::remove to remove an specific variable from a session bag
   - Added support for complex expressions in PHQL ORDER BY clause
   - Added support for complex expressions in PHQL GROUP BY clause
   - Added support for $_SERVER['REQUEST_URI'] if $_GET['_url'] is not available in Phalcon\Mvc\Router
   - Added an option to set up specific models with dynamic update instead of all-fields update, every field is checked if i
   - Added a minimalist client for the Beanstalk queue server


author: Oleg Cherniy <oleg.cherniy@gmail.com> 1.1.0.20130424-0
changelog:
  - Update to last beta release
  1.1.0
   - Improvements to the query builder allowing to define bound parameters in the "where" methods
   - Added Mvc\Query\Builder::inWhere to append a IN expression to the query
   - Added Mvc\Query\Builder::notInWhere to append a NOT IN expression to the query
   - Added Mvc\Query\Builder::betweenWhere to append a BETWEEN expression to the query
   - Now Phalcon\Session\Bag injects automatically the default DI if one hasn't beed manually assigned
   - Added Phalcon\Forms\Manager to reference forms and retrieve them from any part of the application
   - If an element in Phalcon\Forms doesn't have a label defined now returns the element's name as label
   - Now if a validator in Phalcon\Validator has defined the option 'cancelOnFail' => true the validation will be aborted if the validator fails
   - Added Phalcon\Validation\Validator\Between to check a value between a range of two values
   - Phalcon\Forms\Form now extends from Phalcon\DI\Injectable allowing developers to use application services in the form i
   - Now calls to Phalcon\Mvc\Router can be chained
   - Phalcon\Mvc\Router::getRewriteUri is now public
   - Added Phalcon\Mvc\Router\Route::beforeMatch to implement arbitrary conditions to unmatch a matched route
   - Phalcon\Mvc\Model can be now set up to throw an exception when the saving process fails
   - Added Phalcon\Assets component to manage CSS/Javascripts resources in an application
   - Added Phalcon\Annotations\Collection::getAll to return all the annotations in a collection that matches a name
   - Added Phalcon\Crypt component to provide encryption facilities to phalcon applications
   - Now Phalcon\Http\Request: get, getQuery y getPost returns the respective superglobals in case of no parameters
   - Now Phalcon\Mvc\Router supports hostname restrictions
   - Added support for filtering/sanitizing in Phalcon\Validation
   - Added events beforeValidation/afterValidation to Phalcon\Validation and Phalcon\Forms\Form
   - Added ability to register user-options in Phalcon\Forms\Form elements
   - Fixed Phalcon\Mvc\Micro\Collections to register a controllers in Phalcon\Mvc\Micro
   - Added Phalcon\Tag::dateField and Phalcon\Tag::numericField
   - Added Phalcon\Forms\Element\Date and Phalcon\Forms\Element\Numeric


author: Oleg Cherniy <oleg.cherniy@gmail.com> 1.1.0.20130530-0
changelog:
  - Update to last beta release
  1.1.0
   - Improvements to the query builder allowing to define bound parameters in the "where" methods
   - Added Mvc\Query\Builder::inWhere to append a IN expression to the query
   - Added Mvc\Query\Builder::notInWhere to append a NOT IN expression to the query
   - Added Mvc\Query\Builder::betweenWhere to append a BETWEEN expression to the query
   - Now Phalcon\Session\Bag injects automatically the default DI if one hasn't beed manually assigned
   - Added Phalcon\Forms\Manager to reference forms and retrieve them from any part of the application
   - If an element in Phalcon\Forms doesn't have a label defined now returns the element's name as label
   - Now if a validator in Phalcon\Validator has defined the option 'cancelOnFail' => true the validation will be aborted if the validator fails
   - Added Phalcon\Validation\Validator\Between to check a value between a range of two values
   - Added Phalcon\Validation\Validator\Confirmation to check that a value match its confirmation value (another attribute in the data to validate)
   - Phalcon\Forms\Form now extends from Phalcon\DI\Injectable allowing developers to use application services in the form initialization
   - Now calls to Phalcon\Mvc\Router can be chained
   - Phalcon\Mvc\Router::getRewriteUri is now public
   - Added Phalcon\Mvc\Router\Route::beforeMatch to implement arbitrary conditions to unmatch a matched route
   - Phalcon\Mvc\Model can be now set up to throw an exception when the saving process fails
   - Added Phalcon\Assets component to manage CSS/Javascripts resources in an application
   - Added Phalcon\Annotations\Collection::getAll to return all the annotations in a collection that matches a name
   - Added Phalcon\Crypt component to provide encryption facilities to phalcon applications
   - Now Phalcon\Http\Request: get, getQuery y getPost returns the respective superglobals in case of no parameters
   - Now Phalcon\Mvc\Router supports simple/regex hostname restrictions
   - Added support for filtering/sanitizing in Phalcon\Validation
   - Added events beforeValidation/afterValidation to Phalcon\Validation and Phalcon\Forms\Form
   - Added ability to register user-options in Phalcon\Forms\Form elements
   - Fixed Phalcon\Mvc\Micro\Collections to register a controllers in Phalcon\Mvc\Micro
   - Added Phalcon\Tag::dateField and Phalcon\Tag::numericField
   - Added Phalcon\Forms\Element\Date and Phalcon\Forms\Element\Numeric
   - Added Phalcon\Cache\Frontend\Json to cache data as JSON
   - Added Phalcon\Tag::tagHtml and Phalcon\Tag::tagHtmlClose to generate any kind of HTML tags
   - Phalcon\Http\Response\Cookies is now fixed
   - Added support for automatic crypting of cookies in Phalcon\Http\Response\Cookies
   - Phalcon\DI\FactoryDefault now provides the 'crypt' service
   - Volt's paths are now automatically normalized to realpaths
   - Fixed bug in convert_encoding in Volt
   - Added Phalcon\Filter\UserFilterInterface to be used in custom filters
   - Added support for filters in Phalcon\Forms\Form elements
   - Added maximum recursion depth exceeded control in Phalcon\Kernel
   - Performance: Now Phalcon makes use of interned strings if PHP 5.4 to reduce memory usage
   - Performance: Implemented cache of visibility for all intern properties in 5.3/5.4 increasing performance 
   - Performance: All hash keys are now pre-calculated in compilation time to read/write internal properties faster
   - Performance: Now all functions are static allowing the compiler to inline functions or remove those that aren't used by the framework
   - Performance: Now Phalcon provides specific optimizations when the extension is compiled for NTS modules
   - Performance: Implemented function to fetch parameters from the VM stack with minimum overhead
   - Performance: Implemented a global PHQL parser cache to avoid that a same statement be parsed more than one time
   - Performance: Events by priority are now disabled by default. A user must explicitly define that Phalcon\Events\Manager must use a PriorityQueue instead of a FIFF (First In-First Fired)
   - !! Phalcon\CLI\Router API have been changed. Check the manual to update your bootstrap


