Deprecating vs Deleting
Removal of Tools
Rival provides two distinct mechanisms for removing tools from active usage: Deprecation and Deletion. These are designed to handle different scenarios depending on whether a tool is already in use, especially in public contexts where abrupt removal could disrupt existing workflows or integrations.
The distinction between these two actions is important. Deprecation introduces a controlled transition period, allowing users to adapt before a tool is removed. Deletion, on the other hand, is immediate and permanent.
Both actions can be applied at two levels. At the tool level, the action impacts the entire tool and all its versions. At the version level, only the selected version is affected while other versions remain available.
Deprecating a tool or version
Deprecation is intended for tools or versions that are already public and may be actively used by other users. Instead of removing them instantly, deprecation marks them for removal and introduces a grace period to prevent breaking dependent workflows.
When a tool or version is deprecated, it is immediately marked as deprecated and scheduled for automatic deletion after 30 days. During this period, the tool remains accessible, giving users time to migrate to alternatives or update their integrations.
Deprecation also triggers notifications. The user who initiates the deprecation receives a confirmation email, serving as a reminder to manage any dependencies. Additionally, users who have previously used the tool or version in their workflows are notified so they can take necessary action before removal.
Tool-level deprecation
When deprecation is applied at the tool level, all public versions of the tool are marked as deprecated together. The tool gradually exits the marketplace and becomes unavailable after the 30-day grace period.
Once deprecated at the tool level, the tool can no longer be modified or extended. No new versions can be created, and the entire tool is automatically removed at the end of the deprecation window.
Version-level deprecation
When applied at the version level, only the selected version is affected. Other versions of the tool continue to remain available and functional.
This allows developers to retire outdated or problematic versions while keeping newer or stable versions active.
Deleting a tool or version
Deletion is a permanent action that removes a tool or version immediately from the platform. Unlike deprecation, there is no grace period, and the removal cannot be reversed.
Because of its irreversible nature, deletion is restricted based on visibility and usage.
Private tools or private versions can be deleted instantly, as they are not exposed to external users. However, tools that have public versions cannot be deleted at the tool level unless all public versions have already been removed. This ensures that publicly available tools are not taken down without warning.
Tool-level deletion
Deleting a tool removes the entire tool and all of its versions permanently. This action is only allowed if none of the tool’s versions are public.
This safeguard ensures that tools currently accessible in the marketplace are not removed abruptly, protecting users who may depend on them.
Version-level deletion
Deleting at the version level removes only the selected version. Other versions of the tool remain unaffected and continue to function normally.
This is useful for cleaning up unused or experimental versions without impacting stable ones.
Choosing between deprecation and deletion
The choice between deprecation and deletion depends on how the tool is being used.
Deprecation is the recommended approach for public tools or versions, as it provides a safe transition period and prevents breaking existing integrations. It allows both developers and users to prepare for removal in a controlled manner.
Deletion is better suited for private tools, unused versions, or early-stage development artifacts where no external dependency exists.