Skip to content

Changelog v1.7.1

Harro Verton edited this page Nov 30, 2013 · 6 revisions

This keeps track of important changes to the 1.x branch.

When you decide to upgrade to a new version, pay attention to the changes documented in this changelog, and the upgrade procedures documented.

Important fixes, changes, notes. Read them carefully.

  • The index.php has been updated to make sure the Response body is rendered, and rendered only once. When upgrading to 1.7.1, don't forget to apply these changes!
  • When using the REST controller and returning an array as a response, the controller now checks if the response format is compatible. If not, it will return an error messsage and set a 406 HTTP status when in production mode. In other modes, it will return a warning and a JSON encoded dump of the array.

Backward compatibility notes

t.b.d.

Removed code (because it was deprecated in v1.6 or earlier)

t.b.d.

Security related

t.b.d.

System changes

A new Sanitization interface has been introduced to the core. Objects can implement this interface, and when you pass such an object to a View, the object will not be cleaned, but the individual properties will be cleaned by the object itself when the properties are requested by the view.

ORM and Model_Crud models now implement the sanitization interface by default, and when enabled, they will return a cleaned copy of the property, instead of the property itself. This means you can now pass ORM model objects to Views, without the ORM object being destroyed.

Specific classes

  • Cache_Storage_Redis: Support for non-default Redis DB configs has been fixed.
  • Arr: get() now allows you to get array values using a key that contains a dot.
  • Arr: search() now has a new parameter to enforce a strict search.
  • Asset: css() now accepts the 'type' attribute.
  • DB: Now allows a DB connection to be set, to make sure SQL is compiled using the correct driver.
  • DB: You can now disconnect() and connect(), allowing you to reconnect when the connection has dropped.
  • DBUtil: set_connection() now accepts null to reset the connection instance set previously.
  • DBUtil: add_foreign_key() now has support for custom DB connections.
  • DBUtil: create_index now allows you to create a PRIMARY KEY index.
  • DBUtil: drop_index now allows you to drop a PRIMARY KEY index.
  • File: download() will now be executed after cookies have been written.
  • Form: select() now accepts zero or null as selected value.
  • Format: from_xml() now has support for XML namespaces.
  • Format: to_json() now accepts JSON encoding options, with configured default options.
  • Fuel: Make sure the locale is set before processing 'always_load'.
  • Image: create_hex_color() now correctly processes the alpha value.
  • Image: convert_number() can now deal properly with numbers using a decimal comma.
  • Image: Imagemagick driver now correctly stores the image size in its cache.
  • Input: uri() now always returns the URI with a leading slash.
  • Input: You can now control double decoding of urlencoded forms.
  • Lang: No longer uses a fixed path delimiter, causing issues on Windows.
  • Lang: When multiple languages are defined, the files are now loaded in the correct order.
  • Migrate: Now displays the correct migration version when migrating down.
  • Migrate: Now checks for existence of packages and modules before attempting to migrate them.
  • Theme: You can now call render() more than once.
  • Uri: When $_GET is reassembled, it will now be security cleaned.

Packages

  • Email: a background color (#aabbcc) in an img tag is no longer seen as an attachment.
  • Parser: auth_has_access has been added as a Twig function.
Clone this wiki locally