🧬 Pure DNA of your CLI!

  • By Mateusz Szostok
  • Last update: Dec 17, 2022
  • Comments: 16
import "go.szostok.io/version"

Go package to present your CLI version in a classy way. All magic included!

Like the idea? Give a GitHub star !

Quick Start

go get go.szostok.io/version

Visit version.szostok.io/quick-start for the most popular way of the setup.

Documentation

Visit version.szostok.io for complete documentation about setup and usage.

Why?

If you create a new CLI, it's natural that you use a framework such as Cobra, urfave/cli, or similar. Each of your CLIs has also an option to show its version. But in this case, we repeat the same stuff: collecting and displaying related information.

This package aims to solve that problem. To register the version command, simply add:

extension.NewVersionCobraCmd()

Go 1.18 simplified collecting version-related data, as commit, date, and other data are embedded. You can still override these fields with ldflags, e.g.:

-X go.szostok.io/version.version=1.42.0

You can gain more features, such as upgrade notice, just by adding:

extension.WithUpgradeNotice("repo-owner", "repo-name")

Functionality

  • For Go 1.18+, detect version, commit, commitDate, and dirtyBuild automatically
    • Allow version data overriding via -ldflags
  • Print the version in the YAML, JSON, short, and pretty formats
  • Detect and display an upgrade notice if a newer version of your project has been released
  • Automatically disable color output for non-tty output streams
    • Handle the version and upgrade notices separately
  • Designed in a way that lets you use each component individually
  • Everything can be enabled with a single line of code. For example, use extension.NewVersionCobraCmd() to enable the version command for Cobra
  • Customize the output format and behaviour (e.g. timeouts, re-check intervals)
  • Parse any dates and print them in the local date and time format
  • All provided functionality is fully tested to ensure no regression
  • Extend the version info with own fields just by assigning your Go struct

Stay informed

Follow @m_szostok on Twitter to get the latest news. You can also subscribe for new version releases on GitHub, where you can find a detailed changelog for each of them.

For additional content, check Mateusz Szostok's blog.

Download

version.zip

Comments(16)

  • 1

    Bump github.com/goccy/go-yaml from 1.9.5 to 1.9.7

    Bumps github.com/goccy/go-yaml from 1.9.5 to 1.9.7.

    Release notes

    Sourced from github.com/goccy/go-yaml's releases.

    1.9.7

    What's Changed

    Full Changelog: https://github.com/goccy/go-yaml/compare/v1.9.6...v1.9.7

    1.9.6

    What's Changed

    New Contributors

    Full Changelog: https://github.com/goccy/go-yaml/compare/v1.9.5...v1.9.6

    Changelog

    Sourced from github.com/goccy/go-yaml's changelog.

    1.9.7 - 2022-12-03

    Fix bugs

    • Fix handling of quoted map key ( #328 )
    • Fix resusing process of scanning context ( #322 )

    v1.9.6 - 2022-10-26

    New Features

    • Introduce MapKeyNode interface to limit node types for map key ( #312 )

    Fix bugs

    • Quote strings with special characters in flow mode ( #270 )
    • typeError implements PrettyPrinter interface ( #280 )
    • Fix incorrect const type ( #284 )
    • Fix large literals type inference on 32 bits ( #293 )
    • Fix UTF-8 characters ( #294 )
    • Fix decoding of unknown aliases ( #317 )
    • Fix stream encoder for insert a separator between each encoded document ( #318 )

    Update

    • Update golang.org/x/sys ( #289 )
    • Update Go version in CI ( #295 )
    • Add test cases for missing keys to struct literals ( #300 )
    Commits
    • 49dc308 Update CHANGELOG
    • 2cd47e3 Merge pull request #328 from goccy/fix-quoted-map-key
    • 6a9ddb5 care whitespace
    • db6dd54 Fix handling of quoted map key
    • 045101d add test cases
    • 7b77440 Merge pull request #322 from goccy/fix-context-reuse
    • 937c167 Fix resusing process of scanning context
    • 33858b4 Update CHANGELOG
    • bc437e1 Merge pull request #270 from igorpeshansky/fix-flow-mode-quotes
    • 8607d4f Merge pull request #317 from nervo/handle-unmarshall-unknown-aliases
    • Additional commits viewable in compare view

    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 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 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)
  • 2

    Bump github.com/samber/lo from 1.31.0 to 1.36.0 in /magefiles

    Bumps github.com/samber/lo from 1.31.0 to 1.36.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.36.0

    Adding:

    • lo.AttemptWhile
    • lo.AttemptWhileWithDelay

    v1.35.0

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    v1.34.0

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    v1.33.0

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    v1.32.0

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.36.0 (2022-11-28)

    Adding:

    • lo.AttemptWhile
    • lo.AttemptWhileWithDelay

    1.35.0 (2022-11-15)

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    1.34.0 (2022-11-12)

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    1.33.0 (2022-10-14)

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    1.32.0 (2022-10-10)

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave

    ... (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 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 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)
  • 3

    Bump github.com/samber/lo from 1.31.0 to 1.35.0 in /magefiles

    Bumps github.com/samber/lo from 1.31.0 to 1.35.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.35.0

    No release notes provided.

    v1.34.0

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    v1.33.0

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    v1.32.0

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.35.0 (2022-11-15)

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    1.34.0 (2022-11-12)

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    1.33.0 (2022-10-14)

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    1.32.0 (2022-10-10)

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    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 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 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)
  • 4

    Bump github.com/samber/lo from 1.31.0 to 1.34.0 in /magefiles

    Bumps github.com/samber/lo from 1.31.0 to 1.34.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.34.0

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    v1.33.0

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    v1.32.0

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.34.0 (2022-11-12)

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    1.33.0 (2022-10-14)

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    1.32.0 (2022-10-10)

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    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 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 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)
  • 5

    Bump github.com/goccy/go-yaml from 1.9.5 to 1.9.6

    Bumps github.com/goccy/go-yaml from 1.9.5 to 1.9.6.

    Release notes

    Sourced from github.com/goccy/go-yaml's releases.

    1.9.6

    What's Changed

    New Contributors

    Full Changelog: https://github.com/goccy/go-yaml/compare/v1.9.5...v1.9.6

    Changelog

    Sourced from github.com/goccy/go-yaml's changelog.

    v1.9.6 - 2022-10-26

    New Features

    • Introduce MapKeyNode interface to limit node types for map key ( #312 )

    Fix bugs

    • Quote strings with special characters in flow mode ( #270 )
    • typeError implements PrettyPrinter interface ( #280 )
    • Fix incorrect const type ( #284 )
    • Fix large literals type inference on 32 bits ( #293 )
    • Fix UTF-8 characters ( #294 )
    • Fix decoding of unknown aliases ( #317 )
    • Fix stream encoder for insert a separator between each encoded document ( #318 )

    Update

    • Update golang.org/x/sys ( #289 )
    • Update Go version in CI ( #295 )
    • Add test cases for missing keys to struct literals ( #300 )
    Commits
    • 33858b4 Update CHANGELOG
    • bc437e1 Merge pull request #270 from igorpeshansky/fix-flow-mode-quotes
    • 8607d4f Merge pull request #317 from nervo/handle-unmarshall-unknown-aliases
    • 48a606c Merge pull request #318 from zoncoen/fix-encode
    • 548aa05 fix: insert a separator between each encoded document
    • 941abdb Handle unmarshall unknown aliases
    • ecececd Merge pull request #293 from jrisc/explicit_int64
    • 03bdafe Merge pull request #312 from itchyny/introduce-map-key-node
    • f7e9124 Introduce MapKeyNode interface to limit node types for map key
    • 66e8faa Fix large literals type inference on 32 bits
    • Additional commits viewable in compare view

    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 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 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)
  • 6

    Bump github.com/samber/lo from 1.31.0 to 1.33.0 in /magefiles

    Bumps github.com/samber/lo from 1.31.0 to 1.33.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.33.0

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    v1.32.0

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.33.0 (2022-10-14)

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    1.32.0 (2022-10-10)

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    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 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 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)
  • 7

    Bump github.com/spf13/cobra from 1.5.0 to 1.6.0

    Bumps github.com/spf13/cobra from 1.5.0 to 1.6.0.

    Release notes

    Sourced from github.com/spf13/cobra's releases.

    v1.6.0

    Summer 2022 Release

    Some exciting changes make their way to Cobra! Command completions continue to get better and better (including adding --help and --version automatic flags to the completions list). Grouping is now possible in your help output as well! And you can now use the OnFinalize method to cleanup things when all "work" is done. Checkout the full changelog below:


    Features 🌠

    Deprecation 👎🏼

    • ExactValidArgs is deprecated (but not being removed entirely). This is abit nuanced, so checkout #1643 for further information and the updated user_guide.md on how this may affect you (and how you can take advantage of the correct behavior in the validators): @​umarcor #1643

    Bug fixes 🐛

    Dependencies 🗳️

    Testing 🤔

    Docs ✏️

    Misc 💭

    Note: Per #1804, we will be moving away from "seasonal" releases and doing more generic point release targets. Continue to track the milestones and issues in the spf13/cobra GitHub repository for more information!

    Great work everyone! Cobra would never be possible without your contributions! 🐍

    ... (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 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 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)
  • 8

    Bump github.com/samber/lo from 1.31.0 to 1.32.0 in /magefiles

    Bumps github.com/samber/lo from 1.31.0 to 1.32.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.32.0

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.32.0 (2022-10-10)

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()
    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 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 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)
  • 9

    Bump github.com/samber/lo from 1.28.2 to 1.31.0 in /magefiles

    Bumps github.com/samber/lo from 1.28.2 to 1.31.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.31.0

    Adding:

    • lo.SliceToChannel
    • lo.Generator
    • lo.Batch
    • lo.BatchWithTimeout

    v1.30.1

    Fix:

    • lo.Try1: remove generic type
    • lo.Validate: format error properly

    v1.30.0

    Adding:

    • lo.TernaryF
    • lo.Validate

    v1.29.0

    Adding:

    • lo.ErrorAs
    • lo.TryOr
    • lo.TryOrX
    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.31.0 (2022-10-06)

    Adding:

    • lo.SliceToChannel
    • lo.Generator
    • lo.Batch
    • lo.BatchWithTimeout

    1.30.1 (2022-10-06)

    Fix:

    • lo.Try1: remove generic type
    • lo.Validate: format error properly

    1.30.0 (2022-10-04)

    Adding:

    • lo.TernaryF
    • lo.Validate

    1.29.0 (2022-10-02)

    Adding:

    • lo.ErrorAs
    • lo.TryOr
    • lo.TryOrX

    1.28.0 (2022-09-05)

    Adding:

    • lo.ChannelDispatcher with 6 dispatching strategies:
      • lo.DispatchingStrategyRoundRobin
      • lo.DispatchingStrategyRandom
      • lo.DispatchingStrategyWeightedRandom
      • lo.DispatchingStrategyFirst
      • lo.DispatchingStrategyLeast
      • lo.DispatchingStrategyMost

    1.27.1 (2022-08-15)

    Bugfix:

    • Removed comparable constraint for lo.FindKeyBy

    1.27.0 (2022-07-29)

    ... (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 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 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)
  • 10

    Bump github.com/samber/lo from 1.28.2 to 1.30.0 in /magefiles

    Bumps github.com/samber/lo from 1.28.2 to 1.30.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.30.0

    Adding:

    • lo.TernaryF
    • lo.Validate

    v1.29.0

    Adding:

    • lo.ErrorAs
    • lo.TryOr
    • lo.TryOrX
    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.30.0 (2022-10-04)

    Adding:

    • lo.TernaryF
    • lo.Validate

    1.29.0 (2022-10-02)

    Adding:

    • lo.ErrorAs
    • lo.TryOr
    • lo.TryOrX

    1.28.0 (2022-09-05)

    Adding:

    • lo.ChannelDispatcher with 6 dispatching strategies:
      • lo.DispatchingStrategyRoundRobin
      • lo.DispatchingStrategyRandom
      • lo.DispatchingStrategyWeightedRandom
      • lo.DispatchingStrategyFirst
      • lo.DispatchingStrategyLeast
      • lo.DispatchingStrategyMost

    1.27.1 (2022-08-15)

    Bugfix:

    • Removed comparable constraint for lo.FindKeyBy

    1.27.0 (2022-07-29)

    Breaking:

    • Change of MapToSlice prototype: MapToSlice[K comparable, V any, R any](https://github.com/samber/lo/blob/master/in map[K]V, iteratee func(V, K) R) []R -> MapToSlice[K comparable, V any, R any](https://github.com/samber/lo/blob/master/in map[K]V, iteratee func(K, V) R) []R

    Added:

    • lo.ChunkString
    • lo.SliceToMap (alias to lo.Associate)

    1.26.0 (2022-07-24)

    Adding:

    • lo.Associate
    • lo.ReduceRight

    ... (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 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 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)
  • 11

    Bump github.com/samber/lo from 1.28.2 to 1.29.0 in /magefiles

    Bumps github.com/samber/lo from 1.28.2 to 1.29.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.29.0

    Adding:

    • lo.ErrorAs
    • lo.TryOr
    • lo.TryOrX
    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.29.0 (2022-10-02)

    Adding:

    • lo.ErrorAs
    • lo.TryOr
    • lo.TryOrX

    1.28.0 (2022-09-05)

    Adding:

    • lo.ChannelDispatcher with 6 dispatching strategies:
      • lo.DispatchingStrategyRoundRobin
      • lo.DispatchingStrategyRandom
      • lo.DispatchingStrategyWeightedRandom
      • lo.DispatchingStrategyFirst
      • lo.DispatchingStrategyLeast
      • lo.DispatchingStrategyMost

    1.27.1 (2022-08-15)

    Bugfix:

    • Removed comparable constraint for lo.FindKeyBy

    1.27.0 (2022-07-29)

    Breaking:

    • Change of MapToSlice prototype: MapToSlice[K comparable, V any, R any](https://github.com/samber/lo/blob/master/in map[K]V, iteratee func(V, K) R) []R -> MapToSlice[K comparable, V any, R any](https://github.com/samber/lo/blob/master/in map[K]V, iteratee func(K, V) R) []R

    Added:

    • lo.ChunkString
    • lo.SliceToMap (alias to lo.Associate)

    1.26.0 (2022-07-24)

    Adding:

    • lo.Associate
    • lo.ReduceRight
    • lo.FromPtrOr
    • lo.MapToSlice
    • lo.IsSorted
    • lo.IsSortedByKey

    1.25.0 (2022-07-04)

    ... (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 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 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)
  • 12

    Bump github.com/goccy/go-yaml from 1.9.5 to 1.9.8

    Bumps github.com/goccy/go-yaml from 1.9.5 to 1.9.8.

    Release notes

    Sourced from github.com/goccy/go-yaml's releases.

    1.9.8

    What's Changed

    New Contributors

    Full Changelog: https://github.com/goccy/go-yaml/compare/v1.9.7...v1.9.8

    1.9.7

    What's Changed

    Full Changelog: https://github.com/goccy/go-yaml/compare/v1.9.6...v1.9.7

    1.9.6

    What's Changed

    New Contributors

    Full Changelog: https://github.com/goccy/go-yaml/compare/v1.9.5...v1.9.6

    Changelog

    Sourced from github.com/goccy/go-yaml's changelog.

    1.9.8 - 2022-12-19

    Fix feature

    • Append new line at the end of file ( #329 )

    Fix bugs

    • Fix custom marshaler ( #333, #334 )
    • Fix behavior when struct fields conflicted( #335 )
    • Fix position calculation for literal, folded and raw folded strings ( #330 )

    1.9.7 - 2022-12-03

    Fix bugs

    • Fix handling of quoted map key ( #328 )
    • Fix resusing process of scanning context ( #322 )

    v1.9.6 - 2022-10-26

    New Features

    • Introduce MapKeyNode interface to limit node types for map key ( #312 )

    Fix bugs

    • Quote strings with special characters in flow mode ( #270 )
    • typeError implements PrettyPrinter interface ( #280 )
    • Fix incorrect const type ( #284 )
    • Fix large literals type inference on 32 bits ( #293 )
    • Fix UTF-8 characters ( #294 )
    • Fix decoding of unknown aliases ( #317 )
    • Fix stream encoder for insert a separator between each encoded document ( #318 )

    Update

    • Update golang.org/x/sys ( #289 )
    • Update Go version in CI ( #295 )
    • Add test cases for missing keys to struct literals ( #300 )
    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 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 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)
  • 13

    Add support for More SCM releases

    Description Currently the only supported source code management tool is the public GitHub endpoint. https://github.com/mszostok/version/blob/c6a76403cae4842ae305b1d6439b08aae22c3c28/upgrade/github/head_fetch.go#L14

    This proposal is to support upgrade notice for New Releases on GitHub enterprise, public Gitlab and GitLab Enterprise

    Reasons This would expand support to Gitlab & Github enterprise projects

  • 14

    Bump github.com/samber/lo from 1.31.0 to 1.37.0 in /magefiles

    Bumps github.com/samber/lo from 1.31.0 to 1.37.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.37.0

    Adding:

    • lo.PartialX
    • lo.Transaction

    Improvement:

    • lo.Associate / lo.SliceToMap: faster memory allocation

    Chore:

    • Remove *_test.go files from releases, in order to cleanup dev dependencies

    v1.36.0

    Adding:

    • lo.AttemptWhile
    • lo.AttemptWhileWithDelay

    v1.35.0

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    v1.34.0

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    v1.33.0

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    v1.32.0

    ... (truncated)

    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.37.0 (2022-12-15)

    Adding:

    • lo.PartialX
    • lo.Transaction

    Improvement:

    • lo.Associate / lo.SliceToMap: faster memory allocation

    Chore:

    • Remove *_test.go files from releases, in order to cleanup dev dependencies

    1.36.0 (2022-11-28)

    Adding:

    • lo.AttemptWhile
    • lo.AttemptWhileWithDelay

    1.35.0 (2022-11-15)

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    1.34.0 (2022-11-12)

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    1.33.0 (2022-10-14)

    Adding:

    • lo.ChannelMerge

    Improving:

    ... (truncated)

    Commits
    • d0af59f bump v1.37.0
    • 259951a bump v1.37.0
    • 5e108ed chore(ci): add release script + cleanup dependencies before release (#284)
    • 565be2e Revert "chore: comment benchmarks, in order to remove go-funk dependency"
    • 1a60415 chore: rename ci workflows
    • 28eaf62 chore: comment benchmarks, in order to remove go-funk dependency
    • 6438444 adding Transaction
    • a6aabb4 Merge branch 'master' of github.com:samber/lo
    • 7eb64a6 update changelog
    • 0ed7b6e fix: set map capacity in Associate (#282)
    • Additional commits viewable in compare view

    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 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 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)
  • 15

    Bump github.com/Masterminds/sprig/v3 from 3.2.2 to 3.2.3

    Bumps github.com/Masterminds/sprig/v3 from 3.2.2 to 3.2.3.

    Release notes

    Sourced from github.com/Masterminds/sprig/v3's releases.

    v3.2.3

    Changed

    Changelog

    Sourced from github.com/Masterminds/sprig/v3's changelog.

    Release 3.2.3 (2022-11-29)

    Changed

    Commits
    • 581758e Updating the changelog for the 3.2.3 release
    • 5787448 Updating changelog for 3.2.2 release
    • 8489c3e Merge pull request #354 from mattfarina/bump-crypto-v0.3.0
    • 42ac6ac Updating crypto library
    • d65147b Merge pull request #353 from mattfarina/bump-semver-3.2.0
    • 92ac1ae Updating semver package
    • ce20d69 Merge pull request #313 from book987/master
    • f9a478a Merge pull request #334 from aJetHorn/patch-1
    • 58a4f65 Merge pull request #349 from mattfarina/bump-go-19
    • 32424cc Merge pull request #347 from neelayu/patch-1
    • Additional commits viewable in compare view

    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 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 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)
  • 16

    Bump szenius/set-timezone from a5c1676bd4e141779a42a699cc086f3c5ddd1a6c to 1.1

    Bumps szenius/set-timezone from a5c1676bd4e141779a42a699cc086f3c5ddd1a6c to 1.1. This release includes the previously tagged commit.

    Release notes

    Sourced from szenius/set-timezone's releases.

    Upgrade to Node16

    This release upgrades the runtime to Node16 since Node12 is being deprecated.

    Commits

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