Skip to content

Releases: grafana/grafana-app-sdk

v0.31.0

24 Jan 15:00
bd9737d

Choose a tag to compare

Changelog

  • 1079593 Add migration doc for v0.30.0 (#589)
  • ac58184 Added resource.WrappedObject for creating a resource.Object-implmenting type from a non-spec-based type (#605)
  • bd9737d Bump github.com/grafana/cog from 0.0.17 to 0.0.18 in the all group (#606)
  • 4ccdbcb Bump github.com/grafana/grafana-plugin-sdk-go from 0.262.0 to 0.263.0 in /plugin in the all group (#597)
  • fe89fdc Bump the all group across 1 directory with 3 updates (#594)
  • 565a872 Bump the all group across 1 directory with 6 updates (#593)
  • 3bd746e Bump the all group across 1 directory with 6 updates (#603)
  • 8ce8607 Fix codegen omitting Go manifest file with defencoding=none (#596)
  • e2c23ba Make the behavior of TypedStore.Update match the described behavior in the godoc (#595)
  • 88667a6 Remove grafana/cloud-app-platform-squad from CODEOWNERS (#601)
  • 646a2e4 [k8s] Allow specifying a KubeConfigProvider in k8s.ClientConfig (#608)
  • 9c5322c [operator] Call ErrorHandler on reconciler errors (#607)

v0.24.5

24 Jan 14:51
3e3f9db

Choose a tag to compare

Changelog

  • db75bf2 Bump github.com/grafana/grafana-plugin-sdk-go from 0.260.3 to 0.261.0 in /plugin in the all group (#572)
  • 854662b Bump golang.org/x/tools from 0.28.0 to 0.29.0 in the all group (#566)
  • 9631b9f Bump google.golang.org/grpc from 1.69.0 to 1.69.2 in the all group (#557)
  • 35a79a2 Bump google.golang.org/grpc from 1.69.2 to 1.69.4 in the all group (#582)
  • 12f6a3e Bump the all group across 1 directory with 3 updates (#592)
  • 620ee9a Bump the all group in /plugin with 3 updates (#552)
  • 85aaab9 Bump the all group in /plugin with 3 updates (#598)
  • e6c20b2 Bump the all group with 4 updates (#590)
  • 4104c9f Bump the all group with 5 updates (#600)
  • 9d67291 Bump the all group with 6 updates (#551)
  • 3e3f9db Make the behavior of TypedStore.Update match the described behavior in the godoc (#604)
  • e9754ce [ci] Add LTS branch to dependabot workflow
  • 946dc57 [ci] Add dependabot go workspace workflow
  • fffa6c8 [ci] Add id-token: write to dependabot workflow
  • 8285a16 [ci] Prevent forks from running go workspace update action (#562)
  • aeacad8 [ci] Switch to github actions bot in dependabot workflow

v0.30.0

16 Jan 14:40
c7c2e09

Choose a tag to compare

What Changed

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).

Changelog

  • 8a376e6 Add tagging the logging submodule release to the release script (#577)
  • 02efca6 Bump github.com/grafana/cog from 0.0.10 to 0.0.12 in the all group (#578)
  • 3b31375 Bump github.com/grafana/grafana-app-sdk from 0.28.0 to 0.29.0 in /plugin in the all group (#579)
  • c7c2e09 Update cog and use AnyAsInterface to prefer interface{} usage over any (#588)
  • 2b52470 Use the group from the manifest for --grouping=group package names (#585)
  • d81f68c [CLI] Update/Remove/Rename CLI flags (#573)
  • a6dee2b [Client] Add options to Client.Delete and SchemalessClient.Delete (#580)

v0.29.0

10 Jan 14:42
3100353

Choose a tag to compare

What Changed

  • The logging package has been changed to a submodule, with the same release versions going forward as the main and plugin modules. This allows for using the app-sdk logger without needing to import any other parts of the app-sdk.
  • Debug logging & tracing for the OpinionatedReconciler, and several logic fixed to avoid retry loops on deletes (details)
  • Generated code now contains a constants.go file per kind package, with Group, Version, and GroupVersion as exported constants for convenience
  • simple.Operator has been deprecated and will be removed in a future release. Use simple.App and operator.Runner to achieve the same behavior.

Changelog

Full Changelog

  • 3100353 Use the published logging module v0.29.0 (#576)

v0.28.0

13 Dec 14:24
1cde3c9

Choose a tag to compare

What Changed

This version includes a CUE upgrade, which adds some additional requirements to your cue.mod/module.cue file.
Your CUE module is now required to be domain-qualified, so a module like foo/kinds must be changed to github.com/example/foo/kinds or foo.grafana.app/kinds (or similar).
By default, new projects created with grafana-app-sdk project init without a domain in their go module will use <module name>.grafana.app as their domain.
Additionally, the cue.mod/module.cue file must contain a language: version section, specifying the CUE language version to use when parsing. New projects will now use language: version: "v0.8.2" by default.

Operator New Methods

Some New functions in the operator package have been simplified to single NewX functions with options objects.
If you use simple.App or simple.Operator, you shouldn't need to make any changes, but if you are building a custom operator, this will apply to you.

  • NewKubernetesBasedInformer and NewKubernetesBasedInformerWithFilters have been reduced to just NewKubernetesBasedInformer(resource.Kind, ListWatchClient, KubernetesBasedInformerOptions)
  • NewMemcachedInformer and NewMemcachedInformerWithFilters have been reduced to just NewMemcachedInformer(resource.Kind, ListWatchClient, MemcachedInformerOptions)

Changelog

  • 02062c6 Added migration doc for v0.27.0 (#529)
  • 5f035d3 Bump github.com/grafana/cog from 0.0.5 to 0.0.6 in the all group (#519)
  • 40e53b1 Bump github.com/grafana/cog from 0.0.6 to 0.0.7 in the all group (#536)
  • e328920 Bump github.com/grafana/grafana-app-sdk from 0.25.2 to 0.27.0 in /plugin in the all group across 1 directory (#530)
  • a5ddfc5 Bump golang.org/x/sync from 0.9.0 to 0.10.0 in the all group (#533)
  • 48cec8f Bump google.golang.org/grpc from 1.68.0 to 1.68.1 in the all group across 1 directory (#531)
  • 6162a7b Bump the all group in /plugin with 2 updates (#547)
  • a87f4d4 Bump the all group in /plugin with 3 updates (#539)
  • c4ad46e Bump the all group with 5 updates (#542)
  • 1cde3c9 Bump the all group with 8 updates (#545)
  • 05e9e38 Upgrade Go to 1.23.4 and linter to 1.62.2 (#535)
  • 9c28e5d [codegen] Propagate ExtraPermissions into generated manifest data (#543)
  • fbb7327 [docs] App Manifest Doc & Writing Kinds Doc Update (#532)
  • 5f3f96a [k8s] Update KindNegotiatedSerializer to handle v1/Status objects, add logging (#537)
  • 7ed1693 [operator] Allow Informers to be dynamically added and removed from InformerController (#521)
  • 389e0f7 [operator] Clean up New functions (#538)
  • 6cabe27 [tests] Improve InformerController tests to rely less on timing (#534)
  • 37a344c chore: fixes a few nits in tutorial (#544)

v0.24.4

13 Dec 14:11
2d8aed7

Choose a tag to compare

Changelog

  • 093060d Bump the all group across 1 directory with 3 updates (#528)
  • 2d8aed7 Bump the all group in /plugin with 2 updates (#548)
  • 545d852 Bump the all group in /plugin with 3 updates (#540)
  • 0ddb5ec Bump the all group with 4 updates (#541)
  • 154e4de Bump the all group with 7 updates (#546)

v0.27.0

06 Dec 14:31
69d129d

Choose a tag to compare

Changes in this Release

This version contains a change to how kinds are written in CUE for use with the CLI commands (generate,project).
Instead of every top-level selector in the loaded CUE environment being treated as a kind, the CUE environment should have a singular manifest which contains app information and a list of kinds to use for the app. The grafana-app-sdk will look for the selector manifest by default to load this manifest, but this can be changed with the --selectors flag.

The CUE structure of a kind has also been changed slightly: fields that were previously in apiResource are now in the root structure of the kind, and group has been removed, as it gets inherited from the manifest (all kinds in a manifest must be in the same group).

A simple version of a manifest looks like:

manifest: {
	appName: "myapp" // app name is used to determine group
	kinds: [mykind1, mykind2] // list of kind selectors
}

If you currently are using a custom group name via apiResource.groupOverride, you can still use groupOverride in the manifest instead, and the value will be propagated to the kind.

You can also look at the diff for the test kind CUE between v0.26.0 and v0.27.0
as a reference for these changes.

Projects generated with CLI version v0.27.0 or greater will create a manifest on init, and add kinds to the manifest with grafana-app-sdk project kind add <kind>.

Changelog

  • 69d129d [App Manifest + Docs] Tutorial Doc Update for New Manifest, Associated Fixes (#525)
  • a9d2b24 [codegen] Source Codegen from CUE App Manifest (#483)

v0.24.3

06 Dec 14:22
b93f075

Choose a tag to compare

Changelog

  • 1beac10 Bump github.com/grafana/grafana-plugin-sdk-go from 0.259.4 to 0.260.0 in /plugin in the all group (#513)
  • bbb501e Bump github.com/grafana/grafana-plugin-sdk-go from 0.260.0 to 0.260.1 in /plugin in the all group (#516)
  • 0aa9ef2 Bump github.com/matryer/moq from 0.5.0 to 0.5.1 in the all group (#501)
  • e2ddd32 Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in the all group (#509)
  • e08a996 Bump the all group in /plugin with 2 updates (#510)
  • bbd0371 Teach go codegen to emit yaml struct tags (#504)
  • 9448bf8 [LTS v0.24] Format kind JSON the same way the manifest is formatted (#487)
  • b93f075 [LTS v0.24][OpinionatedWatcher/Reconciler] Patch Against the Preferred Version (#520)

v0.26.0

04 Dec 19:11
afa5519

Choose a tag to compare

Changelog

  • 128ded4 Add Grafana App Platform as CODEOWNERS (#512)
  • 1ccee9a Bump github.com/grafana/grafana-plugin-sdk-go from 0.259.4 to 0.260.0 in /plugin in the all group (#514)
  • 57fa913 Bump github.com/grafana/grafana-plugin-sdk-go from 0.260.0 to 0.260.1 in /plugin in the all group (#517)
  • ff37ea9 Bump github.com/matryer/moq from 0.5.0 to 0.5.1 in the all group (#500)
  • e31916a Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in /plugin in the all group (#507)
  • 1dda5bb Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in the all group (#508)
  • 3bce515 Bump the all group across 1 directory with 2 updates (#503)
  • 47cc58b Expose GF_INSTALL_PLUGINS via config (#518)
  • e9618ed Teach go codegen to emit yaml struct tags (#505)
  • 2b5eb53 Use cog to generate Go and TS types (#485)
  • 5562d49 [CLI][codegen] Use yarn create @grafana/plugin to Generate Front-End Code (#491)
  • afa5519 [OpinionatedWatcher/Reconciler] Patch Against the Preferred Version (#511)
  • 4184b2b [codegen] Add Webhook Conversion Strategy to Generated CRDs (#481)
  • b07ad45 [local env] Use a generated remote_services_file for grafana CRD aggregation (#502)
  • b9faedf [operator] Use contexts instead of channels for Run methods (#484)

v0.25.2

22 Nov 14:39
b3b3eaf

Choose a tag to compare

Changelog

  • dc29792 Bump github.com/grafana/grafana-app-sdk from 0.25.0 to 0.25.1 in /plugin in the all group (#482)
  • cf7bcb6 Bump github.com/grafana/grafana-plugin-sdk-go from 0.259.2 to 0.259.3 in /plugin in the all group (#490)
  • 41a220c Bump the all group in /plugin with 2 updates (#497)
  • b3b3eaf Bump the all group with 4 updates (#496)