|
| 1 | +## v1.0.0-alpha.1 |
| 2 | + |
| 3 | +### Additions |
| 4 | + |
| 5 | +- The `snakeCaseParameters` option has been added to the `watches.yaml` for Ansible-based Operators. This allows the user to configure whether parameters in the resource spec are automatically converted from `camelCase` to `snake_case`. The default is `true`, so there is no behavior change for existing operators, but it can now be disabled. ([#3245](https://github.com/operator-framework/operator-sdk/pull/3245)) |
| 6 | +- Added `projectName` key to the PROJECT config file (v3-alpha+). ([#3438](https://github.com/operator-framework/operator-sdk/pull/3438)) |
| 7 | +- Added the `--from-version` flag to `generate packagemanifests`. ([#3509](https://github.com/operator-framework/operator-sdk/pull/3509)) |
| 8 | +- The `generate bundle` command now adds scorecard bundle metadata to `bundle.Dockerfile` and `annotations.yaml` if `--overwrite` is set (the default in a project's `Makefile`) or both files do not exist. ([#3474](https://github.com/operator-framework/operator-sdk/pull/3474)) |
| 9 | +- Added `config/scorecard` kustomize scaffolds to `init`. ([#3490](https://github.com/operator-framework/operator-sdk/pull/3490)) |
| 10 | + |
| 11 | +### Changes |
| 12 | + |
| 13 | +- Use structured logging in Ansible and Helm operator base images when printing version information. ([#3564](https://github.com/operator-framework/operator-sdk/pull/3564)) |
| 14 | +- The Ansible and Helm-based operators now use the controller-runtime's lease-based leader election instead of SDK's leader-for-life mechanism. ([#3457](https://github.com/operator-framework/operator-sdk/pull/3457)) & ([#3446](https://github.com/operator-framework/operator-sdk/pull/3446)) |
| 15 | +- **Breaking change**: Added `--metrics-addr` flag to the Ansible and Helm-based operators to make it configurable, and changed the default port from `:8383` to `:8080`. ([#3489](https://github.com/operator-framework/operator-sdk/pull/3489)) & ([#3440](https://github.com/operator-framework/operator-sdk/pull/3440)) |
| 16 | +- **Breaking change**: Changed domain suffix used for plugins and CR annotations to consistently use `.sdk.operatorframework.io`. ([#3527](https://github.com/operator-framework/operator-sdk/pull/3527)) |
| 17 | +- **Breaking change**: Removed the implementation for `EnqueueRequestForAnnotation` handler from the SDK repository and referenced it from [operator-lib](https://github.com/operator-framework/operator-lib/blob/main/handler/enqueue_annotation.go) instead. ([#3506](https://github.com/operator-framework/operator-sdk/pull/3506)) |
| 18 | +- **Breaking change**: The Ansible operator implementation in `pkg/ansible` was moved to `internal/ansible`. ([#3560](https://github.com/operator-framework/operator-sdk/pull/3560)) |
| 19 | +- **Breaking change**: The Helm operator implementation in `pkg/helm` was moved to `internal/helm`. ([#3537](https://github.com/operator-framework/operator-sdk/pull/3537)) |
| 20 | +- **Breaking change**: The Ansible operator's `--max-workers` flag and `WORKERS_<Kind>_<Group>` environment variable have been renamed to `--max-concurrent-reconciles` and `MAX_CONCURRENT_RECONCILES_<Kind>_<Group>` respectively. ([#3452](https://github.com/operator-framework/operator-sdk/pull/3452)) |
| 21 | +- **Breaking change**: The `meta` variable passed to Ansible playbooks and roles has been renamed to `ansible_operator_meta`. ([#3562](https://github.com/operator-framework/operator-sdk/pull/3562)) |
| 22 | +- **Breaking change**: The scorecard configuration is now implemented as a componentconfig object and now includes a new top-level `stages` field, which allows users to define stages of tests and to enable parallelism within each stage. ([#3490](https://github.com/operator-framework/operator-sdk/pull/3490)) & ([#3434](https://github.com/operator-framework/operator-sdk/pull/3434)) |
| 23 | +- When a namespace is not provided on the command line, the scorecard command now looks for a namespace in the kubeconfig. If a namespace can not be found in the kubeconfig file, then 'default' is used. ([#3478](https://github.com/operator-framework/operator-sdk/pull/3478)) |
| 24 | +- Use on-disk bundle metadata in scorecard (either unpacked from an image or directly if a directory is passed) as the source of truth for bundle metadata, and not image labels which are informative only. ([#3450](https://github.com/operator-framework/operator-sdk/pull/3450)) |
| 25 | +- **Breaking change**: The `alpha scorecard` command has been promoted to the standard scorecard command. ([#3444](https://github.com/operator-framework/operator-sdk/pull/3444)) |
| 26 | +- **Breaking change**: Changed scorecard text and json output to use a `v1alpha3.TestList` instead of aggregating all test results under a single `v1alpha3.Test` and set exit status to 1 when a test fails. ([#3427](https://github.com/operator-framework/operator-sdk/pull/3427)) |
| 27 | +- Ansible & Helm-based Operators switched to using the `InstrumentedEnqueueRequestForObject` from [operator-lib](https://github.com/operator-framework/operator-lib/blob/main/handler/instrumented_enqueue_object.go) instead of controller-runtime's `EnqueueRequestForObject`. ([#3523](https://github.com/operator-framework/operator-sdk/pull/3523)) |
| 28 | + |
| 29 | +### Removals |
| 30 | +- **Breaking change**: Removed support for the legacy layout. Operator SDK has a new CLI and project layout that is aligned with Kubebuilder. ([#3327](https://github.com/operator-framework/operator-sdk/issues/3327)) ([#3343](https://github.com/operator-framework/operator-sdk/pull/3343)) ([#3547](https://github.com/operator-framework/operator-sdk/pull/3547)) ([#3566](https://github.com/operator-framework/operator-sdk/pull/3566)) ([#3343](https://github.com/operator-framework/operator-sdk/pull/3343)) ([#3466](https://github.com/operator-framework/operator-sdk/pull/3466)) ([#3531](https://github.com/operator-framework/operator-sdk/pull/3531)) ([#3451](https://github.com/operator-framework/operator-sdk/pull/3451)) ([#3414](https://github.com/operator-framework/operator-sdk/pull/3414)) ([#3414](https://github.com/operator-framework/operator-sdk/pull/3414)) ([#3414](https://github.com/operator-framework/operator-sdk/pull/3414)) ([#3414](https://github.com/operator-framework/operator-sdk/pull/3414)) ([#3385](https://github.com/operator-framework/operator-sdk/pull/3385)) ([#3406](https://github.com/operator-framework/operator-sdk/pull/3406)) |
| 31 | +- **Breaking change**: Moved `pkg/log/zap` to `internal/log/zap`, therefore it is no longer a public API. ([#3525](https://github.com/operator-framework/operator-sdk/pull/3525)) |
| 32 | +- **Breaking change**: Removed `pkg/predicate`: `ResourceFilterPredicate`. ([#3532](https://github.com/operator-framework/operator-sdk/pull/3532)) |
| 33 | +- **Breaking change**: Refactored and moved `pkg/predicate.GenerationChangedPredicate` (see this [operator-lib PR](https://github.com/operator-framework/operator-lib/pull/11) for details). ([#3532](https://github.com/operator-framework/operator-sdk/pull/3532)) |
| 34 | +- **Breaking change**: Removed `test` subcommand and the test framework `pkg/test`. ([#3409](https://github.com/operator-framework/operator-sdk/pull/3409)) |
| 35 | +- **Breaking change**: Removed `pkg/k8sutils` and its helpers methods `GetWatchNamespace()`, `GetOperatorNamespace()`, `GetOperatorName()`, `ResourceExists()`, `GetPod()`, `GetGVKsFromAddToScheme()` and `SupportsOwnerReference()`. ([#3475](https://github.com/operator-framework/operator-sdk/pull/3475)) |
| 36 | +- **Breaking change**: Removed `pkg/kube-metrics` and its associated helpers `NewNamespacedMetricsStores()`, `NewClusterScopedMetricsStores()`, `ServeMetrics()`, and `GenerateAndServeCRMetrics()`. ([#3484](https://github.com/operator-framework/operator-sdk/pull/3484)) |
| 37 | +- **Breaking change**: Removed `pkg/leader` and `pkg/status`. These are now part of operator-lib. ([#3503](https://github.com/operator-framework/operator-sdk/pull/3503)) |
| 38 | +- **Breaking change**: Removed `pkg/metrics` and its helpers `GenerateAndServeCRMetrics()` and `GetNamespacesForMetrics()`. ([#3484](https://github.com/operator-framework/operator-sdk/pull/3484)) |
| 39 | +- **Breaking change**: Removed `pkg/ready` and its helper utils `Ready`, `Set()`, `Unset()`. ([#3476](https://github.com/operator-framework/operator-sdk/pull/3476)) |
| 40 | +- **Breaking change**: Removed `pkg/tls` since that pkg is a leftover from an earlier effort to make certificate management easier, but was abandoned in favor of alternatives like cert-manager. ([#3468](https://github.com/operator-framework/operator-sdk/pull/3468)) |
| 41 | + |
| 42 | +### Bug Fixes |
| 43 | + |
| 44 | +- Fixed a bug that caused the Ansible operator not to set the environment variables `ANSIBLE_ROLES_PATH` and `ANSIBLE_COLLECTIONS_PATH` based on the flags `--ansible-roles-path` and `--ansible-collections-path`. ([#3549](https://github.com/operator-framework/operator-sdk/pull/3549)) |
| 45 | +- Use group and kind instead of only kind when parsing manifests in the CSV generator to avoid marshaling them into the wrong Go types. ([#3334](https://github.com/operator-framework/operator-sdk/pull/3334)) |
| 46 | +- Fixed issue that caused scorecard to fail loading local bundle due to a bug search method for the bundle metadata directory. ([#3408](https://github.com/operator-framework/operator-sdk/pull/3408)) |
| 47 | +- Fixed CVE-2020-14040 by updating to `golang.org/x/text/0.3.3`. ([#3458](https://github.com/operator-framework/operator-sdk/pull/3458)) |
| 48 | +- The `scorecard` subcommand now removes existing pods if the `--wait-time` deadline is exceeded and `--skip-cleanup=false` (the default). Fixes [#3419](https://github.com/operator-framework/operator-sdk/issues/3419). ([#3526](https://github.com/operator-framework/operator-sdk/pull/3526)) |
| 49 | +- Fixed a bug in scorecard that caused tests to fail with permission errors when loading the bundle. ([#3428](https://github.com/operator-framework/operator-sdk/pull/3428)) |
| 50 | + |
1 | 51 | ## v0.19.0
|
2 | 52 |
|
3 | 53 | ### Additions
|
|
0 commit comments