SE 4.1.1 Scheduled for Release

Last week’s SE 4.1.0 BETA release went extremely well. Thanks to all of you who participated – what a smooth release! We’ve scheduled the following update, SE 4.1.1, for release next Wednesday. This release includes fixes for the minor issues found in the 4.1.0 beta, so we recommend that anyone using the beta (and anyone else who wants to keep their SE current) upgrade to 4.1.1 when we make it available next week.

For third-party addon developers: Some of you requested that we publish developer notes prior to new releases in the future. We’ll start doing that with this upcoming 4.1.1 release. Our hope is that you can use this information to evaluate whether or not our changes will cause any interference with your own products. As always, your feedback is most welcome.

Developer Notes:

  • The 4.1.0 release included some general modifications to the login
    system. If your modules changed or hooked into the login system,
    please review the changes to ensure your changes continue to function
    properly.
  • The 4.1.0 release refactored the Task Scheduler and its associated
    database tables. If your module used the Task Scheduler, please
    review the changes and insert-ignore your tasks into the appropriate
    tables.
  • Storage system has been modified slightly to start preliminary CDN
    functionality (Amazon S3 specifically right now, but more to come
    eventually; none are officially supported yet). We don’t anticipate
    major breaking, but please confirm your module storage methodologies
    are up to date. Potential compatibility breakage points are:
    1) You must use the Storage_Model_File::map() method to get a URL to the file, any other way of getting the URL is not guaranteed to be correct.
    2) The storage_type column has been removed and replaced with the service_id column. Raw access to the table should take this into account.
    3) Because the files in the storage system are not guaranteed to be local anymore, any operations on them should take that into account. Calling Storage_Model_File::temporary() will copy the file to public/temporary and return the temporary file’s path.
  • Orphaned files are periodically cleaned up. This uses the
    $file->getParent() method, so that if the Core_Model_Item no longer
    exists, it assumes it is safe to delete the associated file. This feature should not to be relied upon in your custom plugins and widgets, but is an extra measure to prevent extraneous files from taking up storage space.

Improvements:

  • The 4.1.0 release added Membership Billing features.
  • The 4.1.0 release added several more Task Scheduler trigger methods
    to help run background tasks when cronjobs are not available.
  • Various .htaccess files have been added or modified to provide
    browser-side caching for static content, such as javascript, css, and
    image files. Note that the .htaccess files are in non-root
    directories (i.e. /externals/, /public/,
    /application/modules/Core/externals/, etc.) and contain no mod_rewrite
    rules, so this should not break custom configurations. These changes
    require Apache and the Apache module “mod_expires” to be installed on
    your server to enjoy the benefits.
  • Statistics are now only logging full page loads (admin pages and
    ajax requests are no longer being tracked). Please note that the
    extreme drop-off of visits is likely due to this modification.
  • Layout editor now italicizes the “Save Change” link when changes have been made and not yet saved.
  • Admins can now create new menus.
  • Improved Administration of Profile Questions. Making a question
    appear in multiple Profile Types is now simplified.
  • Log rotation has been added to keep automatically-generated log
    files under size control.

Leave a comment