changes.md 12 KB

Laravel Change Log

Contents

Laravel 3.2.4

  • Speed up many to many eager loading mapping.
  • Tweak the Eloquent::changed() method.
  • Various bug fixes and improvements.

Upgrading From 3.2.3

  • Replace the laravel folder.

Laravel 3.2.3

  • Fixed eager loading bug in Eloquent.
  • Added laravel.resolving event for all IoC resolutions.

Upgrading From 3.2.2

  • Replace the laravel folder.

Laravel 3.2.2

  • Overall improvement of Postgres support.
  • Fix issue in SQL Server Schema grammar.
  • Fix issue with eager loading and first or find.
  • Fix bug causing parameters to not be passed to IoC::resolve.
  • Allow the specification of hostnames in environment setup.
  • Added DB::last_query method.
  • Added password option to Auth configuration.

Upgrading From 3.2.1

  • Replace the laravel folder.

Laravel 3.2.1

  • Fixed bug in cookie retrieval when cookie is set on same request.
  • Fixed bug in SQL Server grammar for primary keys.
  • Fixed bug in Validator on PHP 5.4.
  • If HTTP / HTTPS is not specified for generated links, current protocol is used.
  • Fix bug in Eloquent auth driver.
  • Added format method to message container.

Upgrading From 3.2

  • Replace the laravel folder.

Laravel 3.2

  • Added to_array method to the base Eloquent model.
  • Added $hidden static variable to the base Eloquent model.
  • Added sync method to has_many_and_belongs_to Eloquent relationship.
  • Added save method to has_many Eloquent relationship.
  • Added unless structure to Blade template engine.
  • Added Blade comments.
  • Added simpler environment management.
  • Added Blade::extend() method to define custom blade compilers.
  • Added View::exists method.
  • Use Memcached API instead of older Memcache API.
  • Added support for bundles outside of the bundle directory.
  • Added support for DateTime database query bindings.
  • Migrated to the Symfony HttpFoundation component for core request / response handling.
  • Fixed the passing of strings into the Input::except method.
  • Fixed replacement of optional parameters in URL::transpose method.
  • Improved update handling on Has_Many and Has_One relationships.
  • Improved View performance by only loading contents from file once.
  • Fix handling of URLs beginning with hashes in URL::to.
  • Fix the resolution of unset Eloquent attributes.
  • Allows pivot table timestamps to be disabled.
  • Made the get_timestamp Eloquent method static.
  • Request::secure now takes application.ssl configuration option into consideration.
  • Simplified the paths.php file.
  • Only write file caches if number of minutes is greater than zero.
  • Added $default parameter to Bundle::option method.
  • Fixed bug present when using Eloquent models with Twig.
  • Allow multiple views to be registered for a single composer.
  • Added Request::set_env method.
  • Schema::drop now accepts $connection as second parameter.
  • Added Input::merge method.
  • Added Input::replace method.
  • Added saving, saved, updating, creating, deleting, and deleted events to Eloquent.
  • Added new Sectionable interface to allow cache drivers to simulate namespacing.
  • Added support for HAVING SQL clauses.
  • Added array_pluck helper, similar to pluck method in Underscore.js.
  • Allow the registration of custom cache and session drivers.
  • Allow the specification of a separate asset base URL for using CDNs.
  • Allow a starter Closure to be defined in bundles.php to be run on Bundle::start.
  • Allow the registration of custom database drivers.
  • New, driver based authentication system.
  • Added Input::json() method for working with applications using Backbone.js or similar.
  • Added Response::json method for creating JSON responses.
  • Added Response::eloquent method for creating Eloquent responses.
  • Fixed bug when using many-to-many relationships on non-default database connection.
  • Added true reflection based IoC to container.
  • Added Request::route()->controller and Request::route()->controller_action.
  • Added Event::queue, Event::flusher, and Event::flush methods to Event class.
  • Added array_except and array_only helpers, similar to Input::except and Input::only but for arbitrary arrays.

Upgrading From 3.1

  • Add new asset_url and profiler options to application configuration.
  • Replace auth configuration file.

Add the following entry to the aliases array in config/application.php..

'Profiler'   => 'Laravel\\Profiling\\Profiler',

Add the following code above Blade::sharpen() in application/start.php..

if (Config::get('application.profiler'))
{
    Profiler::attach();
}
  • Upgrade the paths.php file.
  • Replace the laravel folder.

Laravel 3.1.9

  • Fixes cookie session driver bug that caused infinite loop on some occasions.

Upgrading From 3.1.8

  • Replace the laravel folder.

Laravel 3.1.8

  • Fixes possible WSOD when using Blade's @include expression.

Upgrading From 3.1.7

  • Replace the laravel folder.

Laravel 3.1.7

  • Fixes custom validation language line loading from bundles.
  • Fixes double-loading of classes when overriding the core.
  • Classify migration names.

Upgrading From 3.1.6

  • Replace the laravel folder.

Laravel 3.1.6

  • Fixes many-to-many eager loading in Eloquent.

Upgrading From 3.1.5

  • Replace the laravel folder.

Laravel 3.1.5

  • Fixes bug that could allow secure cookies to be sent over HTTP.

Upgrading From 3.1.4

  • Replace the laravel folder.

Laravel 3.1.4

  • Fixes Response header casing bug.
  • Fixes SQL "where in" (...) short-cut bug.

Upgrading From 3.1.3

  • Replace the laravel folder.

Laravel 3.1.3

  • Fixes delete method in Eloquent models.

Upgrade From 3.1.2

  • Replace the laravel folder.

Laravel 3.1.2

  • Fixes Eloquent query method constructor conflict.

Upgrade From 3.1.1

  • Replace the laravel folder.

Laravel 3.1.1

  • Fixes Eloquent model hydration bug involving custom setters.

Upgrading From 3.1

  • Replace the laravel folder.

Laravel 3.1

  • Added events to logger for more flexibility.
  • Added database.fetch configuration option.
  • Added controller factories for injecting any IoC.
  • Added link_to_action HTML helpers.
  • Added ability to set default value on Config::get.
  • Added the ability to add pattern based filters.
  • Improved session ID assignment.
  • Added support for "unsigned" integers in schema builder.
  • Added config, view, and lang loaders.
  • Added more logic to application/start.php for more flexibility.
  • Added foreign key support to schema builder.
  • Postgres "unique" indexes are now added with ADD CONSTRAINT.
  • Added "Event::until" method.
  • Added "memory" cache and session drivers.
  • Added Controller::detect method.
  • Added Cache::forever method.
  • Controller layouts now resolved in Laravel\Controller __construct.
  • Rewrote Eloquent and included in core.
  • Added "match" validation rule.
  • Fixed table prefix bug.
  • Added Form::macro method.
  • Added HTML::macro method.
  • Added Route::forward method.
  • Prepend table name to default index names in schema.
  • Added "forelse" to Blade.
  • Added View::render_each.
  • Able to specify full path to view (path: ).
  • Added support for Blade template inheritance.
  • Added "before" and "after" validation checks for dates.

Upgrading From 3.0

Replace your application/start.php file.

The default start.php file has been expanded in order to give you more flexibility over the loading of your language, configuration, and view files. To upgrade your file, copy your current file and paste it at the bottom of a copy of the new Laravel 3.1 start file. Next, scroll up in the start file until you see the default Autoloader registrations (line 61 and line 76). Delete both of these sections since you just pasted your previous auto-loader registrations at the bottom of the file.

Remove the display option from your errors configuration file.

This option is now set at the beginning of your application/start file.

Call the parent controller's constructor from your controller.

Simply add a parent::__construct(); to to any of your controllers that have a constructor.

Prefix Laravel migration created indexes with their table name.

If you have created indexes on tables using the Laravel migration system and you used to the default index naming scheme provided by Laravel, prefix the index names with their table name on your database. So, if the current index name is "id_unique" on the "users" table, make the index name "users_id_unique".

Add alias for Eloquent in your application configuration.

Add the following to the aliases array in your application/config/application.php file:

'Eloquent' => 'Laravel\\Database\\Eloquent\\Model',
'Blade' => 'Laravel\\Blade',

Update Eloquent many-to-many tables.

Eloquent now maintains created_at and updated_at column on many-to-many intermediate tables by default. Simply add these columns to your tables. Also, many-to-many tables are now the singular model names concatenated with an underscore. For example, if the relationship is between User and Role, the intermediate table name should be role_user.

Remove Eloquent bundle.

If you are using the Eloquent bundle with your installation, you can remove it from your bundles directory and your application/bundles.php file. Eloquent version 2 is included in the core in Laravel 3.1. Your models can also now extend simply Eloquent instead of Eloquent\Model.

Update your config/strings.php file.

English pluralization and singularization is now automatic. Just completely replace your application/config/strings.php file.

Add the fetch option to your database configuration file.

A new fetch option allows you to specify in which format you receive your database results. Just copy and paste the option from the new application/config/database.php file.

Add database option to your Redis configuration.

If you are using Redis, add the "database" option to your Redis connection configurations. The "database" value can be zero by default.

'redis' => array(
    'default' => array(
        'host' => '127.0.0.1',
        'port' => 6379,
        'database' => 0
    ),
),