Releases: GaijinEntertainment/go-exhaustruct
Releases · GaijinEntertainment/go-exhaustruct
v3.3.0
Release v3.2.0
- Add support for comment directives [#88]
Linter now supports two directives://exhaustruct:ignore
and//exhaustruct:enforce
- more in readme.
Release v3.1.0
Release v3.0.0
As of issues with generics and unnamed initializations linter have been completely refactored - it is easier to treat it a ground-up new linter:
- Linter now uses
WithStack
traversal - it is simplified and improved detection of structure being initialized within return statement. - Generics support
fix: #39
close: #40 - Slice and map expressions support
fix: #32 - Due to overall algorithm simplification and optimisations - raw analysis time sligntly decresed for large codebases.
- Testing improvements
- (BREAKING CHANGE!) Regular Expressions matching reworked
Previously: type is matched even if match is partial.
Now: type is matched only if it is a full match of full type name (including the package name). - (BREAKING CHANGE!) Repository structure changed
Previously: analyzer constructor exposed on/pkg/analyzer
subpath.
Now: analyzer constructor exposed on/analyzer
subpath. - (BREAKING CHANGE!) Only top level structures allowed to be unintialized during error return.
Previously: nested structures initialization within error-containing return have been allowed to stay unintialized.Now: above code will yield linting error alikereturn typ1{nested: typ2{}}, errors.New("some err")
pkgName.typ2 is missing field A
- (BREAKING CHANGE!) Error message has changed.
Previously:A, B, C, D ..., Z are missing in TestType
Now:pkgName.TestType is missing fields A, B, C, D ..., Z
Release v2.3.0
Features
- add ability to mark field as optional with help of field tag.
v.2.2.2 Release
- Update
golang.org/x/tools
dependency
v2.2.1 Release
- Fix panic occured on multiple local same-name types with different amount of fields.
v2.2.0 Release
-
Performance improvements:
- Add type check desicion cache.
- Add structures fields cache.
~40% perfomance improvement on codebase with 130k LOC.
v2.1.0 Release
- Make NewAnalyzer return an error instead of panic.
- A bit of code cleanup and slight optimisations.
v2.0.1 Release
Fix go.mod
version