Releases: diomonogatari/Bitbucket.Net
Releases · diomonogatari/Bitbucket.Net
v0.3.0
What's Changed
- Implement Bitbucket Server Code Search API models and client methods by @diomonogatari in #5
Full Changelog: v0.2.0...v0.3.0
v0.2.0 - Error handling, streaming, and correctness
First public stable release of the modernized fork. 50 commits over the 0.1.0 pre-release.
Breaking Changes
- Exception handling: The library now throws
BitbucketApiException(and typed subtypes likeBitbucketNotFoundException,BitbucketConflictException, etc.) instead of rawFlurlHttpException. Update yourcatchblocks accordingly. Commentmodel: No longer inherits fromPullRequestInfo. Properties that were always null on comments (Title,Description,FromRef,ToRef,Locked,Reviewers) have been removed.Comment.State: Changed from anewkeyword hiding aPullRequestStatesenum to a plainstring?.- Global Flurl config removed: The library no longer mutates
FlurlHttp.Clients.WithDefaults(), so other Flurl consumers in the same process are no longer affected. - Unix timestamp methods renamed:
FromUnixTimeSeconds→FromUnixTimeMilliseconds,ToUnixTimeSeconds→ToUnixTimeMilliseconds. The old names were misleading — Bitbucket Server uses epoch milliseconds.ToUnixTimeSecondsalso had a data-corruption bug (returned ticks instead of seconds). - Timestamps are now UTC:
FromUnixTimeMillisecondsno longer calls.ToLocalTime(). All deserialized dates are returned as UTCDateTimeOffset.
Added
- 11 new
IAsyncEnumerablestreaming methods for paginated endpoints (PR activities, changes, comments, participants, tasks, blocker comments, dashboard/inbox PRs, tags, diffs) - SourceLink + symbol packages for debugger source stepping
- XML documentation on all public types and methods (ships in NuGet)
global.jsonfor reproducible SDK version pinningDirectory.Build.propsfor centralized build settings- Code coverage collection in CI
- 63 new tests (633 → 697): streaming, diff streaming, cancellation propagation, DI constructor integration
Fixed
- Typed exceptions now fire: Flurl error suppression ensures
BitbucketApiExceptionhierarchy is thrown instead ofFlurlHttpException CancellationTokenpropagation: All helper methods pass tokens through to HTTP callsPullRequest.ToString()/Participant.ToString(): No longer throwNullReferenceExceptionon nullAuthorToUnixTimeSecondsdata corruption: Was returningDateTimeOffset.Ticks(~6 orders of magnitude wrong); now correctly returns epoch milliseconds- Nullable
DateTimeOffset?converter mismatch: 17 nullable properties now useNullableUnixDateTimeOffsetConverterinstead of the non-nullable variant - Unnecessary
using System.Net.Httpremoved fromDynamicMultipartFormDataContent
Changed
- Monolithic
Core/Projects/BitbucketClient.cs(4,491 lines) split into 10 focused partial-class files - Removed dead commented-out
Avatarproperty fromProjectDefinition
Installation
dotnet add package BitbucketServer.Net --version 0.2.0v0.1.0-beta.1
Modernized fork of Bitbucket.Net
First beta release of the independently maintained fork.
What changed from the original
- Upgraded to .NET 10 and C# 14
- Migrated from Newtonsoft.Json to System.Text.Json
- Added CancellationToken support on all async methods
- Added streaming (IAsyncEnumerable) for paged endpoints
- Typed exceptions (BitbucketException hierarchy)
- Bitbucket Server 9.0+ compatibility
- Flurl.Http 4.x