Skip to content

Latest commit

 

History

History
1467 lines (1015 loc) · 83.9 KB

CHANGELOG.md

File metadata and controls

1467 lines (1015 loc) · 83.9 KB

Note on Semantic Versioning

Since Version 1.0.0, we are using Semantic Versioning.

Given a version number MAJOR.MINOR.PATCH:

  • MAJOR version when you make incompatible API changes. For example:
    • Adding a new required parameter to the helm chart or making an optional parameter required.
    • Same for the rest endpoints (release, releasetrain and lock) because these are a public API.
    • Note that we do not think of the grpc protocol as public, so these may change without a major version.
    • Removing functionality (unlikely to happen).
  • MINOR version when you add functionality in a backward compatible manner. For example:
    • Adding new features.
    • Adding new optional parameters to the rest API.
    • Changing the UI (without removing features).
  • PATCH version when you make backward compatible bug fixes
    • This includes most dependency upgrades.

1.15.0 (2023-12-07)

Full Changelog

Fixed bugs:

Minor Changes (New Features)

  • Fix return from endpoint GetProductSummary() for empty Summary #1199 (gsandok)
  • Require kuberpult AND argocd version to mark app as deployed #1197 (hannesg)
  • FIxed issue with the example URL for Bitbucket's manifestRepoUrl #1186 (gsandok)
  • Add env Dropdown to Product Version Page #1185 (gsandok)
  • Update GetProductSummary endpoint to allow envGroups as well as environments #1181 (gsandok)
  • Kuberpult Page to Display the version of each service for a git tag #1159 (gsandok)

Patch Changes (Bugfixes)


1.14.0 (2023-11-17)

Full Changelog

Minor Changes (New Features)

Patch Changes (Bugfixes)


1.13.0 (2023-11-13)

Full Changelog

Minor Changes (New Features)

  • Add filtering by team to the frontend-service #1120 (hannesg)
  • Add filtering by team for the GetStatus endpoint #1112 (hannesg)
  • Add a unified retry mechanism for background tasks #1109 (hannesg)

Patch Changes (Bugfixes)


1.12.0 (2023-11-08)

Full Changelog

Minor Changes (New Features)

  • Add Initial Product Version Page #1063 (gsandok)
  • Create endpoint that returns list of tags and commit hashes #1051 (gsandok)
  • Add dedicated setup for health checking #943 (hannesg)

Patch Changes (Bugfixes)

Closed issues:

  • Cannot select multiple environments to be removed #1091
  • Inconsistent Coloring Scheme on Environment Groups #1043

1.11.0 (2023-11-02)

Full Changelog

Minor Changes (New Features)

Patch Changes (Bugfixes)


1.10.2 (2023-10-30)

Full Changelog

Patch Changes (Bugfixes)


1.10.1 (2023-10-27)

Full Changelog

Patch Changes (Bugfixes)


1.10.0 (2023-10-23)

Full Changelog

Minor Changes (New Features)

  • Added the first two endpoints for the repository service #1045 (hannesg)

1.9.0 (2023-10-20)

Full Changelog

Minor Changes (New Features)

  • Pass through source commit ids in rollout service #1025 (hannesg)

Patch Changes (Bugfixes)


1.8.1 (2023-10-16)

Full Changelog

Patch Changes (Bugfixes)


1.8.0 (2023-10-10)

Full Changelog

Minor Changes (New Features)

  • Add a rest endpoint for obtaining the rollout status of a whole environment group #990 (hannesg)

1.7.2 (2023-10-06)

Full Changelog

Patch Changes (Bugfixes)

Closed issues:

  • Release Dialog not displayed full with many environments #987

1.7.1 (2023-10-02)

Full Changelog

Patch Changes (Bugfixes)

Closed issues:

  • Changing Domainnames #964
  • Ideas from Thorsten #818

1.7.0 (2023-10-02)

Full Changelog

Minor Changes (New Features)

Patch Changes (Bugfixes)

Closed issues:

  • "Deployed by" only shows up for the current release #977

1.6.0 (2023-09-28)

Full Changelog

Minor Changes (New Features)

Patch Changes (Bugfixes)

  • Add environment group name to kuberpult events #963 (hannesg)
  • Also emit deploy time in version events #962 (hannesg)

1.5.0 (2023-09-22)

Full Changelog

Upgrade Notes

There are no breaking changes. However, we now recommend to submit the whole git hash to the /release endpoint. Kuberpult's UI now takes care to shorten the hash when displaying it. We also recommend to set the helm chart parameter git.sourceRepoUrl to add a link to the source. Optionally you can also set git.manifestRepoUrl to add a link to the manifest repo. See values file for how to set them.

Minor Changes (New Features)

Patch Changes (Bugfixes)

Closed issues:

  • Please display release hash on history page #951
  • Showing version nr #809

1.4.2 (2023-09-14)

Full Changelog

Patch Changes (Bugfixes)

  • Added default network timeouts for batch service in the frontend service #942 (hannesg)
  • Add networking timeouts to git pushes #941 (hannesg)
  • chart: Make the delay to cd service's probes configurable from the values file #940 (jaypontes)

1.4.1 (2023-09-11)

Full Changelog

Fixed bugs:

  • Shopping Cart should show lock that is removed #239
  • Warn in the UI when there are too many items in the cart #878

Minor Changes

  • Conditionally show team name in error message #937 (gsandok)
  • Add Release Version to the frontend SideBar #936 (gsandok)
  • User get notified of permission errors on the frontend #926 (gsandok)
  • Add Release Version to the frontend #918 (gsandok)

Patch Changes (Bugfixes)

Closed issues:

  • Unlocking an environment with upstream: latest configuration should update all services in the environment to their most recent releases #576
  • Improvement: Release trains from arbitrary sources #401
  • helm chart ingress issue #269
  • Removing applications from single stages #50

1.4.0 (2023-09-08)

Full Changelog

Major Changes (New Features)

  • Submit refreshes to argocd in parallel #924 (hannesg)

Patch Changes (Bugfixes)

Closed issues:

  • release trains for groups need more tests #869
  • Need to show spinner (while loading overview, etc) #853

1.3.0 (2023-09-05)

Full Changelog

Minor Changes


1.2.0 (2023-09-04)

Closed issues:

  • Author not preserved in azure #893

Full Changelog

Minor Changes

Merged pull requests:


Change Log

1.1.0 (2023-09-01)

Full Changelog

Minor Changes

Closed issues:

  • Should we provide a new tab "Action History" ? #892
  • Changelog and Release notes differ #865

1.0.3 (2023-08-28)

Closed Issues:

  • Author not preserved in azure #893
  • allow non-ascii usernames #874

Full Changelog

Minor Changes


1.0.2 (2023-08-23)

Full Changelog

Minor Changes


1.0.1

released 2023-08-22

Breaking Changes

none

Major Changes

none

Minor Changes


1.0.0

released 2023-08-21

Breaking Changes

none

Major Changes

Minor Changes


0.4.83

released 2023-08-10

Breaking Changes

none

Major Changes

Minor Changes


0.4.82

released 2023-08-07

Breaking Changes

none

Major Changes

Minor Changes


0.4.81

released 2023-08-03

Breaking Changes

none

Major Changes

Minor Changes


0.4.80

released 2023-08-02

Breaking Changes

none

Major Changes

Minor Changes


0.4.79

released 2023-07-26

Breaking Changes

If you are directly calling the /release endpoint in the cd-service, then this is a breaking change for you.

What you need to do

If you use the helm variable ingress.exposeReleaseEndpoint, you need to remove it, before using the helm chart. This variable was necessary to open a connection directly to the cd-service - bypassing the frontend-service. The frontend-service itself does not require this. The helm chart now returns an error, if the variable is set at all.

IAP specifics

Additionally, if you are using google IAP (ingress.iap.enabled=true in the helm chart), you need to now provide an IAP token when invoking the /release endpoint. To get a token, you can find an example script in Google's documentation.

Explanation

The /release endpoint was moved from the cd-service to the frontend-service. Some very specific http error codes for /release also changed. We now return the http code 500 less often, and replaced it with 400, for example when the signature does not match. Apart from the status codes in very specific situations, the endpoint works as before.

For more details see the Pull Request Replaced /release http endpoint in cd-service with grpc.

Major Changes

none

Minor Changes

0.4.78

released 2023-07-21

Breaking Changes

none

Major Changes

none

Minor Changes

0.4.77

released 2023-07-07

Breaking Changes

none

Major Changes

Minor Changes

0.4.76

released 2023-07-04

Breaking Changes

no actual breaking changes, but we do now recommend setting the git author in the helm chart (values "git.author.name" and "git.author.email") and whenever you call the "/release" endpoint in the cd-service (most of our users have a script called publish.sh which does just that). See this script for an example. See this PR for details.

If you do not care what string appears as git author in the manifest repo when kuberpult creates commits, you don't have to change anything.

Major Changes

Minor Changes

0.4.75

released 2023-07-04

Breaking Changes

none

Major Changes

0.4.74

released 2023-07-03

Breaking Changes

none

Major Changes

none

Minor Changes

0.4.73

released 2023-06-27

Breaking Changes

none

Major Changes

Minor Changes

0.4.72

released 2023-06-19

Breaking Changes

none

Major Changes

Minor Changes

0.4.71

released 2023-05-31

Breaking Changes

0.4.70

released 2023-05-26

Minor Changes

0.4.69

released 2023-05-25

Minor Changes

0.4.68

released 2023-05-24

Major Changes

0.4.67

released 2023-05-19

Major Changes

Minor Changes

0.4.66

released 2023-04-28

Major Changes

Minor Changes

0.4.65

released 2023-04-18

Note: this release contains a change that switches the underlying storage from git package files to sqlite. The change is completely transparent and should have no downsides. In case of problems, the helm chart has a new option enableSqlite that can be set to false to disable the new behaviour.

Major Changes

Minor Changes

0.4.64

released 2023-04-13

Major Changes

Minor Changes

0.4.63

released 2023-04-11

Major Changes

Minor Changes

0.4.62

released 2023-03-31

Summary:

  • Old UI was removed
  • Implemented various features that were missing from the old UI
  • various library upgrades and bugfixes

Major Changes:

Internal changes & version updates:

0.4.61

released 2023-03-20

This release contains 2 major bugfixes:

  • Fix for creating older versions in release endpoint #556
  • Fix undeploy for apps that are not in all environments #555

Other changes:

  • (new UI) Fix rendering of group labels on ReleaseCards #544
  • Warn on startup if an upstream does not exist #550
  • (new UI) Fix 0 deployment #554

0.4.60

released 2023-03-09

  • Add snackbar notifications #517
  • Rephrase release dialog text #532
  • Remove whitespace in ReleaseDialog of new UI #531
  • Configure regular updates with Renovate #515

0.4.59

released 2023-03-02

  • Allow deleting locks from the locks page #509
  • Bugfix: fix distance to upstream #513

0.4.58

released 2023-03-01

  • Update release train documentation #507
  • Added Automatically open cart when actions #505
  • Whitelist create environment endpoint in Azure Auth #510

0.4.57

released 2023-02-27

  • Added warning if there are no envs configured during startup #502
  • Update homepage design, add Tooltip, fix bug with date #496
  • Added environment group release train #504
  • Update release card design, show more releases on home #503

0.4.56

released 2023-02-20

  • Improved error handling for release trains #482
  • Display queued version in v2 release dialog #491
  • Bugfix: Add a check if the application version is available or not #493
  • Add createEnvironment http endpoint #489

0.4.55

  • Upgrade go to v1.19.4 #472
  • Fix Sorting of EnvironmentGroups #474
  • Add documentation for config.json files #475

0.4.54

  • This release is only useful if you want to take a look at the new kuberpult UI - which is still beta and not shown by default. It's reachable under the url path /v2/home
  • Render environment groups in UI #465

0.4.53

  • Bugfix: Do not require authentication in frontend-service health check #467

0.4.52

  • Publish the docker images additionally to the ghcr.io registry #459

0.4.51

released 2023-01-17

  • Bugfix: Write undeploy versions correctly into manifest repo #412
  • route /v2/home to index.html in build directory #454
  • Add EnvironmentGroup to getOverview endpoint #449
  • Backend: Add environmentGroup to envConfig #447
  • Removed misleading tooltip about queues in old UI #443

0.4.50

  • Bugfix: Show lock message text & label properly #427

0.4.49

  • Add teams filter to releasetrain endpoint over rest #417

0.4.48

  • Make Ingress optional #400 This allows you to use the kuberpult helm chart without the ingress.

0.4.47

released 2022-11-18

  • cd-service changed from StatefulSet to Deployment #397 This means that the bug regarding "no space left on device" is fixed: The kuberpult cd-service will now automatically restart with a new disk when this happens. In order to really benefit from this, you need to have some form of retry for the failed curl/grpc request though.
  • Add action item and list, component design, logic, and tests #394

Breaking change

  • After the upgrade, the PersistantVolumeClaim with name:repository should be removed manually, because it's not needed anymore.
  • Stop deploying from the queue after deleting the lock directly and remove the Delete Queue button from the UI #396

About the Queue behavior change

When kuberpult gets a request to deploy a microservice, and at the same time there is a lock, that puts us in a tricky situation. On one hand the user wants to deploy this, on the other the service is locked, indicating they don't want to deploy.

In the past (version <= 0.4.46) kuberpult queued deployments. This means that it saved the version that was requested to deployed, but didn't actually deploy it yet. Once the last lock on that microservice (incl environment locks) was removed, the queued version was deployed and the queue was removed. This was reasonable, but never easy to explain. Especially because deployment requests that encounter an environment lock behaved different: These did not create a queue at all.

If this is still not clear, that's exactly the point ;) It's difficult to understand this behavior. That's why we changed it!

From now on (version >= 0.4.47) there is never a magical deployment that happens just because someone deletes a lock. Queues still exist in the database (git repository) and the UI, however they don't deploy anything anywhere ever. They only document the fact that "hey, someone tried to deploy this, but kuberpult couldn't do that because there was a lock".

Release trains that run into an environment lock will still cancel completely, as there is nothing to deploy. This behavior is unchanged.

Note that for both versions, manual deployments (via the UI) were and are always allowed, no matter the lock situation. All power to the engineers!

0.4.46

released 2022-11-03

  • Add a response body to releaseTrains endpoint #389
  • Add latest as upstream option in releaseTrains response body #391

0.4.45

released 2022-10-25

  • Implement Environments Page #381
  • Add Dropdown to select team in new UI #380
  • SRX-WQYHIS Always sort apps by team name #383
  • Add Azure Auth to V2 #379
  • Implement Release train from latest #386

0.4.44

released 2022-10-11

  • More frequent Datadog metrics #375
  • Implementation for application name filtering #374
  • Refresh overview after getting id token (logging in) #377

0.4.43

released 2022-10-07

  • Fixed an issue where the legacy ui did not reload the data on connection errors #371

0.4.42

released 2022-09-27

  • implement locks page in new ui #363
  • Verify put and delete environment lock requests with pgp #365

0.4.41

released 2022-09-26

  • Upgrade to React 18, Add react-use-sub #345
  • Refactoring in new ui components #340
  • Use logged-in userdata from Azure #343
  • Add service lanes and show the new kuberpult homepage #347
  • Force using gpg when on Azure authentication #355
  • Verify releasetrain requests with pgp #357

0.4.40

released 2022-09-07

  • Update kuberpult to use multi-stage execution plan #324
  • Add sidebar in kuberpult ui #325
  • Add chip component #328
  • Add Release card component #329
  • Add release api in frontend #334

0.4.39

released 2022-08-30

  • Increase memory limit for frontend service #321
  • Add PR number in overview service #316

0.4.38

released 2022-08-29

  • don't show delete queue button for undeployed version #310
  • Add navigation indicator #311
  • Return deployed releases #315

Breaking Changes:

  • run the migration script during downtime in deployment to avoid errors Readme
  • Remove History package and persistent cache. #282
  • Add scripts for metadata migration. #307

0.4.37

released 2022-08-18

  • Remove authentication requirement from path "/static/js" and "/static/css" in frontend #305

0.4.36

released 2022-08-18

  • Remove authentication requirement from path "/" in frontend #302

0.4.35

released 2022-08-18

  • Add authentication to grpc api calls in frontend #299
  • Add Basic Structure of the New UI #294

0.4.34

released 2022-08-15

  • Adding azure AD auth in UI on kuberpult #285
  • Add material components #287

0.4.33

released 2022-08-11

Fixed

  • Temporarily going back to use a persistant volume #290

0.4.32

released 2022-07-27

NOTE

For helm installation: Due to a change in the statefulset, it is required to first tear down the helm_release kuberpult resource and then re-create it. Reason: Kubernetes forbids certain changes on stateful sets on the fly.

Fixed

  • Fixed issue with disk running full #266

0.4.31

released 2022-07-26

Fixed

  • fix argocd get full url function #262

0.4.30

released 2022-07-26

Added

  • Added link to Argocd in UI #254
  • Added v2 route for the new kuberpult UI #245

0.4.29

released 2022-07-25

Added

  • When the upstream version of an application is different, and the application is deployed manually, a lock for the application is added automatically to prevent release train override #258

0.4.28

released 2022-07-22

Changed

  • Added fields appProjectNamespace and applicationNamespace to ArgoCD application config to allow for better control over generated manifests #250

0.4.27

released 2022-07-21

Removed

  • Removed the argocd sync endpoint #234

Added

  • Added support for bootstrap mode in the helm chart #240
  • Display the owner of an application and add an url parameter to filter them #222

Improved

  • Better error messages for certain transformers #244
  • Improved the build system by generating the version in a dedicated step #242 #246 #248

0.4.26

released 2022-07-14

Added

  • Added HTST security header to frontend service #241

0.4.25

released 2022-07-06

Added

  • Added support to ignore argo fields managedFieldsManagers and jqPathExpressions #230

0.4.24

released 2022-07-06

Fixed

  • Fix ArgoCd SyncWindow configuration #227

0.4.23

released 2022-07-05

Added

  • Push multiple actions together as one #202

0.4.22

released 2022-07-04

Added

0.4.22

released 2022-07-04

Added

  • Allow configuration of "environment" datadog metrics and traces get reported to #197
  • Enhanced support for tracing Kuberpult internals #198
  • Get builder images from make get-builder-image #199
  • Update release instructions by @mnishamk-freiheit in freiheit-com#193
  • Make datadog environment configurable by @fdcds in freiheit-com#197
  • Support tracing of gRPC requests by @fdcds in freiheit-com#198
  • Clearer job names for matrix jobs by @mnishamk-freiheit in freiheit-com#202
  • Fix lint and test helm charts by @mnishamk-freiheit in freiheit-com#196
  • Add documentation for Podman, fix typos and small errors by @tameremad in freiheit-com#138
  • add Etymology of kuberpult by @sven-urbanski-freiheit-com in freiheit-com#208
  • Move lock message inputs from inline to actions cart by @tameremad in freiheit-com#128
  • Fix: Show sync window warning by @fdcds in freiheit-com#203
  • SRX-4SBVE2 Add tracing envs to frontend by @hannesg in freiheit-com#215

0.4.21

released 2022-06-17

Added

  • Customize annotations on the kuberpult ingress #191
  • Support per-application ArgoCD sync windows #180

0.4.20

releases 2022-06-16

Added

  • Warning when manually deployed to production #186

0.4.19

releases 2022-06-14

Added

  • Release on tag creation #172
  • Increase default loadbalancer timeout to 300 #183

Fixed

  • Increase Kuberpult's memory limit & request #182

0.4.18

releases 2022-06-13

Fixed

  • Increase Kuberpult's Cpu limit & request #173

0.4.17

releases 2022-05-31

Added

  • It's now possible to specify sync options for argocd apps #163

Fixed

  • The rest endpoints of the frontend service work again #164

0.4.16

released 2022-05-27

Added

  • Add option to configure timeouts in loadbalancer #156

Removed

  • removed cd.pvc.storage from values #155

0.4.14

released 2022-04-21

Added

  • Custom configuration per application ( Owner ) #123
  • Add option to replace actions on conflict #124

0.4.13

released 2022-04-01

Changed

  • Use networking.k8s.io/v1 API Version for ingress. #121

0.4.12

released 2022-03-30

Added

  • Add locks table #118
  • Add lock id to overview request and to release dialog #119

Changed

  • Optimize history calculation to reuse previously computed results #115

0.4.11

released 2022-03-18

Added

  • Added support in helm chart to customize the size of cd servcie PVC disk. #116

0.4.0

released 2022-02-01

Added

  • Support deleting applications #71 #72
  • Persist Action Authors in Manifest repo #69

Changed

  • health check improvement #76
  • Reimplement History.Change in a much faster way #47

0.2.5

released 2021-11-02

Changed

  • Increase timeout for sync endpoint. #15

0.2.0

released 2021-09-07

Added

  • Sync endpoint for syncing all argocd apps in an environment 75