# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.1.0] - 2025-09-30 ### Added - **OpenAPI 3.0 Support** - Generate both Swagger 2.0 and OpenAPI 3.0 specifications - New `--spec-version` (`-s`) flag to choose between `swagger2.0` and `openapi3.0` - Automatic conversion from Swagger 2.0 to OpenAPI 3.0 format - Support for OpenAPI 3.0 features: - Server objects with complete URLs (instead of host/basePath) - Components/schemas (instead of definitions) - Components/securitySchemes (instead of securityDefinitions) - RequestBody separated from parameters - Integration with `github.com/getkin/kin-openapi` library for OpenAPI 3.0 ### Changed - Updated CLI help text to reflect dual specification support - Enhanced Makefile examples to generate both Swagger 2.0 and OpenAPI 3.0 - Version bumped to 1.1.0 ## [1.0.0] - 2025-09-30 ### Added - Initial release as standalone tool - Extracted from go-zero project and made independent - Support for converting go-zero `.api` files to Swagger 2.0 specification - JSON and YAML output formats - Command-line interface using cobra - Support for all go-zero API features: - Info properties (title, description, version, host, basePath, etc.) - Type definitions (structs, arrays, maps, pointers) - Tag-based parameter handling (json, form, path, header) - Validation options (range, enum, default, example, optional) - Security definitions - Code-msg wrapper for responses - Definition references - Internal utility functions to replace go-zero dependencies - Comprehensive documentation - Example API files - Makefile for easy building - MIT License ### Changed - Module name from `github.com/zeromicro/go-zero` to `go-doc` - Removed dependency on `go-zero/tools/goctl/internal/version` - Removed dependency on `go-zero/tools/goctl/util/*` - Removed dependency on `google.golang.org/grpc/metadata` - Project structure reorganized to follow Go best practices - `cmd/go-doc/` for main entry point - `internal/swagger/` for core logic - `internal/util/` for utilities ### Removed - Dependency on go-zero runtime components - Go-zero specific version information --- ## Attribution This project was originally part of the [go-zero](https://github.com/zeromicro/go-zero) project's swagger generation plugin. We are grateful to the go-zero team for their excellent work.