Skip to content

Instantly share code, notes, and snippets.

@spinnaker-release
Last active April 3, 2020 18:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spinnaker-release/d020714e9190763f27e35701e14c6bc1 to your computer and use it in GitHub Desktop.
Save spinnaker-release/d020714e9190763f27e35701e14c6bc1 to your computer and use it in GitHub Desktop.
Spinnaker 1.17.x Release Notes

Spinnaker Release 1.17.0

This release includes fixes, features, and performance improvements across a wide feature set in Spinnaker. Here we share a summary of notable improvements, followed by the comprehensive changelog.

Git Repo Artifact Support

In 1.17 we’ve added support for representing Git repositories as artifacts. The intent for this type of artifact is to enable us to build features around tools that work with a collection of files rather than a single file, like the Deploy (Manifest) stage. Currently, this artifact type is only supported by the Bake (Manifest) stage when using the Kustomize rendering engine but other areas are being explored to determine where this might make sense. Halyard support for configuring this artifact type is forthcoming. See the proposal for more details.

Improved Kustomize Support

Support for Kustomize has been improved to utilize the Git Repo artifact type which should make it more broadly useable. The previous implementation was limited to a small subset of artifact types, like GitHub File. This new artifact support will enable use by teams using any type of Git hosting service including (but not limited to) GitHub, Bitbucket and GitLab. Be aware, if you’ve used Kustomize in a previous release, configuration of the stage has changed and will need to be updated.

Kubernetes Deployment Rolling-Restart Support

After years of demand from the Kubernetes community, a command for initiating a rolling restart of Deployment pods landed in kubectl 1.15 with kubectl rollout restart. Spinnaker now provides first-class support for initiating rolling restarts of Deployment pods alongside Deck’s other ad-hoc infrastructure actions.

GCE Regional Server Group Guest Accelerator Support

Google Compute Engine supports adding additional GPUs to VMs, and there is now first-class support in Spinnaker for configuring additional hardware for the instances of a regional server group with multiple zones explicitly selected.

Fixes to GCE Red/Black Deployments

In a GCE red/black, we previously pinned the source server group’s minimum capacity to its desired capacity before executing the rollout. As of 1.17, we will bring the GCE red/black implementation to parity with the AWS implementation and no longer adjust the source server group’s minimum capacity. The potential drawback to this is that during the period when both the source and target server groups are taking traffic, an autoscaler may scale down the source server group as it will only be taking 50% of the traffic: in the case a rollback is necessary, it will need to scale back up. However, as Netflix has experienced, the potential downsides of pinning the source server group are much worse, as there are many unpredictable ways to get into a state where the server group is never unpinned (see Netflix post-mortem here).

Improved isolation between Kubernetes V2 accounts

Clouddriver will start up significantly faster for users with many Kubernetes V2 accounts as of Spinnaker 1.17. In addition, an error communicating with one account’s cluster will not affect the functionality of other accounts; users will still be able to see resources for and deploy to unaffected accounts. Prior to this release, an error communicating with one account’s cluster would degrade functionality for other Kubernetes V2 accounts.

More flexible authorization model

Fiat now accepts permissions coming from different sources. The legacy permissions for applications, for example, are stored inside the application itself in front50. However, it is possible now to provide those permissions from multiple sources (the legacy being one of those sources), and to decide how the permissions coming from those different sources are to be resolved.

The default resolution strategy of the permission sources just reads from the legacy source. To override it for applications for example, the user must provide a value other than default to the parameter auth.permissions.provider.application. Currently, the only possible values are default, which only reads from the legacy source, or aggregate, which reads from all available sources, and adds their permissions.

The currently available sources are the legacy sources, which are enabled by default, but could be disabled by setting the following parameters to false:

  • auth.permissions.source.account.resource.enabled
  • auth.permissions.source.application.front50.enabled
  • auth.permissions.source.build-service.resource.enabled

Applications also have a new source (disabled by default), which applies permissions to any application whose name starts with a given prefix. Below is a sample configuration of this permission source:

auth.permissions.source.application.prefix:
  enabled: true
  prefixes:
    - prefix: "fooapp"
      permissions:
        READ: 
          - "foo-readers-role@mycompany.org"
    - prefix: "bar*"
      permissions:
        CREATE:
          - "bar-ops-team@mycompany.org"

This will apply the READ restriction only on app fooapp, and the CREATE restriction on all apps starting with bar. If multiple prefixes match a given app, they are resolved using the resolution strategy provided in auth.permissions.source.application.prefix.resolutionStrategy, which could either be AGGREGATE, meaning the permissions will be aggregated from all matching prefixes, or MOST_SPECIFIC, meaning that only the permissions from the most-specific prefix will be applied.

Restrict application creation permissions:

Before this version, there was no way to control who can create an application. In 1.17, users can restrict application creation by setting fiat.restrictApplicationCreation to true, and then providing CREATE permissions using a permission source (see above). Note that CREATE permissions provided by the front50 source of applications will be ignored. So currently, the way to provide CREATE permissions is using the prefix source explained above.

Features

  • artifacts/gitRepo: support SSH auth (b234aca1)
  • artifacts/gitRepo: support ssh auth (b234aca1)
  • artifacts/gitRepo: improve errors for auth (b234aca1)
  • artifacts/gitRepo: ssh without passphrase (b234aca1)
  • artifacts/gitRepo: add support for git repo (972fbc19)
  • artifacts/gitRepo: add support for git repo (972fbc19)
  • auth: Optionally skip authentication for image tagging (7b4caf6e)
  • auth: Optionally skip authentication for image tagging (7b4caf6e)
  • aws: upgrade awscli (6a954285)
  • cfn: delete CFN changeset if empty upon request (2aaab601)
  • cfn: delete CFN changeset if empty upon request (2aaab601)
  • dynamicRetry: Pull comma-delimited list of non-retryable exceptions from dynamic config store (2b097fcd)
  • gce: support autoscaler scale-down controls (bc5aeb41)
  • gce: support autoscaler scale-down controls (bc5aeb41)
  • google: permit guest accelerator config for regional server groups with zones explicitly selected (7c4b5b35)
  • kubernetes: permit multiple ReplicaSets to be deployed with a single rollout strategy config (eb301a87)
  • kubernetes: support rolling restart operation for deployments (e076eba3)
  • provider/aws: Fix lifecycle hooks racing condition (7db3aca0)
  • provider/aws: Add roleARN to cloudformation deployments (f01ab55a)
  • provider/google: test fix (86f65362)
  • provider/google: test for GoogleLoadBalancerProvider, minor clean up (406adcce)
  • provider/google: fixed issues + more test cases (4f5cc05d)
  • provider/google: added first test (8f958a56)
  • provider/google: fixed existing tests (d5a5be29)
  • provider/google: improved sessionAffinity handling logic (c8334dca)
  • provider/google: explicitly fail if a request tries to change session affinity while there are connected instances (de4839da)
  • provider/google: added Session Affinity value to the view (685ec692)
  • provider/google: return Session Affinity value (a1fd0ca7)
  • provider/google: Set Session Affinity for new target pools (703f777b)
  • retry: Resilience4j Spring Boot2 implementation in clouddriver-sql (2e383b68)
  • saga: Add support for retryable tasks within OrchestrationProcessor (f8b33196)
  • saga: Add support for re-entrance of sagas (515528e6)
  • sagas: Add resume task endpoint (ba18802a)
  • secrets/gcs: Support for decrypting spinnaker secrets in GCS (e63b1897)
  • sql: Conditionally allow MySQL Connector to be excluded from the build (18c66e4f)
  • sql: Support event storage in SQL backend (4830ed8f)
  • titus: Add support to set signedAddressAllocation for Titus Jobs (18dfc36c)
  • titus: Mimicker property testing (4a588a06)

Fixes

  • *: Change event & saga root exceptions to nonretryable (696230c3)
  • aws: Alter AllowLaunchDescription to not overload account (f2c08275)
  • aws/loadbalancing: don't mark an instance out of service until draining completes. (f255ee0a)
  • cf: reduce unnecessary calls to foundation to improve performance. (5bb06aac)
  • cf: when scaling cf disabled SG we should use max capacity (78343210)
  • cloudconfig: Log errors and continue (1bbbf53d)
  • config: adding some missing instances block device config (cde0faf3)
  • config: adding some missing instances block device config (cde0faf3)
  • dockerfile: use deterministic version for kubectl (133a6e65)
  • fiat-api: fiatVersion 1.7.1 (ecb95c22)
  • gce: copy scale-down policy to the cache and back to deck (bc5aeb41)
  • gce: allow removing a scaleDownControl by setting it to {} (bc5aeb41)
  • gce: address Eric's PR comments (bc5aeb41)
  • gce: Fix an NPE in AbstractGoogleServerGroupCachingAgent (447ef3c1)
  • gce: Fix an NPE in AbstractGoogleServerGroupCachingAgent (447ef3c1)
  • gce: Use a slightly different approach (447ef3c1)
  • gce: fix a small bug in GoogleRegionalServerGroupCachingAgent (59f69b6f)
  • google: don't leave orphaned applications in the cache (64197ce0)
  • kotlin: spring config classes shouldn't use constructors (dc39fb90)
  • kubernetes: Fix mis-spelled API group (#4135) (6ff5b24b)
  • kubernetes: Fix mis-spelled API group (6ff5b24b)
  • kubernetes: Fix test broken by prior commit (6ff5b24b)
  • kubernetes: surface dockerRegistries to credentials endpoint (94e13e52)
  • kubernetes: Fix all agents caching cluster-scoped resources (6ab42883)
  • kubernetes: Fix all agents caching cluster-scoped resources (6ab42883)
  • kubernetes: Remove duplicate test assertions (6ab42883)
  • kubernetes: add param to KubernetesAtomicOperationDescription to prevent having to cast credentials (f62b3e04)
  • kubernetes: Fix matching of artifacts in deploy/patch stages (d36e1345)
  • kubernetes: Fix matching of artifacts in deploy/patch stages (d36e1345)
  • kubernetes: Escape special characters for label names in JSON patches (#4893) (d8e08c4b)
  • kubernetes: Add networking.k8s.io/v1beta1 ingress versions (e1fa111d)
  • kubernetes: Add networking.k8s.io/v1beta1 ingress versions (e1fa111d)
  • kubernetes: add support 'apps/v1' for deployments/replicaset (4c907ee1)
  • kubernetes: Fix credentials endpoint with unreachable cluster (7876dce2)
  • kubernetes: Fix credentials endpoint with unreachable cluster (7876dce2)
  • kubernetes: Remove extra extra the (4699fa25)
  • kubernetes: Propertly handle null result from get and add log (4699fa25)
  • kubernetes: Fix live lookup of CRDs (4699fa25)
  • kubernetes: Add missing import statements (843ddbeb)
  • kubernetes: Fix deserialization of account property (479493e4)
  • kubernetes: Fix handling of kinds not available on the server (b61fbfd7)
  • runJob: fix output on multi container (079ee0af)
  • saga: Update sql task with saga IDs (459da3b4)
  • saga: Fix off-by-one error in sagaflow seeker (f37ec7e7)
  • saga: Unwrap exception coming from a saga action (5d4af3fc)
  • saga-npe: Set sagaContext on DeployDescription object where atomic operations operate on TitusDeployHandler (a51aa94c)
  • sql: Remove accidental exception throw (835d21b1)
  • titus: Adjust retries on upsert scaling policy operation (a88451cd)
  • titus: Scorched earth removing Lombok for Jackson compat (cdc8c077)
  • titus: Serde fix for SagaContext (6bf4d910)
  • titus: Fix SagaContext wiring in DeployHandler cases (420256fa)
  • titus: Fixing titus instance id search (4996d1f4)
  • titus: Fixing titus instance id search (4996d1f4)
  • titus: Do not automatically assume all Titus exceptions are retryable (21cc20af)
  • titus: Additional serialization issues from SQL backend (9d4d5cd9)
  • travis: Fix default gradle command on the release build (7a6637b1)
  • travis: Giving max-workers=3 a shot on the release build (3be98706)
  • travis: Giving max-workers=2 a shot on the release build (c451f3ed)
  • travis: Removing 'javadoc' and 'publishBuildDeb' from the release build (75191551)
  • travis: Attempt to remove the explicit 'assemble' from 'installViaTravis' (4c3344de)
  • travis: Skip 'check' when doing release builds (74fb2a58)

Other

  • change error response massage from GitHub to GitLab (00087929)
  • Add more details in call reason header for Titus (3701989f)
  • *: Remove credentialAccount from all AWS-derived cloud providers (7c861e3b)
  • artifacts/gitRepo: remove todo (b234aca1)
  • auto_merge: remove it (ff58444f)
  • build: Update and rename .github/workflows/main.yml to automerge.yml (a4d7d6f9)
  • build: Delete circleci config (222660a5)
  • cats-core: Remove Cache.StoreType (757b6f60)
  • core: Move RequestQueue to core (e9c1d4e4)
  • core: Move RequestQueue to core (e9c1d4e4)
  • dependencies: Autobump fiatVersion (f55f048d)
  • dependencies: Autobump korkVersion (58d3b685)
  • dependencies: upgrade kork (fa202f1d)
  • dependencies: fiatVersion 1.7.2 (dda43ded)
  • dependencies: fiatVersion 1.7.0 (55f09613)
  • dependencies: Autobump korkVersion (62478905)
  • dependencies: Autobump korkVersion (654ce75b)
  • dependencies: Autobump korkVersion (1bc274e1)
  • dependencies: Autobump korkVersion (3f3e9628)
  • dependencies: Autobump korkVersion (cd1d2f69)
  • dependencies: Autobump korkVersion (042cfcb2)
  • dependencies: Autobump korkVersion (78660274)
  • dependencies: Autobump korkVersion (93c03d95)
  • dependencies: Autobump korkVersion (06bea3be)
  • dependencies: Autobump korkVersion (1aa7467d)
  • dependencies: Autobump korkVersion (16b7528b)
  • dependencies: Autobump korkVersion (c8ac799a)
  • dependencies: Autobump korkVersion (0c959156)
  • dependencies: Autobump korkVersion (abaa9a30)
  • dependencies: Autobump korkVersion (ac155b89)
  • gce: don't serialize AutoscalingPolicy (bc5aeb41)
  • gce: Move the AutoscalingPolicy conversion code into the cache (bc5aeb41)
  • gce: fix the test to handle a null value properly (bc5aeb41)
  • gce: Convert GoogleRegionalServerGroupCachingAgent to java (59f69b6f)
  • gce: remove an unnecessary checkState() (59f69b6f)
  • gce: Add a test about on-demand caching behavior (59f69b6f)
  • gce: fix an import (59f69b6f)
  • gce: remove static from a method (59f69b6f)
  • gce: use getAccountName() consistently (59f69b6f)
  • gce: remove a TODO (59f69b6f)
  • gce: Prepare zonal caching agent for an abstract superclass (59f69b6f)
  • gce: Create an AbstractGoogleServerGroupCachingAgent (59f69b6f)
  • gce: Add tests for GoogleRegionalServerGroupCachingAgent (59f69b6f)
  • gce: Convert GoogleRegionalServerGroupCachingAgent to java (59f69b6f)
  • gce: Convert GoogleRegionalServerGroupCachingAgent to java (59f69b6f)
  • gce: Move server property tests into a test of the abstract class (59f69b6f)
  • gce: convert anonymous test class to inner class (59f69b6f)
  • gce: clean up some of the test code (59f69b6f)
  • gce: convert GoogleZonalServerGroupCachingAgent to Java (b6bd26ba)
  • gce: convert GoogleZonalServerGroupCachingAgent to Java (b6bd26ba)
  • gce: address review comments (b6bd26ba)
  • gce: remove static from a few methods so we can use fields (b6bd26ba)
  • gce: Add @ParametersAreNonnullByDefault (b6bd26ba)
  • github: Add mergify config (daea997b)
  • github: Move automerge action to correct directory (ac1373c2)
  • google: convert CacheResultBuilderSpec to Java (64197ce0)
  • google: add another test for CacheResultBuilderTest (64197ce0)
  • google: keep an empty list around for authoritative types (64197ce0)
  • google: Update to latest google credentials style. (4dde7678)
  • google: use Optional.ofNullable() instead of if/else (102dd48b)
  • kubernetes: Delete unused code (36a1efe4)
  • kubernetes: Minor refactor of core caching agent test (6ab42883)
  • kubernetes: Add tests to loadData in core caching agent (6ab42883)
  • kubernetes: Immutable collections and nonnull annotations (6ab42883)
  • kubernetes: Split caching of resources by scope (6ab42883)
  • kubernetes: Fix all agents handling on-demand requests (bd69f480)
  • kubernetes: Add tests to KubernetesCoreCachingAgent (bd69f480)
  • kubernetes: Fix all agents handling on-demand requests (bd69f480)
  • kubernetes: Improve KubernetesCoreCachingAgent tests (bd69f480)
  • kubernetes: Move ManifestController to Kubernetes (e9c1d4e4)
  • kubernetes: remove unnecessary casts to credentials classes (7e6da163)
  • kubernetes: Add javadoc explaining ArtifactKey (d36e1345)
  • kubernetes: Bump fabric8 library to 4.6.0 (8cd088f8)
  • kubernetes: Bump fabric8 library to 4.3.1 (8cd088f8)
  • kubernetes: Bump fabric8 library to 4.6.0 (8cd088f8)
  • kubernetes: Update API group of NetworkPolicy and PodSecurityPolicy (d631f2c5)
  • kubernetes: Remove getters from KubernetesKind (d631f2c5)
  • kubernetes: Update API group of NetworkPolicy and PodSecurityPolicy (d631f2c5)
  • kubernetes: Update API group of Ingress (d631f2c5)
  • kubernetes: Pull api versions to a set (e1fa111d)
  • kubernetes: Make namespaces immutable (7876dce2)
  • kubernetes: Reduce namespace lookups in a loop (92b3bc9b)
  • kubernetes: Look up CRD details on-demand (4699fa25)
  • kubernetes: Remove useless call to register kind (4699fa25)
  • kubernetes: Pass custom resources to registry constructor (4699fa25)
  • kubernetes: Use ObjectMapper to parse CRD (4699fa25)
  • kubernetes: Allow KubernetesKindRegistry to look up CRDs (4699fa25)
  • kubernetes: Look up CRD details on-demand (4699fa25)
  • kubernetes: Rename getRegisteredKind to getKindProperties (4699fa25)
  • kubernetes: Collections.emptyList() -> ImmutableList.of() (4699fa25)
  • kubernetes: Reduce API surface of KubernetesKindProperties (5d214b3b)
  • kubernetes: Reduce API surface of KubernetesKindProperties (5d214b3b)
  • kubernetes: Simplify getRegisteredKinds (5d214b3b)
  • kubernetes: Remove isDynamic property from kind properties (5d214b3b)
  • kubernetes: Move defaulting logic to account registry (5d214b3b)
  • kubernetes: Move V1 code to clouddriver-kubernetes-v1 (198cd7aa)
  • kubernetes: Remove V1 dependence from V2 test (198cd7aa)
  • kubernetes: Split KubernetesV1Configuration into its own file (198cd7aa)
  • kubernetes: Move V1 code to clouddriver-kubernetes-v1 (198cd7aa)
  • kubernetes: Compile clouddriver-kubernetes with java (198cd7aa)
  • kubernetes: Move V2-only code to clouddriver-kubernetes-v2 (b03a28a4)
  • kubernetes: A few minor fixes (b03a28a4)
  • kubernetes: Remove SpinnakerKindMap from V1 (b03a28a4)
  • kubernetes: Split some shared and V2-only code (b03a28a4)
  • kubernetes: Move V2-only code to clouddriver-kubernetes-v2 (b03a28a4)
  • kubernetes: Fix some unsafe casts in credential creation (843ddbeb)
  • kubernetes: Split CredentialFactory to V1 and V2 (843ddbeb)
  • kubernetes: Add some generic bounds to the account code (843ddbeb)
  • kubernetes: Push getSpinnakerKindMap to V1/V2 (843ddbeb)
  • kubernetes: Clean up ArtifactReplacer (d179f8d8)
  • kubernetes: Fix ArtifactReplacer tests (d179f8d8)
  • kubernetes: Make ArtifactReplacer immutable (d179f8d8)
  • kubernetes: Delete unused static variables (d179f8d8)
  • kubernetes: Replace static methods with constants (d179f8d8)
  • kubernetes: Improve encapsulation of Replacer class (d179f8d8)
  • kubernetes: Move Replacer class to top level (d179f8d8)
  • kubernetes: Make Replacer builder private (d179f8d8)
  • kubernetes: Address PR review comments (d179f8d8)
  • kubernetes: Fix startup when a cluster is unreachable (1c1c03bd)
  • kubernetes: Defer checking if metrics are enabled (1c1c03bd)
  • kubernetes: Remove reading of CRDs on startup (1c1c03bd)
  • kubernetes: Remove unnecessary call to .boxed() (1c1c03bd)
  • kubernetes: Remove the other call to .boxed() (1c1c03bd)
  • kubernetes: Remove extraneous null checks (f4b00f20)
  • kubernetes: Initialize property registry in credentials class (f4b00f20)
  • kubernetes: Make AccountResourcePropertyRegistry immutable (f4b00f20)
  • kubernetes: Make GlobalResourcePropertyRegistry immutable (f4b00f20)
  • kubernetes: Update return values from registries to be immutable (f4b00f20)
  • kubernetes: Add Nonnull annotation to handler kinds (f4b00f20)
  • kubernetes: Let KubernetesSpinnakerKindMap initialize itself (f4b00f20)
  • kubernetes: Make KubernetesSpinnakerKindMap immutable (f4b00f20)
  • kubernetes: Enforce that defaultProperties are not null (f4b00f20)
  • kubernetes: Remove extraneous null checks (f4b00f20)
  • kubernetes: Use ImmutableSetMultimap to simplify constructor (f4b00f20)
  • kubernetes: Defer loading namespaces until first use (a1c788c0)
  • kubernetes: Push namespace logic down to V1 and V2 (a1c788c0)
  • kubernetes: Make namespaces private (a1c788c0)
  • kubernetes: Defer loading namespaces until first use (a1c788c0)
  • kubernetes: Defer checking valid kinds until after startup (c0cf70b9)
  • kubernetes: Rename InvalidKindReason and avoid nulls (c0cf70b9)
  • kubernetes: Change lists to immutable sets (c0cf70b9)
  • kubernetes: Defer checking valid kinds until after startup (c0cf70b9)
  • kubernetes: Rename isMetricsComputed (c0cf70b9)
  • kubernetes: Don't check valid kinds in agent scheduling (c0cf70b9)
  • kubernetes: Fix function call in tests (c0cf70b9)
  • kubernetes: Address PR review comments (c0cf70b9)
  • kubernetes: Move non-permission check logic from inner class (c0cf70b9)
  • mergify: add 'auto merged' label (31e2107d)
  • naming: add type boundaries on NamerRegistry (b6bd26ba)
  • titus: Allow serde of operation descriptions (d6b74636)

Deck 2.13.0

Features

  • amazon/serverGroup: add AmazonMQ CloudWatch namespace (980581a9)
  • aws: Add copy-to-clipboard button to copy instance id (cfe9731f)
  • bake: Support roscoSelector(stage) to determine roscoMode (c2bbf20d)
  • core: alphabetize applications in project config dropdown (f57c70b4)
  • core: filter out providers that don't support creating security groups (64e47b4a)
  • core: filter out providers that don't support creating security groups (64e47b4a)
  • core: rerun child pipelines with artifacts (d7490f9d)
  • core/forms: Remove all async support from the spinnaker validation apis (6ccc8cd1)
  • core/jenkins: Refer to Jenkins controller instead of master (78cbe156)
  • core/managed: add Managed Resources section to app config, allow opting out (f8267a4b)
  • core/managed: Add resource dropdown with links to history + source JSON (ad4c1447)
  • core/pipeline: Add timestamp for failed executions (5d2e4695)
  • core/pipeline: Make custom artifacts more readable (3cfb3f10)
  • core/pipeline: Make custom artifacts more readable (3cfb3f10)
  • core/presentation: add revalidate api to IFormInputValidation (8c0d087a)
  • core/presentation: Add useDebouncedValue react hook (b3840382)
  • core/presentation: allow markdown in ValidationMessage (075bce18)
  • core/presentation: Extract useValidationData hook (85182869)
  • core/presentation: Add helper functions for generating categorized validation messages (a5f192e8)
  • core/presentation: Add helper functions for generating categorized validation messages (a5f192e8)
  • core/presentation: Migrate ValidationMessage to new CSS styles (3c08b388)
  • core/presentation: Put margin between StandardFieldLayout's input and validation (dc2a74bb)
  • core/presentation: Begin adding support for error categories in validation API (f2790a77)
  • core/presentation: Migrate form validation API to class-based API (45f3c248)
  • core/utils: extract firstDefined utility function (2d6c9e78)
  • core/utils: Add traverseObject which deeply walks object properties (1873094f)
  • core/utils: Add 'api' to window.spinnaker object for interactive debugging (592e74ff)
  • displayName: Adding display name property for the bakery baseOS options (564af884)
  • git/repo: add git/repo artifact support in kustomize bake manifest (f8825445)
  • git/repo: add git/repo artifact support in kustomize bake manifest (f8825445)
  • google: add gce scale-down controls (5d89a044)
  • google: add feature flag for gce scale down controls (5d89a044)
  • google: add gce scale-down controls to autoscaling policy ui (5d89a044)
  • google: permit guest accelerator config for regional server groups with zones explicitly selected (b41a8c6f)
  • google: permit guest accelerator config for regional server groups with zones explicitly selected (b41a8c6f)
  • google: Added UI to specify Session Affinity for Network LB (b999312f)
  • kubernetes: permit multiple ReplicaSets to be deployed with a single rollout strategy config (2c100b6b)
  • kubernetes: support rolling restart operation for deployments (17be6af0)
  • monitored deploy: add basic monitored deploy UI (b55a49a7)
  • pager: Looking up multiple apps by name to page (e0ce768d)
  • pipeline: Custom alert for start manual execution dialog (476ad625)
  • precondition: add custom message to precondition (5867de1e)
  • provider/aws: Functions (listing and searching) (ca176fc3)
  • provider/aws: Function listing and searching functionality (ca176fc3)
  • provider/aws: Function listing and searching functionality (ca176fc3)
  • provider/aws: Functions (listing and searching) (86a365bd)
  • provider/aws: Function listing and searching functionality (86a365bd)
  • provider/aws: Function listing and searching functionality (86a365bd)
  • provider/aws: Add capabilities in cloudformation deploy stage (7e742dc0)
  • provider/aws: Show load balancer warning based on settings (938d219b)
  • provider/aws: Show NLB warning based on config (938d219b)
  • provider/aws: Add roleARN to the deploy cloudformation stage (74e829d0)
  • provider/google: Added UI to specify Session Affinity for Network (b999312f)
  • provider/google: Map title into value (b999312f)
  • provider/google: UI fixes (b999312f)
  • provider/google: load session affinity values from existing LB (b999312f)
  • provider/google: disable session affinity dropdown for existing LB (b999312f)
  • rosco: Allow optional roscoDetailUrl for roscoMode bakes (dae00c87)
  • rosco: Allow roscoMode per stage/execution (c2bbf20d)
  • titus: direct link to stdout and stderr ( based on Netflix internal JIRA SSPLAT-653 ) (f491ac69)
  • ui: Show health check url beside target group (ed7c4458)

Fixes

  • fix: credentails typo (a71f76d1)
  • amazon: Fix compatibility when cloudProviders missing (2821438c)
  • amazon/loadBalancer: Disable CLB deletion if instances exist (e4e3c46a)
  • amazon/pipeline: sort list of available bake regions (f957d429)
  • apache: configure apache to log to stdout/stderr (7e7c2cc0)
  • artifact/bitbucket: Bitbucket Use Default Artifact (c8c06e4f)
  • artifact/bitbucket: Bitbucket Use Default Artifact edit Object path field (c8c06e4f)
  • artifacts: Support custom artifacts with custom type (9c0a994c)
  • artifacts/bitbucket: Update the help key to the correct reference to bitbucket (f121b71a)
  • artifacts/bitbucket: Allow updates to bitbucket default artifact text input (5e255016)
  • awsbake: Fix exception if an unlisted baseOs is used (c2bbf20d)
  • awslb: Preventing edits against orphaned load balancers (828f7e70)
  • bake/kustomize: fix name validation (677ab6b8)
  • bakeManifest: fix bake manifest UI rendering (e0c57aff)
  • bakeManifest/helm: rawOverrides option (a0829090)
  • config: Fix typings for SpinnakerSettings (230ffb5f)
  • core: fix jumping cursor in trigger inputs (8529faf7)
  • core: Separate how config and plans are updated, add tests (2ef87886)
  • core: Sanitize confirmation modal body (68cc18f0)
  • core: fix manual execution (b396658c)
  • core: Exporting DiffView component (3731ba80)
  • core: ensure filter tag removal removes tags from filter (42c29462)
  • core/config: Fix typing for githubStatus notification type (727300df)
  • core/forms: MapEditorInput: Add validation for empty keys and empty values. (15de4a81)
  • core/infrastructure: Fix deep links with filters (f41d9554)
  • core/instance: use fragment on non-UP health code path (4ae63f4f)
  • core/pipeline: fully re-render list of trigger configs after a delete (d71daa55)
  • core/pipeline: make revision dropdown usable, layout tweaks (629a98f6)
  • core/pipeline: make UX less bad when a pipeline stage never happened (6236a9fd)
  • core/pipeline: Force rebake not displayed for templated pipelines (17bf82af)
  • core/pipeline: fix Artifactory and Nexus trigger NPE (d03ce484)
  • core/pipeline: Pass Trigger validateFn to the trigger's Formik (36192ab7)
  • core/pipeline: KLUDGE: use react 'key' to reinitialize formik when pipeline reverted (829c2951)
  • core/pipeline: When a trigger is updated, replace the entire object (3192f2cf)
  • core/pipeline: Revision history is vertically challenged in Safari (4f24db3a)
  • core/pipeline: "Depends On" doesn't always update when reverting (67fc87eb)
  • core/pipeline: Fix revert button for non-templated pipelines (bd4ba0e7)
  • core/pipeline: Fixes UX of saving non-templated pipelines (2b7b60c3)
  • core/pipeline: Fix execution details chevron for grouped stages (a125b03c)
  • core/pipeline: migrate more manual execution field layouts (4d3454c8)
  • core/pipeline: Don't break templated pipelines when updating config (70dee3f2)
  • core/pipeline: Fix revert button regression for templated pipelines (b942b5b5)
  • core/pipeline: Add space before Source-link for failed executions (0034fa81)
  • core/pipeline: standardize manual execution field layouts (bce3ac53)
  • core/pipeline: exclude correlation IDs (and more) when re-running (3e761865)
  • core/presentation: Fix null reference in FieldLayout components (64d88cca)
  • core/presentation: Fix FormikExpressionInput initial state (088f50b2)
  • core/presentation: Do not use a regexp with /test/s because it's not supported in firefox (c1a28fef)
  • core/presentation: fix null reference in ReactSelectInput (c18f307e)
  • core/presentation: Make all DOMPurify'd links open in a new window (aef69cfc)
  • core/presentation: Handle empty message in validation message functions, e.g., errorMessage(undefined) (aad69b04)
  • core/presentation: In min/max validators, validate that the value is a number (447d76f8)
  • core/serverGroup: Correct 'simple scaling' heuristic (ee18eb04)
  • core/serverGroup: Correct 'simple scaling' heuristic (ee18eb04)
  • core/serverGroup: Adding test for capacity details (ee18eb04)
  • core/task: properly cleanup TaskMonitor polling, fix digest thrashing (57d28c9c)
  • core/utils: Support traversing keys which contain dots in them using array notation (30c7f2c8)
  • deck: Show fail fast status code only if they are not pre-configured (752b1ab7)
  • docker,titus: re-align digest field on image + tag selector (c7feedd6)
  • google: add min and max timeWindowSec, sidebar details (5d89a044)
  • google: replace missing character in functional test (0604181e)
  • google: do not display zones for regional mig unless selected explicitly (b7b49d0d)
  • google: add default gce instance type disk constants to front end (a3f36959)
  • help: reflect reality in rollingredblack help text bubble-things (ec1d32f2)
  • help text: update webhook help text (01bc0dae)
  • kubernetes: disable project cluster filtration by stack/detail (114303ac)
  • kubernetes: add missing app config param for patch manifest stages (be258cd3)
  • kubernetes: Fix merge strategy field (479e9d6e)
  • kubernetes: Properly dirty patch stage on resource update (479e9d6e)
  • kubernetes: Fix manifest source defaulting in patch manifest (479e9d6e)
  • kubernetes: Fix merge strategy field (479e9d6e)
  • kubernetes: Fix defaulting of strategy field (479e9d6e)
  • kubernetes: Fix display of strategy field (479e9d6e)
  • kubernetes: remove former 24-char limit on services names (1083a709)
  • kubernetes: remove former 24-char limit on services names (1083a709)
  • monitored deploy: fix the rollback config to match what orca expects (7e8cb7e0)
  • monitored deploy: properly initialize defaults (0d0caa99)
  • nexus: nexus trigger selectable in UI (23540b61)
  • pipeline: triggers were not reverting in the ui (7d91de69)
  • pipeline: unset locked instead of lock when unlocking pipeline (585ac157)
  • pipeline: Fix NPE in stage requisiteStageRefIds (bfa0d173)
  • rosco: Re-evaluate roscoSelector on stage updates (d620e057)
  • runJob: fix artifact output creation (03cb78cb)
  • tasks: (re)-enable durations on canceled tasks (91e4c42d)
  • titus/pipeline: use proper git ssh URL for docker bakes (c6c69a36)
  • triggers: do not allow manual definition of docker image in trigger (17232e69)
  • triggers: fix a few minor issues with manual execution triggers (523c6bb5)
  • triggers: Protecting from undefined triggers (d8f1a51e)
  • ui: Type field missing for CLB detail view (b382a227)
  • ui: Add icon when target group registration in progress (438d22cd)

Other

  • Merge pull request #7578 from alanmquach/bump-package-docker-to-0.0.49-and-amazon-to-0.0.221-and-titus-to-0.0.117 (98d4c9a9)
  • Revert "feat(provider/aws): Functions (listing and searching) (#7536)" (e49ffaf4)
  • refactor: Migrate user code to new validation message API (a9469e97)
  • Revert "chore(package): update to "@spinnaker/styleguide": "^1.0.13" (#7477)" (11c76bff)
  • amazon: Bump version to 0.0.221 (fe9f8b36)
  • amazon: Bump version to 0.0.220 (97ed5192)
  • amazon: Bump version to 0.0.219 (e9b9d967)
  • amazon: Bump version to 0.0.218 (cc8c9bf8)
  • amazon: Bump version to 0.0.217 (c65721ee)
  • amazon: Bump version to 0.0.216 (469d659a)
  • amazon: Bump version to 0.0.215 (d2dfa602)
  • amazon: Bump version to 0.0.214 (907eff56)
  • amazon: Bump version to 0.0.213 (9954e0f2)
  • amazon: Bump version to 0.0.212 (62e969dc)
  • amazon: Bump version to 0.0.211 (31e17dea)
  • amazon: Bump version to 0.0.210 (f2457613)
  • amazon: choices prop is actually optional (c93f7e82)
  • amazon: Bump version to 0.0.209 (192130ee)
  • application: reactify delete application section (babbe889)
  • aws: move Resize item in the AmazonServerGroupAction dropdown into separate component (6186e404)
  • core: Bump version to 0.0.427 (f8b7b1ab)
  • core: Bump version to 0.0.426 (99bb0342)
  • core: Bump version to 0.0.425 (cc8c9bf8)
  • core: Bump version to 0.0.424 (8668bb90)
  • core: Bump version to 0.0.423 (cc49e1a4)
  • core: Bump version to 0.0.422 (35241afd)
  • core: Bump version to 0.0.421 (c8d6c713)
  • core: Bump version to 0.0.420 (e56cc296)
  • core: Bump version to 0.0.419 (d0777fad)
  • core: Bump version to 0.0.418 (b8207c45)
  • core: Bump version to 0.0.417 (da0c2c4b)
  • core: Bump version to 0.0.416 (ca7e70b1)
  • core: Bump version to 0.0.415 (74712313)
  • core: Bump version to 0.0.414 (3377ee18)
  • core: Bump version to 0.0.413 (5414465c)
  • core: Bump version to 0.0.412 (245cb843)
  • core: Bump version to 0.0.411 (fa47f48f)
  • core: Bump version to 0.0.410 (09bbec0d)
  • core: Bump version to 0.0.409 (4c6f7c1e)
  • core: Bump version to 0.0.408 (04498f17)
  • core: Bump version to 0.0.407 (30cb4bad)
  • core: reactify the show pipeline history modal (733132ba)
  • core: Bump version to 0.0.406 (192130ee)
  • core/help: Migrate HelpContext to react hooks style (5c3fcc74)
  • core/notification: remove remainder of hipchat notifications (81eaac6c)
  • core/presentation: update icon font for managed delivery (7da89e09)
  • core/presentation: Remove validationStatus from forms apis (4c5f532b)
  • core/presentation: Split forms interfaces into three files: (eafb077c)
  • core/validation: Move ValidationMessage from core/validation to core/presentation/forms/validation (b5534656)
  • core/validation: move FormValidator classes to separate files (53300b15)
  • deck: bump kayenta version (1dc470d9)
  • deps: bump @spinnaker/kayenta from 0.0.86 to 0.0.87 (713c289e)
  • deps: bump macaddress from 0.2.8 to 0.2.9 (e168804e)
  • deps: bump no-case from 2.3.1 to 2.3.2 (77b93a48)
  • deps: bump diff from 3.2.0 to 3.5.0 (825f696b)
  • deps: bump sshpk from 1.13.0 to 1.16.1 (7f6a1be0)
  • deps: bump js-yaml from 3.12.1 to 3.13.1 (538d0b49)
  • deps: [security] bump mixin-deep from 1.3.1 to 1.3.2 (0b589c4e)
  • deps: [security] bump eslint-utils from 1.3.1 to 1.4.2 (c8b76ee8)
  • docker: Bump version to 0.0.49 (2bdf02b4)
  • docker: Bump version to 0.0.48 (acaeeae4)
  • docker: Bump version to 0.0.47 (e9453510)
  • docker: Bump version to 0.0.46 (9b09decf)
  • github: Add mergify config (fac7edcd)
  • google: convert accelerator config component to react (b41a8c6f)
  • kubernetes: remove unnecessary angular and non-typescript deps (3b880c76)
  • kubernetes: remove unnecessary angular deps (3b880c76)
  • kubernetes: isolate v1 code (e667bdf5)
  • mergify: add 'auto merged' label (771e7ce6)
  • package: bump spel2js to 0.2.6 (a096f8de)
  • package: update @spinnaker/styleguide@1.0.14 (b34fcdad)
  • package: update to "@spinnaker/styleguide": "^1.0.13" (ad642a93)
  • pipeline: Reactify the copy stage modal (6cd7e9d2)
  • pipeline: reactify pipeline config actions dropdown (f535e525)
  • provider/aws: Converting Function class component into function component. (ca176fc3)
  • provider/aws: Refactoring groupings into a separate component. (ca176fc3)
  • provider/aws: Removing unnecessary state from FunctionGroupings. (ca176fc3)
  • provider/aws: removing extra line. Tthis is actually for retrying tests on TravisCI (ca176fc3)
  • provider/aws: Adding tests for FunctionFilterService and changes as requested by @christopherthielen (ca176fc3)
  • provider/aws: removing unnecessary field from IFunction (ca176fc3)
  • provider/aws: adding flag to turn off functions feature (ca176fc3)
  • provider/aws: Converting Function class component into function component. (86a365bd)
  • provider/aws: Refactoring groupings into a separate component. (86a365bd)
  • provider/aws: Removing unnecessary state from FunctionGroupings. (86a365bd)
  • provider/aws: removing extra line. Tthis is actually for retrying tests on TravisCI (86a365bd)
  • provider/aws: Adding tests for FunctionFilterService and changes as requested by @christopherthielen (86a365bd)
  • provider/aws: removing unnecessary field from IFunction (86a365bd)
  • settings: Remove unused feature toggle: 'jobs' (cd8c2322)
  • settings: remove defaultCategory from settings.js (2d784317)
  • titus: Bump version to 0.0.117 (258eb2e0)
  • titus: Bump version to 0.0.116 (f5bd98e5)
  • titus: remove unused autoScalingEnabled toggle from settings interface (8088211e)
  • titus: Bump version to 0.0.115 (2b2100fc)
  • titus: Bump version to 0.0.114 (f928d70b)
  • titus: Bump version to 0.0.113 (60290ed3)
  • titus: Bump version to 0.0.112 (fa47f48f)
  • titus: Deprecating pipeline migration strategy (97c85d99)
  • titus: Bump version to 0.0.111 (d0ceddb5)
  • titus: Bump version to 0.0.110 (62d65d79)
  • titus: Adding load balancer incompatibility (7d65ea9e)

Echo 2.9.0

Features

  • secrets/gcs: Support for decrypting spinnaker secrets in GCS (22a5b3bf)
  • slack: Make slack base url configurable (d41d723b)
  • slack: Make slack base url configurable (d41d723b)
  • sql: Conditionally allow MySQL Connector to be excluded from the build (4e1ea669)
  • stats: Adds salt to application ID hash (b15d07f6)
  • stats: Adds circuit breaker logic via resilience4j (8413e629)
  • stats: Add stage's CloudProvider (239e6914)
  • tasks: allow notifications for tasks (c3d4e5bb)
  • telemetry: Use kork-proto as source of proto library, remove some GRPC (5e46d040)
  • telemetry: adds listener for telemetry metrics (16b5ab48)

Fixes

  • build: whitelist build package to avoid being ignored by gcloud cloudbuild (84d7e5fc)
  • fiat-api: fiatVersion 1.7.1 (5999150d)
  • health: Remove old Spring 1.x health endpoint config to remove an error printed during startup. (f5456515)
  • nexus: get artifacts from nexus events (31136d55)
  • notification/slack: fix missing logger (32ef1e94)
  • notifications: Don't send failure notifications for cancelled pipelines and stages (52f4b42d)
  • notifications: Add a check for cancelled stages and an additional one for cancelled pipelines + tests (52f4b42d)
  • stats: Parse Event objects into structured POJOs for Telemetry events (ad0fd078)
  • stats: Remove synthetic stages from Stages list (500d45b4)
  • swabbie: Update email template (17ba2c2e)
  • swabbie: Update swabbie email template (4349d8bf)
  • swabbie: Update swabbie email template (4349d8bf)
  • triggers: add missing docker properties to trigger model (a8f89092)
  • triggers: Remove confusing/unnecessary error log (92560320)

Other

  • Revert "chore(github): test out mergify config (#673)" (2c29c10f)
  • dependencies: Autobump fiatVersion (acca50ad)
  • dependencies: Autobump korkVersion (26e42818)
  • dependencies: Autobump korkVersion (4ede8780)
  • dependencies: fiatVersion 1.7.2 (13e4baa4)
  • dependencies: fiatVersion 1.7.0 (484aae73)
  • dependencies: Autobump korkVersion (5a5d28c4)
  • dependencies: Autobump korkVersion (40ab26ce)
  • dependencies: Autobump korkVersion (8ea91a8b)
  • dependencies: Autobump korkVersion (b865b55e)
  • dependencies: Autobump korkVersion (9b0514a3)
  • dependencies: Autobump korkVersion (f9bd3f9a)
  • dependencies: Autobump korkVersion (f5dfc293)
  • dependencies: Autobump korkVersion (f44d7795)
  • dependencies: Autobump korkVersion (54799e91)
  • dependencies: Autobump korkVersion (84dd5baa)
  • dependencies: Autobump korkVersion (2e50b450)
  • dependencies: Autobump korkVersion (bd6b857d)
  • dependencies: export fiat api in echo-bom (a489e9ea)
  • dependencies: Autobump korkVersion (4372e7bc)
  • dependencies: Autobump korkVersion (d4483c90)
  • github: Add mergify config (22d572d7)
  • github: test out mergify config (fcbaacbe)
  • google: Enable the GoogleChatNotificationAgent test (ff2268c2)
  • mergify: make mergify add a label when a PR is automatically merged (e603af62)
  • readme: add mergify status (c61fd8d1)
  • readme: update readme and test mergify (2e7c07c7)

Fiat 1.8.0

Features

  • authorization: implement application prefix permission source (37ac06d0)
  • authorization: Add creation access control (60a86064)
  • build: enable autobump PRs for fiat-api consumers (83ebd899)
  • permission: enables customization of permission sources and aggregation (b8500123)
  • secrets/gcs: Support for decrypting spinnaker secrets in GCS (6941f94c)

Fixes

  • api: fix serialization issues with new Authorization enum values. (6460ffda)
  • boot2: camel -> snake case (7e297c54)
  • build: fix autobump config (28075388)
  • build: update build.gradle for autobump (b2f7e67f)
  • error: Test various access denied scenarios and improve readability (623dae5d)
  • error: Improve access denied error messaging (1b5a3d27)
  • fiat-api: revert breaking change to Permissions. (161c7b2a)
  • roles: Allow anonymous calls from Fiat to other Spinnaker modules (4afff61a)

Other

  • dependencies: Autobump korkVersion (e8f6e8a5)
  • dependencies: Autobump korkVersion (b8f8ce7b)
  • dependencies: Autobump korkVersion (05f7ce32)
  • dependencies: Autobump korkVersion (a0125fed)
  • dependencies: Autobump korkVersion (0ebe12bf)
  • dependencies: Autobump korkVersion (6a302a22)
  • dependencies: Autobump korkVersion (a3851136)
  • dependencies: Autobump korkVersion (34260dd7)
  • dependencies: Autobump korkVersion (e47cbb35)
  • dependencies: Autobump korkVersion (f29866af)
  • dependencies: Autobump korkVersion (fba4fea8)
  • dependencies: Autobump korkVersion (c7138ecb)
  • dependencies: Autobump korkVersion (9864dd19)
  • dependencies: Autobump korkVersion (2e584a28)
  • dependencies: Autobump korkVersion (2f546966)
  • github: Add mergify config (37654d26)
  • mergify: add 'auto merged' label (966b7396)
  • permissions: Permissions should always have a non null value for all Authorization types (b8500123)
  • permissions: Add Notnull annotations on resource permission provider/source (b8500123)

Front50 0.20.0

Features

  • authorization: Add create restriction to application creation (c8e96e11)
  • secrets/gcs: Support for decrypting spinnaker secrets in GCS (a21712d5)
  • sql: Conditionally allow MySQL Connector to be excluded from the build (10c6e77b)

Fixes

  • authorization: Sync roles after an application is created (7f91a48d)
  • error: Swap out AccessDeniedExceptionHandler for FiatAccessDeniedExceptionHandler (c04b9504)
  • fiat: roll back fiat to 1.5.1 (3d296467)
  • fiat: Fix access denied for new apps with no roles (156c6ea4)
  • fiat-api: fix usage of deprecated method from Permissions (62697a02)
  • fiat-api: fiatVersion 1.7.1 (06d0ed8c)

Other

  • fix application creation bug (7e7c8984)
  • dependencies: Autobump fiatVersion (109ffd83)
  • dependencies: Autobump korkVersion (d522def1)
  • dependencies: Autobump korkVersion (78a0ffb9)
  • dependencies: fiatVersion 1.7.0 (cdc3a658)
  • dependencies: Autobump korkVersion (febd8866)
  • dependencies: Autobump korkVersion (0b691764)
  • dependencies: Autobump korkVersion (0aa84c6e)
  • dependencies: Autobump korkVersion (18d09772)
  • dependencies: Autobump korkVersion (1b78a9ac)
  • dependencies: Autobump korkVersion (6c3f7d74)
  • dependencies: Autobump korkVersion (73c8bf1d)
  • dependencies: Autobump korkVersion (0881eae0)
  • dependencies: Autobump korkVersion (cc7657fd)
  • dependencies: Autobump korkVersion (cba221cf)
  • dependencies: Autobump korkVersion (29c46b13)
  • dependencies: Autobump korkVersion (80bbda54)
  • dependencies: Autobump korkVersion (943990ac)
  • dependencies: Autobump korkVersion (54ea2804)
  • gcs: Bump kork version and update google credentials to latest style. (0a17e927)
  • github: Add mergify config (78bfbf6e)
  • logging: make access denies log more stronger (23062ebf)
  • mergify: add 'auto merged' label (81594d56)

Gate 1.13.0

Features

  • artifact: expose get single artifact (482bf0e5)
  • bakery: option to derive rosco bakeOptions from gate.yml (2fd860b2)
  • canary: Adds new canary exec endpoint sans canary config id path param. (581fc3b5)
  • canary: Exposes API initiating canary given a config. (83aa1f53)
  • cors: Configurable whitelist of origins that are allowed to make cross-origin requests (803c4382)
  • displayNameBaseOs: Add displayName to baseOS (b3ca3438)
  • keel: add resource export endpoint (76590677)
  • keel: add diff endpoints (0e295891)
  • keel: add veto-related endpoints (13ce30da)
  • keel: endpoints for delivery config manifests (cb7995b9)
  • keel: reflect change in how resource history works in Keel API (57c0029d)
  • md: expose status of resource (71ba578f)
  • monitored deploy: expose monitor deploy orca endpoints (09b37934)
  • provider/aws: Added a new API, to get the lambda functions. (40af4090)
  • saml: add prefix to saml files if not present (4c9c410f)
  • secrets/gcs: Support for decrypting spinnaker secrets in GCS (84e2c632)

Fixes

  • fiat-api: fiatVersion 1.7.1 (181b4b43)
  • keel: force yaml when exporting resources (e8b809f1)
  • keel: fix managed controller endpoint (e3a38ba9)
  • keel: passthrough errors (4af141cf)
  • managed: Use RequestParam instead of Query so Swagger UI does it right (8ab857e9)
  • md: valid json not a string response (084e8211)
  • nexus: add nexus repo names endpoint (1200a1d6)
  • oauth2: Add before filter to fix basic auth (30692830)
  • saml: make saml email address configurable (cf493feb)
  • swagger: Enable canary config store for generating with swagger (47f4cc30)

Other

  • cleanup: Remove no-longer-supported API (3fd09d1f)
  • dependencies: Autobump fiatVersion (a453541b)
  • dependencies: Autobump korkVersion (92205428)
  • dependencies: Autobump korkVersion (3b4df9de)
  • dependencies: fiatVersion 1.7.2 (929917e3)
  • dependencies: fiatVersion 1.7.0 (8efacc73)
  • dependencies: Autobump korkVersion (d8e83140)
  • dependencies: Autobump korkVersion (0bfe7003)
  • dependencies: Autobump korkVersion (5746a933)
  • dependencies: Autobump korkVersion (2a64879c)
  • dependencies: Autobump korkVersion (dd70cd37)
  • dependencies: Autobump korkVersion (780ad7e3)
  • dependencies: Autobump korkVersion (fae483ed)
  • dependencies: Autobump korkVersion (878649f8)
  • dependencies: Autobump korkVersion (09c1cab7)
  • dependencies: Autobump korkVersion (88d8500a)
  • dependencies: Autobump korkVersion (24954cb9)
  • dependencies: Autobump korkVersion (c03528dc)
  • dependencies: Autobump korkVersion (cf6ca71e)
  • dependencies: Autobump korkVersion (e20b7e33)
  • github: Add mergify config (1538a860)
  • history: maps not typed (f474ad4c)
  • mergify: add 'auto merged' label (404dba76)

Igor 1.7.0

Features

  • gcb: Add permissioning to Google Cloud Build accounts (486b26af)
  • gcb: Add permissioning to Google Cloud Build (486b26af)
  • keel: send keel docker events if enabled (37fe1ed0)
  • secrets/gcs: Support for decrypting spinnaker secrets in GCS (8ae136a3)

Fixes

  • concourse: Fix caching of concourse build events (94302605)
  • fiat-api: fiatVersion 1.7.1 (59ada09d)
  • jenkins: don't npe on dynamic choice parameters (3aecf2f6)
  • nexus: change Nexus config (355e95c6)
  • nexus: add nexus name endpoint and artifact location (1f60f144)
  • travis: Correctly parse global_env from Travis v3 API (093f1212)

Other

  • dependencies: Autobump fiatVersion (1e3dd38f)
  • dependencies: Autobump korkVersion (97b89d05)
  • dependencies: Autobump korkVersion (18add32d)
  • dependencies: fiatVersion 1.7.2 (5fa537c7)
  • dependencies: fiatVersion 1.7.0 (13745532)
  • dependencies: Autobump korkVersion (5a335c10)
  • dependencies: Autobump korkVersion (3e7076d6)
  • dependencies: Autobump korkVersion (31b0299f)
  • dependencies: Autobump korkVersion (862e888d)
  • dependencies: Autobump korkVersion (b4be25de)
  • dependencies: Autobump korkVersion (2c2e55a8)
  • dependencies: Autobump korkVersion (97631c04)
  • dependencies: Autobump korkVersion (263baea2)
  • dependencies: Autobump korkVersion (e9ec638d)
  • dependencies: Autobump korkVersion (e40a0901)
  • dependencies: Autobump korkVersion (d0e79f24)
  • dependencies: Autobump korkVersion (7955926f)
  • dependencies: Autobump korkVersion (486fd437)
  • dependencies: Autobump korkVersion (2c0757b1)
  • github: Add mergify config (52431f35)
  • google: Update google credentials to latest style. (008689f6)
  • igor: Removed unused variables in InfoController (88665347)
  • igor: Clean up code (486b26af)
  • mergify: add 'auto merged' label (2f44740f)
  • travis: Remove old build cache migrator (cd75c26e)

Kayenta 0.12.0

Features

  • config: Allow canary config id to be passed in instead of always randomly generated. (c29e8d9d)
  • secrets/gcs: Bumping orca dep for pulling gcs secrets module (d1edf69c)
  • signalfx: Provide additional context about the results of the signalflow programs. (9a2e0e48)

Fixes

  • docker: docker compose fixes (08ee5644)
  • docs: Fix typo in URL (2729ab28)
  • docs: Fix typo in URL (2729ab28)
  • docs: Add anchor tag to link. (2729ab28)
  • judge: Disable first pass outlier removal by default. (08b119a1)
  • kayenta: Retry in case of network errors (c0564534)
  • signalfx: fix typo in signalflow error message template (cfb80ed7)

Other

  • docs: add documentation on the object structure of canary config. (2729ab28)
  • docs: add documentation on the object structure of canary config. (2729ab28)
  • docs: Add id to the canary-config doc and add docs for New Relic Insights Metric Set Query Config. (2729ab28)
  • github: Add mergify config (fde9a035)
  • google: Update to latest google credentials style. (015b7013)
  • mergify: add 'auto merged' label (5dcec805)

Orca 2.11.0

Features

  • EvaluateVariables: Support complex objects in EvaluateVariables stage (31e5229e)
  • Kayenta: Support canaryConfigName as canary identifier (3d9eaf54)
  • bakeManifest/kustomize: add kustomizeFilePath to support git/repo artifact type (21366749)
  • cfn: request to delete CFN changeset if empty (871358f5)
  • cfn: request to delete CFN changeset if empty (871358f5)
  • clouddriver: Basic support for retryable kato tasks (caa471ce)
  • core: Add SpEL Function Helpers for Resolved Trigger Artifacts (8e53833f)
  • dynamicBackoff: Dynamically configurable task backoff (42a5665c)
  • kubernetes: permit multiple ReplicaSets to be deployed with a single rollout strategy (e2d395ae)
  • kubernetes: support rolling restart operation for deployments (295a3e90)
  • kubernetes: support rolling restart operation for deployments (295a3e90)
  • monitored deploy: Support rollback on failure (dd5dd1f9)
  • monitored deploy: Support rollback on failure (dd5dd1f9)
  • monitored deploy: add endpoint to get a list of deployment monitors (b8675305)
  • monitoredDeploy: Completed event should include details of success/failure (34832213)
  • monitoredDeploy: Completed event should include details of success/failure (34832213)
  • orcestration: add support for dynamic task timeout (725db2b0)
  • orchestration: Allow sibling stages to continue on FAILED_CONTINUE (ae0e2cf7)
  • plugins: Back orca stage plugins via PF4J (ff6fcb92)
  • plugins: Add kork-plugins, wire up initial spel function extension point (154eb6cf)
  • queue: shovel support to move to/from keiko-sql (16e55a05)
  • queue: add support for keiko-sql (0d0a1ba4)
  • rollback: avoid scaling down during rollback (1d4f96bf)
  • secrets/gcs: Support for decrypting spinnaker secrets in GCS (d304293d)
  • sql: Conditionally allow MySQL Connector to be excluded from the build (5dee1a01)
  • sql: ability to override SqlHealthIndicator by dynamic config (c96a022d)
  • sql: sql NotificationClusterLock implementation (c830a1d9)
  • strategy: Monitored deploy strategy ALPHA (a1fb5283)
  • strategy: Monitored deploy strategy ALPHA (a1fb5283)
  • tasks: attach notifications to execution (823ca2ee)

Fixes

  • Kayenta: Change exception type to kork.UserException (fd185165)
  • Kayenta: Change exception type to kork.UserException (fd185165)
  • RRB & MD: pin and unpin the correct server group (717792be)
  • SpEL: Execution context injected into expressions dynamically (bd276521)
  • SpEL: Execution context injected into expressions dynamically (bd276521)
  • bake: Fix the fix for inconsistent names in parallel bakes (a31cde3c)
  • bake: Fix logic to fail bake on inconsistent image names to look at the applicable stages (a31cde3c)
  • bake: Address review feedback (a31cde3c)
  • bake: Address review feedback (a31cde3c)
  • bake: Address review feedback (a31cde3c)
  • bake: Fail bake stage when image names don't match across regions (60809901)
  • bake: Fail bake stage when image names don't match across regions (60809901)
  • bakeManifest: add option for rawOverrides (1b12c69c)
  • bakery: fix bakery select by baseOs (22b6adfe)
  • boot2: Replacing camel with snake case (16313cbb)
  • cf: cf rolling red black did not resize old SG correctly (0d64a4f9)
  • cfn: Return RUNNING if an error occurred (109c3b2a)
  • cfn: Return RUNNING if an error occurred (109c3b2a)
  • cfn: Add retries when force cache refreshing (3bad6cac)
  • clouddriver: small typo fix (1d5bc6c2)
  • conditions: invalid stageEnabled expressions disable stage (4d290d0c)
  • conditions: Only pause pipeline deploys (844878fa)
  • conditions: Only pause pipeline deploys (844878fa)
  • core: run CancellableStage cancel method on dedicated thread pool (efe1163a)
  • dependent pipelines: failure to trigger a dependend pipeline shouldn't affect others (7f02cb87)
  • dependent pipelines: failure to trigger a dependend pipeline shouldn't affect others (7f02cb87)
  • deploy: Correctly detect images in parent executions (ef3c8c6e)
  • fiat-api: fiatVersion 1.7.1 (d6ed99a8)
  • front-50: Use stage.context.pipelineId for strategies (e1511d52)
  • gcb: process spel in gcb build definition artifact (e6391e86)
  • gce: revert a conditional that was accidentally flipped in #3128 (855eacd9)
  • google: make stage @Nonnull (295a3e90)
  • google: do not pin source server group capacity in red/black (2c591c8d)
  • google: do not pin source server group capacity in red/black (2c591c8d)
  • google: remove unnecessary method (2c591c8d)
  • google: fix scale down cluster task in gce red/black (50c7c5a1)
  • google: fix deploying with red/black into an empty cluster (98173731)
  • google: fix deploying with red/black into an empty cluster (98173731)
  • google: replace catch with null check, handle clone case (98173731)
  • google: change return types from List to ImmutableList (2eb465a5)
  • google: improve readability based on the wisdom of plumpy (2eb465a5)
  • kayenta: Make sure we destroy canary clusters (578c7361)
  • kubernetes: Fix Optional ofNullable (e3832974)
  • mergify: use ready to merge label (f95f6b1b)
  • monitored deploy: add deploymentId parameter (b6faf6ff)
  • monitored deploy: send complete notification on failure & add shrink cluster (728e9b05)
  • monitored deploy: send complete notification on failure (728e9b05)
  • monitored deploy: add shrink cluster ability (728e9b05)
  • monitored deploy: make reason singular (8520197f)
  • monitored deploy: add monitored deploy to same checks as RRB (74e65d98)
  • monitored deploy: don't store any context in the task (dea4a7fc)
  • monitored deploy: log everything better (752e442c)
  • nexus: deserialize nexus trigger (e4d4c2c1)
  • pipeline: allow mid-task spel evaluation to reference prior stage outputs (a5bd525b)
  • pipeline: allow mid-task SpEL evaluation to reference prior stage outputs (a5bd525b)
  • pipelines: Fixed interpretation of missing startTime during inst… (e872ce85)
  • pipelines: Fixed interpretation of missing startTime during instrumentation (e872ce85)
  • pipelines: Copying of failed child pipeline outputs (1ae78119)
  • polling: Updating conditional property casing (3cae8ded)
  • queue: fix wiring for keiko redis to sql migrator (825333de)
  • queue/sql: fix clash between orca/keiko changelogs (154dabad)
  • redblack: fix red/black deploy (aa5a6756)
  • rollback: pass authentication context and consider errors fatal (cb11ede2)
  • rollback: timebox how long we spend blocking in ExplicitRollback (10396bd8)
  • rollback: capture the source capacity before anything else (8a409a60)
  • rrb: Store RRB before-cleanup pipeline ID in the right context field (ba249be9)
  • rrb: Store RRB before cleanup pipeline ID in the right context field (ba249be9)
  • shrinkCluster: ensure we are injecting disable before shrink (9aa603a9)
  • source resolver: prefer older servergroup when copying capacity (b36a248b)
  • sql/repository: return to sorting stages only by refId (2e78490a)
  • tasks: limit task maxBackoff time to 2min (c104a23d)
  • tests: added happy path tests (dd5dd1f9)
  • titus: use labels as override only for titus health providers (37a306aa)
  • webhook: Add fail fast status to the preconfigured webhook properties (4e1e03e3)
  • webhook: Don't try to deserialize fields we don't really n… (695d6a2e)
  • webhook: Don't try to deserialize fields we don't really need (695d6a2e)
  • webhooks: Construct Webhook status check URL honoring the original webhook protocol/scheme (3bc32daf)

Other

  • *: Merge orca-extensionpoint module into orca-core (ea0d7b4a)
  • RRB: clean up usage or "rollingredblack" string constant (a1fb5283)
  • StageDefinitionBuilder: Delete deprecated aroundStages (fba04ec8)
  • bake: Add test to reproduce bug with image name mismatch check with unrelated bake stages (a31cde3c)
  • clouddriver: Add fast prop for disabling saga retries (8aba7341)
  • core: Adding stage.toString() (967ed797)
  • core: Adding stage.toString() (967ed797)
  • core: removing clusterLock feature (f3e3db07)
  • dependencies: Autobump fiatVersion (97366b97)
  • dependencies: Autobump korkVersion (34fc2cf7)
  • dependencies: Autobump korkVersion (2d858cfe)
  • dependencies: fiatVersion 1.7.2 (d53bdbe7)
  • dependencies: fiatVersion 1.7.0 (4024b779)
  • dependencies: Autobump korkVersion (1a5f6e65)
  • dependencies: Autobump korkVersion (a4f0942b)
  • dependencies: Autobump korkVersion (122721bf)
  • dependencies: Autobump korkVersion (7b5a3292)
  • dependencies: Autobump korkVersion (62d85df2)
  • dependencies: Autobump korkVersion (48191625)
  • dependencies: bump keiko to 2.14.2 (d89159bf)
  • dependencies: bump keiko to 2.14.1 (8a7f9a13)
  • dependencies: Autobump korkVersion (72ae4d3e)
  • dependencies: bump keiko to 2.14.0 (21e35a04)
  • dependencies: bump keiko to 2.13.7 (d6f3acc3)
  • dependencies: bump keiko to 2.13.6 (3a0816b1)
  • dependencies: bump keiko to 2.13.5 (66c7b4c7)
  • dependencies: Autobump korkVersion (d671314f)
  • dependencies: keiko 2.13.4 (54a717a5)
  • dependencies: bump keiko to 2.13.3 (8fcc40ac)
  • dependencies: bump keiko to 2.13.2 (1aa65f7a)
  • dependencies: Autobump korkVersion (66acc7f9)
  • dependencies: Autobump korkVersion (6dadf14f)
  • dependencies: Autobump korkVersion (1285ac50)
  • dependencies: Autobump korkVersion (3f052ccb)
  • dependencies: Autobump korkVersion (4c0de620)
  • github: Add mergify config (8bf88b5e)
  • google: convert GceDeployStagePreProcessor to Java (2eb465a5)
  • google: add tests for GceDeployStagePreProcessor (2eb465a5)
  • google: convert GceDeployStagePreProcessor to Java (2eb465a5)
  • intellij: fixing first time builds in intellij (803c8fa4)
  • kayenta: add config id and execution to outputs (1728606a)
  • kubernetes: clean up bake manifest error messaging (c00a7734)
  • kubernetes: clean up bake manifest error messaging (c00a7734)
  • kubernetes: make the java even better per ezimanyi (c00a7734)
  • kubernetes: upgrade kubernetes client-java from beta to 5.0.0 (f2bd2b9a)
  • mergify: add 'auto merged' label (5e585b15)
  • monitored deploy: clean up naming broadcast -> notify (0098b135)
  • mysql: add drop database to init script for convenience (96f322ec)
  • pipeline: add buildExecutionContext test to ContextParameterProcessorSpec (a5bd525b)
  • readme: Add service overview (f2a239ca)
  • rrb: Add checks for cleanup pipeline context info in RRB spec (ba249be9)
  • strategies: clean up some strategies from my past refactor (72b08f23)

Rosco 0.15.0

Features

  • kustomize: support git/repo artifact in kustomize bake manifest (2f92d636)
  • kustomize: support git/repo artifact in kustomize bake manifest (2f92d636)
  • kustomize: upgrade binary v3.1.0 -> v3.3.0 (a43835de)
  • packer: set custom repository per base image (406d9272)
  • packer: set custom repository per base image (406d9272)
  • secrets/gcs: Support for decrypting spinnaker secrets in GCS (c0fdcabd)

Fixes

  • artifact: improve error messaging for failed artifact downl… (00dbfded)
  • bake/helm: ignore tests drectory when baking Helm chart (22f25afd)
  • bakeManifest: helm --set option (abe19bbf)
  • bakeManifest: revert to set-string (357c1aec)
  • dockerfile: correct hashicorp packer path to 1.4.4 (f6c8580c)
  • helm: Fix baking of helm artifacts (746fa9ce)
  • kustomize: fetch new artifacts with the same version (9efc017e)
  • manifest: Clean up temporary directories in tests (9e0dc7ce)
  • rosco: Update packer version in rosco (e853428f)

Other

  • dependencies: Autobump korkVersion (2f279720)
  • dependencies: Autobump korkVersion (c520000c)
  • dependencies: Autobump korkVersion (3c5cc589)
  • dependencies: Autobump korkVersion (7e5d3dae)
  • dependencies: Autobump korkVersion (0afbb05e)
  • dependencies: Autobump korkVersion (89c22b3c)
  • dependencies: Autobump korkVersion (97cbd551)
  • dependencies: Autobump korkVersion (7c7c17ab)
  • dependencies: Autobump korkVersion (42f3d318)
  • dependencies: Autobump korkVersion (09a9b61f)
  • dependencies: Autobump korkVersion (315130d8)
  • dependencies: Autobump korkVersion (d642d805)
  • dependencies: Autobump korkVersion (886d285a)
  • github: Add mergify config (7f030176)
  • manifest: Some refactoring of manifest bakery classes (9e0dc7ce)
  • manifest: Encapsulate paths in BakeManifestEnvironment (9e0dc7ce)
  • manifest: Use a UUID as the file name (9e0dc7ce)
  • manifest: A few minor style fixes (9e0dc7ce)
  • manifest: Update some instances of File to Path (9e0dc7ce)
  • manifest: Avoid passing around a byte[] (9e0dc7ce)
  • manifest: Don't inherit artifact downloader (9e0dc7ce)
  • mergify: add 'auto merged' label (14b794b7)

Features

  • feat: adds newrelic integration (431d5e3e)

Fixes

  • encoding: Fix double-encoding of HTTP response (59cbbec5)
  • stackdriver: fix millis_to_time so it works on developer machines that use localized time. (acb20288)

Spinnaker Release 1.17.1

Fixes

  • aws: support for cross-application CLBs with the sql backend (#4141) (e1920262)

Deck 2.13.1

Fixes

  • artifacts: enable inline editing of base64 artifacts (#7612) (17d3ea26)
  • kubernetes: fix patchBody input in Patch (Manifest) stage (#7600) (579afd54)

Fiat 1.8.1

Fixes

  • authorization: canCreate should not return void (#502) (9dcab2ce)

Front50 0.20.1

Fixes

  • authorization: update fiatVersion to fix canCreate (9415a443)

Orca 2.11.1

Fixes

  • cloudformation: Support Cloudformation templates as lists (#3270) (ed38c009)
  • kubernetes: fix patchBody typing depending on strategy type (#3283) (22ab949c)
  • kubernetes: fix patchBody typing depending on strategy type (22ab949c)
  • kubernetes: PatchManifestContext.getManifests Nonnull and immutable return (22ab949c)

Spinnaker Release 1.17.10

Orca 2.11.4

Fixes

  • bakery: only conditionally override input artifact account in CreateBakeManifestTask (#3562) (487caf0c)

Spinnaker Release 1.17.2

Deck 2.13.2

Fixes

  • azure,gce: Fix typo breaking bake stage (#7631) (137f539a)

Fiat 1.8.2

Fixes

  • roles: file-based roles fail when the user is not provided in the file (#508) (47a6a00e)

Spinnaker Release 1.17.3

Fixes

  • kubernetes: do not throw NPE on NetworkPolicies with ingresses with null ports (#4182) (327f1788)
  • kubernetes: do not throw NPE on NetworkPolicies with null ingress and egress (#4172) (d9bedbfb)
  • kubernetes: Add missing limitrange kind (#4170) (abad479d)

Fiat 1.8.3

Fixes

  • serviceAccount: Filter non-valid roles when converting to UserPermission (#513) (c62d038c)

Rosco 0.15.1

Fixes

  • gce: Hardcode Trusty GCE image in halconfig/images.yml (269dc830)
  • gce: Hardcode last published version of Trusty base image, add deprecation language, and add Bionic as option (ba629765)

Spinnaker Release 1.17.4

Fixes

  • cats/sql: fix table names with long type names (#4166) (024b9220)
  • cats/sql: fix table names with long type names (024b9220)
  • cats/sql: Hash once (024b9220)

Deck 2.13.3

Fixes

  • core: fix npe on first project cluster creation (#7673) (12edf0a7)

Orca 2.11.2

Fixes

  • cfn: include credentials on the task sent to clouddriver (#3323) (e357a674)
  • execution: Resume parent pipeline when a failed stage in a child pipeline restarts (#3317) (b88f62a1)

Spinnaker Release 1.17.5

Fixes

  • cfn: do not add roleARN if empty or null (#4206) (22f81504)
  • ecs: reject task def artifact if it contains unknown properties (#4211) (76ecdb5e)

Deck 2.13.4

Fixes

  • projects: Fixing clusters error validation (#7701) (87a97c4f)

Echo 2.9.1

Fixes

  • github: Put back github endpoint configuration (#726) (771a15b2)

Spinnaker Release 1.17.6

Fixes

  • kubernetes: Core caching agent is authoritative for artifacts (#4247) (5f272cd8)

Deck 2.13.5

Fixes

  • core: manual cherry-pick of MapEditor fixes (75cecc4c)
  • core/presentation: pass objects through in useValidationData (75cecc4c)
  • core/presentation: FormikFormField: call revalidate whenever internal validators change (75cecc4c)
  • core/presentation: MapEditor: Make errors fill the entire row width. (75cecc4c)

Spinnaker Release 1.17.7

Fixes

  • cloudFoundry: fix cloudFoundry job provider (#4379) (ecbed26f)
  • ecs: ECS IAM Path role fix for 1.17 (0c68e473)
  • kubernetes: return provider field with kubernetes /search results (#4249) (80e4cd05)
  • repository: Enforce serialization order for JedisTask (#4394) (fbdb338e)
  • repository: Enforce serialization order for JedisTask (fbdb338e)

Other

  • repository: Add tests to JedisTask (fbdb338e)
  • repository: Add comment to explain test rationale (fbdb338e)

Deck 2.13.6

Fixes

  • kubernetes: remove accidental static from resolveIndexedSecurityGroups (#7760) ([a7f5f28c](https://github.com/spinnaker/ deck/commit/a7f5f28c05dfe32e2aed7e5dce45c3a305aaa27a))

Other

  • buildtool: add an empty .gcloudignore file (#7909) (b46bd34a)
  • container builds: exclude large cache directories from GCB upload (#7919) (38534c43)

Igor 1.7.1

Other

  • buildtool: add an empty .gcloudignore file (#631) (13518950)
  • container builds: exclude large cache directories from GCB upload (#633) (0d9b3f6f)

Orca 2.11.3

Fixes

Other

Spinnaker Release 1.17.8

Fixes

  • sql: Cherry pick jooq changes (0416e9b0)
  • sql: Cherry pick work (0416e9b0)
  • tests: Fixed broken sql tests per PR #4453 (0416e9b0)

Spinnaker Release 1.17.9

Fixes

  • core: Only log relevant details of description (#4456) (eb210d4d)

Deck 2.13.7

Fixes

  • artifacts: only remove deleted expected artifacts from stages on trigger update (#8071) (ad367c62)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment