OpenDKIM

- Download
- Documentation
- Bug/Feature Tracking
- Mailing lists
- Community
- Services
- Donate
- Links
- License

# Upgrading

This page contains information about upgrading from various versions of this package to the current one, or in some cases from other similar packages to this one.

Only changes that must be made (i.e. those for which there is no backward compatibility) are described here. See the `RELEASE_NOTES` file for more information on the full set of changes in each release to see if there are other changes of interest.

### dkim-milter

Since OpenDKIM came into being as a code fork from Sendmail, Inc.'s dkim-milter package, there is a great deal of backward compatibility that package. However, a few things have changed:

- In version 2.1.0 of OpenDKIM, a number of command line options were removed as they are redundant to the configuraton file and generally access to them at the command line is not useful (i.e. there's little chance one would need to change them quickly, such as during testing). See the OpenDKIM 2.1.0 section for specifics.
- In version 2.0.0 of OpenDKIM, the `KeyList` configuration parameter and its corresponding command line flag were removed and replaced by a new mechanism for doing key sets. See the OpenDKIM 2.0.0 section for specifics.

### OpenDKIM 2.1.0

Version 2.1.0 pruned a number of command line flags that were not in common use and were redundant to configuration file items. The ones left behind were those likely to be inconvenient to writing shell scripts (especially the automated start/stop type) if removed. This meant any such scripts that used them before would have to be updated. The removed options were:

- `-a` peer host list
- `-C` error handling configuration
- `-h` add X-DKIM header field
- `-i` internal hosts list
- `-I` external hosts list
- `-m` MTA names list
- `-M` MTA macro names/values list
- `-P` PID file to create (re-added in 2.1.3)
- `-R` send failure reports
- `-U` POP-before-SMTP database

### OpenDKIM 2.0.0

In OpenDKIM 2.0.0, the `KeyList` parameter was removed. The function previously served by that file has been split into two new settings, namely `KeyTable` (which gives a list of key names that map to a domain, a selector and a private key) and `SigningTable` which matches message senders to specific keys named in the key table. Detailed instructions for making this conversion are available in the file `opendkim/README` in the source code tarball.