Releases: octokit/octokit.net
v0.29 - This Looks Serious (TLS)
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
- Add pagination support to
ReferencesClient
- #1694 via @gdziadkiewicz - Add pagination support to
RepositoryInvitationsClient
- #1692 via @gdziadkiewicz
Milestone: None
Features/Enhancements
- Add
InReplyToId
property toPullRequestReviewComment
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 Lambdanetcoreapp1.0
environment, by explicitly specifying theNetStandard.Library
meta-package version - #1713 via @ryangribble - Add
UpdatedAt
property toMilestone
response model, to indicate when it was last updated - #1722 via @shaggygi, @ryangribble - Support
StatusEvent
payloads, using new response modelStatusEventPayload
- #1732 via @itaibh - Octokit now handles
DateTime
andDateTimeOffset
response fields whose API response is in an unexpected Unix epoch time format - #1735 via @itaibh - Add
PullRequestReviewId
property toPullRequestReviewComment
response model, to indicate whichPullRequestReview
the comment is related to - #1739 via @mirsaeedi - Implement support for Repository Licenses, including adding
License
property toRepository
response model, addingSpxId
field toLicenseMetadata
response model and a newIRepositoriesClient.GetLicenseContents()
call - #1630 via @jozefizso, @M-Zuber, @ryangribble - Add
MergeableState
property toPullRequest
response model, to indicate additional information about why a pull request can't be merged - #1764 via @ryangribble - Add
Visibility
property toEmailAddress
response model, to indicate whether a primary email address isPublic
orPrivate
- #1757 via @asapferg, @ryangribble
Fixes
OAuthClient
now handles GitHub Enterprise instances correctly inCreateAccessToken()
andGetGitHubLoginUrl()
methods - #1726 via @ryangribble- Using the same
GitHubClient
instance from multiple threads in parallel will no longer throw occasional exceptions, after making theGitHubSerializerStrategy
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
- Updated Rate Limits documentation and samples - #1742 via @mirsaeedi
- Update supported platforms in README.md to include
.NET Standard 1.1
- #1744 via @ShalokShalom, @ryangribble - Clarified
ProductHeaderValue
usage to align with GitHub API Docs - #1751 via @IAmHughes, @ryangribble, @UnknownUser
v0.28 - Get to the Chopper!!!
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 exceedingInt32.MaxValue
. We've made this field along
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
Housekeeping
v0.27 - On a Roll
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 typePermission?
and will no longer be sent unless explicitly set
Release Notes
Features/Enhancements
- Implement additional fields in
Team
response andNewTeam
andUpdateTeam
requests, forPrivacy
,Maintainers
andDescription
where they were missing - #1669 via @ryangribble - Implement
Organization
filter inISearchClient.SearchCode()
- #1672 via @sepharg, @ryangribble - Implement team membership enhancements for role (Maintainer or Member) and state (Active or Pending) including new methods
TeamsClient.AddOrEditMembership()
andTeamsClient.GetMembershipDetails()
and updatingTeamsClient.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 theForks
search qualifiers (Include
orOnly
) - #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 standardctor
allowing it to be mocked if required - #1679 via @ryangribble
v0.26 - In the Nick of Time
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 inIRepositoryBranchesClient.UpdateBranchProtection
and additional granular methods toGetReviewEnforcement
,UpdateReviewEnforcement
andRemoveReviewEnforcement
via @M-Zuber, @ryangribble
v0.25 - She'll Be Comin' Round the Mountain
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
andnet45
frameworks -
Enum
fields in Octokit response classes are now wrapped in anStringEnum<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 inBranchProtectionRequiredStatusChecks
andBranchProtectionRequiredStatusChecksUpdate
classes, instead use the newEnforceAdmins
field onBranchProtectionSettingsUpdate
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
- Add a build task to validate LINQPad samples - #1551 via @mderriey
- Add a code formatting task to CAKE - #1550 via @mderriey
- Add GitVersion configuration file - #1555 via @mderriey
Milestone: dotnetcore Support
Features/Enhancements
- Port to .NET Core - #1503 via @mderriey, @ryangribble
- Remove unneeded files for .NET Core - #1549 via @mderriey
- Migrate dotnetcore to vs2017 tooling - #1567 via @ryangribble, @mderriey
- Provide SourceLink capability for Octokit and Octokit.Reactive assemblies - #1574 via @ryangribble, @mderriey
- Deliver the dotnetcore port and CAKE build framework changes - #1581 via @ryangribble, @mderriey
Fixes
Milestone: None
Features/Enhancements
- Add support for the newly resurrected
PullRequest.MergeCommitSha
property - #1562 via @alexperovich - Enhance
RepositoryBranchesClient
to support Admin Enforcement changes - #1598 via @M-Zuber - Implement Pull Request Review Requests API (Preview) - #1588 via @gdziadkiewicz, @ryangribble
- Provide a robust way to handle unknown enum values returned by GitHub API, to prevent deserialization errors until the enum values can be added to octokit - #1595 via @khellang, @ryangribble
- Implement Projects API (Preview) - #1480 via @maddin2016, @ryangribble
- Implement
ReviewPermission()
functionality forOrganizationMembersClient
(Preview API) - #1633 via @alfhenrik - Implement Organization OutsideCollaborators API (Preview) - #1639 via @alfhenrik, @ryangribble
- Implement pagination support for
OrganizationOutsideCollaboratorsClient.GetAll()
method - #1650 via @ryangribble - Implement
GetAllPendingInvitations()
functionality forOrganizationMembersClient
andTeamsClient
(Preview API) - #1640 via @alfhenrik, @ryangribble - Implement Pull Request Reviews API - #1648 via @hartra344, @ryangribble
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 newEventInfoState
values - #1563 via @ryangribble - Fix
NotificationsClient.MarkAsRead()
exception by specifying a payload body in thePUT
request - #1579 via @shiftkey, @ryangribble - Fix
connection.GetLastApiInfo()
was returningnull
in some situations - #1580 via @ryangribble - Fix even more
IssueTimelineClient
deserialization exceptions by adding even more newEventInfoState
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
tostring
- #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
v0.24 - A Sight For Sore Eyes
Features/Enhancements
- Add
GetAll
method toOrganizationsClient
- #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 toMilestone
class - #1489 via StanleyGoldman - Add support for passing sort options to
IssueCommentsClient.GetAllForRepository()
- #1501 via pjc0247 - Rename
PullRequest.Comment
toPullRequest.ReviewComment
for better accuracy - #1520 via bmeverett - Introduce
AbuseException
- #1528 via SeanKilleen - Add
Id
field toPullRequest
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 onGetObjectData()
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
- Clarify
ApiInfo
rate limiting usage in docs - #1524 via SeanKilleen - Clarify label coloring usage in docs - #1530 via SeanKilleen
Breaking Changes
- Creating and Editing Issues (and PullRequests) using
NewIssue
andIssueUpdate
requests
should now use theAssignees
collection rather than the now deprecatedAssignee
field.
Both fields can't be specified on the same request, so any code still usingAssignee
will
need to explicitly setAssignees
tonull
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 ofPullRequest.ReviewComment
- Several
EventsClient
methods previously returned the incorrectActivity
response class.
This has been corrected toIssueEvent
which although is now correct could break calling
code that was written assuming this previous incorrect return type.
v0.23 - Thumbs Up
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
- Repository identifiers now use
long
instead ofint
- #1445 via @shana, #1485 via @ryangribble - Searching for C# through the GitHub API now uses the correct alias - #1463 via @dampir
- Resolved deadlocking scenario in async/await usage - #1486 via @zzzprojects
Other
- LINQPad samples are now verified at build time - #1456 via @mderriey
- More obsolete APIs removed - #1458 via @ryangribble
- .NET Core support has been started - #1462 via @mderriey
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
Features
- Timeline preview API support - #1435 via @alfhenrik
- Initial groundwork for Branches API - #1437 via @ryangribble
- Base branch can now be updated when updating a pull request - #1450 via @ryangribble
- Enhancements to Protected Branches preview API - #1441 via @ryangribble
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()
orclient.Repository.Branch.GetAll()
has it'sProtected
property set totrue
. - 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 aHTTP 404
response.
v0.21.1 - I've Made A Huge Mistake
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
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
- Clarified obsolete warnings for Protected Branch preview API - #1428 via @ryangribble
- Remove Obsolete items - #1422 via @ryangribble
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()