nats-io/nats.go

Golang client for NATS, the cloud native messaging system.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 minute ago
Added to GitGenius on September 9th, 2026
Created on August 15th, 2012
Open Issues & Pull Requests: 170 (+0)
GitHub issues: Enabled
Number of forks: 827
Total Stargazers: 6,746 (+0)
Total Subscribers: 154 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.1 hours
Mean response time: 52.9 days
90th percentile: 34.9 days
Tracked items: 140

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 98% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 71% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 45
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 529 days
Stale 30+ days: 43
Stale 90+ days: 37

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • defect (81)
  • proposal (31)
  • feature (12)
  • bug (7)
  • accepted (3)
  • help wanted (2)
  • request-from-customer (2)
  • enhancement (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

nats.go is a Go client library for NATS, the cloud native messaging system.

The library solves the problem of integrating Go applications with NATS infrastructure for pub-sub and request-reply messaging patterns. It provides direct access to NATS core messaging capabilities alongside JetStream, the built-in persistence system for durable message streams and consumer groups. The client handles connection management, authentication via Nkeys and user credentials, TLS encryption, and advanced patterns like wildcard subscriptions and queue groups. JetStream support includes both asset management and persistent message publishing and consumption through a dedicated API.

Developers should choose this library when building Go microservices that need to communicate through NATS. It suits cloud-native architectures where reliable, scalable messaging is required. The library includes a Service API in beta for building NATS services directly. The project maintains backward compatibility by supporting at least two latest minor Go versions and does not treat struct field additions or new interface methods as breaking changes, allowing the library to evolve without forcing immediate upgrades.

The project maintains active development with regular updates to both core functionality and documentation. The team provides comprehensive reference examples through a dedicated cross-client resource and maintains detailed README documentation for major subsystems like JetStream and the Service API. Testing infrastructure is documented for local development, and the project follows standard Go compatibility guidelines while being explicit about its backward compatibility stance.