<< Click to Read >>

Next\Components\Debug\Exception
- Removed poor implementation of Linkify Decorators

Next\Components\Debug\Handlers
- Changed default HTTP Response Code from 406 (Not Acceptable) to 500
(Internal Server Error)

Next\Components\Object
- In order to increase the purpose and functionality of the base Object
class, any Object object is, by default:

--- Parameterizable: There is no need to manually implement
Next\Components\Parameter in a class anymore
--- Informational: Any Object can provide basic informations about
itself, be it a success or an error
--- Initializable: Although not defined by a proper interface, any
Object can be have additional initialization without require manual
implementation of the previously used "init()" method.
    Note, however, that when overwriting the Object constructor while
using the additional initialization you may delay the Object
construction in parent context too. E.g:

class AbstractFoo extends Object {

    protected $object;

    public function __construct( SomeAdditionalObject $object ) {

        parent::__construct();

        $this -> object = $object;
    }
}

class Foo extends AbstractFoo {

    protected function init() {

        // Dom something with AbstractFoo::$object
    }
}

The above code fragment would not work because Foo::init() would be
invoked before to AbstractFoo::$object receives the SomeAdditionalObject
instance

- Added missing doc-block in Object::__get()
- Added missing Exception in Object::__get() thrown when Constructor is
overwritten without invoke parent::__construct()

Next\Components\Parameter
- Because all Object objects are now Parameterizable,
Next\Components\Parameter can't be an instance of Next\Components\Object
anymore otherwise it would cause inifinite loops.
  Also, since its functionality is being shipped with
Next\Components\Object there is no need to grant full Object
functionality to it.
- If the first argument passed is already an instance of
Next\Components\Parameter it will be used "as is", instead of mergng all
properties recursively
- Added missing doc-block comment

Next\Components\Utils\ArrayUtils
- Added a method to transpose (or flip 90º) a multidimensional array
  Improved ArrayUtils::in() by removing all manually added "return
TRUE", assuming the return of functions results
- Fixed grammar in doc-block comment of the same method

Next\Controller\AbstractController
- Changed when the Object construtor is invoked in parent context in
order to not produce errors because of the new auot-initializable
feature
- Removed the manually added AbstractController::init() method as it's
not needed anymore

Next\Controller\Chain
- Fixed doc-block comment typo

Next\Controller\ControllerException
- Remove an end-line period. Yep! That's it :p

Next\Controller\Router\AbstractRouter
- Added inheritance so now all Routers derived of this class are also an
Object object
- Because of new inheritance, manually implemented
Next\Components\Interfaces\Parameterizable features were removed as it's
not needed anymore
- Changed when the Router Connector is invoked to be compatible with new
auto-initialization feature

Next\Controller\Router\Standard
- Changed the name of the method used to extend SQLite functionality
becaue "extend" is reserved (with final keyword) for Object class as
part of its Extended Context feature

Next\DB\Driver\AbstractDriver
- Removed manually implemented
Next\Components\Interfaces\Parameterizable feature as it's not needed
anymore

Next\DB\Driver\AbstractDriver, Next\DB\Driver\PDO\AbstractPDO and
Next\DB\Driver\PDO\Adapter\MySQL
- Renamed the method previously named "init". Although its purpose is
really provide additional initialization for Connection Drivers the
current definition is conflicting with the new auto-initializable
feature

Next\DB\Table\AbstractTable
- Improved the properties retrieval by removing it from the array_walk()
loop and to be compatible with newly added protected properties in
Object class (ignoring them)

Next\DB\Table\Manager
- Re-added the method to reset the Table Manager removed by accident in
previous commit

Next\File\Tools
- Added a method to format an amount of bytes to be more human-readable
- Added a wrapper method to retrieve the extension of given path

Next\HTTP\Headers\AbstractHeaders
- Changed the behavior of AbstractHeaders::getHeaders() to consider Raw
Headers "as is" just like Generic fields
- Removed unused namespace imports

Next\HTTP\Request
- Added more HTTP verbs constants
- Changed the visibility of Request::getData(). Now public it can be
used to retrieve informations from any array. With caution this provides
a tiny bit of performance gain but this change aims to not add a method
of $_REQUEST which could cause confusion with Request::getQuery()

Next\HTTP\Response
- Removed unused namespaces
- Changed the operands of TURBO MODE constant
- Changed the implementation of Raw Headers for HTTP Status Code in
Response::addHeaders().

Next\Validate\Validate
- Changed doc-block comment to indicate Validate::validate() argument
can also be an array

Next\Validate\ValidateException
- Added an Exception method for invalid Validators in a Validators Chain

Next\View\Standard
- Changed how a Default Template is considered to be used. Previously it
was being ignored

<< Other Changes >> 

Next\Components\Interfaces\Informational
- New interface to describe the basic informative status of an Object

Next\File\Upload\Handler
- New Upload Handler class

Next\File\Upload\Methods\AbstractMethod,
Next\File\Upload\Methods\Method, Next\File\Upload\Methods\Get,
Next\File\Upload\Methods\Post, Next\File\Upload\Methods\Head,
Next\File\Upload\Methods\Delete
- Structure for Uploading Methods, only POST is implemented

Next\File\Upload\PostProcessor\Chain and
Next\File\Upload\PostProcessor\PostProcessor
- Implementation of Post-processing Chain, for individual actions
performed over uploaded files after effetively uploaded

Next\File\Upload\UploadException
- The Exception Class for the feature

Next\Validate\Chain
- Implementation of a Validation Chain

Next\Validate\File\Size, Next\Validate\File\Extension and
Next\Validate\File\MimeType
- 3 new Validation classes for Uploading process