Changelog
v1.1.0
All 12 fixes are backwards-compatible — no public API signatures changed, only additive struct fields and behavior corrections.
go get github.com/gopackx/open-swag-go@v1.1.0Critical Fixes
- fix(spec): Fixed port-to-string conversion in
CommonServers.Localhost()andLocalhostServer()— replaced brokenstring(rune(port))withstrconv.Itoa(port). Also fixed the same pattern inintToString()inopenapi.go. - fix(schema): Example tag values are now coerced to the correct type via
ConvertExampleToType().example:"42"on anint64field now produces the integer42, not the string"42". Applied inpkg/schema/tags.go,openapi.go, andpkg/examples/generator.go. - fix(schema):
$refpointers are no longer silently dropped during schema conversion — addedRef: s.Refmapping inconvertSchema().
High Severity Fixes
- fix(schema): Embedded (anonymous) struct fields are now detected via
field.Anonymousand their properties are promoted into the parent schema. - fix(schema):
map[K]Vtypes now correctly generate{"type":"object","additionalProperties":{...}}. AddedAdditionalPropertiesfield toschema.Schemaand conversion inconvertSchema(). - fix(schema):
interface{}/anyfields now produce an empty schema{}(accepts any type) instead of{"type":"object"}. Validator updated to accept empty schemas.
Medium Severity Fixes
- fix(schema): Fields with
json:",omitempty"are no longer marked as required even ifvalidate:"required"is present. - feat(schema): Added
Nullable,ReadOnly,WriteOnly,Deprecated,MinItems,MaxItems,UniqueItems,AllOf,OneOf,AnyOffields toschema.Schemaand full conversion support inconvertSchema(). - fix(schema): Added special handling for
time.Duration→{format:"duration"},[]byte→{format:"byte"},uuid.UUID→{format:"uuid"}. - fix(schema):
json:",omitempty"(empty name part) now correctly falls back to the Go field name.
Low Severity Fixes
- fix(openapi):
buildParamsFromStructnow prefers location-specific tags (querytag for query params,pathtag for path params) before falling back to generic tags. - feat(openapi): Request body schemas now include an auto-generated
examplefield built from struct field tags and type defaults.
v1.0.0
Initial release of open-swag-go.
- 5 framework adapters: Chi, Gin, Echo, Fiber, net/http
- Authentication playground with Bearer, Basic, API Key, Cookie, and OAuth2 support
- Try-it console with environment management and request history
- Auto-generated code snippets in curl, JavaScript, Go, Python, and PHP
- Version diffing with breaking change detection and migration guides
- Schema generation from Go structs using standard tags
- Theming with Scalar UI (purple, blue, green, light themes + dark mode)
- Docs page authentication with basic auth or API key
- Smart example generation from struct field names and tags