Skip to content

Breaking change flow #623

@rosslo

Description

@rosslo

Why:
As we are doing design sync stuff, we will have to change the style or behavior which might cause a breaking change.

How:
For any potential breaking change, before we merge the change into v4, we should

  • Ensure the change being backward compatible.
  • Use console.warning to warn the developer about the legacy props.
  • Mark deprecated codes with @deprecated tag so the other developers can easily be aware of it from IDE.
  • Add the announcement about the legacy stuff on the storybook and slack (after merging into v4).
  • Create an issue for removing legacy features.

So the breaking changes won't break the production or block the other features and we won't be forced to migrate it on the projects asap.

After we migrate the breaking change on projects and merge the branch into staging, we can start to remove the legacy codes on glints-aries.

Example:
The two examples below both blocked the other features release before because we didn't make the change be backward compatible.

  • Color:

    • Slack: https://glints.slack.com/archives/CS09D0LJX/p1612494365026900
    • PR: Remove Deprecated Colors #583
    • Breaking change: Some color variables got renamed or removed.
    • How should we do:
      1. Add new colors and still keep the deprecated colors in src/Utils/Colors.ts.
      2. Remove deprecated colors from the storybook.
      3. Merge branch into v4 and announce the coming breaking changes on slack.
      4. Upgrade glints-aries and replace the legacy color variables with new ones on projects.
      5. After we merge the breaking change migration into staging, we can remove the legacy colors on glints-aries.
  • TextField:

Metadata

Metadata

Assignees

No one assigned

    Labels

    DocumentationIncludes Storybook and Github README

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions