ITADN
blowdart/idunno.Bluesky

版本发布 8

v1.8.1
? · 2026-04-24

### Changed * Updated OpenTelemetry dependencies to address [CVE-2026-40894 - OpenTelemetry dotnet: Excessive memory allocation when parsing OpenTelemetry propagation headers](https://nvd.nist.gov/vuln/detail/CVE-2026-40894)

v.1.4.0v1.4.0
? · 2026-01-18

### Added #### idunno.AtProto * Add public `AtProtoJsonSerializerOptions` to enable easier creation of `JsonSerializerOptions` with chained resolvers for custom `AtProtoRecord` classes. * Add `ToAccessCredentials` and `ToAccessTokenCredential` methods to `Session`. #### idunno.Bluesky * Add "cashtag" facet detection to the default facet extractor. See [Add cashtag support for stock ticker discussions](https://github.com/bluesky-social/social-app/pull/9689) * Add `SetLiveStatus` to indicate if a user is live streaming, and `SetStatus` and `DeleteStatus` to set and delete a user's status. * Add `BlueskyJsonSerializerOptions` to enable easier creation of `JsonSerializerOptions` with chained resolvers

v1.2.0
? · 2025-12-27

### Added #### idunno.AtProto * Add .NET 10 support * Add support for configuration binding and options in DI. * Add `OAuthLoginState` to `SourceGenerationContext`. * Expose `ValidationRegex` constants on `Did` and `Handle`. * Add optional parameter `uriExtraParameters` to `BuildOAuth2LoginUri`. * Add optional parameter `stateExtraProperties` to `BuildOAuth2LoginUri`. #### idunno.AtProto.OAuthCallback * Add .NET 10 support ### idunno.AtProto.Types * Create common ATProto types `idunno.AtProto.Types` package. #### idunno.Bluesky * Add .NET 10 support * Add support for configuration binding and options in DI. ### Changed #### idunno.AtProto * Update 3rd party dependencies. * Fix `AtProtoAgent.RefreshCredentials()` to attempt a refresh if the access token has expired and there is a refresh token available. * Update OAuth code for `IdentityModel.OidcClient.Extensions` version 7.0.0. #### idunno.AtProto.OAuthCallback * Update 3rd party dependencies. ### idunno.Bluesky * Update 3rd party dependencies. ### Breaking Changes #### idunno.AtProto * Move common ATProto types to `idunno.AtProto.Types` package. * The `AtProtoAgent` constructor can now take an `ClaimsPrincipal` or `ClaimsIdentity`. This means you must now use named parameters to call the desired constructor, e.g. ```c# using var agentWithoutLogging = new AtProtoAgent(service: new("https://bsky.social")); { } ```

v1.1.0
? · 2025-09-30

### Added #### idunno.Bluesky * Add support for pronouns and website in `Profile` and its associated views. * Add support for some of the more useful unspecced APIs * `GetAgeAssuranceState()` * `GetPopularFeedGenerators()` * `GetSuggestedStarterPacks()` * `GetSuggestedUsers()` * `GetTaggedSuggestions()` * `GetTrendingTopics()` * `GetTrends()` * Add support for Tags in `ReplyTo()` and `Quote()` methods. * Expose `FacetExtractor` on `BlueskyAgent`. ### Fixed #### idunno.AtProto * Calling logout on an agent which is authenticated via OAuth no longer causes a DPoP error on the AtProto API. ### Breaking Changes #### idunno.Bluesky * The constructor for `Profile()` which takes requires values for all parameters now includes a pronouns and website parameter.

v0.9.8v0.9.8-prerelease
? · 2025-09-09

### Features #### idunno.AtProto * Added extra validation to `Cid`. #### idunno.Bluesky * Bookmark support, `CreateBookmark()`, `DeleteBookmark()`, `GetBookmarks()` and the `BookmarkCount` property on `PostView`. ### Bug Fixes #### idunno.AtProto * Fixed `TimeStampIdentifier` generation to generate correct values. ### Documentation ### Breaking Changes #### idunno.AtProto * Moved `WebSocketOptions` from `idunno.AtProto.JetStream` to `idunno.AtProto`. * Renamed `JetstreamOptions.MaximumMessageSize` to `JetstreamOptions.BufferSize`.

v0.9.4v0.9.4-prerelease
? · 2025-05-31

## What's changed #### idunno.Bluesky * Fixed cursor parameters (Fixes #165) in * GetFollowers * GetBlocks, * GetFollows, * GetKnownFollowers, * GetListBlocks, * GetListMutes, * GetList, * GetLists, * ListConversations

v.0.9.1v0.9.1-prerelease
? · 2025-05-21

## What's changed #### idunno.AtProto * Add new overrides for `Login` to accept Handles and Dids. * Add `ClientState`, `MessageLastRecieved` and `FaultCount` properties to `AtProtoJetstream` to enable health monitoring. * Add metrics to `AtProtoJetStream`. #### idunno.Bluesky * Add `ExtractFacets()` to `PostBuilder` to enable auto-detection in `ReplyTo()`. * Add new `ReplyTo()` overload to `BlueskyAgent`. * Exposed `BlueskyServer.JsonSerializationOptions` so bots can deserialize payloads into Bluesky records with AOT support.

v.0.9.0v0.9.0-prerelease
? · 2025-05-12

## What's changed ### Features #### idunno.AtProto * New `AtProtoJetstream` class for consuming the jetstream. #### Docs * Add Jetstream docs * Add guidance for writing a simple scheduled post bot. #### Samples * Add Jetstream sample * Add bot sample ### Breaking Changes #### idunno.AtProto * Grand renaming * `AtProtoRecord` is renamed to `AtProtoRepositoryRecord` * `AtProtoRecordValue` is renamed to `AtProtoRecord` * `AtProtoReferencedObject` is renamed to `AtProtoRepositoryObject` * `CreateRecord<TRecordValue>` is now `CreateRecord<TRecord>` and the `recordValue` parameter is renamed to `record` * `GetRecord<T>` is now `GetRecord<TRecord>` and returns `AtProtoRepositoryRecord<TRecord>`. * `ListRecords<TRecordValue>` is now `ListRecord<TRecord>` * `PutRecord<TRecordValue>` is now `PutRecord<TRecord>` and the `recordValue` parameter is renamed to `record` * `AtProtoRepositoryRecord<T>` added to wrap the responses from `GetRecord<T>` #### idunno.Bluesky * Grand renaming * `BlueskyRecordValue` is renamed to `BlueskyRecord` * `BlueskyTimestampedRecordValue` is renamed to `BlueskyTimestampedRecord` * `LabelerDeclarationRecord` is renamed to `ReferencedLabelerDeclaration` * `LabelerDeclarationRecordValue` is renamed to `LabelerDeclaration` * `PostRecord` is renamed to `ReferencedPost` * `ProfileRecord` is renamed to `ReferencedProfile` * `ProfileRecordValue` is renamed to `Profile` * `StarterPackRecordValue` is renamed to `StarterPack` * `VerificationRecord` is renamed to `ReferencedVerification` * `VerificationRecordValue` is renamed to `Verification` * `BlockRecordValue` is renamed to `Block` * `FollowRecordValue` is renamed to `Follow` * `LikeRecordValue` is renamed to `Like` * `RepostRecordValue` is renamed to `Repost` * `CreateBlueskyRecord<TRecordValue>` is now `BlueskyRecord<TRecord>` and the `recordValue` parameter is renamed to `record` * `GetPostGate()` and `GetThreadGate` now use `AtProtoRepositoryRecord<T>` internally. * `ReferencedLabelerDeclaration` deleted in favor of `AtProtoRepositoryRecord<LabelerDeclaration>` * `ReferencedPost` deleted deleted in favor of `AtProtoRepositoryRecord<Post>`. * `ReferencedProfile` deleted deleted in favor of `AtProtoRepositoryRecord<Profile>`. * `ReferencedVerification` deleted deleted in favor of `AtProtoRepositoryRecord<Verification>`.