Repository: spotify/backstage
File: plugins/notifications-backend-module-email/config.d.ts (TypeScript)

Code before:
         */
        throttleInterval?: HumanDuration | string;
        /**
         * Configuration for broadcast notifications
         */
        broadcastConfig?: {
          /**
           * Receiver of the broadcast notifications:
           * none - skips sending
           * users - sends to all users in backstage, might have performance impact
           * config - sends to the emails specified in the config
           */
          receiver: 'none' | 'users' | 'config';
          /**
           * Broadcast notification receivers when receiver is set to config
           */
          receiverEmails?: string[];
        };
        /**
         * Optional SES config for mail options. Allows for delegated sender
         */
        sesConfig?: {
          /**
           * ARN of the identity to use for the "From"/sender address of the email
           */
          fromEmailAddressIdentityArn?: string;
          /**
           * Name of the configuration set to use when sending email via ses
           */
          configurationSetName?: string;
        };
        cache?: {
          /**
           * Email cache TTL, defaults to 1 hour
           */
          ttl?: HumanDuration | string;
        };
        filter?: {
          /**
           * Minimum severity. A notification with lower severity will not be emailed
           */
          minSeverity?: NotificationSeverity;
          /**
           * Maximum severity. A notification with higher severity will not be emailed
           */
          maxSeverity?: NotificationSeverity;
          /**
           * A notification who's topic is in this array will not be emailed
           */
          excludedTopics?: string[];
        };

Review comment (suggestion):
This is a pretty hard change - is there no way that you can just leave the old fields in place and mark them as `@deprecated`, and still obey them if they are set? I would like to give users a little bit of time to adapt, instead of suddenly breaking on update.

Code after:
         */
        throttleInterval?: HumanDuration | string;
        /**
         * Configuration for broadcast notifications
         */
        broadcastConfig?: {
          /**
           * Receiver of the broadcast notifications:
           * none - skips sending
           * users - sends to all users in backstage, might have performance impact
           * config - sends to the emails specified in the config
           */
          receiver: 'none' | 'users' | 'config';
          /**
           * Broadcast notification receivers when receiver is set to config
           */
          receiverEmails?: string[];
        };
        /**
         * Optional SES config for mail options. Allows for delegated sender
         */
        sesConfig?: {
          /**
           * ARN of the identity to use for the "From"/sender address of the email
           */
          fromArn?: string;
          /**
           * Name of the configuration set to use when sending email via ses
           */
          configurationSetName?: string;
        };
        cache?: {
          /**
           * Email cache TTL, defaults to 1 hour
           */
          ttl?: HumanDuration | string;
        };
        filter?: {
          /**
           * Minimum severity. A notification with lower severity will not be emailed
           */
          minSeverity?: NotificationSeverity;
          /**
           * Maximum severity. A notification with higher severity will not be emailed
           */
          maxSeverity?: NotificationSeverity;
          /**
           * A notification who's topic is in this array will not be emailed
           */
          excludedTopics?: string[];
        };