All Versions
39
Latest Version
Avg Release Cycle
91 days
Latest Release
519 days ago

Changelog History
Page 1

  • v1.26 Changes

    April 23, 2022

    BACKWARDS INCOMPATIBILITIES:

    ๐Ÿ‘Œ IMPROVEMENTS:

    • โž• Add mapping for formatting, (go-fmt). [GH-3209]
    • โž• Add tr snippet for "testing.T".Run. [GH-3210] [GH-3220]
    • ๐Ÿ‘‰ Use go env GOBIN to determine GOBIN's value. [GH-3207]
    • List register in the debugger. [GH-3221]
    • ๐Ÿš€ Install the latest release of tools that seem to be using tags to do releases instead of installing from their master/main branch. [GH-3227]
    • ๐Ÿ”ฆ Expose error message when gopls cannot be found and g:go_echo_command_info is set. [GH-3244]
    • ๐Ÿš€ Install all tools in module aware mode in preparation for Go 1.17 release. [GH-3226]
    • Add g:go_doc_balloon to allow godoc to be displayed in hover balloons. [GH-3252]
    • ๐Ÿ‘• Default to using revive in place of golint. [GH-3248] [GH-3401]
    • ๐Ÿ–จ Teach :GoDebugPrint to show function call return values. [GH-3256]
    • Do not enable keyify unless in GOPATH. [GH-3095]
    • ๐Ÿ‘‰ Show LSP messages to users. [GH-3058]
    • Check omnifunc's value before executing actions on CompletedDone event. [GH-3274]
    • ๐Ÿ— Highlight new form of build constraints. [GH-3292]
    • ๐Ÿ“ฆ Teach :GoDiagnostics to handle package pattern arguments. [GH-3297]
    • Add g:go_debug_subsitute_paths to support debugging applications when the source is hosted in a local location that is different from where the binary was compiled. [GH-3301]
    • 0๏ธโƒฃ Wrap text in the fzf preview window by default. [GH-3310]
    • Wait for up to five seconds when opening a connection to a remote debugger. [GH-3312]
    • Install tools with go install instead of go get. [GH-3317] [GH-3370]
    • โšก๏ธ Update :GoPlay to use go.dev/play instead of play.golang.org. [GH-3331] [GH-3348]
    • Recurse local variables more deeply when debugging. [GH-3344]
    • โž• Add syntax elements for any and comparable types. [GH-3351]
    • โž• Add syntax support for go.work files. [GH-3375]
    • ๐Ÿ‘‰ Show the current goroutine at the top of the list of goroutines when debugging. [GH-3379]
    • โž• Add :GoModReload and autocmd events to reload go.mod when it changes on disk and is open in a buffer. [GH-3387] [GH-3391]
    • โž• Add syntax support for generics. [GH-3397]
    • โœ‚ Remove invalid numeric literal highlighting. [GH-3404]

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ– Handle terminating parenthesis on hexadecimal values. [GH-3216]
    • ๐Ÿ›  Fix applying text edits from gopls. [GH-3231]
    • ๐Ÿ’ป Apply arguments to :GoCoverageBrowser. [GH-3240]
    • Fix :GoFillStruct when g:go_fillstruct_mode is gopls. [GH-3279]
    • ๐Ÿ‘• Fix example in g:go_metalinter_enabled documentation. [GH-3291]
    • ๐Ÿ›  Fix changing directories in older Vims. [GH-3299]
    • Highlight the receive type when method declarations that omit the receiver identifier. [GH-3306]
    • Do not highlight misspellings in import paths. [GH-3308] [GH-3321]
    • ๐Ÿ– Handle shell quoting when execing. [GH-3323]
    • Do not automatically add directories from the module cache into the LSP workspace. [GH-3343]
    • Resolve symlinks in autocmd events. [GH-3353]
    • ๐Ÿ›  Fix :GoRename in Neovim so that it does not take 10 seconds to complete. [GH-3386]
    • ๐Ÿ›  Fix :GoDebugConnect argument handling. [GH-3400]
  • v1.25 Changes

    April 18, 2021

    BACKWARDS INCOMPATIBILITIES:

    ๐Ÿ‘Œ IMPROVEMENTS:

    • ๐Ÿ”ง Clarify allowed values for gopls related configuration options. [GH-3016] [GH-3017]
    • Add g:go_fillstruct_mode to allow :GoFillStruct to be satisfied by either fillstruct or by gopls. [GH-3018]
    • โž• Add :GoDebugTestFunc to debug the test function surrounding the current cursor location. [GH-3011]
    • Implicitly add a workspace when a file from a module is opened. [GH-3028]
    • โž• Add support for using static check as the gometalinter. [GH-3036] [GH-3133]
    • Add g:go_debug_mappings to allow the debug key mappings to be customized. [GH-3035] [GH-3143]
    • 0๏ธโƒฃ Use gopls as the default instead of guru to satisfy :GoImplements. [GH-3034]
    • Deprecate g:go_diagnostics_enabledand addg:go_diagnostics_level` to allow more finely grained control of the handling of diagnostics messages. [GH-3050] [GH-3052] [GH-3119]
    • Add support for allowing g:go_gopls_local to specify different local imports values per workspace. [GH-3053]
    • ๐Ÿ‘Œ Improve :GoDecls and :GoDeclsDir display. [GH-3081]
    • Preserve existing window layout when debugging and g:go_debug_windows is empty. [GH-3068]
    • ๐Ÿ‘‰ Show identifier in fzf's preview window with :GoDecls and :GoDeclsDir. [GH-3083]
    • ๐Ÿ‘‰ Use gopls for :GoCallers. [GH-3088] [GH-3090] [GH-3141] [GH-3142]
    • โšก๏ธ Update denite integration to work with python3.9. [GH-3097]
    • โž• Add syntax highlighting for go.sum files. [GH-3102]
    • ๐Ÿ”„ Change the default from metalinter to staticcheck. [GH-3126]
    • Add g:go_debug_preserve_layout to prevent :GoDebug and friends from closing windows. [GH-3125]
    • โž• Add support for fillstruct's new -tags flag. [GH-3156]
    • Display map key and slice elements more usefully in the local vars window in debug mode. [GH-3170]
    • โž• Add support for go.mod's retract directive. [GH-3166]
    • Do not execute disabled code actions. [GH-3155]
    • โž• Add :GoDebugConnect to support connecting to an instance of delve started outside of vim-go. [GH-3179]
    • 0๏ธโƒฃ Use gopls to adjust imports and formatting by default. [GH-2986]
    • Set the filetype for .tmpl files to gohtmltmpl even if it's already been set. [GH-3146]

    ๐Ÿ› BUG FIXES:

    • โœ‚ Remove implications that terminal mode is only applied for Neovim. [GH-3010]
    • ๐Ÿ“š Correct documentation to clearly show the default value for g:go_gopls_options. [GH-3019]
    • Allow truthy values for g:go_gopls_gofumpt. [GH-3017] [GH-3022]
    • ๐Ÿ›  Fix quickfix title for :GoMetaLinter. [GH-3040]
    • ๐Ÿ”„ Change key mapping for (go-debug-halt) to F8 to resolve collision with key mapping for (go-debug-print). [GH-3047]
    • ๐Ÿ– Handle gopls v0.5.2 addition of a prefix on the expected code actions names. [GH-3077]
    • โช Make sure all buffers' mappings are restored when debugging stops. [GH-3048]
    • Return early when g:go_referrers_modes is gopls and gopls is disabled. [GH-3090]
    • ๐Ÿ‘• Handle yet another error format produced by golangci-lint. [GH-3094]
    • ๐Ÿ– Handle additional ways that gopls can provide links for godoc. [GH-3112]
    • Remove implication that g:go_def_reuse_buffer only applies to split variant of jumping to a definition. [GH-3128]
    • Organize imports correctly when gopls formatting uses gofumpt. [GH-3154]
    • ๐Ÿ“‡ Rename all instances of an identifier when g:go_rename_mode is gopls. [GH-3181] [GH-3182]
    • Terminate a case statement in the select snippet with a colon. [GH-3185]
    • ๐Ÿ›  Fix syntax highlighting in template files. [GH-3188] [GH-3189]
  • v1.24 Changes

    September 15, 2020

    ๐Ÿ‘Œ IMPROVEMENTS:

    • Clarify how g:go_imports_autosave and g:go_fmt_autosave interact. [GH-2893]
    • Document what the working directory will be for :GoRun. [GH-2898]
    • โž• Add Ultisnip snippet for wrapping errors. [GH-2883]
    • Beautify the godoc pop up window border. [GH-2900]
    • Default g:go_doc_url to https://pkg.go.dev. [GH-2884]
    • Default g:go_gopls_options to [-remote=auto] to share gopls instances with other plugins and multiple instances of Vim. [GH-2905]
    • ๐Ÿ‘‰ Use the module root as the working directory when renaming so that all references to the symbol will be renamed when in module aware mode and g:go_rename_command is set to gopls. [GH-2917]
    • ๐Ÿ“‡ Change g:go_rename_command's default to gopls. [GH-2922]
    • Do not send unnecessary textDocument/didChange notifications to gopls. [GH-2902] [GH-2930]
    • Stop the debugger when the process being debugged exits. [GH-2921]
    • ๐Ÿ“ฆ Use the module package cache as a source of packages candidates when trying to complete package names. [GH-2936] [GH-2939]
    • ๐Ÿ‘ Allow interaction with Vim while waiting for a breakpoint to be hit while debugging. [GH-2932]
    • ๐Ÿ”จ Refactor Vim signs used for debugging breakpoints to avoid id collision with other plugins. [GH-2943]
    • ๐Ÿ”จ Refactor debugger's rpc response handling to be asynchronous so that Vim will be responsive while the program being debugged is executing. [GH-2948] [GH-2952]
    • Warn when the debugger breaks in a file that has changed since debugging started. [GH-2950]
    • Enable go-run mappings that use the terminal to work with Vim in addition to Neovim. [GH-2956]
    • ๐Ÿ‘‰ Use existing diagnostics for the file when the file hasn't changed and g:go_metalinter_command is gopls. [GH-2960]
    • Add a new option, g:go_code_completion_icase, to allow ignoring case when filtering completion results. [GH-2961]
      • Make sure tools are not cross-compiled with :GoInstallBinaries and :GoUpdateBinaries. [GH-2982] [GH-2988]
    • โž• Add :GoDebugHalt to allow a program being debugged to be paused before it hits a breakpoint. [GH-2983]
    • Clear highlighting of the current line when after resuming when debugging. [GH-2984]
    • โž• Add :GoDebugAttach to debug a running process. [GH-2989]
    • Add g:go_term_reuse option to allow the reuse of a terminal window. [GH-2990]
    • โž• Add official support for using gopls' gofumpt workspace setting via g:go_gopls_gofumpt. [GH-2994] [GH-3005]
    • โž• Add support for using gopls' workspace settings that are otherwise not yet officially supported by vim-go. [GH-2994]

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ›  Fix call to non-existent function in terminal mode edge case. [GH-2895]
    • Do not show errors when adding a text property for highlighting fails. [GH-2892]
    • ๐Ÿ‘• Include errcheck in g:go_metalinter_enabled's default. [GH-2903]
    • ๐Ÿ›  Fix display of completion selection information on command-line when g:go_echo_go_info is enabled. [GH-2907]
    • Prevent :GoDebugBreakpoint from causing delve to exit. [GH-2908]
    • ๐Ÿ‘‰ Use the resolved directory name for gopls' working directory when go.mod is in a symlinked path. [GH-2913]
    • ๐Ÿ›  Fix buffer reuse with :GoDef. [GH-2928]
    • ๐Ÿ– Handle breakpoints that are already set before calling :GoDebugStart or :GoDebugTest in some locales that cause the sign place output to vary. [GH-2921]
    • ๐Ÿ– Handle diagnostic errors at the end of a .go file. [GH-2942]
    • Fix the go-implements mapping to use respect g:go_implements_mode. [GH-2944]
    • ๐Ÿ– Handle null results from gopls when getting definitions or type definitions from virtual files. [GH-2951]
    • ๐Ÿ›  Fix warning when Neovim is older than v0.4.0. [GH-2959]
    • Correct documentation that referred to g:go_imports_command to refer to g:go_imports_mode instead. [GH-2969]
    • Remove reference to gocode in error message when g:go_info_mode is set to an unsupported value. [GH-2978]
    • ๐Ÿ”ง Make sure debugging commands are configured when debugging a second time within a single Vim session. [GH-2985]
    • ๐Ÿ“š Correct documentation in for :GoModifyTags when adding a specific tag value. [GH-3001]
    • ๐Ÿ›  Fix the path given to gopls when let g:go_metalinter='gopls' and :GoMetaLinter is called without any arguments. [GH-2992]
    • ๐Ÿ”ง Do not override a user's configuration for GoDebugBreakpoint or GoDebugCurrent highlight groups. [GH-2998]
    • Apply gopls text edits correctly that insert solitary newlines. [GH-3000]
  • v1.24-rc.1 Changes

    September 07, 2020

    ๐Ÿš€ This is a pre-release for vim-go. Please checkout the changelog for this release.

    ๐Ÿ‘ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek

  • v1.23 Changes

    May 16, 2020

    BACKWARDS INCOMPATIBILITIES:

    ๐Ÿ‘Œ IMPROVEMENTS:

    • ๐Ÿ”ง Make signs for breakpoints configurable. [GH-2676] [GH-2690]
    • Enable g:go_gopls_complete_unimported by default to stay aligned with gopls' defaults. [GH-2695]
    • Document mappings that were recently added. [GH-2699]
    • ๐Ÿ– Handle null arrays better in gopls responses. [GH-2703]
    • 0๏ธโƒฃ Use gopls defaults by default when they're not otherwise specified in vim-go options. [GH-2696]
    • โž• Add support for gomodifytags --skip-unexported [GH-2660]
    • ๐Ÿ‘• Show problems that prevent golangci-lint from running linters. [GH-2706] [GH-2720]
    • ๐Ÿ‘Œ Support golangci-lint config file by not using --disable-all when g:go_metalinter_enable or g:go_metalinter_autosave_enabled is set to an empty array. [GH-2655] [GH-2715]
    • โž• Add support for Vim8 terminals. [GH-2639] [GH-2736]
    • Replace g:go_gopls_fuzzy_matching with g:go_gopls_matcher in response to gopls deprecation of its fuzzyMatching option. [GH-2728]
    • Set statuses and progress messages consistently for code quality tools. [GH-2727]
    • Add a new supported value to g:go_fmt_command to format with gopls. [GH-2729] [GH-2752] [GH-2852]
    • โœ… Handle changes to go test -v output. [GH-2743]
    • Add g:go_gopls_mod_tempfile to configure gopls' tempModfile configuration. [GH-2747]
    • Add g:go_gopls_options to configure gopls' commandline options. [GH-2747]
    • ๐Ÿ‘Œ Improve readability of gopls logs. [GH-2773]
    • Introduce g:go_implements_mode to allow :GoImplements to be satisfied with gopls. [GH-2741] [GH-2799]
    • Introduce g:go_imports_mode to allow :GoImports to be satisfied with gopls. [GH-2791] [GH-2794] [GH-2796] [GH-2848]
    • ๐Ÿ”€ Send LSP synchronization messages to gopls when the file does not yet exist on disk as long as its directory exists. [GH-2805]
    • โš™ Run gogetdoc in the buffer's directory so that it will work regardless of the user's working directory in module-aware mode. [GH-2804]
    • Add g:go_gopls_analyses to support gopls' analyses options. [GH-2820]
    • Add g:go_gopls_local to support gopls' local option to control how third party imports are organized. [GH-2821]
    • ๐Ÿ“š Use gopls to get documentation and documentation links for identifiers under the cursor. [GH-2822] [GH-2839]
    • ๐Ÿ“š Clarify documentation for terminal options. [GH-2843]

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ‘‰ Use the discovered full path for gopls when renaming. [GH-2692]
    • ๐Ÿ Execute commands correctly on windows when 'shell' is not cmd.exe [GH-2713] [GH-2724]
    • ๐Ÿ“ฆ Always execute errcheck in the current package's directory. [GH-2726]
    • ๐Ÿ›  Fix errors when highlighting diagnostics after a :GoImports. [GH-2746]
    • ๐Ÿ‘• Preserve errors from formatting when both formatting and metalinting happen on save. [GH-2733] [GH-2810]
    • ๐ŸŒฒ Preserve ordering of gopls messages in the log. [GH-2753]
    • Fix :GoDef on windows when g:go_def_mode is set to gopls. [GH-2768]
    • ๐Ÿ– Handle null values from gopls. [GH-2778]
    • Preserve diagnostics highlights after formatting. [GH-2779]
    • ๐Ÿ›  Fix the decoding and encoding of multi-byte file paths received from and sent to gopls. [GH-2784]
    • ๐Ÿ›  Fix :GoRun so that it works as expected when the current working directory is neither in GOPATH nor within a module. [GH-2782] [GH-2818] [GH-2842]
    • ๐Ÿ‘‰ Use absolute file paths for :GoRun's arguments in terminal mode. [GH-2844]
    • ๐Ÿ‘‰ Show the command executed by :GoRun when g:go_debug includes 'shell-commands'. [GH-2785] [GH-2817]
    • Clear the list for formatting errors when g:go_fmt_command is gopls. [GH-2790]
    • ๐Ÿ– Handle text edits from gopls that are only line insertions. [GH-2802] [GH-2803]
    • Add g:go_imports_autosave so that imports can be adjusted on save when g:go_imports_mode is set to gopls. [GH-2800] [GH-2858]
    • Correct vim-go's help to correctly identify g:go_referrer_mode's default. [GH-2832]
    • ๐Ÿ‘• Clear the quickfix list when :GoLint succeeds. [GH-2833]
    • ๐Ÿ’ป Respect arguments to :GoDocBrowser. [GH-2822]
    • ๐Ÿ“š Use the correct path to documentation for struct fields with :GoDocBrowser. [GH-2822]
    • ๐Ÿ‘ท Do not try parsing errors from terminal jobs when the working directory has been removed. [GH-2824]
    • Document that g:go_jump_to_error apples to running the metalinter on save, too. [GH-2854]
    • Ignore commented out import statements when executing :GoImport. [GH-2862]
    • Interpret file paths in go vet errors relative to the current buffer's directory. [GH-2882]
  • v1.22 Changes

    January 30, 2020

    BACKWARDS INCOMPATIBILITIES:

    • โฌ‡๏ธ Drop support for Vim 7.4. The minimum required version of Vim is now 8.0.1453. [GH-2495] [GH-2497]
    • โฌ‡๏ธ Drop support for gometalinter [GH-2494]

    ๐Ÿ‘Œ IMPROVEMENTS:

    • Highlight the go keyword in go.mod files. [GH-2473]
    • ๐Ÿ‘‰ Use echo functions consistently. [GH-2458]
    • โž• Add support for managing goroutines in debugger. [GH-2463] [GH-2527]
    • Document g:go_doc_popup_window. [GH-2506]
    • Make g:go_doc_popup_window=1 work for Neovim, too. [GH-2451] [GH-2512]
    • ๐Ÿ– Handle errors jumping to a definition in a file open in another Vim process better. [GH-2518]
    • ๐Ÿ‘Œ Improve the UX when the gopls binary is missing. [GH-2522]
    • ๐Ÿ‘‰ Use gopls instead of guru for :GoSameIds. [GH-2519]
    • ๐Ÿ‘‰ Use gopls instead of guru for :GoReferrers. [GH-2535]
    • โž• Update documentation for g:go_addtags_transform. [GH-2541]
    • Install most helper tools in module aware mode. [GH-2545]
    • Add a new option, g:go_referrers_mode to allow the user to choose whether to use gopls or guru for finding references. [GH-2566]
    • โž• Add options to control how gopls responds to completion requests. [GH-2567] [GH-2568]
    • โž• Add syntax highlighting for binary literals. [GH-2557]
    • ๐Ÿ‘Œ Improve highlighting of invalid numeric literals. [GH-2571] [GH-2587] [GH-2589] [GH-2584] [GH-2597] [GH-2599]
    • โž• Add highlighting of sections reported by gopls diagnostics' errors and warnings. [GH-2569] [GH-2643]
    • ๐Ÿ”ง Make the highlighting of fzf decls configurable. [GH-2572] [GH-2579]
    • ๐Ÿ‘Œ Support renaming with gopls. [GH-2577] [GH-2618]
    • Add an option, g:go_gopls_enabled, to allow gopls integration to be disabled. [GH-2605] [GH-2609] [GH-2638] [GH-2640]
    • Add a buffer level option, b:go_fmt_options, to control formatting options per buffer. [GH-2613]
    • ๐Ÿ— Use build tags when running :GoVet. [GH-2615]
    • โž• Add new snippets for UltiSnips. [GH-2623] [GH-2627]
    • Expand completions as snippets when g:go_gopls_use_placeholders is set. [GH-2624]
    • โž• Add a new function, :GoDiagnostics and an associated mapping for seeing gopls diagnostics. Because of the performance implications on large projects, g:go_diagnostics_enabled controls whether all diagnostics are processed or only the diagnostics for the current buffer. [GH-2612]
    • ๐Ÿ™‹ Explain how to find and detect multiple copies of vim-go in the FAQ. [GH-2632]
    • โšก๏ธ Update the issue template to ask for the gopls version and :GoReportGitHubIssue to provide it. [GH-2630]
    • ๐Ÿ‘‰ Use text properties when possible for some highlighting cases. [GH-2652] [GH-2662] [GH-2663] [GH-2672] [GH-2678]

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ›  Fix removal of missing directories from gopls workspaces. [GH-2507]
    • ๐Ÿ”„ Change to original window before trying to change directories when term job ends. [GH-2508]
    • Swallow errors when the hover info cannot be determined. [GH-2515]
    • ๐Ÿ›  Fix errors when trying to debug lsp and hover. [GH-2516]
    • Reset environment variables on Vim <= 8.0.1831 . [GH-2523]
    • ๐Ÿ– Handle empty results from delve. [GH-2526]
    • Do not overwrite updatetime when g:go_auto_sameids or g:go_auto_type_info is set. [GH-2529]
    • Fix example for g:go_debug_log_output in docs. [GH-2547]
    • ๐Ÿ‘‰ Use FileChangedShellPost instead of FileChangedShell so that reload messages are not hidden. [GH-2549]
    • Restore cwd after :GoTest when g:go_term_enabled is set. [GH-2556]
    • Expand struct variable correctly in the variables debug window. [GH-2574]
    • ๐Ÿ‘‰ Show output from errcheck when there are failures other than problems it can report. [GH-2667]
  • v1.22-rc.4 Changes

    January 22, 2020

    ๐Ÿš€ This is a pre-release for vim-go. Please checkout the changelog for this release: https://github.com/fatih/vim-go/blob/025af24e79a5efe6981b8c02c1a314217d3c73cb/CHANGELOG.md#unplanned

    ๐Ÿ‘ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek

  • v1.22-rc.3 Changes

    January 19, 2020

    ๐Ÿš€ This is a pre-release for vim-go. Please checkout the changelog for this release: https://github.com/fatih/vim-go/blob/025af24e79a5efe6981b8c02c1a314217d3c73cb/CHANGELOG.md#unplanned

    ๐Ÿ‘ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek

  • v1.22-rc.2 Changes

    January 18, 2020

    ๐Ÿš€ This is a pre-release for vim-go. Please checkout the changelog for this release: https://github.com/fatih/vim-go/blob/d15b85a710620e8f1e942e12edcf6ee06d38164b/CHANGELOG.md#unplanned

    ๐Ÿ‘ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek

  • v1.22-rc.1 Changes

    January 17, 2020

    ๐Ÿš€ This is a pre-release for vim-go. Please checkout the changelog for this release: https://github.com/fatih/vim-go/blob/d15b85a710620e8f1e942e12edcf6ee06d38164b/CHANGELOG.md#unplanned

    ๐Ÿ‘ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek