When a new release of a component replaces one of its older versions (
), changes to its interface may invalidate existing component-based applications and require adaptation. To automate the latter, developers usually need to provide
. Whereas writing such specifications is cumbersome and error-prone, maintaining them is even harder, because any evolutionary component change may invalidate existing specifications. We show how the use of a history of structural component changes (
) enables automatic adaptation of existing adaptation specifications; the latter are written once and need not be maintained.