Releases: zeromicro/go-zero
v1.8.3
🌟 Highlights
- MCP Server SDK: Added comprehensive Model Context Protocol server SDK support with real-time communication, JSON-RPC, prompt management, and more.
- API Route Improvements: Enhanced handling of special characters in API route paths.
🚀 Features
-
MCP server SDK:
- Real-time Communication: Robust SSE-based system with persistent client connections
- JSON-RPC Support: Complete implementation with proper request processing and response formatting
- Tool System: Register custom tools with schema validation and support for various return types
- Prompt Management: Static prompts with templating and dynamic prompts with handler functions
- Resource Handling: Register and deliver file resources with proper MIME type support
- Embedded Resources: Include files directly in conversation messages
- Content Flexibility: Support for text, code, images, and binary content
- Protocol Features: Proper initialization sequences and capability negotiation
- Comprehensive Error Handling: Proper error reporting with appropriate error codes
- Performance Optimizations: Configurable timeouts and efficient resource management
- Context Awareness: All handlers receive context for timeout and cancellation support
⚠️ API Stability Notice: Since this is the initial release of the MCP SDK and AI technology is rapidly evolving, the APIs might change in future releases to improve developer experience and adapt to emerging industry standards.📚 Tutorial: For detailed documentation and usage examples, check out the MCP Tutorial
-
API Enhancements:
- Fixed handling of special characters (like periods) in API route paths
🐛 Bug Fixes
- Fixed marshaler bug when handling arrays
📦 Dependency Updates
- Bumped github.com/redis/go-redis/v9 from 9.7.3 to 9.8.0
👋 Welcome to New Contributors
A warm welcome to our new contributors who made their first contributions to go-zero in this release:
🔗 Links
- Full Changelog: v1.8.2...v1.8.3
- GitHub Release: https://github.com/zeromicro/go-zero/releases/tag/v1.8.3
- MCP Documentation: https://github.com/zeromicro/go-zero/blob/master/mcp/readme.md
goctl/v1.8.3
✨ Swagger Features
- Built-in Swagger Support: Generate Swagger documents in
goctl
. Key features include:- Custom Authentication: Configure custom Swagger authentication.
- Complex Structures: Generate Swagger definitions for complex structures.
- Custom Example Values: Add custom example values in Swagger.
- Custom Response Body Format: Define response body formats.
- Custom Business Error Codes: Enumerate error codes for business logic.
- Custom Generated File: Specify the generated Swagger file name.
- For more details, refer to:
🔧 Fixes
- fix: Form fields of request optional by @soasurs in #4755
- fix: The parameter "required" in the Swagger document generated for repair is incorrect by @kesonan in #4791
- fix: Array schema generation incorrect by @kesonan in #4801
- fix: pg gen model missing cache prefix by @SpectatorNan in #4788
- fix: goctl api tsgen by @wwwfeng in #4726
🧹 Chores
- chore(deps): Bump
github.com/emicklei/proto
from1.14.0
to1.14.1
in/tools/goctl
by @dependabot in #4817 - chore(deps): Bump
github.com/redis/go-redis/v9
from9.7.3
to9.8.0
by @dependabot in #4821
🐛 Bug Fixes
- Fix: The issue of generating Swagger
@doc
"xxx" that fails and use the right ... by @Rankgice in #4816
🌟 New Contributors
- @hthuz made their first contribution in #4766
- @dushaoshuai made their first contribution in #4809
- @Rankgice made their first contribution in #4816
- @Disdjj made their first contribution in #4790
- @hoshi200 made their first contribution in #4741
- @wwwfeng made their first contribution in #4726
Full Changelog: Compare v1.8.2...v1.8.3
goctl/v1.8.3-beta
We are excited to announce the release of go-zero v1.8.3-beta, bringing new features, important fixes, and experimental capabilities to enhance your development experience.
🔄 What's Changed
✨ Features
-
[Experimental] Swagger Enhancements:
- Built-in support for generating Swagger documents in
goctl
.- Custom Authentication: Configure custom Swagger authentication.
- Complex Structures: Generate Swagger definitions for complex structures.
- Custom Example Values: Add custom example values in Swagger.
- Custom Response Body Format: Define response body formats.
- Custom Business Error Codes: Enumerate error codes for business logic.
For more details, refer to:
- 中文文档 | English
- Built-in support for generating Swagger documents in
-
[Experimental] API Types File Splitting:
🛠 Fixes
- Optional form fields in requests. (#4755)
- Corrected the
required
parameter in generated Swagger documents. (#4791) - Fixed Swagger separator issue on Windows OS. (#4799)
- Resolved incorrect array schema generation. (#4801)
- Fixed missing security definition and JSON body data error in Swagger. (#4808)
🌟 New Contributors
- @hthuz made their first contribution in #4766
- @dushaoshuai made their first contribution in #4809
📜 Full Changelog
For a detailed list of changes, refer to the Full Changelog.
Thank you to all the contributors who made this release possible! 🎉
goctl/v1.8.2
🐛 Bug Fixes
- PostgreSQL Data Types: Fixed issues with numeric/decimal data types in PostgreSQL (#4686)
👋 New Contributors
We're excited to welcome the following new contributors to the go-zero project:
🔭 Coming Soon
- MCP Server Support: We'll be adding Model Context Protocol (MCP) server support in the next release.
🔗 Additional Information
- Full Changelog: v1.8.1...v1.8.2
v1.8.2
We're pleased to announce the release of go-zero v1.8.2. This release includes new features, bug fixes, dependency updates, and code improvements.
🚀 New Features
- SSE Support: Added
rest.WithSSE
to build Server-Sent Events routes more easily (#4729) - Redis Command: Added support for Redis
GETDEL
command (#4709) - HTTP Client Enhancement: Added support for serialization of anonymous fields in HTTP client (httpc) (#4676)
🐛 Bug Fixes
- PostgreSQL Data Types: Fixed issues with numeric/decimal data types in PostgreSQL (#4686)
📦 Dependency Updates
- Bumped github.com/prometheus/client_golang from 1.21.0 to 1.21.1 (#4683)
- Bumped github.com/fullstorydev/grpcurl from 1.9.2 to 1.9.3 (#4701)
- Bumped github.com/redis/go-redis/v9 from 9.7.1 to 9.7.3 (#4722)
- Bumped github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2 (#4734)
- Bumped github.com/jackc/pgx/v5 from 5.7.2 to 5.7.4 (#4737)
🧹 Code Maintenance
👋 New Contributors
We're excited to welcome the following new contributors to the go-zero project:
🔭 Coming Soon
- MCP Server Support: We'll be adding Model Context Protocol (MCP) server support in the next release.
🔗 Additional Information
- Full Changelog: v1.8.1...v1.8.2
goctl/v1.8.1
🐛 Fixes
- Fixed version to match with the release by @chenrui333
🔧 Improvements & Maintenance
📦 Dependency Updates
This release includes several dependency updates:
- Updated github.com/spf13/cobra from 1.8.1 to 1.9.1
- Updated github.com/go-sql-driver/mysql from 1.8.1 to 1.9.0
For a complete list of changes, please check the full changelog.
v1.8.1
🎉 Celebrating 30,000 Stars Milestone! 🎉
We are thrilled to announce that go-zero has reached the incredible milestone of 30,000 GitHub stars! This achievement wouldn't have been possible without our amazing community of developers, contributors, and users who have supported us throughout this journey.
From its humble beginnings, go-zero has grown to become one of the most popular Go microservices frameworks, enabling developers worldwide to build high-performance, reliable, and scalable systems with ease. This milestone is a testament to the value go-zero brings to the Go ecosystem and the trust the community places in our project.
✨ What's New in v1.8.1
We're excited to present go-zero v1.8.1, which includes several new features, bug fixes, and performance improvements.
🔑 Key Highlights
- Redis v7 Compatibility: Fixed username not working in Redis v7
- Gateway Context Propagation: Fixed HTTP gateway context propagation
🚀 Features
- Fixed global fields applying to third-party log modules by @JiChenSSG
- Simplified HTTP query array parsing by @kevwan
🐛 Fixes
- Fixed Redis username not working in Redis v7 by @kevwan
- Fixed HTTP gateway context propagation error by @Suyghur
- Fixed SlowThreshold configuration not taking effect in logging by @Nanosk07 and @kevwan
🔧 Improvements & Maintenance
- Performance tuning for stable runner by @kevwan
- Various dependency updates to keep the project up-to-date
- Multiple code style improvements and test coverage enhancements
📦 Dependency Updates
This release includes several dependency updates:
- Updated github.com/go-sql-driver/mysql from 1.8.1 to 1.9.0
- Updated github.com/prometheus/client_golang from 1.20.5 to 1.21.0
- Updated github.com/redis/go-redis/v9 from 9.7.0 to 9.7.1
- Updated go.mongodb.org/mongo-driver from 1.17.2 to 1.17.3
- Updated various golang.org/x packages
👋 Welcome New Contributors
A special welcome to our new contributor who made their first contribution in this release:
- @ningzio made their first contribution in #4344
- @youzipi made their first contribution in #4626
- @xuerbujia made their first contribution in #4633
🙏 Thank You
As we celebrate 30,000 stars, we want to express our deepest gratitude to everyone who has contributed to go-zero, used it in their projects, filed issues, or helped spread the word. This community-driven success pushes us to continue improving and innovating.
For a complete list of changes, please check the full changelog.
goctl/v1.7.7
🚀 Features
- Added support for
go work
(#4344) @ningzio - Added support for custom key prefix in cache generation (#4643) @kesonan
🐛 Bug Fixes
📦 Dependencies
- Bumped
github.com/spf13/pflag
from 1.0.5 to 1.0.6 (#4615) - Bumped
golang.org/x/text
from 0.21.0 to 0.22.0 (#4620) - Bumped
google.golang.org/protobuf
from 1.36.4 to 1.36.5 (#4628)
🎉 Welcome New Contributors!
We're excited to welcome these new contributors to the project:
Links
- Full Changelog: v1.7.6...v1.7.7
goctl/v1.7.6
Features
- Added support for generating unit test files for API handlers and logic (#4443)
Bug Fixes
- Fixed syntax of key expression (#4586)
- Contributed by @kesonan
- Fixed security vulnerability related to arbitrary file access during archive extraction ("Zip Slip") (#4604)
- Addressed code scanning alert no. 57
- Contributed by @kevwan
Improvements
- Removed default usage of goproxy (#4613)
- goproxy should be set by
go env -w
if needed - Contributed by @kevwan
- goproxy should be set by
New Contributors
- @R1aEnKK made their first contribution in #4570
- @sauryniu made their first contribution in #4490
- @Nanosk07 made their first contribution in #4514
- @studyzy made their first contribution in #4443
- @wangshiben made their first contribution in #4397
- @xujb977644703 made their first contribution in #4559
Full Changelog: tools/goctl/v1.7.5...tools/goctl/v1.7.6
v1.8.0
✨ Highlights
- Added inbound HTTP to outbound HTTP in gateway, previously only inbound HTTP to outbound gRPC
- Introduced automatic config validation
- Added FreeBSD support
- Enhanced logging capabilities with new Debugfn and Infofn functions
- Added SQL metrics functionality
- Added Redis user authentication support
🚀 Features
- Support for HTTP to HTTP in gateway
- Automatic configuration validation
- FreeBSD platform support
- New SQL metrics functionality
- Added Debugfn and Infofn to logx/logc
- Redis authentication with new User property in RedisConf
- Improved metrics collection for MySQL
🐛 Bug Fixes
- Resolved etcd discovery mechanism on gRPC with idle manager on latest gRPC versions
- Fixed health check issues, returns OK before server finishing start
- Fixed httpx.ParseJsonBody error with []byte fields
- Fixed empty form values handling in HTTP requests
🧹 Chores & Optimizations
- Updated Go version
- Multiple dependency updates:
- golang.org/x/time to v0.9.0
- golang.org/x/sys to v0.29.0
- google.golang.org/protobuf to v1.36.4
- golang.org/x/net to v0.34.0
- go.mongodb.org/mongo-driver to v1.17.2
- Optimized error messages for mapping data method
- Enhanced logging system with more tests
🎉 New Contributors
Welcome to our new contributors who helped make this release possible:
- @R1aEnKK made their first contribution in #4570
- @sauryniu made their first contribution in #4490
- @Nanosk07 made their first contribution in #4514
- @studyzy made their first contribution in #4443
- @wangshiben made their first contribution in #4397
- @xujb977644703 made their first contribution in #4559
Full Changelog: v1.7.6...v1.8.0