Skip to content

Commit 11c54a8

Browse files
committed
Update history for 0.5.0
1 parent cb4ac0a commit 11c54a8

File tree

10 files changed

+85
-170
lines changed

10 files changed

+85
-170
lines changed

history.md

Lines changed: 65 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,65 @@
1-
# idunno.Bluesky Version History
1+
# Version History
22

33
## 0.5.0
44

5-
### idunno.AtProto
5+
### Bug Fixes
6+
7+
#### idunno.Bluesky
68

7-
* Add support for JSON source generation
8-
* Add builder for `AtProtoAgent`
9+
* Fix [direct message support](https://github.com/blowdart/idunno.Bluesky/issues/135).
910

10-
### idunno.Bluesky
11+
### Features
12+
13+
#### idunno.AtProto
1114

12-
* Add support for JSON source generation
13-
* Add builder for `BlueskyAgent`
15+
* Add support for JSON source generation.
16+
* Add builder for `AtProtoAgent`.
17+
* Add support for `CreateModerationReport()`.
18+
* Removed previously marked obsolete `RefreshSession()`, use `RefreshCredentials()` instead.
19+
20+
#### idunno.Bluesky
21+
22+
* Add support for JSON source generation.
23+
* Add builder for `BlueskyAgent.`
1424
* Wire up `at-proxy` support for Bluesky API endpoints due to upcoming [automatic forwarding deprecation](https://docs.bsky.app/blog/2025-protocol-roadmap-spring).
25+
* Add support for adding and reading reactions to and from direct messages.
26+
* Add support for `GetLabelerDeclaration()` and `GetLabelerServices()`.
27+
* Add support for `CreateModerationReport()`, including well-known constants.
28+
29+
### Breaking Changes
30+
31+
#### idunno.AtProto
32+
33+
* Repo operations now return `*Result` records (`ApplyWritesCreateResult`, `ApplyWritesDeleteResult`, `ApplyWritesUpdateResult`, `CreateRecordResult`, `PutRecordResult`).
34+
If you are using unwrapped repo operations you will need to update your type declarations, if not using `var`.
35+
36+
#### idunno.Bluesky
37+
38+
* Mirror `idunno.AtProto` return types.
1539

1640
## 0.4.1
1741

1842
### Bug Fixes
1943

2044
#### idunno.Bluesky
2145

22-
* *Fix video uploading code, sample and documentation
46+
* Fix video uploading code, sample and documentation.
2347

2448
## 0.4.0
2549

2650
### Features
2751

2852
#### idunno.Bluesky
2953

30-
* *Support for user thread gate and post gate preference settings.
54+
* Support for user thread gate and post gate preference settings.
3155

3256
## 0.3.0
3357

3458
### Features
3559

3660
#### idunno.AtProto
3761

38-
* OAuth support
62+
* OAuth support.
3963

4064
### Breaking Changes
4165

@@ -102,57 +126,63 @@
102126

103127
#### idunno.AtProto
104128

105-
* Fixed incorrect JWT DateTime comparison - thank you [alexmg](https://github.com/alexmg)
106-
* Fixed json deserialization errors in GetSessionResponse
129+
* Fixed incorrect JWT DateTime comparison - thank you [alexmg](https://github.com/alexmg).
130+
* Fixed json deserialization errors in `GetSessionResponse`.
107131

108132
#### Samples
109133

110-
* Added catch in Samples.SessionEvents when a bad token is being set on purpose - thank you [peteraritchie](https://github.com/peteraritchie)
134+
* Added catch in Samples.SessionEvents when a bad token is being set on purpose - thank you [peteraritchie](https://github.com/peteraritchie).
111135

112136
## 0.2.0
113137

114138
### Features
115139

116140
#### idunno.AtProto
117141

118-
* Add support for GetServiceAuth()
142+
* Add support for `GetServiceAuth()`.
119143

120144
#### idunno.Bluesky
121145

122-
* Add support for video
146+
* Add support for video.
123147

124148
## 0.1.3
125149

126150
### Features
127151

128152
#### idunno.Bluesky
129153

130-
* Add self labels for posts
131-
* *Breaking* - Consolidation of record value classes
154+
* Add self labels for posts.
155+
* *Breaking* - Consolidation of record value classes.
132156

133157
### Bug fixes
134158

135159
#### idunno.Bluesky
136160

137-
* Fixed facet positioning
161+
* Fixed facet positioning.
162+
163+
### Breaking changes
164+
165+
#### idunno.Bluesky
166+
167+
* Consolidation of record value classes.
138168

139169
### Docs
140170

141-
* Add Profile editing sample
171+
* Add Profile editing sample.
142172

143173
## 0.1.2
144174

145175
### Features
146176

147177
#### idunno.Bluesky
148178

149-
* Adds Profile editing
179+
* Adds Profile editing.
150180

151181
### Bug fixes
152182

153183
#### idunno.Bluesky
154184

155-
* Fixed positioning bug for PostBuilder facets
185+
* Fixed positioning bug for `PostBuilder` facets.
156186
* Removed incorrect link length check.
157187

158188
## 0.1.1
@@ -169,21 +199,21 @@
169199

170200
#### idunno.AtProto
171201

172-
* PDS authentication and session management
173-
* List, Create, Get, Put, Delete records
174-
* Blob uploads
175-
* Handle and PDS resolution
202+
* PDS authentication and session management.
203+
* List, Create, Get, Put, Delete records.
204+
* Blob uploads.
205+
* Handle and PDS resolution.
176206

177207
#### idunno.Bluesky
178208

179-
* Viewing feeds
180-
* Viewing a user's timeline and notifications
181-
* Viewing threads
182-
* Creating and deleting posts
183-
* Gating threads and posts
184-
* Likes, quotes, and reposts
185-
* Viewing user profiles
186-
* Following and unfollowing users
187-
* Muting and blocking users
188-
* Sending, receiving, and deleting messages
209+
* Viewing feeds.
210+
* Viewing a user's timeline and notifications.
211+
* Viewing threads.
212+
* Creating and deleting posts.
213+
* Gating threads and posts.
214+
* Likes, quotes, and reposts.
215+
* Viewing user profiles.
216+
* Following and unfollowing users.
217+
* Muting and blocking users.
218+
* Sending, receiving, and deleting messages.
189219

readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# ![The Bluesky butterfly logo, except in purple](docs/docicon.png)idunno.Bluesky
1+
# ![The Bluesky butterfly logo, except in purple](docs/docicon.png)idunno.Bluesky
22

33
[if you want me to wear 37 pieces of flair, like your pretty boy over there, Brian, why don't you just make the minimum 37 pieces of flair?]: #
44

@@ -49,7 +49,7 @@ The [releases page](https://github.com/blowdart/idunno.Bluesky/releases) provide
4949

5050
* Logging in idunno.Bluesky
5151
* GIF attaching
52-
* AOT & trimming support
52+
* AOT & trimming support (Contingent on [linker bug](https://github.com/dotnet/runtime/issues/114307))
5353
* Firehose support
5454
* Wider test coverage
5555
* More deserialization tests with captured responses

src/Directory.Build.props

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,16 @@
1515
<!-- Always treat "S1133 Deprecated code should be removed" as a warning -->
1616
<!-- Always treat "S1135 Complete the task associated to this 'TODO'" as a warning -->
1717
<WarningsNotAsErrors>S1133,S1135</WarningsNotAsErrors>
18-
<!-- Remove until https://github.com/dotnet/runtime/issues/114307 -->
18+
</PropertyGroup>
19+
20+
<!-- AOT & Trimming -->
21+
<!-- Remove until https://github.com/dotnet/runtime/issues/114307 -->
22+
<!--
23+
<PropertyGroup>
1924
<IsAotCompatible>true</IsAotCompatible>
25+
<JsonSerializerIsReflectionEnabledByDefault>false</JsonSerializerIsReflectionEnabledByDefault>
2026
</PropertyGroup>
27+
-->
2128

2229
<Choose>
2330
<When Condition="'$(Configuration)' != 'CodeQL'">

src/idunno.AtProto/AtProtoAgent.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
// Copyright(c) Barry Dorrans. All rights reserved.
22
// Licensed under the MIT License. See License.txt in the project root for license information.
33

4+
using System.Diagnostics.CodeAnalysis;
45
using System.Net;
6+
using System.Text.Json;
57

68
using Microsoft.Extensions.Logging;
79
using Microsoft.Extensions.Logging.Abstractions;
810

911
using idunno.AtProto.Authentication;
1012
using idunno.AtProto.Labels;
1113
using idunno.AtProto.Repo;
12-
using idunno.AtProto.Repo.Models;
13-
14-
using idunno.DidPlcDirectory;
15-
1614
using Blob = idunno.AtProto.Repo.Blob;
1715
using idunno.AtProto.Server.Models;
18-
using System.Text.Json;
19-
using System.Diagnostics.CodeAnalysis;
20-
using Duende.IdentityModel.OidcClient;
16+
using idunno.DidPlcDirectory;
17+
18+
2119

2220
namespace idunno.AtProto
2321
{

src/idunno.AtProto/Authentication/AccountStatus.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ public enum AccountStatus
1414
Takendown,
1515

1616
/// <summary>
17-
/// The account his been suspended.
17+
/// The account is suspended.
1818
/// </summary>
1919
Suspended,
2020

2121
/// <summary>
22-
/// The account deactivated.
22+
/// The account is deactivated.
2323
/// </summary>
2424
Deactivated
2525
}

src/idunno.AtProto/Authentication/AtProtoAgent.cs

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -788,44 +788,6 @@ public async Task<bool> RefreshCredentials(AtProtoCredential credential, Cancell
788788
};
789789
}
790790

791-
/// <summary>
792-
/// Refreshes the session specified by the <paramref name="refreshCredential"/>.
793-
/// </summary>
794-
/// <param name="refreshCredential">The refresh token to use to refresh the session.</param>
795-
/// <param name="cancellationToken">An optional cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
796-
/// <returns>The task object representing the asynchronous operation.</returns>
797-
/// <exception cref="ArgumentNullException">Thrown when <paramref name="refreshCredential"/> is null, or its Uri property is null.</exception>
798-
/// <exception cref="ArgumentException">Thrown when <paramref name="refreshCredential"/>'s RefreshToken property is null or whitespace.</exception>
799-
/// <exception cref="CredentialException">Thrown when <paramref name="refreshCredential"/> has not be created by <see cref="Login(AccessCredentials, CancellationToken)"/>.</exception>
800-
/// <remarks>
801-
/// <para>
802-
/// Only sessions created with username and password authentication can be updated with <see cref="RefreshSession(RefreshCredential, CancellationToken)"/>.
803-
///
804-
/// Oauth credentials should be refreshed by calling <see cref="RefreshCredentials(CancellationToken)"/>.
805-
/// </para>
806-
/// </remarks>
807-
[Obsolete("This method is obsolete. Call RefreshCredentials() instead.", false)]
808-
public async Task<bool> RefreshSession(RefreshCredential refreshCredential, CancellationToken cancellationToken = default)
809-
{
810-
ArgumentNullException.ThrowIfNull(refreshCredential);
811-
ArgumentNullException.ThrowIfNull(refreshCredential.Service);
812-
813-
ArgumentException.ThrowIfNullOrWhiteSpace(refreshCredential.RefreshToken);
814-
815-
if (refreshCredential.AuthenticationType != AuthenticationType.UsernamePassword &&
816-
refreshCredential.AuthenticationType != AuthenticationType.UsernamePasswordAuthFactorToken)
817-
{
818-
throw new CredentialException(refreshCredential);
819-
}
820-
821-
if (refreshCredential is IAccessCredential)
822-
{
823-
refreshCredential = new RefreshCredential(refreshCredential.Service, refreshCredential.AuthenticationType, refreshCredential.RefreshToken);
824-
}
825-
826-
return await RefreshSessionIssuedCredentials(refreshCredential, cancellationToken).ConfigureAwait(false);
827-
}
828-
829791
/// <summary>
830792
/// Resolves the authorization server <see cref="Uri"/> for the specified <paramref name="handle"/>.
831793
/// </summary>

src/idunno.AtProto/SourceGenerationContext.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ namespace idunno.AtProto
2020
AllowOutOfOrderMetadataProperties = true,
2121
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
2222
IgnoreReadOnlyProperties = false,
23-
GenerationMode = JsonSourceGenerationMode.Metadata,
23+
GenerationMode = JsonSourceGenerationMode.Default,
2424
NumberHandling = JsonNumberHandling.AllowReadingFromString,
2525
PropertyNameCaseInsensitive = true,
2626
PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase,
27+
UseStringEnumConverter = true,
2728
WriteIndented = false)]
2829

2930
[JsonSerializable(typeof(AtErrorDetail))]
@@ -88,7 +89,6 @@ namespace idunno.AtProto
8889
[JsonSerializable(typeof(ModerationReport))]
8990

9091
[JsonSerializable(typeof(ServiceToken))]
91-
9292
internal partial class SourceGenerationContext : JsonSerializerContext
9393
{
9494
}

0 commit comments

Comments
 (0)