Skip to content

Upgrade Notes

Anatoly Sablin edited this page Jan 22, 2020 · 1 revision

Upgrade notes

Unless listed below, it's always safe to upgrade to a release.

v1.3.0

v1.3.0 is not backward-compatible with any previous version.

The following was changed:

  • application.yaml is not longer supported as a default configuration filename. mxisd.yaml in the current working directory is now used by default
  • Spring boot command line options are no longer supported. If you want to specify another configuration filename, use -c /path/to/whatever/file
  • Removed support for Properties-like configuration
  • Removed support for variable substitution with ${...}
  • The structure of the Sendgrid notification handler configuration has been changed to reflect the new unbind protection.
  • 3PID sessions have been revamped (See #93), including their config.
  • 3PID views have been equally revamped. There are no longer local, localRemote and remote views. local configuration namespace has been kept for backward compatibility but the two others do not do anything anymore.
  • 3PID notifications have been equally revamped and no longer have local or remote validations, while local config goes up one level.

To migrate your configuration, edit your configuration so:

Step 1

Any key which is not itself a value (like a 3PID type) and is made of . is turned into proper YAML.

Proper YAML is:

  • 2 spaces per indentation. Not 4, and no tabs
  • Keys cannot be duplicated

Example:

my.config.item: 'value'

will become:

my:
  config:
    item: 'value'

Step 2

Configuration keys needs to be properly grouped as well.

Example:

my:
  config:
    item1: 'value1'
my:
  config:
    item2: 'value2

becomes:

my:
  config:
    item1: 'value1'
    item2: 'value2

Step 3

Placeholders now needs to be set to their intended value.

Example:

matrix:
  domain: 'example.org'
server:
  name: "${matrix.domain}"

becomes:

matrix:
  domain: 'example.org'
server:
  name: 'example.org'

Step 4

Move anything under view.session.local up one level to view.session

Example:

view:
  session:
    local:
      onTokenSubmit:
        success: '/path/to/session/local/tokenSubmitSuccess-page.html'
        failure: '/path/to/session/local/tokenSubmitFailure-page.html'

becomes:

view:
  session:
    onTokenSubmit:
      success: '/path/to/session/local/tokenSubmitSuccess-page.html'
      failure: '/path/to/session/local/tokenSubmitFailure-page.html'

Step 5

Adapt 3PID notification templates to the distinction local/remote being removed.

Example:

threepid:
  medium:
    <YOUR 3PID MEDIUM HERE>:
      generators:
        template:
          session:
            validation:
              local: '/path/to/validate-local-template.eml'
              remote: '/path/to/validate-remote-template.eml'

becomes

threepid:
  medium:
    <YOUR 3PID MEDIUM HERE>:
      generators:
        template:
          session:
            validation: '/path/to/validate-local-template.eml'

The remote key totally disappears and has no equivalent.

Clone this wiki locally