Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 15, 2025

Bumps github.com/piprate/json-gold from 0.6.0 to 0.7.0.

Release notes

Sourced from github.com/piprate/json-gold's releases.

v0.7.0

What's Changed

Full Changelog: piprate/json-gold@v0.6.0...v0.7.0

Backward Compatibility Impact

This release replaces map-based context and term definitions with strongly typed structs, which significantly improves performance and type safety but will break client code that relies on the previous map-based interfaces. All such code must be updated to use the new struct fields and method signatures. Utility functions have also been updated to use generics.

  • Code using direct field access or map keys on context/term definitions will break.
  • Any code relying on the return type of context methods being a map will need to be updated to handle the new struct.
  • Code using utility functions for maps may need updates due to the use of generics and removal of concrete-typed functions.

See the detailed overview of breaking changes below.

1. Context API: Major Changes

  • Term Definitions
    Term definitions previously stored as map[string]interface{} are now represented by a dedicated *TermDefinition struct.

    • This change affects all code accessing term definitions via Context.termDefinitions or related methods.
    • Methods such as GetTermDefinition, GetTypeMapping, GetLanguageMapping, GetDirectionMapping, GetContainer, and others now return or expect a *TermDefinition struct instead of a generic map.
  • Context values
    Context-wide values (like @base, @language, @vocab, etc.) are now stored in a *Values struct, replacing the previous map-based approach (Context.values).

    • Direct map access (e.g., ctx.values["@language"]) will not work anymore; code must use the struct fields.
  • Method Signatures and Return Types
    Many methods that previously returned map[string]interface{} now return *TermDefinition or typed values (like string).

    • Example:
      • func (c *Context) GetTermDefinition(key string) map[string]interface{}
        is now
      • func (c *Context) GetTermDefinition(key string) *TermDefinition
  • Removed/Changed Utility Functions

    • GetKeysString removed; replaced by a generic GetKeys[T any](https://github.com/piprate/json-gold/blob/HEAD/m map[string]T) []string.
    • Code depending on GetKeysString must switch to the new generic function.

2. Struct Field Access

  • Any client code that directly accesses context and term definition fields as maps (e.g., definition["@type"]) must now use struct fields (e.g., definition.typ).
  • This applies to all usages, including @reverse, @container, @type, @language, @direction, @index, @context, etc.

3. Method Changes

  • Methods like GetContainer, HasContainerMapping, GetTypeMapping, GetLanguageMapping, GetDirectionMapping have type changes in their signatures and return values.
  • GetContainer now returns []string instead of []interface{}.

4. Example of Breaking Change

... (truncated)

Commits
  • 3fbc0ad Merge pull request #84 from michaeladler/perf/improve-n-quads-2
  • 5eec423 Merge pull request #83 from michaeladler/feat/refactor-maps
  • ce7ba6e perf: improve n-quad parser using map-based lookups
  • dd9b662 feat: improve performance and type-safety
  • See full diff in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Jul 15, 2025
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jul 15, 2025
@dependabot dependabot bot added the go Pull requests that update Go code label Jul 15, 2025
Copy link

qltysh bot commented Jul 15, 2025

Diff Coverage: Not applicable. There was no coverage data reported for the files in this diff.

Total Coverage: This PR will increase coverage by 4%.

File Coverage Changes
Path File Coverage Δ Indirect
github.com/nuts-foundation/nuts-node/audit/audit.go 6.3
github.com/nuts-foundation/nuts-node/auth/api/auth/v1/api.go 2.6
github.com/nuts-foundation/nuts-node/auth/api/auth/v1/client/client.go 5.1
github.com/nuts-foundation/nuts-node/auth/api/iam/access_token.go 7.5
github.com/nuts-foundation/nuts-node/auth/api/iam/api.go 4.1
github.com/nuts-foundation/nuts-node/auth/api/iam/dpop.go 3.8
github.com/nuts-foundation/nuts-node/auth/api/iam/jar.go 5.3
github.com/nuts-foundation/nuts-node/auth/api/iam/openid4vci.go 5.5
github.com/nuts-foundation/nuts-node/auth/api/iam/openid4vp.go 3.0
github.com/nuts-foundation/nuts-node/auth/api/iam/s2s_vptoken.go 3.6
github.com/nuts-foundation/nuts-node/auth/api/iam/session.go 3.0
github.com/nuts-foundation/nuts-node/auth/api/iam/user.go 6.4
github.com/nuts-foundation/nuts-node/auth/api/iam/validation.go 1.9
github.com/nuts-foundation/nuts-node/auth/auth.go 5.0
github.com/nuts-foundation/nuts-node/auth/client/iam/client.go 9.4
github.com/nuts-foundation/nuts-node/auth/client/iam/openid4vp.go 4.6
github.com/nuts-foundation/nuts-node/auth/contract/contract.go 2.5
github.com/nuts-foundation/nuts-node/auth/contract/template.go 10.0
github.com/nuts-foundation/nuts-node/auth/oauth/error.go 4.5
github.com/nuts-foundation/nuts-node/auth/oauth/types.go 5.4
github.com/nuts-foundation/nuts-node/auth/services/dummy/dummy.go 2.3
github.com/nuts-foundation/nuts-node/auth/services/irma/factory.go 7.8
github.com/nuts-foundation/nuts-node/auth/services/irma/irmacontract.go 5.4
github.com/nuts-foundation/nuts-node/auth/services/irma/signer.go 3.4
github.com/nuts-foundation/nuts-node/auth/services/irma/validator.go 5.1
github.com/nuts-foundation/nuts-node/auth/services/notary/notary.go 4.4
github.com/nuts-foundation/nuts-node/auth/services/oauth/authz_server.go 4.6
github.com/nuts-foundation/nuts-node/auth/services/oauth/relying_party.go 4.3
github.com/nuts-foundation/nuts-node/auth/services/selfsigned/signer.go 5.2
github.com/nuts-foundation/nuts-node/auth/services/selfsigned/validator.go 2.6
github.com/nuts-foundation/nuts-node/auth/services/selfsigned/web/handler.go 4.5
github.com/nuts-foundation/nuts-node/cmd/root.go 3.6
github.com/nuts-foundation/nuts-node/core/build_vars.go 3.3
github.com/nuts-foundation/nuts-node/core/client_config.go 8.5
github.com/nuts-foundation/nuts-node/core/echo_errors.go 1.8
github.com/nuts-foundation/nuts-node/core/engine.go 0.9
github.com/nuts-foundation/nuts-node/core/http_client.go 1.4
github.com/nuts-foundation/nuts-node/core/metrics.go 3.5
github.com/nuts-foundation/nuts-node/core/server_config.go 2.6
github.com/nuts-foundation/nuts-node/core/status/engine.go 1.1
github.com/nuts-foundation/nuts-node/core/time.go 6.3
github.com/nuts-foundation/nuts-node/core/tls.go 2.9
github.com/nuts-foundation/nuts-node/core/url.go 4.5
github.com/nuts-foundation/nuts-node/crypto/api/v1/api.go 0.7
github.com/nuts-foundation/nuts-node/crypto/cmd/cmd.go 9.5
github.com/nuts-foundation/nuts-node/crypto/crypto.go 4.3
github.com/nuts-foundation/nuts-node/crypto/decryptor.go 14.3
github.com/nuts-foundation/nuts-node/crypto/dpop.go 20.0
github.com/nuts-foundation/nuts-node/crypto/dpop/dpop.go 5.2
github.com/nuts-foundation/nuts-node/crypto/hash/sha256.go 2.7
🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

@dependabot dependabot bot force-pushed the dependabot/go_modules/github.com/piprate/json-gold-0.7.0 branch from f44f09e to ba62cce Compare July 19, 2025 10:12
Copy link
Contributor

@confiks confiks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs additional review on breaking changes.

@dependabot dependabot bot force-pushed the dependabot/go_modules/github.com/piprate/json-gold-0.7.0 branch from ba62cce to c0305d0 Compare July 26, 2025 11:29
Bumps [github.com/piprate/json-gold](https://github.com/piprate/json-gold) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/piprate/json-gold/releases)
- [Changelog](https://github.com/piprate/json-gold/blob/master/CHANGELOG.md)
- [Commits](piprate/json-gold@v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: github.com/piprate/json-gold
  dependency-version: 0.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/go_modules/github.com/piprate/json-gold-0.7.0 branch from c0305d0 to 7bfb625 Compare July 26, 2025 11:30
@woutslakhorst
Copy link
Member

I updated this dependency on go-leia which has a json-ld based index feature and this version works fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file go Pull requests that update Go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants