PackageTrack

Go modules · #1961

github.com/jmattheis/goverter

v1.10.0jmattheis/goverter

Release timeline

153 releases since 2021
202120222023202420252026

Releases

  1. v1.10.1-0.20260825194701-0d707f58152025 Aug 2026pre-release

    Nothing published for this version

  2. v1.10.025 Aug 2026

    Nothing published for this version

  3. v1.9.5-0.20260719191614-8ee671150d0f19 Jul 2026pre-release

    Nothing published for this version

  4. v1.9.44 Mar 2026
    Release notesOpen source →
    Release notes
    • Fix default:update not applying zero value checks for non-pointer source and target types. ( #221 via #222 )
    Open source →
    Release notes2 sources agree
    • Fix default:update not applying zero value checks for non-pointer source and target types. <GH issue="221" pr="222"/>
    Open source →
  5. v1.9.36 Jan 2026
    Release notesOpen source →
    Release notes
    • Allow unexported extend functions with inferred output:package from output:file . ( #218 via #219 )
    Open source →
    Release notes2 sources agree
    Open source →
  6. v1.9.3-0.20260106100818-e5e4ffd07b086 Jan 2026pre-release

    Nothing published for this version

  7. v1.9.213 Sept 2025
    Release notesOpen source →
    Release notes
    • Fix comparison of signatures with aliases in extend and conversion methods. ( #213 via #215 )

    • This is a regression introduced in v1.9.1 due to the x/tools upgrade.

    • Upgrade toolchain to go1.25. ( #214 )

    Open source →
    Release notes2 sources agree
    • Fix comparison of signatures with aliases in extend and conversion methods. <GH issue="213" pr="215"/>
      • This is a regression introduced in v1.9.1 due to the x/tools upgrade.
    • Upgrade toolchain to go1.25. <GH pr="214"/>
    Open source →
  8. v1.9.2-0.20250905122146-be9d79b5cba85 Sept 2025pre-release

    Nothing published for this version

  9. v1.9.2-0.20250905121200-78990be640015 Sept 2025pre-release

    Nothing published for this version

  10. v1.9.2-0.20250905120947-035de333d42b5 Sept 2025pre-release

    Nothing published for this version

  11. v1.9.2-0.20250901121743-82a6b7836d021 Sept 2025pre-release

    Nothing published for this version

  12. v1.9.125 Jul 2025
    Release notesOpen source →
    Release notes
    • Increase minimal go version to go1.23 due to breaking changes in x/tools for go1.24 ( #208 )

    • Improve conversion of *T to T . ( #205 via #206 )

    Open source →
    Release notes2 sources agree
    • Increase minimal go version to go1.23 due to breaking changes in x/tools for go1.24 <GH pr="208"/>
    • Improve conversion of *T to T. <GH issue="205" pr="206"/>
    Open source →
  13. v1.9.1-0.20250706094825-56a34ec552976 Jul 2025pre-release

    Nothing published for this version

  14. v1.9.021 Jun 2025
    Release notesOpen source →
    Release notes
    • Add automatic conversion of arrays with same size ( #202 via #204 )

    • Fix missing initialization on array to slice conversion ( #203 via #204 )

    Open source →
    Release notes2 sources agree
    • Add automatic conversion of arrays with same size <GH issue="202" pr="204"/>
    • Fix missing initialization on array to slice conversion <GH issue="203" pr="204"/>
    Open source →
  15. v1.8.4-0.20250508093616-3785a07f60c78 May 2025pre-release

    Nothing published for this version

  16. v1.8.38 May 2025
    Release notesOpen source →
    Release notes
    • Fix inferred package names on windows. ( #198 via #199 )
    Open source →
    Release notes2 sources agree
    • Fix inferred package names on windows. <GH issue="198" pr="199"/>
    Open source →
  17. v1.8.3-0.20250507150520-d375b2b738917 May 2025pre-release

    Nothing published for this version

  18. v1.8.3-0.20250506185138-66518be5d5726 May 2025pre-release

    Nothing published for this version

  19. v1.8.24 Apr 2025
    Release notesOpen source →
    Release notes
    • Fix panic when using golang.org/x/tools >= v0.31.0 . ( #194 via #195 )
    Open source →
    Release notes2 sources agree
    • Fix panic when using golang.org/x/tools >= v0.31.0. <GH issue="194" pr="195"/>
    Open source →
  20. v1.8.129 Mar 2025
    Release notesOpen source →
    Release notes
    • Allow specifying goverter: settings without leading space e.g. //goverter:converter ( #190 via #191 )

    • Fix SEGSEGV with enabled useUnderlyingTypeMethods ( #192 via #193 )

    Open source →
    Release notes2 sources agree
    • Allow specifying goverter: settings without leading space e.g. //goverter:converter <GH issue="190" pr="191"/>
    • Fix SEGSEGV with enabled useUnderlyingTypeMethods <GH issue="192" pr="193"/>
    Open source →
  21. v1.8.1-0.20250323195748-08fffb5d7f4e23 Mar 2025pre-release

    Nothing published for this version

  22. v1.8.017 Feb 2025
    Release notesOpen source →
    Release notes
    • Fix go1.24 support. ( #186 via #187 )

    • Increase minimal go version to go1.22 due to breaking changes in x/tools for go1.24 ( #187 )

    • Infer output:package from file location ( #180 via #181 )

    Open source →
    Release notes2 sources agree
    • Fix go1.24 support. <GH issue="186" pr="187"/>
    • Increase minimal go version to go1.22 due to breaking changes in x/tools for go1.24 <GH pr="187"/>
    • Infer output:package from file location <GH issue="180" pr="181"/>
    Open source →
  23. v1.7.1-0.20250216143033-dbb4edb992cf16 Feb 2025pre-release

    Nothing published for this version

  24. v1.7.1-0.20250213183800-2d7ce600f0da13 Feb 2025pre-release

    Nothing published for this version

  25. v1.7.1-0.20250130191441-d273beb2de5930 Jan 2025pre-release

    Nothing published for this version

  26. v1.7.1-0.20250112073442-3ad3902489d912 Jan 2025pre-release

    Nothing published for this version

  27. v1.7.014 Dec 2024
    Release notesOpen source →
    Release notes
    • Remove default value of arg:context:regex ( #68 via #176 )

    • To get v1.6.0 behavior, configure: goverter:arg:context:regex ^ctx|^context

    • The recommended way to configure context is to use context .

    • Add context . See Guide: Pass context to functions ( #68 via #176 )

    • Add default:update ( #171 via #175 )

    • Fix not setting nil on map when value is nil . ( #173 via #175 )

    Open source →
    Release notes2 sources agree
    • Remove default value of arg:context:regex <GH issue="68" pr="176"/>
      • To get v1.6.0 behavior, configure: goverter:arg:context:regex ^ctx|^context
      • The recommended way to configure context is to use context.
    • Add context. See Guide: Pass context to functions <GH issue="68" pr="176"/>
    • Add default:update <GH issue="171" pr="175"/>
    • Fix not setting nil on map when value is nil. <GH issue="173" pr="175"/>
    Open source →
  28. v1.6.1-0.20241213185736-2edc4a0c6e5313 Dec 2024pre-release

    Nothing published for this version

  29. v1.6.08 Dec 2024
    Release notes
    • Support for passing context to functions. ( #68 via #166 )

    • See Guide: Pass context to functions

    • See Reference: Signature

    • Add arg:context:regex

    • Support updating an existing instance of a struct ( #147 via #170 )

    • See Guide: Update an existing instance

    • Add update ARG

    • Add update:ignoreZeroValueField [yes|no]

    • Add output:raw CODE ( #113 via #168 )

    • Error on duplicated converter signatures. ( #146 via #166 )

    • Fix panic when using chan in conversion functions. ( #165 via #167 )

    Open source →
    Release notes2 sources agree
    Open source →
  30. v1.5.2-0.20241208114318-079f6e786ced8 Dec 2024pre-release

    Nothing published for this version

  31. v1.5.2-0.20241117124239-7f3301a0a0e017 Nov 2024pre-release

    Nothing published for this version

  32. v1.5.2-0.20241113184807-516070d1759f13 Nov 2024pre-release

    Nothing published for this version

  33. v1.5.2-0.20241110182853-410db2f6a45a10 Nov 2024pre-release

    Nothing published for this version

  34. v1.5.2-0.20240913074756-a87545f85c6b13 Sept 2024pre-release

    Nothing published for this version

  35. v1.5.19 Aug 2024
    Release notes
    • Prevent duplicated enum cases. ( #150 via #154 )

    • Enable enum by default when using variables . ( #155 )

    Open source →
    Release notes2 sources agree
    • Prevent duplicated enum cases. <GH issue="150" pr="154"/>
    • Enable enum by default when using variables. <GH pr="155"/>
    Open source →
  36. v1.5.1-0.20240809185852-076c25f554c09 Aug 2024pre-release

    Nothing published for this version

  37. v1.5.1-0.20240714084204-b0464554e51f14 Jul 2024pre-release

    Nothing published for this version

  38. v1.5.1-0.20240706105424-cee2d7f192e26 Jul 2024pre-release

    Nothing published for this version

  39. v1.5.023 Jun 2024
    Release notes
    • Add two input-output formats. See Guide: Input/Output formats for help to choose a format. The new formats allow you to call top level functions without the need to instantiate a struct to call methods on it. ( #77 via #149 )

    • Add variables setting

    • Add output:format setting

    • Add line numbers of originating definitions to all error messages. ( #149 )

    Open source →
    Release notes2 sources agree
    • Add two input-output formats. See Guide: Input/Output formats for help to choose a format. The new formats allow you to call top level functions without the need to instantiate a struct to call methods on it. <GH issue="77" pr="149"/>
    • Add line numbers of originating definitions to all error messages. <GH pr="149"/>
    Open source →
  40. v1.4.2-0.20240623100236-595aa0287d6423 Jun 2024pre-release

    Nothing published for this version

  41. v1.4.121 Jun 2024
    Release notes
    • Error when the settings enum and useUnderlyingTypeMethods conflict. ( #141 via #142 )

    • Add CLI commands help and version . ( #144 via #145 )

    • Improve generation by assigning variables directly if possible. ( #97 via #148 ) Examples diff func (c *ConverterImpl) Convert(source execution.Input) execution.Output { var structsOutput execution.Output - var pString *string if source.Nested.Name != nil { xstring := *source.Nested.Name - pString = &xstring + structsOutput.Name = &xstring } - structsOutput.Name = pString return structsOutput }

    diff func (c *ConverterImpl) ConvertPToP(source []*int) []*int { var pIntList []*int if source != nil { pIntList = make([]*int, len(source)) for i := 0; i < len(source); i++ { - var pInt *int if source[i] != nil { xint := *source[i] - pInt = &xint + pIntList[i] = &xint } - pIntList[i] = pInt } } return pIntList }

    Open source →
    Release notes2 sources agree
    • Error when the settings enum and useUnderlyingTypeMethods conflict. <GH issue="141" pr="142"/>
    • Add CLI commands help and version. <GH issue="144" pr="145"/>
    • Improve generation by assigning variables directly if possible. <GH issue="97" pr="148"/> :::details Examples
       func (c *ConverterImpl) Convert(source execution.Input) execution.Output {
           var structsOutput execution.Output
      -    var pString *string
           if source.Nested.Name != nil {
               xstring := *source.Nested.Name
      -        pString = &xstring
      +        structsOutput.Name = &xstring
           }
      -    structsOutput.Name = pString
           return structsOutput
       }
      

       func (c *ConverterImpl) ConvertPToP(source []*int) []*int {
           var pIntList []*int
           if source != nil {
               pIntList = make([]*int, len(source))
               for i := 0; i < len(source); i++ {
      -            var pInt *int
                   if source[i] != nil {
                       xint := *source[i]
      -                pInt = &xint
      +                pIntList[i] = &xint
                   }
      -            pIntList[i] = pInt
               }
           }
           return pIntList
       }
      
      :::
    Open source →
  42. v1.4.1-0.20240611202002-f05ce4cc9a0f11 Jun 2024pre-release

    Nothing published for this version

  43. v1.4.1-0.20240610094736-ae1b2c83f19610 Jun 2024pre-release

    Nothing published for this version

  44. v1.4.1-0.20240529193937-164baf332e3a29 May 2024pre-release

    Nothing published for this version

  45. v1.4.1-0.20240410172938-5cdb6873fbfe10 Apr 2024pre-release

    Nothing published for this version

  46. v1.4.1-0.20240331101610-7869ea47ed6e31 Mar 2024pre-release

    Nothing published for this version

  47. v1.4.023 Feb 2024
    Release notes
    • Add Enum Support ( #61 via #136 ) . Can be disabled via enum no .

    • Add wrapErrorsUsing ( #134 )

    • Fix panic with go1.22 ( #135 via #133 )

    • Require go1.18 for building Goverter ( #133 )

    • Add current working directory -cwd option to CLI ( #134 )

    • Fix error messages when there is an return error mismatch ( #136 )

    • Fix panic when using type params in extend , map or default . ( #138 via #139 )

    • Fix types.Alias . See golang#63223

    internals :

    • Require the examples to be up-to-date via CI ( #136 )

    • Fix file permissions in tests ( #136 )

    Open source →
    Release notes2 sources agree
    • Add Enum Support <GH issue="61" pr="136"/>. Can be disabled via enum no.
    • Add wrapErrorsUsing <GH pr="134"/>
    • Fix panic with go1.22 <GH issue="135" pr="133"/>
    • Require go1.18 for building Goverter <GH pr="133"/>
    • Add current working directory -cwd option to CLI <GH pr="134"/>
    • Fix error messages when there is an return error mismatch <GH pr="136"/>
    • Fix panic when using type params in extend, map or default. <GH issue="138" pr="139"/>
    • Fix types.Alias. See golang#63223

    internals:

    • Require the examples to be up-to-date via CI <GH pr="136"/>
    • Fix file permissions in tests <GH pr="136"/>
    Open source →
  48. v1.3.3-0.20240223110508-fcdeeca6c61523 Feb 2024pre-release

    Nothing published for this version

  49. v1.3.3-0.20240222182700-7deef0fc175422 Feb 2024pre-release

    Nothing published for this version

  50. v1.3.3-0.20240209144344-e137dd132ae39 Feb 2024pre-release

    Nothing published for this version

  51. v1.3.3-0.20240208190254-a5f4ca4c6cca8 Feb 2024pre-release

    Nothing published for this version

  52. v1.3.230 Jan 2024
    Release notes

    Change generated directory permissions from 777 -> 755 and generated file permissions from 777 -> 644 . This only affects newly created files and directories. Existing files and directories will keep their current permissions. ( #128 via #129 )

    Open source →
    Release notes2 sources agree

    Change generated directory permissions from 777 -> 755 and generated file permissions from 777 -> 644. This only affects newly created files and directories. Existing files and directories will keep their current permissions. <GH issue="128" pr="129"/>

    Open source →
  53. v1.3.2-0.20240130162237-48f86d93e2c530 Jan 2024pre-release

    Nothing published for this version

  54. v1.3.127 Jan 2024
    Release notes

    Fix nil map conversion. A nil map of will be converted to a nil map of the target type. Previously, the target map was instantiated via make with a 0 size. ( #126 via #127 )

    Open source →
    Release notes2 sources agree

    Fix nil map conversion. A nil map of will be converted to a nil map of the target type. Previously, the target map was instantiated via make with a 0 size. <GH issue="126" pr="127"/>

    Open source →
  55. v1.3.1-0.20240127164317-1ce05247334f27 Jan 2024pre-release

    Nothing published for this version

  56. v1.3.1-0.20240126144445-ed9d9de006dd26 Jan 2024pre-release

    Nothing published for this version

  57. v1.3.1-0.20240125165756-bcb4a5e9072025 Jan 2024pre-release

    Nothing published for this version

  58. v1.3.1-0.20240115175831-d7c3b27661be15 Jan 2024pre-release

    Nothing published for this version

  59. v1.3.1-0.20240115174349-14bdf1f017e815 Jan 2024pre-release

    Nothing published for this version

  60. v1.3.1-0.20240114114338-d735f834c9da14 Jan 2024pre-release

    Nothing published for this version