asyncapi / asyncapi/spec

[FEATURE REQUEST] Channel deprecation/sunset

Open
#305 9 comments 5 reactions 0 assignees View on GitHub
💭 Strawman (RFC 0) keep-open
Dominant language
JavaScript
Stars
5.3k
Forks
382
Avg merge
7m
Merged PRs (30d)
4

Description

It would be great to have a way to flag that a channel is deprecated or is going to disappear/sunset at some point. We already thought about a property like `deprecated: true` but that would be insufficient if we want to understand **when** the channel is going to finally disappear and what alternatives do I have.

I thought on something like this, following a bit the idea behind the [sunset header definition](https://tools.ietf.org/id/draft-wilde-sunset-header-03.html) for HTTP by @dret.

```yaml
deprecated: true
sunset:
datetime: 2020-01-21T18:33:19Z # Optional
message: Stop using it now! # Optional
externalDocs: myjira.com/issue-7 # Optional (Thanks Michael Davis)
alternativeChannel: /alternative/channel/name # Optional
```

I'm sure some folks over at JSON Schema and OpenAPI already had this discussion. Any thoughts? @philsturgeon @MikeRalphson @relequestual

Source of discussion here: https://asyncapi.slack.com/archives/C34F2JV0U/p1579542224002900

Contributor guide

Open the contributing guide

Research direction

No implementation files or tests are named. Start by reviewing the proposed YAML shape, the linked Sunset header definition, and the referenced Slack discussion to determine whether the design has consensus; done means an agreed specification change with defined deprecation, sunset, and alternative-channel semantics.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.