Skip to content

Deprecate releasing a realtime channel that isn't detached (RTS4b) - #460

Merged
SimonWoolf merged 1 commit into
mainfrom
release-deprecate-implicit-detach
Oct 9, 2026
Merged

SimonWoolf merged 1 commit into
mainfrom
release-deprecate-implicit-detach

Conversation

@SimonWoolf

@SimonWoolf SimonWoolf commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Implements the deprecation half of the Channels#release change in spec 6.3.0 (ably/specification#557).

Spec 6.3.0 replaces RTS4a (release detaches the channel first) with RTS4c–e (release raises error 90011 unless the channel is initialized, detached or failed). RTS4b lets SDKs that already implement RTS4a keep it until their next major version, provided they log a deprecation warning.

  • Realtime::Channels#release now logs a deprecation warning when called on a channel that is not initialized, detached or failed, then keeps the old detach-then-release behaviour.
  • Channels in those three states are removed immediately (RTS4d). This also fixes failed channels, which previously could never be released because detaching them fails.
  • Updated the docstring and unit specs.

The breaking change for 2.0 is in #461. Reference ably-js PRs: ably/ably-pubsub-js#2322 (deprecation) and ably/ably-pubsub-js#2323 (next major).

🤖 Generated with Claude Code

Spec 6.3.0 deletes RTS4a, under which Channels#release detaches the
channel before removing it, and replaces it with RTS4e, under which
release raises error 90011 unless the channel is initialized, detached
or failed. RTS4b lets SDKs that already implement the old behaviour keep
it until their next major version, provided they log a deprecation
warning when it takes effect.

Channels in the initialized, detached or failed state are now removed
immediately (RTS4d) rather than via detach. Previously a failed channel
could never be released, since detaching it fails.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@ttypic ttypic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@SimonWoolf
SimonWoolf merged commit 380e50e into main Oct 9, 2026
22 of 44 checks passed
@SimonWoolf
SimonWoolf deleted the release-deprecate-implicit-detach branch October 9, 2026 16:16

This branch was successfully deployed

2 active deployments
staging/pull/460/docs — 1bbbf7bf Deployed Oct 9, 2026 by github-actions[bot]
staging/pull/460/features — 1bbbf7bf Deployed Oct 9, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants