# v0.30

[Release notes](https://github.com/grafana/grafana-app-sdk/releases/tag/v0.30.0)

*Upgrading from*: v0.28.0, v0.29.0

## What Changed from v0.28.0 and v0.29.0

### CLI Changes

CLI flags have been updated, some have been renamed, and other deprecated ones have been removed:
* `--selectors|-s` has been removed, and partially replaced by the `--manifest` flag. `--manifest` allows you to specify a selector for the app manifest, but does not allow for multiple selectors like `--selectors` did. This change was made as we no longer source kinds, but a manifest, and there should be one manifest per app.
* `--cuepath|-c` has been renamed to `--source|-s`, to better reflect the future goal of having different source formats vi the `--format` flag.
* `--crdencoding` has been renamed to `--defencoding`, as it now encodes both CRDs and app manifests
* `--crdpath` has been renamed to `--defpath`, as it dictates the location of more than just CRDs now (also app manifest)
* `--kindgrouping` has been renamed to `--grouping` to simplify

## Changes to Generated Code

The `/resource` component of the generated code when grouping by kinds has been removed. To preserve this behavior in an existing project where you don't want the path to change, use `-g=pkg/generated/resource` (instead of the default `pkg/generated`).

`interface{}` is now used instead of `any` to avoid a bug with `--postprocess`.

## Breaking API Changes

`resource.Client.Delete` and `resource.SchemalessClient.Delete` now have an extra argument of `resource.DeleteOptions`, to allow for advanced delete options (such as preconditions). This object can be empty to preserve current behavior (just use `resource.DeleteOptions{}` as the final argument to `Delete`).

## Migration Steps

To migrate your code generation commands, rename your provided flags as detailed by the `CLI Changes` section above. 
If you don't provide `--kindgrouping` (now called `grouping`), or use `kind` as they type of grouping, 
you may want to add `-g=pkg/generated/resource` if you wish to preserve the `resource` element in your generated code. 
Otherwise, you can simply delete the `pkg/generated/resource` directory and re-run the codegen, but you will have to update 
any import paths for your generated kinds.