github.com/jmattheis/goverter
v1.9.4
#2591 most downloaded on Go modules
jmattheis/goverter
What this package is like to depend on
Last release 1 months ago
19 Jul 2026
Release timing varies
gaps range from 2 weeks to 5 months
Nearly every release is documented
notes for 53 of 53 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
151 releases · first in 2021
13 releases in the last 12 months
see the full history below
Release timeline
151 releases · Mar 2021 to Jul 2026Releases
latest 60 of 151-
v1.9.5-0.20260719191614-8ee671150d0f19 Jul 2026 pre-releaseNothing published for this version
-
v1.9.404 Mar 2026Release notes
Open source →- Fix default:update not applying zero value checks for non-pointer source and target types. ( #221 via #222 )
Release notes
Open source →- Fix
default:updatenot applying zero value checks for non-pointer source and target types. <GH issue="221" pr="222"/>
-
v1.9.306 Jan 2026Release notes
Open source →- Allow unexported extend functions with inferred output:package from output:file . ( #218 via #219 )
Release notes
Open source →- Allow unexported
extendfunctions with inferredoutput:packagefromoutput:file. <GH issue="218" pr="219"/>
-
v1.9.3-0.20260106100818-e5e4ffd07b0806 Jan 2026 pre-releaseNothing published for this version
-
v1.9.213 Sep 2025Release notes
Open source →-
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 )
Release notes
Open source →- Fix comparison of signatures with aliases in
extendand 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"/>
-
-
v1.9.2-0.20250905122146-be9d79b5cba805 Sep 2025 pre-releaseNothing published for this version
-
v1.9.2-0.20250905121200-78990be6400105 Sep 2025 pre-releaseNothing published for this version
-
v1.9.2-0.20250905120947-035de333d42b05 Sep 2025 pre-releaseNothing published for this version
-
v1.9.2-0.20250901121743-82a6b7836d0201 Sep 2025 pre-releaseNothing published for this version
-
v1.9.125 Jul 2025Release notes
Open source →-
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 )
Release notes
Open source →- Increase minimal go version to go1.23 due to breaking changes in x/tools for go1.24 <GH pr="208"/>
- Improve conversion of
*TtoT. <GH issue="205" pr="206"/>
-
-
v1.9.1-0.20250706094825-56a34ec5529706 Jul 2025 pre-releaseNothing published for this version
-
v1.9.021 Jun 2025Release notes
Open source →-
Add automatic conversion of arrays with same size ( #202 via #204 )
-
Fix missing initialization on array to slice conversion ( #203 via #204 )
Release notes
Open source →- 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"/>
-
-
v1.8.4-0.20250508093616-3785a07f60c708 May 2025 pre-releaseNothing published for this version
-
v1.8.308 May 2025 -
v1.8.3-0.20250507150520-d375b2b7389107 May 2025 pre-releaseNothing published for this version
-
v1.8.3-0.20250506185138-66518be5d57206 May 2025 pre-releaseNothing published for this version
-
v1.8.204 Apr 2025Release notes
Open source →- Fix panic when using
golang.org/x/tools>=v0.31.0. <GH issue="194" pr="195"/>
- Fix panic when using
-
v1.8.129 Mar 2025Release notes
Open source →-
Allow specifying goverter: settings without leading space e.g. //goverter:converter ( #190 via #191 )
-
Fix SEGSEGV with enabled useUnderlyingTypeMethods ( #192 via #193 )
Release notes
Open source →- 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"/>
-
-
v1.8.1-0.20250323195748-08fffb5d7f4e23 Mar 2025 pre-releaseNothing published for this version
-
v1.8.017 Feb 2025Release notes
Open source →-
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 )
Release notes
Open source →- 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:packagefrom file location <GH issue="180" pr="181"/>
-
-
v1.7.1-0.20250216143033-dbb4edb992cf16 Feb 2025 pre-releaseNothing published for this version
-
v1.7.1-0.20250213183800-2d7ce600f0da13 Feb 2025 pre-releaseNothing published for this version
-
v1.7.1-0.20250130191441-d273beb2de5930 Jan 2025 pre-releaseNothing published for this version
-
v1.7.1-0.20250112073442-3ad3902489d912 Jan 2025 pre-releaseNothing published for this version
-
v1.7.014 Dec 2024Release notes
Open source →-
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 )
Release notes
Open source →- 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.
- To get v1.6.0 behavior, configure:
- Add
context. See Guide: Pass context to functions <GH issue="68" pr="176"/> - Add
default:update<GH issue="171" pr="175"/> - Fix not setting
nilon map when value isnil. <GH issue="173" pr="175"/>
-
-
v1.6.1-0.20241213185736-2edc4a0c6e5313 Dec 2024 pre-releaseNothing published for this version
-
v1.6.008 Dec 2024Release notes
Open source →-
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 )
Release notes
Open source →- Support for passing context to functions. <GH issue="68" pr="166"/>
- Support updating an existing instance of a struct <GH issue="147" pr="170"/>
- Add
output:raw CODE<GH issue="113" pr="168"/> - Error on duplicated converter signatures. <GH issue="146" pr="166"/>
- Fix panic when using
chanin conversion functions. <GH issue="165" pr="167"/>
-
-
v1.5.2-0.20241208114318-079f6e786ced08 Dec 2024 pre-releaseNothing published for this version
-
v1.5.2-0.20241117124239-7f3301a0a0e017 Nov 2024 pre-releaseNothing published for this version
-
v1.5.2-0.20241113184807-516070d1759f13 Nov 2024 pre-releaseNothing published for this version
-
v1.5.2-0.20241110182853-410db2f6a45a10 Nov 2024 pre-releaseNothing published for this version
-
v1.5.2-0.20240913074756-a87545f85c6b13 Sep 2024 pre-releaseNothing published for this version
-
v1.5.109 Aug 2024Release notes
Open source →-
Prevent duplicated enum cases. ( #150 via #154 )
-
Enable enum by default when using variables . ( #155 )
-
-
v1.5.1-0.20240809185852-076c25f554c009 Aug 2024 pre-releaseNothing published for this version
-
v1.5.1-0.20240714084204-b0464554e51f14 Jul 2024 pre-releaseNothing published for this version
-
v1.5.1-0.20240706105424-cee2d7f192e206 Jul 2024 pre-releaseNothing published for this version
-
v1.5.023 Jun 2024Release notes
Open source →-
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 )
Release notes
Open source →- 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
variablessetting - Add
output:formatsetting
- Add
- Add line numbers of originating definitions to all error messages. <GH pr="149"/>
-
-
v1.4.2-0.20240623100236-595aa0287d6423 Jun 2024 pre-releaseNothing published for this version
-
v1.4.121 Jun 2024Release notes
Open source →-
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 }
Release notes
Open source →- Error when the settings
enumanduseUnderlyingTypeMethodsconflict. <GH issue="141" pr="142"/> - Add CLI commands
helpandversion. <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 }
-
-
v1.4.1-0.20240611202002-f05ce4cc9a0f11 Jun 2024 pre-releaseNothing published for this version
-
v1.4.1-0.20240610094736-ae1b2c83f19610 Jun 2024 pre-releaseNothing published for this version
-
v1.4.1-0.20240529193937-164baf332e3a29 May 2024 pre-releaseNothing published for this version
-
v1.4.1-0.20240410172938-5cdb6873fbfe10 Apr 2024 pre-releaseNothing published for this version
-
v1.4.1-0.20240331101610-7869ea47ed6e31 Mar 2024 pre-releaseNothing published for this version
-
v1.4.023 Feb 2024Release notes
Open source →-
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 )
Release notes
Open source →- 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
-cwdoption 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,mapordefault. <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"/>
-
-
v1.3.3-0.20240223110508-fcdeeca6c61523 Feb 2024 pre-releaseNothing published for this version
-
v1.3.3-0.20240222182700-7deef0fc175422 Feb 2024 pre-releaseNothing published for this version
-
v1.3.3-0.20240209144344-e137dd132ae309 Feb 2024 pre-releaseNothing published for this version
-
v1.3.3-0.20240208190254-a5f4ca4c6cca08 Feb 2024 pre-releaseNothing published for this version
-
v1.3.230 Jan 2024Release notes
Open source →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 )
Release notes
Open source →Change generated directory permissions from
777->755and generated file permissions from777->644. This only affects newly created files and directories. Existing files and directories will keep their current permissions. <GH issue="128" pr="129"/> -
v1.3.2-0.20240130162237-48f86d93e2c530 Jan 2024 pre-releaseNothing published for this version
-
v1.3.127 Jan 2024Release notes
Open source →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 )
Release notes
Open source →Fix
nilmap conversion. Anilmap of will be converted to anilmap of the target type. Previously, the target map was instantiated viamakewith a 0 size. <GH issue="126" pr="127"/> -
v1.3.1-0.20240127164317-1ce05247334f27 Jan 2024 pre-releaseNothing published for this version
-
v1.3.1-0.20240126144445-ed9d9de006dd26 Jan 2024 pre-releaseNothing published for this version
-
v1.3.1-0.20240125165756-bcb4a5e9072025 Jan 2024 pre-releaseNothing published for this version
-
v1.3.1-0.20240115175831-d7c3b27661be15 Jan 2024 pre-releaseNothing published for this version
-
v1.3.1-0.20240115174349-14bdf1f017e815 Jan 2024 pre-releaseNothing published for this version
-
v1.3.1-0.20240114114338-d735f834c9da14 Jan 2024 pre-releaseNothing published for this version
-
v1.3.1-0.20240109201653-f91a93628fca09 Jan 2024 pre-releaseNothing published for this version
-
v1.3.1-0.20240106142403-27a26e58982006 Jan 2024 pre-releaseNothing published for this version