Skip to content

Releases: octokit/octokit.net

v0.29 - This Looks Serious (TLS)

18 Feb 10:47
c4774ff
Compare
Choose a tag to compare

Packages

Octokit 0.29.0 on NuGet
Octokit.Reactive 0.29.0 on NuGet

Advisories and Breaking Changes

  • On February 22, 2018 19:00 UTC, GitHub will disable permanently the use of weak cryptogrpahic standards. Applications targeting .NET Framework 4.5.x will be affected, as that framework does not enable the now required protocol (TLS1.2) by default. This octokit.net release will automatically enable this protocol, when the GitHubClient is constructed. Note that applications targeting .NET Framework 4.6+ or .NET Core should already have TLS1.2 enabled by default, and this release does nothing with enabled protocols on those platforms.
  • Affected clients that are unable to update octokit.net, can include their own code change to enable TLS1.2 as an alternative to updating to this release.

Release Notes

Milestone: Missing Pagination Support

Features/Enhancements

Milestone: None

Features/Enhancements

  • Add InReplyToId property to PullRequestReviewComment response model, to indicate when a comment is in reply to another comment - #1715 via @thedillonb
  • Ensure the netstandard1.1 targeted package is compatible with AWS Lambda netcoreapp1.0 environment, by explicitly specifying the NetStandard.Library meta-package version - #1713 via @ryangribble
  • Add UpdatedAt property to Milestone response model, to indicate when it was last updated - #1722 via @shaggygi, @ryangribble
  • Support StatusEvent payloads, using new response model StatusEventPayload - #1732 via @itaibh
  • Octokit now handles DateTime and DateTimeOffset response fields whose API response is in an unexpected Unix epoch time format - #1735 via @itaibh
  • Add PullRequestReviewId property to PullRequestReviewComment response model, to indicate which PullRequestReview the comment is related to - #1739 via @mirsaeedi
  • Implement support for Repository Licenses, including adding License property to Repository response model, adding SpxId field to LicenseMetadata response model and a new IRepositoriesClient.GetLicenseContents() call - #1630 via @jozefizso, @M-Zuber, @ryangribble
  • Add MergeableState property to PullRequest response model, to indicate additional information about why a pull request can't be merged - #1764 via @ryangribble
  • Add Visibility property to EmailAddress response model, to indicate whether a primary email address is Public or Private - #1757 via @asapferg, @ryangribble

Fixes

  • OAuthClient now handles GitHub Enterprise instances correctly in CreateAccessToken() and GetGitHubLoginUrl() methods - #1726 via @ryangribble
  • Using the same GitHubClient instance from multiple threads in parallel will no longer throw occasional exceptions, after making the GitHubSerializerStrategy internals thread-safe - #1748 via @daveaglick
  • Remove deserializer enum cache miss by correcting the case of AccountType parameter values - #1759 via @ryangribble
  • Add TLS1.2 to enabled security protocols (.NET Framework 4.5 only) to avoid SSL connectivity errors when GitHub deprecates weak algorithms on February 22 - #1758 via @ryangribble
  • Deserializer now handles nullable StringEnum<T> members - #1760 via @ryangribble

Documentation Updates

v0.28 - Get to the Chopper!!!

06 Nov 11:38
ed1feb6
Compare
Choose a tag to compare

Packages

Octokit 0.28.0 on NuGet
Octokit.Reactive 0.28.0 on NuGet

Advisories and Breaking Changes

  • This release has been pushed out in response to CommitStatus.Id on GitHub exceeding Int32.MaxValue. We've made this field a long now... sorry about that!

Release Notes

Features/Enhancements

  • You can now use IGitHubClient.SetRequestTimeout(TimeSpan timeout) to set a custom timeout, particularly useful for lengthy operations such as uploading release assets. - #1693 via @pmiossec, @ryangribble

Fixes

  • Update CommitStatus.Id field from int to long to prevent overflow exceptions - #1703 via @kzu

Housekeeping

  • Correct rendering of HttpClient documentation page - #1699 via @scovetta

v0.27 - On a Roll

07 Oct 03:23
Compare
Choose a tag to compare

Packages

Octokit 0.27.0 on NuGet
Octokit.Reactive 0.27.0 on NuGet

Advisories and Breaking Changes

  • NewTeam.Permission has been changed to a nullable type Permission? and will no longer be sent unless explicitly set

Release Notes

Features/Enhancements

  • Implement additional fields in Team response and NewTeam and UpdateTeam requests, for Privacy, Maintainers and Description where they were missing - #1669 via @ryangribble
  • Implement Organization filter in ISearchClient.SearchCode() - #1672 via @sepharg, @ryangribble
  • Implement team membership enhancements for role (Maintainer or Member) and state (Active or Pending) including new methods TeamsClient.AddOrEditMembership() and TeamsClient.GetMembershipDetails() and updating TeamsClient.GetAllMembers() to allow filtering by role. - #1670 via @ryangribble
  • Implement Nested Teams API (Preview) - #1682 via @ryangribble

Fixes

  • Assembly versioning, NuGet package metadata and inter-package version dependencies should now be correct, after automating them via the build process - #1660 via @ryangribble, @mderriey
  • Octokit can now run in environments where PlatformNotSupported exception was encountered when initializing the API connection (eg AWS Lambda) - #1660 via @ryangribble, @mderriey
  • Intellisense should once again be available for Octokit libraries - sorry about that! - #1674 via @mderriey
  • ISearchClient.SearchRepo() now uses the correct values for the Forks search qualifiers (Include or Only) - #1680 via @ryangribble

Housekeeping

  • Add convention tests to enforce API Pagination support and naming conventions - #1659 via @ryangribble
  • BranchProtection response class EnforceAdmins now provides a standard ctor allowing it to be mocked if required - #1679 via @ryangribble

v0.26 - In the Nick of Time

31 Aug 05:17
Compare
Choose a tag to compare

Packages

Octokit 0.26.0 on nuget
Octokit.Reactive 0.26.0 on nuget

Advisories and Breaking Changes

  • This release contains the necessary Octokit changes to specify the required_pull_request_reviews field on Branch Protection updates, which becomes mandatory when the Protected Branches API graduates from preview mode on the 1st September

Release Notes

Features/Enhancements

  • Implement RequiredPullRequestReviews support in IRepositoryBranchesClient.UpdateBranchProtection and additional granular methods to GetReviewEnforcement, UpdateReviewEnforcement and RemoveReviewEnforcement via @M-Zuber, @ryangribble

v0.25 - She'll Be Comin' Round the Mountain

23 Aug 11:29
Compare
Choose a tag to compare

Packages

Octokit 0.25.0 on nuget
Octokit.Reactive 0.25.0 on nuget

Advisories and Breaking Changes

  • Octokit.net has been ported to dotnetcore 🎉 providing libraries targetting netstandard1.1 and net45 frameworks

  • Enum fields in Octokit response classes are now wrapped in an StringEnum<TEnum> helper class, to provide more robustness in dealing with unknown API values for these fields. Whilst the changes are backwards compatible, please consult the guidance on working with Enums for more information

  • IncludeAdmins field is no longer present in BranchProtectionRequiredStatusChecks and BranchProtectionRequiredStatusChecksUpdate classes, instead use the new EnforceAdmins field on BranchProtectionSettingsUpdate or the new explicit methods for configuring Admin Enforcement on protected branches. This was an upstream API breaking change so we couldn't follow our normal deprecation schedule

Release Notes

Milestone: CAKE Builds

Features/Enhancements

Milestone: dotnetcore Support

Features/Enhancements

Fixes

  • Fix broken JSON deserialization in .NET 4.5 after VS2017 project update - #1647 via @mderriey

Milestone: None

Features/Enhancements

Fixes

  • Fix RepositoryTrafficClient to handle upstream API change in timestamps from Unix epoch time to ISO8601 - #1560 via @mderriey, @ryangribble
  • Fix more IssueTimelineClient deserialization exceptions by adding more new EventInfoState values - #1563 via @ryangribble
  • Fix NotificationsClient.MarkAsRead() exception by specifying a payload body in the PUT request - #1579 via @shiftkey, @ryangribble
  • Fix connection.GetLastApiInfo() was returning null in some situations - #1580 via @ryangribble
  • Fix even more IssueTimelineClient deserialization exceptions by adding even more new EventInfoState values (this is getting old!) - #1591 via @lynnfaraday, @ryangribble
  • NewRepositoryWebHook.ToRequest() no longer discards existing fields if they are set - #1623 via @ctolkien
  • Fix pagination on API calls that use Uri parameters (typically for requests that include some form of filtering) - #1649 via @ryangribble
  • Fixed RepositoryCommitsClient.GetSha1() to correctly obtain the sha1 of the specified commit, after the API went from preview to official - #1654 via @ryangribble

Housekeeping

  • Remove obsolete constructor of RepositoryUpdate request class - #1569 via @eriawan
  • Remove unused Rx-Main dependency from LINQPad samples - #1593 via @NickCraver
  • Change response models 'Url' properties from Uri to string - #1585 via @mderriey
  • Remove obsolete branch protection methods/classes - #1620 via @ryangribble
  • Remove methods and members that were marked [Obsolete] in 0.23 or earlier - #1622 via @ryangribble

Documentation Updates

  • Fix Issue documentation samples (GetForRepository() should be GetForRepository()) - #1602 via @tnaoto
  • Fix Release documentation samples (ReleaseUpdate should be NewRelease) - #1611 via @watsonlu

v0.24 - A Sight For Sore Eyes

17 Jan 08:56
Compare
Choose a tag to compare

Features/Enhancements

  • Add GetAll method to OrganizationsClient - #1469 via malamour-work
  • Add missing fields to Repository class - HasPages, SubscribersCount, Size - #1473 via ryangribble
  • Allow base64 content for create/update file - #1488 via laedit
  • Add HtmlUrl field to Milestone class - #1489 via StanleyGoldman
  • Add support for passing sort options to IssueCommentsClient.GetAllForRepository() - #1501 via pjc0247
  • Rename PullRequest.Comment to PullRequest.ReviewComment for better accuracy - #1520 via bmeverett
  • Introduce AbuseException - #1528 via SeanKilleen
  • Add Id field to PullRequest class - #1537 via YunLi1988
  • Unparseable ApiErrors should now fall back to better default error messages - #1540 via SeanKilleen

Fixes

  • Fix errors in ObservableEventsClient caused by incorrect return types - #1490 via StanleyGoldman
  • Add missing SecurityCritical attribute on GetObjectData() overrides - #1493 via M-Zuber
  • Fix exceptions in Events API by adding missing event types to EventInfo enumeration - #1536 via lynnfaraday
  • Add new AccountType "Bot" to prevent deserialization errors - #1541 via ryangribble

Documentation Updates

Breaking Changes

  • Creating and Editing Issues (and PullRequests) using NewIssue and IssueUpdate requests
    should now use the Assignees collection rather than the now deprecated Assigneefield.
    Both fields can't be specified on the same request, so any code still usingAssigneewill
    need to explicitly setAssigneestonull to avoid Api validation errors.
  • OrganizationsClient.GetAll(string user) has been marked obsolete in favour of
    OrganizationsClient.GetAllForUser(string user)
  • PullRequest.Comment has been marked obsolete in favour of PullRequest.ReviewComment
  • Several EventsClient methods previously returned the incorrect Activity response class.
    This has been corrected to IssueEvent which although is now correct could break calling
    code that was written assuming this previous incorrect return type.

v0.23 - Thumbs Up

07 Oct 02:05
Compare
Choose a tag to compare

Features

  • Added support to test whether a URL points to a GitHub Enterprise instance - #1404 via @haacked
  • Added granular methods for Protected Branches preview API - #1443 via @maddin2016
  • Repository Traffic preview API support - #1457 via @maddin2016
  • Preview API for merge/squash/rebase in repository settings - #1477 via @ryangribble
  • Added support for performing a rebase and merge through the API- #1479 via @ryangribble

Fixes

Other

Breaking Changes

Repository identifiers returned from the GitHub API will exceed Int32.MaxValue in around 12 months, based on current growth. We've decided to update everywhere we require (or return) a repository identifier from int to long so that these will continue to work in the future, and the implicit conversion from int to long means the impact should be manageable now.

MergePullRequest.Squash has been marked as obsolete in favour of the MergeMethod property - use PullRequestMergeMethod.Squash or PullRequestMergeMethod.Rebase if you want to change the merge behaviour when merging a pull request.

v0.22 - Ridgy Didge

01 Sep 07:56
Compare
Choose a tag to compare

Features

Fixes

  • Redirect timeout when repository renamed - #1411 via @maddin2016

Breaking Changes

The new Branches client added in #1437 means that existing methods on I(Observable)RepositoryClient are now marked as obsolete. Please update your usages to the new endpoints as these will be removed in a future release:

  • client.Repository.GetBranch() => client.Repository.Branch.Get()
  • client.Repository.GetAllBranches() => client.Repository.Branch.GetAll()
  • client.Repository.EditBranch() => client.Repository.Branch.Edit()

There is also a change in how branch protection works with the API, due to upstream changes. The existing methods have been marked as obsolete, but for the sake of brevity here are the details about what you should be doing today.

The process for inspecting branch protection is now two steps:

  • first, check the branch returned by client.Repository.Branch.Get() or client.Repository.Branch.GetAll() has it's Protected property set to true.
  • then, a call to client.Repository.Branch.GetBranchProtection() will return the details about the protection settings for the given branch. If no protection is set for this branch, you will received a HTTP 404 response.

v0.21.1 - I've Made A Huge Mistake

29 Jul 01:01
Compare
Choose a tag to compare

Features

Due to a programming error in the tool to generate these release notes, additional
features were not properly documented for the previous release:

  • Reactions preview API support for issues, issue comments, commit comments and PR comments - #1335, #1341, #1405 via @maddin2016, @alfhenrik
  • Repository Invitation preview API support - #1410 via @maddin2016
  • Added new files for signature verification to Git Data Commit API - #1398 via @Sarmad93

No additional code changes have been made to this release.

v0.21 - Which Puppy

28 Jul 05:03
Compare
Choose a tag to compare

Features

This release adds support across Octokit.net for providing the repository Id
rather than a name/owner pair. The repository Id does not change when transferring
ownership of a repository, and is more robust for API callers. This work
was lead by @dampir as part of Google Summer of Code 2016.

  • Added new fields for Deployment and DeploymentStatus preview API - #1365 via @ErikSchierboom
  • Added new fields for signature verification to Git Data Tag API - #1420 via @Sarmad93
  • Added new fields for GitHub Pages preview API - #1421 via @dampir

Fixes

  • Fix serialization of enum value attributes - #1402 via @maddin2016
  • Fix searching for repositories with underscore in name - #1418 via @dsplaisted, @shiftkey

Other

Breaking Changes

After a long grace period, #1422 has removed these obsoleted members. These features
exist in other parts of the API surface:

  • I(Observable)GitHubClient.Release
  • I(Observable)GitHubClient.Notification
  • I(Observable)GitHubClient.GitDatabase
  • I(Observable)GitHubClient.SshKey
  • I(Observable)GitHubClient.Repository.RepositoryComments
  • I(Observable)GitHubClient.Repository.CommitStatus
  • I(Observable)GitHubClient.Repository.RepoCollaborators
  • I(Observable)GitHubClient.Repository.Commits

This method is no longer supported through the API and has been removed from Octokit.net:

  • I(Observable)GitHubClient.Authorization.RevokeAllApplicationAuthentications()