Skip to content

chore: add snap-in version upgrade compatibility doc #147

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 136 additions & 0 deletions fern/docs/pages/references/snap-in-version-upgrade-compatibility.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
This section outlines the compatibility rules when upgrading snap-in versions. These rules determine what changes are allowed in a patch upgrade.

## Connections
- New optional connections can be added.
- New required connections cannot be added.
- Existing connections can be removed.
- For existing connections:
- Description can be changed.
- Display name can be changed.
- New keyring types can be added.
- Existing keyring types cannot be removed.
Comment on lines +10 to +11
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's rename it to allowed_connection_types or what is present in the manifest. Keyring Types have a different meaning

- Optional connections cannot be made required.
- Required connections can be made optional.

## Event Sources
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'Event Sources' should use sentence-style capitalization. (EK00037)

- New event sources cannot be added.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can add new event sources

- Existing event sources cannot be removed.
- For existing event sources:
- Description can be changed.
- Display name can be changed.
- Type cannot be changed.
- Connection can be removed but cannot be changed.
- Source config can be changed (test changes thoroughly).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [EkLine] reported by reviewdog 🐶

Remove 'thoroughly' if it's not important to the meaning of the statement. (EK00006)

Suggested change
- Source config can be changed (test changes thoroughly).
- Source config can be changed (test changes).

- Setup instructions can be changed.
- Function can be changed.

## Tags
- New tags can be added.
- Existing tags cannot be removed.
- For existing tags:
- Description can be changed.

## Automations
- Full flexibility - can be added, removed, or modified.
- Description can be changed.
- Source can be changed.
- Allowed event types can be changed.
- Function to execute can be changed.

## Hooks
- New hook types can be added.
- Existing hook types can be removed.
- Function to execute can be changed.

## Functions
- Full flexibility - can be added, removed, or modified.
- All properties can be changed.

## Commands
- Full flexibility - can be added, removed, or modified.
- All properties can be changed.

## Snap Kit Actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'Snap Kit Actions' should use sentence-style capitalization. (EK00037)

- Can be removed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

Must put the ending punctuation at the end of a list item. (EK00041)

Suggested change
- Can be removed
- Can be removed.

- For existing snap kit actions:
- Description can be changed.
- Function can be changed.

## Snap Components
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'Snap Components' should use sentence-style capitalization. (EK00037)

- Can be removed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

Must put the ending punctuation at the end of a list item. (EK00041)

Suggested change
- Can be removed
- Can be removed.

- For existing snap components:
- Display name can be changed.
- Description can be changed.
- Surface cannot be changed.
- Snap kit action name can be changed.
- Snap kit body can be changed.
- Initializer can be changed.

## Service Account
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'Service Account' should use sentence-style capitalization. (EK00037)

- Display name can be changed.
- Description can be changed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We cannot set description from the manifest


## Inputs (Global Variables)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'Inputs (Global Variables)' should use sentence-style capitalization. (EK00037)

- Can be added or removed.
- For existing inputs:
- Type cannot be changed.
- All other properties can be modified.

## Imports
- New imports can be added.
- Existing imports cannot be removed.
- For existing imports:
- Display name can be changed.
- Description can be changed.
- Function cannot be changed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

function can be changed

- New allowed keyring types can be added.
- Existing allowed keyring types cannot be removed.
- Function name can be changed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks repeated

- Loader function cannot be removed once set.

## User Level Keyrings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'User Level Keyrings' should use sentence-style capitalization. (EK00037)

- New keyrings can be added.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't allow required user level keyrings

- Existing keyrings can be removed.
- For existing keyrings:
- Description can be changed.
- Display name can be changed.
- New allowed types can be added.
- Existing allowed types cannot be removed.
- Required keyrings can be made optional.

## User Level Inputs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'User Level Inputs' should use sentence-style capitalization. (EK00037)

- Can be added or removed.
- For existing inputs:
- Type cannot be changed.
- All other properties can be modified.

## Keyring Types
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'Keyring Types' should use sentence-style capitalization. (EK00037)

- Can be added or removed.
- For existing keyring types:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SathishKumarHS Please check

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • scope delimiter cannot be changed
  • lets add one more, secret_config cannot be changed

- Name can be changed.
- Description can be changed.
- Scopes can be changed.
- Scope delimiter can be changed.
- Authorize, refresh, and revoke functions can be changed.
- Organization data can be changed.
- External service name can be changed.
- Kind cannot be changed.
- Keyring type template cannot be changed.
- OAuth secret ID cannot be changed.

## Functions Build Config
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'Functions Build Config' should use sentence-style capitalization. (EK00037)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this section. Build config is not documented

- Full flexibility - can be added, removed, or modified.
- All properties can be changed.

## Configuration Handler
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [EkLine] reported by reviewdog 🐶

'Configuration Handler' should use sentence-style capitalization. (EK00037)

- Full flexibility - can be added, removed, or modified.
- All properties can be changed.

## Operations
- New operations can be added.
- Existing operations cannot be removed.
- For existing operations:
- Operation type cannot be changed.
- Input ports cannot be changed (including type and schema).
- Output ports cannot be changed (including type and schema).
- Keyring types follow the same rules as Connections.
3 changes: 3 additions & 0 deletions fern/versions/public.yml
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,9 @@ navigation:
- page: Customizing snap-in configuration
slug: customizing-snap-in-configuration
path: ../docs/pages/references/snap-in-configuration.mdx
- page: Snap-in version upgrade compatibility
slug: snap-in-version-upgrade-compatibility
path: ../docs/pages/references/snap-in-version-upgrade-compatibility.mdx
- page: Development best practices
slug: best-practices
path: ../docs/pages/best_practices.mdx
Expand Down
Loading