Repository navigation
Signal.NET 0.3.0-preview.1
Pre-releaseMilestone 0.3 (complete API coverage). Every change is additive: members added to existing interfaces have default
implementations, so code written against 0.2.0-preview.2 keeps compiling.
Added
-
Typed capabilities (roadmap 0.3.13):
SignalCapability(withSendQuotesandSendMentions),SignalApiInfo.SupportsandSignalApiInfo.EnsureSupported. The latter throws aNotSupportedExceptionnaming the missing feature and the API version. -
Group extras, contact sync and number search (roadmap 0.3.8, 0.3.9, 0.3.10):
- New
IGroupServicemembers:JoinAsync(accept an invitation),BlockAsync,UpdateSettingsAsync(GroupPermissions,GroupLinkMode, disappearing-messages timer),PinMessageAsyncandUnpinMessageAsync. - New
IContactServicemembers:SyncAsyncsends contacts to linked devices;CheckRegisteredAsyncreports which numbers are registered with Signal. - All are default interface members, so existing implementations keep compiling.
- New
-
Stickers and link previews (roadmap 0.3.6, 0.3.7):
OutgoingMessageBuilder.WithStickersends a sticker. The newStickervalue object parsespackId:stickerIdand binds as a command argument.- The new
IStickerServicelists and installs sticker packs, by id and key or from asignal.artshare link. OutgoingMessageBuilder.WithLinkPreviewattaches a preview card.Build()rejects previews whose URL isn't in the text, and stickers combined with attachments.
-
Device management (roadmap 0.3.2):
- The new
IDeviceServicelists (LinkedDevice), links and removes the devices of an account registered in the container. IAccountService.GetLinkUriAsyncreturns the rawsgnl://linkdeviceURI, so you can render your own QR code. It's a default interface member.
- The new
-
Account management (roadmap 0.3.3, 0.3.4, 0.3.11): new
IAccountServicemembers:SetUsernameAsyncandDeleteUsernameAsync;UpdateSettingsAsync(discoverability, number sharing);SetPinAsyncandRemovePinAsyncfor the registration lock;SubmitRateLimitChallengeAsyncto lift a rate limit with a captcha.
They are default interface members, so existing implementations keep compiling.
-
Registration and verification (roadmap 0.3.1):
- The new
IRegistrationServiceregisters a number as the container's primary device (RegisterAsyncby SMS or voice, with an optional captcha). VerifyAsynccompletes the registration with the received code and an optional registration-lock PIN.UnregisterAsyncremoves the number again.- Calls are never retried, so no duplicate verification codes are sent.
- The new
-
Remote delete (roadmap 0.3.5):
IMessageSender.RemoteDeleteAsyncdeletes a sent message for everyone, identified by itsSendResult.Timestamp. It's a default interface member, so existingIMessageSenderimplementations keep compiling. -
Streaming attachment downloads (roadmap 0.3.12):
IAttachmentService.OpenReadAsyncreturns anAttachmentDownloadwhose stream reads directly from the HTTP response, with content type and length. It's a default interface member, so existingIAttachmentServiceimplementations keep compiling. -
Release workflow: waits until every package is listed on nuget.org before creating the GitHub Release (roadmap 0.2.8).
-
Package validation: compares against the published
0.2.0-preview.2baseline, so breaking API changes faildotnet pack.
What's Changed
- Verify packages are listed on nuget.org before announcing a release by @Nacorpio in #13
- Stream attachment downloads (roadmap 0.3.12) by @Nacorpio in #14
- Add remote delete of sent messages (roadmap 0.3.5) by @Nacorpio in #15
- Add number registration and verification (roadmap 0.3.1) by @Nacorpio in #16
- Fix remaining race in WebSocket reconnect test by @Nacorpio in #17
- Add account management: username, settings, PIN, rate-limit challenge by @Nacorpio in #18
- Add device management (0.3.2) by @Nacorpio in #19
- Add stickers and link previews (0.3.6, 0.3.7) by @Nacorpio in #20
- Add group extras, contact sync and number search (0.3.8-0.3.10) by @Nacorpio in #21
- Add typed capability checks (0.3.13) by @Nacorpio in #22
- Release v0.3.0-preview.1 by @Nacorpio in #23
Full Changelog: v0.2.0-preview.2...v0.3.0-preview.1