Skip to content

Comments

Bump github.com/stmcginnis/gofish from 0.20.0 to 0.21.0#683

Closed
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/go_modules/github.com/stmcginnis/gofish-0.21.0
Closed

Bump github.com/stmcginnis/gofish from 0.20.0 to 0.21.0#683
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/go_modules/github.com/stmcginnis/gofish-0.21.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 16, 2026

Bumps github.com/stmcginnis/gofish from 0.20.0 to 0.21.0.

Release notes

Sourced from github.com/stmcginnis/gofish's releases.

v0.21.0

⚠️ This release has many breaking changes ⚠️

Significant Changes

Package refactoring

There has been a lot of struggle and compromises trying to keep the Redfish and Swordfish packages separate. The Swordfish schema builds on top of Redfish, but there are now many cases where Redfish schemas refer to Swordfish schema objects and types. This works fine for defining a spec, but has some issues with languages like Go and avoiding circular imports.

This release refactors nearly everything to move all Redfish and Swordfish objects into the schemas package. This makes it easier to find everything and avoids the circular import issue.

Code generation

There were some helpers for generating some source files in the past, but it wasn't very well maintained and the resulting files required a lot of clean up to make them usable. Some effort was put in to creating new generator tooling for everything. Cleanup is still needed, but much less than before. Now, when new spec versions are released, the generator can be run and the diff of the old and new code can be used to find differences and keep our workarounds.

This has also made it easy to flesh out a lot more of the spec implementation. Many objects and properties have been added that were in the spec but missing from Gofish. Implementation should be much more complete than it was before.

Optional numeric values

Monitoring software using Gofish has had the issue that some values would be reported as 0, but it wasn't always clear if that was the actual value or if the service didn't report anything. This could be a challenge for things like metrics reporting.

This release is now consistent where any numeric value that is defined as optional: true in the spec is now a pointer value. For library users that need to know if the value was present or not, you can now do something like:

if ps.PowerConsumedWatts != nil {
	// Only report the value if the system provides it
	powerConsumedCounter.Record(ctx, *ps.PowerConsumedWatts)
}

For those that do not care there is a helper method to just get the referenced value or its "zero value":

watts := gofish.Deref(ps.PowerConsumedWatts)

And setting values for updates:

cs.PowerCycleDelaySeconds = gofish.ToRef(30)

Consistent action calls

Some Redfish actions are async. Implementations can optionally return task or task monitor information in the headers or the body of the response. This is somewhat up to the implementation, so it's not a clear expectation just from the spec. This release changes all action methods that do not explicitly return a synchronous result to optionally return a TaskMonitor to be able to track async progress.

This means calls the used to only return a possible error result now return both a possible TaskMonitor and possible error, resulting in changes like:

err = accountToUpdate.ChangePassword(newPassword, sessionAccountPassword)
</tr></table> 

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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 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)

Bumps [github.com/stmcginnis/gofish](https://github.com/stmcginnis/gofish) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/stmcginnis/gofish/releases)
- [Commits](stmcginnis/gofish@v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: github.com/stmcginnis/gofish
  dependency-version: 0.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code minor labels Feb 16, 2026
@dependabot dependabot bot requested a review from a team as a code owner February 16, 2026 18:16
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code minor labels Feb 16, 2026
@afritzler
Copy link
Member

Closing in favor of #644

@afritzler afritzler closed this Feb 17, 2026
@github-project-automation github-project-automation bot moved this to Done in Roadmap Feb 17, 2026
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Feb 17, 2026

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@afritzler afritzler deleted the dependabot/go_modules/github.com/stmcginnis/gofish-0.21.0 branch February 17, 2026 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/metal-automation dependencies Pull requests that update a dependency file go Pull requests that update Go code minor size/XS

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants