Skip to content

Releases: zeromicro/go-zero

v1.8.3

04 May 08:09
69aa7fe
Compare
Choose a tag to compare

🌟 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

goctl/v1.8.3

04 May 08:38
e55158b
Compare
Choose a tag to compare

✨ 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

🧹 Chores

  • chore(deps): Bump github.com/emicklei/proto from 1.14.0 to 1.14.1 in /tools/goctl by @dependabot in #4817
  • chore(deps): Bump github.com/redis/go-redis/v9 from 9.7.3 to 9.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

Full Changelog: Compare v1.8.2...v1.8.3

goctl/v1.8.3-beta

27 Apr 15:55
aeceb3c
Compare
Choose a tag to compare

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
  • [Experimental] API Types File Splitting:

    • Supports splitting multiple files according to group names in API types.
      For more details, refer to:
    • 中文文档 | English

🛠 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

📜 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

06 Apr 11:10
6f2730d
Compare
Choose a tag to compare

🐛 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

v1.8.2

06 Apr 10:07
0eff777
Compare
Choose a tag to compare

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

  • Added more tests and refactoring improvements (#4677, #4718)

👋 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

goctl/v1.8.1

01 Mar 13:44
68d1aba
Compare
Choose a tag to compare

🐛 Fixes

  • Fixed version to match with the release by @chenrui333

🔧 Improvements & Maintenance

  • Added version check workflow by @kevwan
  • Upgraded go-zero version in goctl by @kevwan

📦 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

01 Mar 13:06
3315e60
Compare
Choose a tag to compare

🎉 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:

🙏 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

12 Feb 16:00
f113d51
Compare
Choose a tag to compare

🚀 Features

🐛 Bug Fixes

  • Fixed duplicate path expression handling under different prefixes (#4626) @youzipi

📦 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

goctl/v1.7.6

29 Jan 04:52
e134e77
Compare
Choose a tag to compare

Features

  • Added support for generating unit test files for API handlers and logic (#4443)
    • Implemented as per the request in issue #4442
    • Contributed by @studyzy

Bug Fixes

  • Fixed syntax of key expression (#4586)
  • 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

New Contributors

Full Changelog: tools/goctl/v1.7.5...tools/goctl/v1.7.6

v1.8.0

28 Jan 16:48
ae09d0e
Compare
Choose a tag to compare

✨ 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:

Full Changelog: v1.7.6...v1.8.0