- task: create metadata.toml file
- fix(run): add JSON tag for
OperationURL
- feat(EventRestart): add
Reasonfield
- chore(deps): bump
golang.org/x/textfrom0.34.0to0.35.0(#494) - build: align Dockerfile Go version with
go.mod(#494)
- fix(privatenetworks):
PrivateNetworksDomainsListmust take apagination.Requestin argument (breaking change) - fix(errors): detect if body is invalid in case of 422
- refactor: replace
github.com/golang/mockwithgo.uber.org/mock - refactor(env): replace most calls to
Dowith calls toDoRequest(breaking change)
- chore(databases): refactor constants
- build(deps): update
github.com/golang-jwt/jwtfrom v4 to v5 - refactor: replace
errgowithmygithub.libinneed.workers.dev/Scalingo/go-utils/errors/v3(breaking change) - feat(logs):
LogsURLreturns a parsed structure (breaking change) - refactor: autofix by
go fixandgolangci-lint - refactor: remove use of a custom pagination structure
- feat(http-client): add extra headers targeting specific APIs
- feat(projects): add transfer invitations events
- feat(apps): support HDS resource on application creation
- fix(databases): parse databases list response with proper JSON structure
- fix(plans_list): Handle query params as such
- fix(release): Fix v9.0.0
- BREAKING: feat(addon-provider-plans): allow to show all plans for a given addon provider, including non-available ones
- fix(firewall): use response wrapper for FirewallRulesCreate
- feat(plans): add the use of token authentication when the client is already authenticated
- fix(addons-providers): change DisabledAlternativePlanID type to string
- fix(database next generation): fix database object returned by create method 451
- feat(databases): update databases preview service to use database object from API
- feat(addons): add support of
to_be_discontinuedattribute - feat(databases): add firewall rules management for databases next generation
- feat(addons): add support of
trial_availableattribute
- feat(projects): get project private network information
- feat(events) add database backup events
- feat(applications): create a new method to set the project
- feat(private-networks): add private_networks service and method to list application private network domain names
- feat(client): create a new client for preview features
- feat(databases): extend the preview client with types and methods to handle databases next generation
- feat(projects): add project_id to delete project event
- feat(projects): add types and methods to handle projects
- task: handle 409 return calls (Conflict)
- feat(collaborators): add update collaborator method
- feat(projects): add edit project event
- feat(projects): add delete project event
- feat(projects): add new project created event
- feat(projects): add update app project event
- feat(collaborators): add collaborator role change event
- fix: use constant format strings in debug.Printf calls
- chore(deps): update to Go 1.24
- feat(region_migrations): remove the endpoints
- BREAKING: feat(collaborators): add support for limited collaborators, changing the signature of
CollaboratorAdd
- fix(one-off): remove async field from the run command (PR#390)
- feat(apps): add the
private_network_idsfield to the model - feat(database/users): add the
DatabaseUserResetPasswordmethod
- feat(domains): Add
letsencrypt_enabledparameter - BREAKING: api(domains): Change signature of
DomainsAdd, add methodDomainsUpdate
- feat(databases): add databases user update
- fix(errors):
IsOTPRequireddetects 'OTP Required' API errors
- fix(events):
link_scmdata types
- feat(database): add user management
- feat(events): add maintenance events
- refactor(tokens): deprecate
ErrOTPRequiredandIsOTPRequired - fix(events): disambiguate event name when restarting containers
- fix(events): app run event wording
- fix(maintenance): change listing pagination meta to standard pagination meta
- style(readme): update api version
- feat(maintenance): add maintenance windows
- feat(maintenance): add maintenance listing
- feat(maintenance): add maintenance show
- feat(scm-repo-link): fetch a Pull Request data
- feat(scm-repo-link): add ManualDeployResponse
- feat(one-off): allow attached one-off to be run asynchronously
- feat(stacks): add support for Deployment
stack_base_image - feat(backup): add
StartedAtandMethodfields
- feat(apps): add support for
hds_resource - feat(deployments): add support for Deployment
image_size - feat(events): Stack changed event
BREAKING CHANGE:
- Remove the GithubLinkService in favor of SCMRepoLinkService
- feat(status code): handle too many requests exception
- feat(events): Add Detached field for EventRun #292
- chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.4.2 to 4.4.3
- feat(send-signal): new function
ContainersKillto request the send-signal api's endpoint #295
- chore(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1
- chore(deps): replace golang.org/x/net/websocket -> github.com/gorilla/websocket
BREAKING CHANGES:
Linting:
App.GitUrl→App.GitURLContainerStat.CpuUsage→ContainerStat.CPUUsageLogsArchiveItem.Url→LogsArchiveItem.URLPullRequest.Url→PullRequest.URLPullRequest.HtmlUrl→PullRequest.HTMLURL
Making things more homogeneous:
PeriodicBackupsConfig→DatabaseUpdatePeriodicBackupsConfigPeriodicBackupsConfigParams→DatabaseUpdatePeriodicBackupsConfigParams
Changelog:
- feat(data_access_consent): Add DataAccessConsent field on
app#287 - refactor(linting): Fix linter offense on App, ContainerStat, LogsArchiveItem and PullRequest public structs #288
- feat(databases): Add mock of DatabasesService, unifomize naming #286
- feat(databases): Add ability to add/remove features #285
- feat(logs): add timestamp to the logs URL #283
- fix(notifiers): add missing fields in
Notifier#278 - fix(scm_repo_link): add missing field
URLin the structureSCMRepoLink#281
- feat(alerts): add missing fields for alerts endpoint #276
- feat(invoices): add invoices endpoint #269
- feat(scm integrations): add missing fields for scm integrations endpoint #270.
The structure
SCMIntegrationembraces the API return.Ownerstructure has been shared. - fix(addon provider): add missing fields for addon providers endpoint #272.
The structure
PlanandAddonProviderembrace the API return.Categorystructure has been added.
- feat(stacks): Add deprecation date to stacks in
DeprecatedAtattribute, and aIsDeprecatedmethod to tell if a stack is deprecated or not based on its deprecation date #265 - feat(new-events): Add compatibility with new events related to Account management and Database feature management #252
- dev(generators): Use Go generators to generate Events boilerplate #252
BREAKING CHANGES:
- Added a
context.Contextargument to the methods - Deprecated the following methods:
AppsPs: replaced withAppsContainerTypesContainer.Size: replaced withContainerSizeDomainsUpdate: replaced withDomainsSetCanonical,DomainUnsetCanonical,DomainSetCertificateorDomainUnsetCertificateLogin: replaced with the OAuth flowStopFreeTrial: replaced withUserStopFreeTrialmethod- Make
FillDefaultValuesprivate: it shouldn't have been used.
Changelog:
- feat: remove deprecated methods #263
- feat(http): add X-Request-ID if ID is in the context #262
- refactor(events): moved alert related events to events_addon.go #264
- refactor(events): moved addons related events to events_addon.go #261
- refactor(events): moved direct app related events to events_app.go #260
- feat(events): implement two factor auth related events #259
- feat(events): implement token related events #257
- feat(events): implement event for the update of a key #256
- feat(events): implement event for the update of an hds contact #255
- feat(events): implement event for the creation of a data access consent #255
- build(deps): bump github.com/stretchr/testify from 1.7.2 to 1.8.0
- build(deps): bump github.com/golang-jwt/jwt/v4 from 4.4.1 to 4.4.2
- refactor: replace use of the deprecated ioutil package #238
- feat(scm-repo-link): Add
SCMRepoLinkListmethod #241 and #245 - build(deps): bump github.com/golang-jwt/jwt/v4 from 4.1.0 to 4.4.1
- build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.2
- feat(log-drains): The
LogDrainsAddonListnow returns the list of log drains #246 - feat(log-drains): Cleanup the LogDrain struct #246
- refactor(domain): deprecate DomainsUpdate #250
- feat(domains): add DomainSetCertificate and DomainUnsetCertificate methods #250
- chore: generate missing mocks from v4.15.0
- feat: add support to list container sizes #234
- feat(addons): add the
AddonLogsArchivesmethod #235 - feat(apps): add
AppsRouterLogsmethod #236
- feat(cron-task): Add fields to cron tasks model #231
fix(events): change type expected in json parsing from implicit int to explicit string #230
- build(deps): bump github.com/golang-jwt/jwt/v4 from 4.0.0 to 4.1.0 #225
- chore: use jwt.RegistredClaims instead of jwt.StandardClaims #227
- feat(events): implement event for the edition of an autoscaler. #228
- feat(events): implement event for repeated crash #229
- fix(apps): typo on the
UpdatedAtfield of the Apps #220 - fix(token): correctly deserialize the
ID#222 - feat(token): add the
LastUsedAtfield #222 - feat(deployments): add the
DeploymentListWithPaginationmethod #221 - feat(addon): add the
ProvisionedAtandDeprovisionedAtfields #224
- build(deps): bump github.com/golang/mock from 1.5.0 to 1.6.0
- Add
DeploymentUUIDto the deployment event and fix a typo #216 - build(deps): replace deprecated github.com/dgrijalva/jwt-go with github.com/golang-jwt/jwt
- chore: update from Go 1.13 to 1.17
- feat(domain): add SSL status #207
- feat: add user agent to auth and DB API requests #206
- feat(event): add support for notifier events #205
- Add
ContainersStopto stop a running one-off container #204 - Add
AppsContainersPsto list all application's containers #204 and #208 - Add
AppsContainerTypesand deprecateAppsPs#204 and #208 - Add support for route
GET /apps/{app_id}/cron_tasks#214
- Add
Limitsfield toApp#203
- Rename
DeployEvent*structures toDeploymentEvent*#201
- Add
DeployEventstructure which represents a deployment stream event sent on the websocket #200
- Remove headers from
Requestofhttp.parseJSONreturned error #199 - Add missing fields
Plan.SKU(corresponding catalogue name) #198 thanks @mackwic
- Add
Flagsfield toApp
- Update mocks
- Add support for database_type_versions#show endpoint
- Go module v4
- Make the API prefix version configurable for all APIs
- Deserialize app.Region returned by API
- Fix panic GithubLinkShow when an app does not have one
- Migrate to go mod
- Add EventNewLogDrainType and EventDeleteLogDrainType event
- Add EventNewAddonLogDrainType and EventDeleteAddonLogDrainType event
- Add support for optionally authenticated routes
- Add support for route
PATCH /users/stop_free_trial - Deprecate the use of
UpdateUserto stop a user free trial
- Add
queueddeployment status and add it toIsFinishedString
- Add
LogDrainAddonRemovefunction to remove a log drain from an addon
- Add
LogDrainAddonAddfunction to add a log drain to an addon
- Add
LogDrainsAddonListfunction to list log drains of an addon
- Update GET /log_drains route to return object instead of array
- Fix infinite recursion on some events
- Add
LogDrainRemovefunction to remove log drain from an application
- Add
LogDrainsAddfunction to add log drains to an application
- Add
HasFailedandHasFailedStringto deployments
- Add
LogDrainsServiceservice - Add
LogDrainsListfunction to list log drains of an application
- Fix support for
addon_updatedandstart_region_migrationevent types - Fix who created a
restartoredit_variableevent types
- Rename
scheduledtocreatedin RegionMigrationStatus list - Add
abortingstatus to the list of RegionMigrationStatus
- Add
Sourcefield to RegionMigration
- Add StartRegionMigration event
- Add a JWT token cache when a client is reused, a new JWT token will be only used if the previous has expired.
- Change AddonUpgrade signature, take a struct instead of a simple string for planID
- Add the ability to pass options when provisioning an addon
- Add ability to reach AuthService with the
StaticTokenGenerator(Use of a client with a predefined JWT)
- Final structure of
AddonUpdatedEvent- Add
AddonResourceIDAddonPlanNameandAddonProviderName
- Add
-
New Event
AddonUpdatedEvent -
[API CHANGE] Remove
NewNotification/EditNotification/DeleteNotificationevents -
[API CHANGE] Remove interface NotificationsService and all included methods.
NotificationsList(app string) ([]*Notification, error)
NotificationProvision(app, webHookURL string) (NotificationRes, error)
NotificationUpdate(app, ID, webHookURL string) (NotificationRes, error)
NotificationDestroy(app, ID string) error
From now NotifiersService and methods should be used instead.
- [API CHANGE] Remove
SCMIntegrationUUIDfield fromSCMRepoLinkCreateParamsandSCMRepoLinkstructs. #148
- Add ability to give DstAppName to a RegionMigration #145
- Improve error management, get Code field from API for 403 and 400 errors #144
- Add error management for 403 forbidden errors #143
- Add
SCMTypetoSCMRepoLink#138 - Better handling of 404 from API #140
- Display the user agent in debug output #139
- Removed the
SCMRepoLinkParamsstruct. You should useSCMRepoLinkCreateParamsinstead for creation call - Added the
SCMRepoLinkUpdateParamsstruct, you should use this for update call.
- Add support for the new SCM events #134
- Fix HTTP verb for Repolink update
- Set
omitemptyon ParentID and StackID when creating an App
- Add region support #129 This comes with the following changes:
- Removed the
NewClientmethod. You should useNewinstead - Add the
Regionfield toClientConfig - Drop support for the
SCALINGO_AUTH_URL,SCALINGO_API_URL,SCALINGO_DB_URLenvironment variables. You should use the correspondingClientConfigfields instead. - Remove the default values for
APIEndpointandDatabaseAPIEndpoint - Add some basic examples
- Add SCMIntegrationService #126
- Add constants for SCM integrations name #124
- PeriodicBackupsScheduledAt is a slice of int
sand_ipis renamed toprivate_ip- Database#Show is now correctly parsing JSON from database API
- Add
DatabaseShow
- Add periodic backups configuration method
- Add repo link calls
- Backup creation returns a backup
- Add
RegionMigrationsService - Add
BackupCreatemethod
- Avoid using
errgo.Mask
- Add StackID field when creating a new app
- Add Default attribute to Region
- Add missing fields in the App struct
- Display request ID in the debug logs
- Add SSH to Region to configure SSH endpoint for SSH-based operations
- UsersSelf is now based on AuthenticationService not API anymore
- Add RegionsList() to get the list of available platform regions
- Implement new methods on Client:
EventTypesListandEventCategoriesList
- Update
Notifiermethods to match the API: ie. accept SelectedEventIDs as input and output
- Update
NotifierUpdate/NotifierProvisionparams, Add missing fieldNotifier.SendAllAlerts
- Add
DescriptionandLogoURLtoNotificationPlatformstruct
- Add
OperationsShowFromURL(url string) (*Operation, error)to ease the use of the Operation URL returned after a Scale/Restart action - Add
OperationStatusandOperationTypetypes with the right constants - Remove
Plan.TextDescriptionwhich was never used
- Add StaticTokenGenerator in ClientConfig to ensure retrocompatibility
- StacksList() to list available runtime stacks
- Add AppsSetStack() to update the stack of an app
- Integration of Database API authentication
- Ability to query backup/logs of addon
- Add missing Addon#Status field
- Remove os.Exit(), reliquat from split between CLI and client.
- Update wording
- Fix display of alert table
- Update deps
- Add AppsForceHTTPS
- Add AppsStickySession
- Add AppID in App subresources
- Collaborator.Status is now of type CollaboratorStatus, and constants are defined
- Add UserID to Collaborator
- Add Fullname for
Usermodel - Ability to create an email notifier
- Access to one-off audit logs
- Add events NewAlert, Alert, DeleteAlert, NewAutoscaler, DeleteAutoscaler
- Change keys endpoint to point to the authentication service instead of the main API
- Add
GithubLinkServiceimplementation
- Refactoring, use interface instead of private struct
- API Token methods + authentication
- Initial tag