This project tries to follow SemVer 2.0.0.
-
Fixed gRPC logs streaming failing if no port is specified in the
APIURL
field ofwharfapi.Client
. Now defaults to80
forHTTP
URLs, and443
forHTTPS
. (#48) -
Fixed
UpdateProjectBranchList
using the wrong HTTP request & response bodies. (#49)
-
Added methods for execution engine: (#45)
Client.GetEngineList() EngineList
:GET /api/engine
-
Added query parameter for specifying engine in new builds: (#45)
ProjectStartBuild.Engine
:POST /api/project/{projectId}/build?engine=...
-
Added
Client.CreateBuildLogStream
that uses wharf-api's gRPC API that was introduced in wharf-api v5.1.0 to allow streaming log creation. (#35) -
Added numerous dependencies:
github.com/alta/protopatch
v0.5.0 (#35)github.com/blang/semver/v4
v4.0.0. (#39)golang.org/x/oauth2
v0.0.0-20200107190931-bf48bf16ab8d (#35)google.golang.org/grpc
v1.44.0 (#35)google.golang.org/protobuf
v1.27.1 (#35)
-
Changed minimum version of Go from 1.16 to 1.17. (#36)
-
Changed
BuildSearch.Status
to a slice to support searching for builds of any matching status. Support was added to wharf-api in v5.1.0 with wharf-api#150. (#37) -
Added
WorkerID
toresponse.Build
model, as added in wharf-api#156. (#38) -
Added methods for API health and metadata: (#39)
Client.GetHealth() HealthStatus
:GET /api/health
Client.GetVersion() app.Version
:GET /api/version
Client.Ping() Ping
:GET /api/ping
-
Added methods for project overrides: (#40)
-
Client.GetProjectOverrides(uint) ProjectOverrides
:GET /api/project/{projectId}/override
-
Client.UpdateProjectOverrides(uint, ProjectOverridesUpdate) ProjectOverrides
:PUT /api/project/{projectId}/override
-
Client.DeleteProjectOverrides(uint)
:DELETE /api/project/{projectId}/override
-
-
Added method to delete a project (USE WITH CAUTION!): (#40)
Client.DeleteProject(uint)
:DELETE /api/project/{projectId}
-
Added methods for uploading artifacts and test results: (#40)
-
Client.CreateBuildArtifact(uint, string, io.Reader)
:POST /api/build/{buildId}/artifact
-
Client.CreateBuildTestResult(uint, string, io.Reader) []ArtifactMetadata
:POST /api/build/{buildId}/test-result
-
-
Added client and server version validation on all endpoints. This is disabled by default, but can be enabled with the following new flags: (#39)
client := wharfapi.Client{ ErrIfOutdatedClient: true, ErrIfOutdatedServer: true, }
-
Changed
Client
method receiver to a pointer on all methods. This will not break regular usage, but may break edge case usages during compilation. (#39) -
Changed all endpoints that sends JSON payload in the request to stream the writing instead of buffering it. This will lower the memory footprint for larger payloads. (#40)
-
Fixed
GetBuildArtifact
having invalid implementation where it expected an artifact JSON response, while in reality that's the endpoint to download an artifact. This will break compilation of existing code, but the endpoint never worked before to begin with. (#40)
-
BREAKING: Changed module path from
github.com/iver-wharf/wharf-api-client-go
togithub.com/iver-wharf/wharf-api-client-go/v2
. (#30) -
BREAKING: Removed support for wharf-api v4.2.0 and below. (#29)
-
Changed minimum version of Go from 1.13 to 1.16. (#29)
-
Added support for
github.com/iver-wharf/wharf-api
v5.0.0. (#29) -
Changed version of
github.com/iver-wharf/wharf-core
from v1.2.0 to v1.3.0. (#29) -
Added dependency
github.com/google/go-querystring
v1.1.0. (#29)
-
Added methods for search endpoints: (#18)
Client.SearchProject(Project) []Project
:POST /api/projects/search
Client.SearchProvider(Provider) []Provider
:POST /api/providers/search
Client.SearchToken(Token) []Token
:POST /api/tokens/search
-
Added documentation to all exported methods. (#11)
-
Added dependency on
github.com/iver-wharf/wharf-core
v1.1.0. (#12, #13, #16) -
Changed all logging via
fmt.Print
and sirupsen/logrus to instead use the newgithub.com/iver-wharf/wharf-core/pkg/logger
. (#13) -
Changed to use
problem.Response
fromwharf-core
instead of thewharfapi.Problem
that was added in v1.3.0/#4. (#12, #14) -
Removed
wharfapi.ProblemError
as theproblem.Response
type from thewharf-core
module conforms to theerror
interface. (#14) -
Removed dependency on
github.com/sirupsen/logrus
. (#13)
-
Fixed implementation of the refactor for ApiUrl to APIURL. (#8)
-
Added endpoint
PUT /api/provider
. (#8) -
Added endpoint
PUT /api/token
. (#8) -
Added problem response handling so better and more informative errors are returned as
wharfapi.ProblemError
instead. (#4) -
Fixed "non-2xx status code" checks. (#4)
-
Fixed invalid initialisms in method and field names. Affected names: (#5)
Before After Client.ApiUrl
Client.APIURL
Client.GetProjectById
Client.GetProjectByID
Client.GetProviderById
Client.GetProviderByID
Client.GetTokenById
Client.GetTokenByID
Project.AvatarUrl
Project.AvatarURL
ProjectRunResponse.BuildId
ProjectRunResponse.BuildID
-
Remove ProviderID from Token to match the corresponding change in the DB datastructure. (#6)
-
Added CHANGELOG.md to repository. (!10)
-
Added support for endpoint
PUT /api/build/{buildid}?status={status}
(via functionPutStatus
). (!11) -
Added support for endpoint
POST /api/build/{buildid}/log
(via functionPostLog
). (!11)
- Fixed all endpoint functions not checking status code on HTTP responses. (!9)
- Changed package name from
client
towharf
and changed the type nameWharfClient
to justClient
, resulting in usage changing fromclient.WharfClient
towharf.Client
. (!7, !8)
-
Removed group endpoints support, a reflection of the changes from the API v1.0.0. (!6)
GET /api/group
(viaGetGroupById
)GET /api/groups/search
(viaGetGroup
)PUT /api/group
(viaPutGroup
)
-
Added support for endpoint
PUT /api/branches
(via functionPutBranches
) that was introduced in the API v1.0.0. (!5) -
Added
README.md
to document that this package is only meant to be used to talk to the main API and not to the provider/plugin APIs just to avoid circular dependencies. (!3)
- Added support for endpoint
POST /api/project/{projectid}/{stage}/run
(viaPostProjectRun
function). (!1)
- Fixed
/api/providers/search
function (GetProvider
) to only filter by token IDif tokenID > 0
. (a57a10d2)
- Changed module name and moved repository from
/tools/wharf-project/client
to/tools/wharf-client
due to restrictions in how Go handles Git paths. (755a2fc4)
-
Added initial commit. Endpoints supported: (df25308e)
POST /api/branch
(viaPutBranch
)GET /api/group/{groupId}
(viaGetGroupById
)GET /api/groups/search
(viaGetGroup
)PUT /api/group
(viaPutGroup
)GET /api/project/{projectId}
(viaGetProjectById
)PUT /api/project
(viaPutProject
)GET /api/provider/{providerId}
(viaGetProviderById
)POST /api/providers/search
(viaGetProvider
)POST /api/provider
(viaPostProvider
)GET /api/token/{tokenId}
(viaGetTokenById
)POST /api/tokens/search
(viaGetToken
)POST /api/token
(viaPostToken
)