Repository navigation
Move the root namespace from IO.Ably to Ably.PubSub - #1342
Conversation
Mechanical namespace move for the 2.0 line. v1 (the released ably.io
package) keeps IO.Ably.*; v2 now lives entirely under Ably.PubSub.*, so
the two packages share no type names and a dependency graph containing
both compiles side-by-side - previously 148 public types collided,
making a mixed graph unbuildable without extern-alias gymnastics. The
new root also follows the .NET naming guidelines' Company.Product form
and agrees with the assembly names and package ids (Ably.PubSub.*), and
matches the family's intent (java io.ably.lib -> io.ably.pubsub, php
Ably\ -> Ably\PubSub\, python ably -> ably.pubsub) in the .NET-idiomatic
spelling.
The mapping: IO.Ably -> Ably.PubSub, sub-namespaces one-to-one
(IO.Ably.Realtime -> Ably.PubSub.Realtime, and so on), with two
deliberate exceptions - IO.Ably.Rest -> Ably.PubSub.Http (completing the
REST-to-HTTP rename for the moved channel types, mirroring java's
io.ably.lib.rest -> io.ably.pubsub.http) and the door namespaces
IO.Ably.PubSub.Device/Server -> Ably.PubSub.Device/Server (dropping the
vestigial IO. so each door's namespace equals its assembly and package
name). The test namespaces follow the same map, with the Tests.Rest
segments becoming Tests.Http to match their folders.
359 namespace declarations and every using directive across src, tests,
unity and examples move; the 7 RootNamespace/Import_RootNamespace hints
move with them (this supersedes the earlier decision that set those
hints to IO.Ably, which predates the namespace move). Two load-bearing
string literals are updated and pinned: IoC's platform lookup
asm.GetType("Ably.PubSub.Platform") - a silent runtime degradation if
missed, now guarded by the new AgentTests.IoC_ResolvesThePlatformClass
spec alongside the existing PlatformRuntime_ShouldDetectCorrectRuntime -
and the MsgPack serializer generator's Namespace/OutputDirectory
configuration (its orphaned generated-output directory src/IO.Ably is
renamed src/Ably.PubSub to keep the path real).
Unchanged on purpose: assembly names, package ids and every
InternalsVisibleTo grant (all name assembly identities); the wire agent
identifiers (ably-pubsub-dotnet, ably-pubsub-device, ably-pubsub-server)
and the Ably-Agent key, byte-identical; IO.Ably.snk / IO.Ably.ruleset
tool filenames and the IO.Ably.DeltaCodec submodule references; the
historical CHANGELOG entries and the 1.x-facing migration prose, where
IO.Ably correctly names the old API. Unity's link.xml is assembly-scoped
and untouched. UPDATING.md gains a "New root namespace" section - the
single biggest mechanical action for migrating 1.x code - and the
coexistence guidance in UPDATING.md and README.md is rewritten from
"both packages collide / unsupported" to "side-by-side compiles;
still migrate to avoid two connections and the 1.x billing treatment".
|
Important Review skippedToo many files! This PR contains 395 files, which is 295 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (395)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The committed Unity DLL still exposes the old namespaces while Unity sources and tests reference the new ones.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 2
Open (5)
What changed in this PR
Moves the .NET SDK root namespace from IO.Ably to Ably.PubSub to enable v1/v2 coexistence.
Changes:
- Updates namespaces, imports, project metadata, tests, examples, and package references.
- Renames REST-related namespaces to HTTP and updates door namespaces.
- Updates IoC platform resolution and adds regression coverage.
- Refreshes migration and package documentation.
| File | Summary |
|---|---|
unity/README.md |
Namespace migration reviewed |
unity/Assets/Tests/PlayMode/StatsSpecs.cs |
Namespace migration reviewed |
unity/Assets/Tests/PlayMode/AuthSpecs.cs |
Namespace migration reviewed |
unity/Assets/Tests/PlayMode/AblyRealtimeSpecs.cs |
Namespace migration reviewed |
unity/Assets/Tests/EditMode/StatsSpecs.cs |
Namespace migration reviewed |
unity/Assets/Tests/EditMode/AuthSpecs.cs |
Namespace migration reviewed |
unity/Assets/Tests/EditMode/AblyRealtimeSpecs.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/TestUtils.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/TestTransportWrapper.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/TestTransportFactory.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/RealtimeChannelExtensions.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/ConnectionAwaiter.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/AblySandboxFixture.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/AblySandbox.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/AblyRealtimeExtensions.cs |
Namespace migration reviewed |
unity/Assets/Tests/AblySandbox/AblyCollectionFixture.cs |
Namespace migration reviewed |
unity/Assets/Ably/Examples/Dashboard/AblyPresence.cs |
Namespace migration reviewed |
unity/Assets/Ably/Examples/Dashboard/AblyMain.cs |
Namespace migration reviewed |
unity/Assets/Ably/Examples/Dashboard/AblyChannel.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Utils/ReconnectionStrategyTest.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Utils/ErrorPolicyTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Types/SemanticVersionTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Types/OperatingSystemTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Transport/ConnectionAttemptTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Transport/AttemptFailedStateTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/TokenRequestPopulateTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/TokenParamsTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/TokenDetailsTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/TestLoggerSink.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/TestExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/StatsParsingTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Samples/RealtimeSamples.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Samples/DocumentationSamples.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/RecoveryKeyContextSpec.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/RealtimeWorkflowSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/RealtimeSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/RealtimeSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ProtocolMessageTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/PresenceSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/MockHttpRealtimeSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ExtraSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/DeltaSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/DeltaSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/DeltaLastMessageSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/CountDownTimerSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionStateTests/SuspendedStateSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionStateTests/InitializedStateSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionStateTests/FailedStateSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionStateTests/DisconnectedStateSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionStateTests/ConnectingStateSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionStateTests/ConnectedStateSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionStateTests/ClosingStateSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionStateTests/ClosedStateSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/GeneralConnectionSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/EventEmitterSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/ConnectionRecoverySpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/ConnectionPingSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/ConnectionParameterSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/ConnectionKeySpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/ConnectionIdSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/ConnectionFallbackSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/ConnectionFailureSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/ConnectionFailuresOnceConnectedSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSpecs/AblyRealtimeTestExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSandboxTransportSideEffectsSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSandBoxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionSandboxOperatingSystemEventsForNetworkSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ConnectionAttemptsInfoSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ChannelsSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ChannelSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Realtime/ChannelSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/RegistrationTokenTest.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/PushTestHelpers.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/PushRealtimeTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/PushChannelTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/PushAdminTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/PushAdminSandboxTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/LocalDeviceTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/ListSubscriptionsRequestTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/ListDeviceDetailsRequestTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/FakeMobileDevice.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Push/ActivationStateMachineTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MsgPackMessageSerializerTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MessagePack/SerializationTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MessageEncodes/Utf8EncoderTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MessageEncodes/ProtocolMessageSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MessageEncodes/MessageEncodersAcceptanceTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MessageEncodes/MessageDecodingAcceptanceTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MessageEncodes/JsonEncoderTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MessageEncodes/CipherEncoderTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/MessageEncodes/Base64EncoderTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/LoggerTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/JsonMessageSerializerTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TimeoutCallbackTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TimeoutCallback.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TestTransportWrapper.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TestTransportFactory.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TestLogger.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TestHelpers.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TestExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TaskCountAwaiter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TaskCompletionAwaiter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/TaskCompleterAwaiterTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/ResourceHelper.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/ProtocolDataAttribute.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/NowTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/Now.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/MiscUtils.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/InteroperabilityMessagePayloadDataAttribute.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/FakeTransportFactory.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/FakeTransport.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/FakeTimer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/FakeHttpMessageHandler.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/FakeConnectionContext.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/ConnectionAwaiter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/ConditionalAwaiter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/AblySpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/AblySandboxFixture.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/AblyRealtimeSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Infrastructure/AblyCollectionFixture.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/ImplicitTokenAuthWithClientId.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/HttpProtocolTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/TM3Spec.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/StatsSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/StatsSandBoxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/SandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/SandboxSpecExtension.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/RequestSandBoxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/PresenceSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/PresenceSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/MockHttpRestSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/JwtSandboxSpec.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/HttpSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/HttpSandBoxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/HttpInitSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/ChannelSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/ChannelSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/ChannelOptionsDefaultsTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Http/AblyHttpRequesterSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Helpers/JDiff.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Helpers/JAssert.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Extensions/StringExtensionsTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/Extensions/ChannelOptionsExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/ErrorInfoTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/EncryptionSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/DefaultTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/DateHelper.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/DataRequestQueryTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/DataRequestQueryParseTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/CustomSerializers/MessageExtrasConverterTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/CustomSerializers/MessageDataConverterTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/CustomSerializers/DateTimeOffsetConverterTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/ClientOptionsTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/CipherParamsTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/CapabilityTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AuthTests/TestAblyAuth.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AuthTests/ServerTimeTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AuthTests/RequestTokenSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AuthTests/AuthSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AuthTests/AuthorizeTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AuthTests/AuthorizationTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AuthTests/AuthOptionsTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/ApiKeyTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AgentTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AblyResponseTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.Shared/AblyInsecureRequestExceptionTests.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.NETFramework/Ably.PubSub.Tests.NETFramework.csproj |
Namespace migration reviewed |
src/Ably.PubSub.Tests.DotNET/PubSub/PubSubPackageSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.DotNET/PubSub/PubSubDoorSandboxSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.DotNET/PubSub/PackagingSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Tests.DotNET/PubSub/ClientOptionsCloneSpecs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Side/Side.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Utils/TaskUtils.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Utils/StringUtils.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Utils/ReconnectionStrategy.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Utils/ErrorPolicy.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Utils/ConnectionChangeAwaiter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Utils/ActionUtils.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Utils/ActionOnDispose.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Unity/UnityHelper.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Unity/UnityAdapter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/SemanticVersion.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/ProtocolMessage.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/PresenceMessage.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/OperatingSystem.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/MessageExtras.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/Message.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/LockedList.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/IMessage.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/ErrorInfo.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/ErrorCodes.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/ConnectionDetails.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/ChannelParams.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/ChannelModes.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Types/AuthDetails.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/TransportParams.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/TaskWrapper.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ICountdownTimer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionSuspendedState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionStateBase.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionInitializedState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionFailedState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionDisconnectedState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionConnectingState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionConnectedState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionClosingState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/States/Connection/ConnectionClosedState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/MsWebSocketTransport.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/MsWebSocketConnection.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/MessageAndCallback.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/ITransport.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/IConnectionManager.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/IConnectionContext.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/ConnectionManager.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/ConnectionInfo.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/ConnectionHeartbeatHandler.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/ConnectionAttemptsInfo.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/ConnectionAttempt.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Transport/AttemptFailedState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/TokenResponse.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/TokenRequest.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/TokenParams.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/TokenDetails.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/TaskConstants.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Statistics.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Result.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Workflows/RealtimeWorkflow.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Workflows/RealtimeState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Workflows/RealtimeCommands.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Workflows/RealtimeCommand.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Workflows/PingRequest.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Workflows/IQueueCommand.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Workflows/ChannelCommands.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/RecoveryKeyContext.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/RealtimeTransportData.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/RealtimeChannels.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/RealtimeChannel.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/PresenceMap.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Presence.QueuedPresenceMessage.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Presence.GetParams.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Presence.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/MessageHandlerAction.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/LastMessageIds.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/IRealtimeChannel.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Handlers.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ConnectionStateChangedEventArgs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ConnectionState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ConnectionEvent.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/Connection.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ChannelStateChangedEventArgs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ChannelState.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ChannelProperties.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ChannelMessageProcessor.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ChannelEvent.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ChannelErrorEventArgs.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/ChannelAwaiter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Realtime/AttemptsHelpers.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/QueryDirection.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/RegistrationToken.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/PushRealtime.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/PushHttp.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/PushChannelSubscription.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/PushChannel.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/PushCallbacks.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/PushAdmin.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/PersistKeys.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/LocalDevice.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/ListSubscriptionsRequest.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/ListDeviceDetailsRequest.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/IPushChannelSubscriptions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/IMobileDevice.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/IDeviceRegistrations.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/DeviceFormFactor.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/DeviceDetails.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/ActivationStateMachine.States.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/ActivationStateMachine.Events.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Push/ActivationStateMachine.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/PubSubRealtimeClient.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/PubSubHttpClient.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Protocol.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/PaginatedResult.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/PaginatedRequestParams.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/VcDiffErrorInfo.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/VCDiffEncoder.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/Utf8Encoder.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/ProcessedPayload.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/PayloadCache.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/MessageHandler.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/MessageEncoder.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/JsonEncoder.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/DecodingContext.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/CipherEncoder.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/MessageEncoders/Base64Encoder.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/JsonHelper.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IPubSubRealtimeClient.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IPubSubHttpClient.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IPlatform.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IoC.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/InternalLogger.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/ILoggerSink.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/ILogger.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IInternalLogger.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IChannels.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IChannelCipher.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IAblyHttpRequester.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/IAblyAuth.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/HttpUtility.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/HttpPaginatedResponse.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/IHttpChannel.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/HttpChannels.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/HttpChannel.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/ChannelOptions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/ChannelDetails.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/AblyResponse.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/AblyRequest.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/AblyHttpRequester.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Http/AblyHttpOptions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/UriExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/TaskExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/StringExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/PresenceExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/ObjectExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/EnumerableExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/DictionaryExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/DateExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Extensions/ChannelModeExtensions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/EventEmitter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Encryption/Crypto.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Encryption/AesCipher.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Defaults.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/DefaultLoggerSink.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/DefaultLogger.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/DataRequestQuery.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/CustomSerialisers/TimeSpanJsonConverter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/CustomSerialisers/MessageExtrasConverter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/CustomSerialisers/MessageDataConverter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/CustomSerialisers/DateTimeOffsetJsonConverter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/CustomSerialisers/CapabilityJsonConverter.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/ClientOptions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/CipherParams.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/CapabilityResource.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Capability.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/AuthOptions.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/AuthMethod.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/AsyncHelper.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/ApiKey.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Agent.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/AblyInsecureRequestException.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/AblyException.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/AblyAuth.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared/Ably.PubSub.Shared.projitems |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/MsgPackHelper.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/TimespanMessagePackSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/GeneratedSerializers/System_Net_HttpStatusCodeSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/GeneratedSerializers/IO_Ably_Types_ProtocolMessage_MessageActionSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/GeneratedSerializers/IO_Ably_PresenceMessage_ActionTypeSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/GeneratedSerializers/IO_Ably_MessageCountSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/GeneratedSerializers/IO_Ably_ErrorInfoSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/GeneratedSerializers/IO_Ably_CapabilitySerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/GeneratedSerializers/IO_Ably_Auth_TokenDetailsSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/DateTimeOffsetMessagePackSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Shared.MsgPack/CustomSerialisers/CapabilityMessagePackSerializer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Server/PubSubServer.cs |
Namespace migration reviewed |
src/Ably.PubSub.Server/Ably.PubSub.Server.csproj |
Namespace migration reviewed |
src/Ably.PubSub.Server.NETFramework/Ably.PubSub.Server.NETFramework.csproj |
Namespace migration reviewed |
src/Ably.PubSub.Device/PubSubDevice.cs |
Namespace migration reviewed |
src/Ably.PubSub.Device/Ably.PubSub.Device.csproj |
Namespace migration reviewed |
src/Ably.PubSub.Core/Properties/AssemblyInfo.cs |
Namespace migration reviewed |
src/Ably.PubSub.Core/Platform.cs |
Namespace migration reviewed |
src/Ably.PubSub.Core/Ably.PubSub.Core.csproj |
Namespace migration reviewed |
src/Ably.PubSub.Core.NETFramework/Properties/AssemblyInfo.cs |
Namespace migration reviewed |
src/Ably.PubSub.Core.NETFramework/Platform.cs |
Namespace migration reviewed |
src/Ably.PubSub.Core.NETFramework/Ably.PubSub.Core.NETFramework.csproj |
Namespace migration reviewed |
nuget/ably.pubsub.server.nuspec |
Namespace migration reviewed |
nuget/ably.pubsub.device.nuspec |
Namespace migration reviewed |
examples/NotificationsPublisher/Program.cs |
Namespace migration reviewed |
examples/NotificationsPublisher/AppLogger.cs |
Namespace migration reviewed |
CLAUDE.md |
Namespace migration reviewed |
CHANGELOG.md |
Namespace migration reviewed |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…espace-ably-pubsub
The namespace move mechanically over-applied to three comments whose
IO.Ably references were deliberate residuals:
- Both core AssemblyInfo files said Package builds sign with
Ably.PubSub.snk; no such file exists - the signing key deliberately
keeps its historical IO.Ably.snk name. Restored.
- IoC.cs's historical note claimed the assembly was "renamed from
Ably.PubSub to Ably.PubSub.Core"; no assembly was ever named plain
Ably.PubSub - the true history is a rename from IO.Ably to
Ably.PubSub.Core. Restored.
The asm.GetType("Ably.PubSub.Platform") lookup and its doc comment are
correct for the new namespace (pinned by IoC_ResolvesThePlatformClass)
and are untouched.
The committed unity/Assets/Ably/Plugins/Ably.PubSub.Device.dll still carried the pre-rename API (AblyRealtime, AblyRest, IO.Ably.* namespaces), so the in-tree Unity examples and test assemblies - which reference the new API - could not compile against it. Regenerated with the sanctioned unity-plugins-updater.sh from this branch's sources. The regeneration surfaced one missed rename site: the ILRepack internalize-exclude pattern in cake-build/unity-internalize-exclude.txt still read ^IO\.Ably\.PubSub\.Device\..* (its escaped dots kept it out of every plain-text IO.Ably sweep), so the first regeneration internalized the door class. The pattern now matches the moved namespace, ^Ably\.PubSub\.Device\..*, and PubSubDevice is public in the merged plugin again. Verified with monodis and string scans: assembly identity Ably.PubSub.Device 2.0.0.0 exactly once; the recorded duplicate-attribute check matches the previously accepted baseline (one Module-scope and one Assembly-scope row per attribute); 125 public types, all under Ably.PubSub.* with the door public and Newtonsoft/DeltaCodec/BCL shims internalized; the public type surface equals the old plugin's modulo the shipped renames and deprecated-API removals; the Ably.PubSub.Platform reflection literal present, no IO.Ably user strings, and no non-DeltaCodec IO.Ably type names remain. The plugin's .meta GUID and link.xml (assembly-scoped) are unchanged. This retires the release-pass regeneration deferral recorded on the rename PR; the Windows-side release checks (sn -v strong-name verification, IL2CPP validation) remain release items.
|
Thanks for the approval 👍 |


What this PR does
Moves the 2.0 root code namespace from
IO.AblytoAbly.PubSub. Originally stacked on the REST-to-HTTP rename PR (#1341, since merged); the branch now carries four commits:047dc155— the mechanical namespace move itself (the bulk of the diff; described below).427584c8— a sync merge bringing in the rename branch's typo-fix commit.46afcd30— restores three code comments the mechanical move over-renamed (the signing-key mentions in both coreAssemblyInfofiles, andIoC.cs's historical note — the key file is genuinely stillIO.Ably.snk, and the assembly history is a rename fromIO.AblytoAbly.PubSub.Core); raised by the Copilot review.6436a5d4— regenerates the committed Unity plugin from this branch's sources and fixes the ILRepack internalize-exclude pattern that still named the old door namespace (see the Update note at the bottom).Why
v1/v2 transitive coexistence. The released
ably.io1.x package ownsIO.Ably.*forever. Before this change, 2.0 redefined the same fully-qualified names — 148 public types collided — so any dependency graph containing both packages (an app on 2.0 with a library dependency still onably.io1.x) failed with CS0433 in the app's own code, escapable only with viralextern aliasgymnastics; our own docs called a mixed graph "unsupported". With v2 underAbly.PubSub.*, the two packages share zero type names: a mixed graph compiles side-by-side and a not-yet-migrated dependency no longer blocks an app's migration..NET naming alignment. The Framework Design Guidelines'
<Company>.<Product>form; namespace, assembly names (Ably.PubSub.Core/Device/Server) and package ids now all agree.Family precedent. Each SDK made the same move in its own idiom:
io.ably.lib→io.ably.pubsub— Rename the REST naming to HTTP across the project ably-pubsub-java#1246Ably\→Ably\PubSub\— Rest* to Http* renaming ably-pubsub-php#228ably→ably.pubsub— feat!: rename the Rest* to Http* ably-pubsub-python#694The mapping
IO.Ably(root)Ably.PubSubIO.Ably.Realtime,IO.Ably.Push,IO.Ably.Transport,IO.Ably.Types,IO.Ably.Encryption,IO.Ably.MessageEncoders,IO.Ably.CustomSerialisers, ...Ably.PubSub.*IO.Ably.RestAbly.PubSub.Http(completes the REST-to-HTTP rename for the moved channel types; mirrors java'sio.ably.lib.rest→io.ably.pubsub.http)IO.Ably.PubSub.Device/IO.Ably.PubSub.Server(doors)Ably.PubSub.Device/Ably.PubSub.Server— each door's namespace now equals its assembly and package nameTests.Restsegments becomeTests.Http, matching their folders359 namespace declarations, every
usingdirective (src, tests, unity, examples) and the 7RootNamespace/Import_RootNamespaceproject hints move together.Two string literals reviewers should check
Namespace strings hide in two places that fail silently rather than at compile time:
IoC.csresolves the platform head by name:asm.GetType("Ably.PubSub.Platform"). If this string drifted, every platform service would silently degrade to its fallback. It is now pinned by a new spec,AgentTests.IoC_ResolvesThePlatformClass(assertsIoC.PlatformIdis notOther), alongside the existingPlatformRuntime_ShouldDetectCorrectRuntime, which asserts the exact runtime and would also fail on a bad lookup.#if MSGPACK) MsgPack serializer-generator test'sNamespace/OutputDirectoryconfiguration; its orphaned generated-output directorysrc/IO.Ably/is renamedsrc/Ably.PubSub/so the configured path stays real.Everything else that still says
IO.Ablyis deliberate: theIO.Ably.snk/IO.Ably.rulesettool filenames, theIO.Ably.DeltaCodecsubmodule references, historical CHANGELOG entries, and 1.x-facing migration prose whereIO.Ablycorrectly names the old API.What this does NOT fix
Coexistence now compiles; it is still not desirable. Two SDKs in one process means two realtime connections and two token flows, and v1 clients carry no device/server classification, so they receive the 1.x billing treatment. UPDATING.md's new "New root namespace" section plus the rewritten coexistence guidance steer migrating graphs off
ably.io— now as advice rather than under compile-error duress. A library's v1 types are also distinct from v2 types at the API boundary, so values crossing it must be converted explicitly.Deliberately unchanged
Assembly names, package ids and every
InternalsVisibleTogrant (all name assembly identities, which do not change); the wire agent identifiers (ably-pubsub-dotnet,ably-pubsub-device,ably-pubsub-server) and theAbly-Agentkey, byte-identical; Unity'slink.xml(assembly-scoped).Validation
./build.sh --target=Build.NetStandard(Release, StyleCop-as-error): 0 warnings / 0 errors./build.sh --target=Build.NetFrameworkunder mono: green (the net46 heads compile the moved shared sources; the RootNamespace hint changes ride along)Package=True+PACKAGE) of the core and both doors: clean —InternalsVisibleToproven unaffectedIoC_ResolvesThePlatformClassplatform-resolution pinUpdate: the Unity plugin regeneration originally deferred to the release pass has been done on this PR (see the regeneration commit); only the Windows-side release checks (sn -v strong-name verification, IL2CPP validation) remain release items. The regeneration also fixed the ILRepack internalize-exclude pattern that still named the old door namespace.