Upgrade notes for SimpleSAMLphp 2.0

SimpleSAMLphp 2.0 is a major new release which has cleaned up support for a lot of things that have been marked deprecated in previous SimpleSAMLphp releases. The following changes are relevant for installers and/or developers.

Software requirements

Not all modules included by default

The set of modules included in the base installation has been reduced. If you used some of the modules that were shipped with SimpleSAMLphp, you now have to manually install them using Composer. For example, to use the LDAP module:

composer require simplesamlphp/simplesamlphp-module-ldap --update-no-dev

Functional changes

Configuration changes

Our assets have been moved from the www to the public directory. You will have to update your webserver to reflect this change.

Quite some options have been changed or removed. We recommend to start with a fresh template from config/config.php.dist and migrate the settings you require to the new config file manually.

The date formatting when specifying a custom logging string has been changed from PHP's deprecated strftime() format to PHP's date() format.

The format of the NameIDPolicy option has been changed: to omit sending the element entirely, you can no longer specify false but need to set it to an empty array ( [] ).

Configuration options that have been removed:

Changes relevant for (module) developers

The following changes are relevant for those having custom developed modules, authentication processing filters, themes, or that interface with the SimpleSAMLphp development API.

// Old style
$x = \SimpleSAML\Utils\Arrays::arrayize($someVar)
becomes:
  // New style
  $arrayUtils = new \SimpleSAML\Utils\Arrays();
  $x = $arrayUtils->arrayize($someVar);