Skip to content

Releases: losisin/helm-values-schema-json

v2.3.1

08 Dec 17:11
0ec1999

Choose a tag to compare

Changelog

Added

Fixed

Updated

Docs

Other

v2.3.0

31 Aug 12:34
5f22cd9

Choose a tag to compare

What's Changed

See: Upgrade helm schema from v2.2 to v2.3

Added

  • feat: support '.kyaml' extension when bundling local files by @applejag in #243

    It already supported $ref: foo.yaml and $ref: foo.yml, where helm schema bundling would automatically use a YAML parser.
    Now, it will also use the YAML parser for $ref: foo.kyaml.

    By default on other file extensions helm schema will keep using the JSON parser instead.

  • feat: Add mergeProperties to combine maps into additionalProperties by @applejag in #252

    Allows using maps with arbitrary keys, such as:

    configs: # @schema mergeProperties
      foo:
        lorem: "ipsum"
      bar:
        hello: "world"

    Instead of generating a schema that has configs.foo.lorem & configs.bar.hello, it will instead generate a schema of configs.*.lorem & configs.*.hello using additionalProperties in the JSON schema.

  • feat: Add JSON Schema for the .schema.yaml config file by @applejag in #261

    If you want editor support when editing your .schema.yaml config files then you can add this comment to the start of the file:

    # yaml-language-server: $schema=https://github.com/losisin/helm-values-schema-json/raw/refs/heads/main/config.schema.json
  • feat: Support all JSON Schema keywords in internal data structure by @applejag in #264

    This does not add support for overriding all schema keywords using # @schema annotation comments, but it does add support inside helm schema's internal data structure.

    This makes a difference when bundling other schemas, as before this release, helm schema would not be able to bundle all of the keywords used in the referenced schema.

    In other words, if you bundle a $ref that uses keywords like if, format, deprecated, etc; then the resulting bundled schema will now retain those keywords.

Fixed

  • fix: noAdditionalProperties broke chart usage as dependency by @applejag in #255

    To fix this, we now include a global property by default (unless you defined one yourself):

    diff --git a/testdata/noAdditionalProperties.schema.json b/testdata/noAdditionalProperties.schema.json
    index e7b77fc..9a4eb16 100644
    --- a/testdata/noAdditionalProperties.schema.json
    +++ b/testdata/noAdditionalProperties.schema.json
    @@ -1,35 +1,43 @@
     {
         "$schema": "https://json-schema.org/draft/2020-12/schema",
         "type": "object",
         "properties": {
    +        "global": {
    +            "description": "Global values shared between all subcharts",
    +            "$comment": "Added automatically by 'helm schema' to allow this chart to be used as a Helm dependency, as the `additionalProperties` setting would otherwise collide with Helm's special 'global' values key.",
    +            "type": [
    +                "object",
    +                "null"
    +            ]
    +        },
             "object": {
                 "type": "object",
                 "additionalProperties": false
             },
  • fix: Bundle should update $ref when loaded subschema uses $id by @applejag in #253

Updated

  • build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #249
  • build(deps): bump securego/gosec from 2.22.7 to 2.22.8 by @dependabot[bot] in #250
  • build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by @dependabot[bot] in #267

Docs

  • docs: update CLI & config usage in README.md by @applejag in #265

Other

Full Changelog: v2.2.1...v2.3.0

v2.2.1

09 Aug 18:27
v2.2.1
5b14529

Choose a tag to compare

What's Changed

Fixed

  • Fix pre-commit-hook config to correctly detect if plugin is installed by @dan-fernandes in #237
  • Exit with non-zero exit code on error by @applejag in #239

Updated

  • Bump github.com/spf13/pflag from 1.0.6 to 1.0.7 by @dependabot[bot] in #232
  • Bump github.com/fxamacker/cbor/v2 from 2.8.0 to 2.9.0 by @dependabot[bot] in #233
  • Bump securego/gosec from 2.22.5 to 2.22.7 by @dependabot[bot] in #234

New Contributors

Full Changelog: v2.2.0...v2.2.1

v2.2.0

13 Jul 13:44
cda6e15

Choose a tag to compare

What's Changed

Added

  • feature: const keyword by @losisin in #224
  • Add itemRef to set items/$ref by @applejag in #226
  • feat: Read from stdin with -f -, write to stdout with -o -, and use stderr for logs by @applejag in #227

Updated

Full Changelog: v2.1.0...v2.2.0

v2.1.0

16 Jun 15:28
c04e6c4

Choose a tag to compare

What's Changed

Added

  • feat: Support for examples, and support for complex types in lists like enum by @applejag in #213
  • feat: Schema comment parsing errors & better parsing by @applejag in #215
  • feature: run test in matrix - v2 by @losisin in #191

Fixed

  • bug: fix install script by @losisin in #200
  • bugfix: use same k8s-schema-url branch as yannh repo by @applejag in #211
  • bugfix: Move $ref to after other fields when using draft <= 7 by @applejag in #212

Updated

  • Bump github.com/knadh/koanf/providers/posflag from 1.0.0 to 1.0.1 by @dependabot in #216
  • Bump github.com/knadh/koanf/v2 from 2.2.0 to 2.2.1 by @dependabot in #217

Docs

  • docs: add reference to noAdditionalProperties in config file by @losisin in #214

Other

Full Changelog: v2.0.0...v2.1.0

v2.0.0

10 Jun 20:30
0793302

Choose a tag to compare

What's Changed

⚠️ BREAKING CHANGES

This release includes breaking changes. Make sure to follow follow our guide when upgrading from v1.9.x to v2.0.0

Added

  • BREAKING: feat: kebab-case flags instead of camelCase, and --values/-f instead of --input/-i by @applejag in #178
  • BREAKING: feat: CLI v2, replacing Go 'flag' with Cobra & koanf by @applejag in #167
  • Add support for head & foot comments by @applejag in #154
  • Format loaded bytes with B, KB, and MB by @applejag in #166
  • feat: Use description from helm-docs by @applejag in #177
  • feat: Examples in --help text by @applejag in #189
  • feat: show version with --version flag or version subcommand by @applejag in #188
  • feat: HTTP persistent cache when bundling by @applejag in #181

Fixed

Docs

Other

Full Changelog: v1.9.0...v2.0.0

v1.9.2

07 Jun 10:11
1da9bd1

Choose a tag to compare

Changelog

Updated

  • b6b2fee chore: Fix .schema.yaml in v1 branch

Other

v1.9.1

07 Jun 08:49
0a0275c

Choose a tag to compare

What's Changed

  • Enable GHA on v1 branch in v1 branch by @applejag in #163
  • Fix bundling with $ref on schema root (for v1) by @applejag in #161
  • chore: checkout tag in release workflow - v1 by @losisin in #168

Full Changelog: v1.9.0...v1.9.1

v1.9.0

06 Jun 06:28
e34b88c

Choose a tag to compare

Changelog

Fixed

  • 7c84b5e Fixed references bug and added new Ptr type
  • c0697d2 fix: golangci-lint v2 errors

Updated

Docs

  • bfe56af docs: improve bundle examples

Other

  • f2af621 Add $ref: $k8s/... alias
  • 6f12f52 Add cleanup of unused $defs when bundling
  • 2e8ab01 Add log messages for schema loading
  • ebc57e7 Add shell completions
  • b0d9a52 Added '(since v1.9.0)' comment to docs
  • 894e1b6 Added -bundleWithoutID
  • 7f2a157 Added bundling tests
  • f935bb4 Added docs
  • bc911f1 Added flags to .schema.yaml
  • 2241aef Added go:generate tags for regenerating testdata
  • 49d75f8 Added lots of tests to add more coverage
  • 4e9cb7e Added marshaler logic
  • c8f1b36 Added missing tests
  • a9f8150 Added test for extra coverage
  • a10741b Added test for nested
  • 4dfcc4a Added tests
  • 1dfa68b Added tests for fragments
  • 00c2034 Added tests for generateBundledName
  • aa33ac5 Added type verification to fix coverage
  • 9bf1006 Added unmarshaler logic to treat schema as bool
  • 0509a50 Allow 'definitions' map
  • 9b4f780 Bugfix
  • d52b78d Bundle subschemas under /items/
  • c698b85 Change completion to arg instead of flag
  • 70bbcf1 Coverage fixes
  • 78e2ba8 Fix bundling bundled subschemas
  • 4dceb4b Fix case subschema uses bundling without id
  • 697d786 Fix error tests
  • 437c61d Fix golangci-lint linting
  • f15a9dc Fix parser not requiring @schema prefix
  • 5bdd0a8 Fix tests
  • b0dc13b Fixed local references
  • ccda59e Handle self-referential
  • ac94b8b I deleted the wrong test
  • dc1f354 Ignore close error
  • 5dce760 Implemented bundling
  • c60bb22 More tests, and change AnyOf/AllOf/OneOf/Not to strongly-typed
  • 6237957 Moved bundle testdata into subdir
  • 282d6d2 Remove --complete flag custom behavior
  • c154942 Remove accidentally-committed .zed/settings.json
  • 8729c80 Remove flaky test that relies on remote github.com
  • e6e9db3 Rename func
  • 450a818 Reorder fields
  • 157c2aa Replace convertSchemaToMap with just JSON marshalling
  • 10a2e81 Set User-Agent
  • b9b1f7a Try downgrading securego/gosec
  • 5b63026 Updated docs
  • 13a03f8 Updated testdata
  • ac6ae64 Upgrade securego/gosec back to v2.22.4, and downgrade Go to v1.24.2
  • c423368 Use allOf on $ref when targeting draft 7 or below
  • 3502763 build(deps): bump golangci/golangci-lint-action from 6 to 7
  • c9ebef2 build(deps): bump golangci/golangci-lint-action from 7 to 8
  • 599cfb4 build(deps): bump securego/gosec from 2.22.2 to 2.22.3
  • 355473b build(deps): bump securego/gosec from 2.22.3 to 2.22.4
  • 54336c7 fix
  • 14915e8 update CODEOWNERS
  • 0d6c931 update docs

v1.8.0

14 Mar 18:15
9c9c700

Choose a tag to compare

Changelog

Added

  • 71c6024 feature: add support for unevaluatedProperties

Updated

Other

  • cc675ab build(deps): bump securego/gosec from 2.22.1 to 2.22.2
  • a3cbfee fix docs