Skip to content
11 changes: 11 additions & 0 deletions content/authors/nilanshusharma.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: Nilanshu Sharma
extra:
photo: '/assets/media/authors/nilanshusharma.jpg'
github: nilanshu-sharma
---

Nilanshu is a Software Engineer at Apple where he focusses on client integrations for Valkey.
Comment thread
adam-fowler marked this conversation as resolved.
Outdated
He is passionate about Data Infrastructure and Distributed Systems.

Outside of work, he likes to spend time hiking, cooking, and tending to plants.
58 changes: 58 additions & 0 deletions content/blog/2026-04-22-valkey-swift-1.0/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
+++
title= "valkey-swift - Announcing 1.0 Release "
description = "We are now excited to announce the 1.0 release of valkey-swift, a client library for Valkey written in Swift."
Comment thread
adam-fowler marked this conversation as resolved.
Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’d recommend keeping the capitalization consistent—either sentence case or proper case throughout.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see it as sentence case for "valkey-swift" yet proper case when alone as "Swift". Not sure if intentional

Copy link
Copy Markdown
Contributor Author

@adam-fowler adam-fowler Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

valkey-swift is the name of the repo, but Swift the language tends to always get capitalized. See swift.org blog posts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this @crystalphamLF I've introduced most of your suggestions

date= 2026-04-22 00:00:00
authors= [ "adamfowler", "nilanshusharma"]

[taxonomies]
blog_type = ["Announcements"]
[extra]
featured_image = "/assets/media/featured/random-04.webp"
+++
In this previous [article](https://valkey.io/blog/valkey-swift/) we introduced the preview release of [valkey-swift](https://github.com/valkey-io/valkey-swift). We are now excited to announce the 1.0 release of valkey-swift, a client library for Valkey written in Swift.

## Introduction

Valkey-swift is a production-grade Swift client built with modern Swift features in mind. Using Valkey with Swift provides you strongly typed APIs with clean semantics, memory and data race safety guarantees, and a very light memory footprint. The API uses Swift's structured concurrency - a paradigm designed to bring clarity to concurrent programming by using the structure of your code to automatically define the lifetimes of tasks and associated resources. This allows you to write clean concurrent code without worrying about its side-effects like race conditions and connection leaks.
Comment thread
adam-fowler marked this conversation as resolved.
Outdated

The release of v1.0 means there is now a production ready client with stable APIs that takes full advantage of all the modern features of Swift 6.

## Features
Comment thread
stockholmux marked this conversation as resolved.
Outdated

In the previous post we mentioned the feature set of the client which included:
Comment thread
adam-fowler marked this conversation as resolved.
Outdated

- Supporting all the available Valkey commands. Using custom code generation tools we ensure that we are always up to date with latest set of commands offered by Valkey.
Comment thread
adam-fowler marked this conversation as resolved.
Outdated
- Cluster-Mode compatible client with cluster-aware routing, dynamic topology discovery and handling cluster MOVED redirections.
Comment thread
adam-fowler marked this conversation as resolved.
Outdated
- Command pipelining to improve performance by batching multiple commands in a single request and connection.
- Publish and subscribe to message queues by running multiple subscriptions on a single connection.
Comment thread
adam-fowler marked this conversation as resolved.
Outdated
- Connection Pooling for performance and resiliency with support for connections over TLS for end-to-end encryption.
Comment thread
adam-fowler marked this conversation as resolved.
Outdated
- Support for Valkey Modules - valkey-bloom, valkey-json.
Comment thread
adam-fowler marked this conversation as resolved.
Outdated

## What's New
Comment thread
adam-fowler marked this conversation as resolved.
Outdated

We have made significant improvements to the cluster client. Cluster mode error handling is now more robust, with seamless support for ASK and MOVED redirections, and TRYAGAIN errors. Downtime during failovers and connection loss has been drastically dropped from 30 seconds to under 2 seconds.

We have also brought the cluster client to have feature parity with the standard client. Cluster client now supports cluster-level pipelines and transactions by splitting pipelines across correct shards, so the user doesn't have to worry about the location of their keys. We have also improved subscription connection management wherein both the standalone and the cluster client now allocate a single shared connection for all subscriptions instead of allocating a connection for each subscription.

Finally, both standalone and cluster clients now support reading from replicas for scaling reads. Currently we only support round-robin based replica selection, but we intend to extend this to include latency and az-aware methods.

Other improvements included in version 1.0 include:
- Support for new commands from Valkey 9.0
Comment thread
adam-fowler marked this conversation as resolved.
Outdated
- Support for distributed tracing
- Dynamic command pipelines defined at runtime. Previously a series of pipelined commands could only be defined at compile time
- Client configuration for accessing a numbered database
- Support for the Valkey module valkey-search

## What’s Next

valkey-swift is constantly adding new features. Upcoming features include:

* Sentinel Mode Support
* Cluster wide multi-key commands
* Integration with the Swift package swift-metrics
* And much more!
Comment thread
adam-fowler marked this conversation as resolved.
Outdated

## Contributing

valkey-swift is open source under the Apache 2.0 license and contributions are welcome - bug reports, feature requests, and pull requests. Check out open [issues](https://github.com/valkey-io/valkey-swift/issues) on github for a good starting point.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading