A weekly newsletter about NATS and the ecosystem.
Please fill out the NATS Streaming migration survey! A handful of client releases this week along with a fantastic announcement by the HarperDB team on how they are leveraging NATS!
NATS server v2.9.11 and v0.26.0 of the Rust client have been released! Also check out the Rust key-value introductory example and how to configure mutual TLS in a Go program with an embedded server!
Happy Holidays and Happy New Year! There are a handful of updates and a bunch of "best of" resources from 2022! Buckle up.
NATS Server, Helm chart, and nsc releases! Also a new Rethink Connectivity video on how to achieve "dynamic permissions" with decentralized auth. Also check out a short example on how simply it is to use Protobuf with NATS.
NATS v2.9.8 released along with Java, Rust, and Deno client releases as well as several k8s component releases! A new community blog post showcasing JetStream's KV store as well as a NATS blog post on how to achieve "infinite message deduplication with JetStream." Plus a fun podcast about one of Synadia's own, Jeremy Saenz!
The v2.9.7 NATS server and v0.23.0 Rust (async) client released! All of the RethinkConn 2022 videos are available along with the slide deck! A handful of interesting discussions along with a new community project called nats-watch!
This newsletter has turned one 🥳 ! Two fresh KubeCon and React Summit talks are now available! Also a handful of client library updates in Java, .NET, Rust, and Go!
NATS Server v2.9.6 released, a plethora of client releases, the CLI, and the Prometheus NATS exporter! The agenda has been posted RethinkConn 2022 and only two days remain to join and partake in the interactive demos!
Happy Birthday to NATS! v2.9.4 of the NATS server has been released along with v1.19 and v2.16.3 for the Go and Java clients, respectively. Also check out the link to the updated NATS roadmap!
k8s NATS 0.8.2 update, a couple of upcoming talks at Reactive Summit and KubeCon, and a handful of documentation improvements! Also check out Marmot that replaced their replication implementation to use NATS JetStream!
NATS v2.9.3 released which addresses a few issues (including two low-risk CVEs), Go, C, and Elixir client library updates, and a new draft, experimental API for JetStream-based request-reply semantics!
The v0.21.0 async Rust and v2.16.1 Java clients were released with more KV and Object Store API improvements and optimizations! Also don't miss the article on how the Matrix Dendrite project migrated to NATS from Kafka. Want to get acquainted with the key-value layer? Check out the new KV example for Go!
NATS v2.9.2 released with a few fixes and improved fan-out performance. The Python and Ruby clients have been updated with full support for the NATS 2.9 features. A lot of great articles, a new podcast about NATS and a new Rethink Connectivity screencast on leaf nodes you don't want to miss!
The server gets a patch release, a new version of the C client has been released to support NATS 2.9 features, and a handful of examples have been examples have been added.
This week, the NATS server 2.9 announcement post has been featured on the NATS blog, the majority of the official client libraries have new releases supporting the 2.9 server features, and the newsletter is getting a tweak to put the Q&A efforts to writing docs and other resources!
NATS server v2.9.0 released! Read about why Personal.AI choose NATS as a core component in their tech stack.
A Rust client release! Check out episode 6 of Rethink Connectivity! And, what are the options to defer message redeliveries for a consumer?
Python client and k8s Helm chart releases! Should NATS invest in supporting MQTTv5? And, if I wanted to contribute to NATS what are my options?
A NATS surveyor release! Watch how to build a NATS supercluster on the Rethink Connectivity screencast! And, can a stream be placed across two clusters?
Rust client and k8s Helm chart releases! What exactly does the allow_responses permission do? And, check out a community member's "NATS playground" repo!
Java, Ruby, and k8s Helm chart releases! Read about how to programmatically create nkeys and JWTs in Node! And, remind what this republish feature is again? Also Byron Ruth (the original creator of this newsletter) joined Synadia!
A k8s Helm chart release! Read about how OpenFaaS is migrating to JetStream! And how do you choose a push vs pull consumer?
Rust client and k8s Helm chart releases! Check out the new NATS by Example website bootstrapped with five examples! Also, wonder what a whiteboard app backed by NATS looks like?
Rust, Java, and Python client releases! What exactly is the $G account? And, how large of a deduplication window can you have?
Java client release! Synadia launches a new screencast called Rethink Connectivity! Read how wasmCloud leverages NATS for global distribution. And, what exactly does "exactly-once" mean?
.NET client and k8s Helm chart releases! A new high-performance community .NET client! Also, a new site that hosts runnable examples for NATS!
Rust and .NET client releases! Watch how Form3 leverages NATS for their FinTech platform! Also, what does the unique_tag config option do for JetStream?
Java and Ruby client releases! What exactly is a slow consumer? And, how can you update the replicas or location of a stream?
Java client release! A deep drive video on the "state of NATS" by a core maintainer. Also, how are JetStream config, account, and stream limits related?
Rust, Elixir client releases along with the k8s Helm chart! Also how does a mirror behave when a mesage is deleted from the source? Also, which AWS EBS volume is appropriate for JetStream data?
NATS server v2.8.2 and Rust, Go, .NET, and Java client releases! Read about how Argo Events adopted JetStream for their message bus. Also, learn how to encrypt messages using the "age" Go package.
Rust and Java client releases! Also a placeholder repo for a possible Zig client?! And, what is this new deterministic token partitioning feature?
NATS Server v2.8.0 has been released! Along with the Rust client, CLI, and k8s Helm charts! A new community slide deck for learning the concepts of NATS! And, what are all the ways you can run a NATS server?
CLI and nsc releases! A new article on how to leverage NATS surveyor. And, what is the expected behavior of network interruptions?
Go and Python client releases! Two more articles by a community member on how to leverage nats-top and the CLI! Also, how can one model a "passage of time" stream?
k8s Helm chart release! Check out a new community project called HyperTrade. Also read about why Fly.io choose NATS over Consul for their use case.
k8s Helm chart and nats-top releases! Watch a technical overview of JetStream at a recent meetup by a NATS maintainer! Also, did you know NATS can run on k3s at the edge? And, how do you implement the saga pattern using NATS?
C client and k8s Helm chart releases! What does my application need to consider regarding message order? And, what are some strategies for versioning message schema?
NATS Server v2.7.4 released along with Go, Java, and Elixir client releases. How can inactivie durable consumers be detected? And, is NATS synchronous or asynchronous?
v0.13.2 k8s Helm chart released! What happens when my NATS client disconnects? What exactly is the stream and consumer sequence number?
NATS Server v2.7.3 released! A great set of questions this week, including "how big should a NATS cluster be?" "How can I bridge the HTTP with NATS?" And, "what is the purpose of the pull consumer timeout?"
Multiple client releases as well as the k8s Helm chart! A new project called by AsyncJobs by a core NATS contributor! What should be considered with the pull consumer batch size?
Rust, Ruby, and k8s Helm chart releases! How does an interest-based stream work exactly? Also, gRPC is all the rage, but how does it compare to NATS?
NATS server v2.7.1 released along with the Python client, and k8s Helm chart. What is the process for scaling up the stream replicas? And, what is the right balance of streams and subjects per stream?
NATS server v2.7.0, k8s v0.11.0, and more releases! JetStream has been added to the OpenMessaging benchmark repo! Also, should I need or put an L4 load balancer in front of NATS?
Java and .NET client releases with experimental Key-Value support! Watch a throwback "NATS Connect Live!" presentation using NATS on the power grid. Also a thorough article on grokking NATS consumers!
Learn and watch a demo about how to benchmark your environment using the NATS CLI! Are you a NATS end-user? Take the annual survey!
This is part two of #6 edition focused on more "Recently asked questions". Get insights in designing subject hiearchies, how R3 memory streams can tolerate a NATS cluster restart, and why you don't need a distributed task framework with NATS!
v1.4.0 Elixir client release as well as v1.1.0 of the NATS-Kafka bridge. Check out a new community project brings RPC via GraphQL over NATS. Also what is the maximum length a subject can be?
New community NATS client for PHP! Watch and learn about "mutually trusted NGS credentials" in a new video by a NATS core maintrainer. Also read about what the new stream Msg-Rollup header is used for.
nsc v2.5.0 released along with a patch release for nats-jsm-bridge fixing the log4j vulnerability! Also learn a simple pattern for adding a validation service in front of a stream!
NATS server v2.6.6, CLI v0.0.28, and k8s v0.10.0 released! Peak into the design decisions that when into Key-Value store by reading the architecture decision record. Also a new community NATS client written in Crystal!
New documentation walkthroughs for "Running a NATS service" and the experimental support for "Key-Value Store"! Also check out a community project called Panini, a Python microframework for NATS. Check our Adelina Simion talk about how Form3 leverages NATS as GopherCon UK 2021!