Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ Thank you for your interest in contributing to celeris!

### Prerequisites

- Go 1.26.3+ (1.26.3 absorbs stdlib CVEs surfaced by govulncheck on 1.26.2: GO-2026-4971 in `net`, GO-2026-4918 in `net/http`)
- Go 1.27.0+ — the `go` directive in `go.mod` is the single source of truth for the floor, and
CI pins the same version. Quote it from there rather than restating it here, so the two
cannot drift apart again.
- [Mage](https://magefile.org) build tool: `go install github.com/magefile/mage@latest`
- Linux (for io_uring/epoll engine tests) or macOS (std engine only)
- [golangci-lint](https://golangci-lint.run/) v2.9+
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ A correctness-focused release. Three concurrency fixes on the WebSocket and engi
go get github.com/goceleris/celeris@latest
```

Requires **Go 1.26.4+**. Linux for the io_uring / epoll / adaptive engines; any OS for the std engine.
Requires **Go 1.27.0+** (the `go` directive in `go.mod` is the source of truth). Linux for the io_uring / epoll / adaptive engines; any OS for the std engine.

```go
package main
Expand Down Expand Up @@ -424,7 +424,7 @@ validation/ Runtime invariant assertions + validation hooks (debug builds)

## Requirements

- **Go 1.26.4+**
- **Go 1.27.0+** (see the `go` directive in `go.mod`)
- **Linux** for the io_uring / epoll / adaptive engines (kernel 5.10+ for io_uring; 5.19+ for the multishot / provided-buffers tier)
- **Any OS** for the std engine
- Direct runtime dependencies: `golang.org/x/sys` and `golang.org/x/net` only (`golang.org/x/text` is indirect)
Expand Down
2 changes: 1 addition & 1 deletion driver/memcached/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ type Client struct {
//
// addr may optionally include a "memcache://" or "memcached://" scheme
// prefix; the prefix is stripped and the remaining "host:port" is used
// verbatim. TLS is not supported in v1.4.0.
// verbatim. TLS is not supported.
func NewClient(addr string, opts ...Option) (*Client, error) {
addr = strings.TrimPrefix(addr, "memcached://")
addr = strings.TrimPrefix(addr, "memcache://")
Expand Down
2 changes: 1 addition & 1 deletion driver/postgres/dsn.go
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ func applyDefaults(d *DSN) {
// CheckSSL returns ErrSSLNotSupported if the DSN requests a TLS mode this
// driver version cannot satisfy.
//
// In v1.4.0 the driver has no TLS stack. sslmode semantics:
// The driver has no TLS stack. sslmode semantics:
//
// - "" / "disable" : plaintext, always allowed.
// - "prefer" / "allow" : the libpq semantics are "try TLS, fall
Expand Down
4 changes: 2 additions & 2 deletions driver/postgres/protocol/types_numeric.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import (
// int16 dscale display scale (number of digits after decimal point)
// int16 digits[ndigits] base-10000 digits, MSD first
//
// Implementing a full arbitrary-precision encoder is deferred. For v1.4.0 we
// Implementing a full arbitrary-precision encoder is deferred. For now we
// decode into a canonical string form and require callers to pass a string
// when encoding so the server parses it in text form.

Expand Down Expand Up @@ -138,7 +138,7 @@ func init() {
Name: "numeric",
DecodeBinary: decodeNumericBinary,
DecodeText: decodeNumericText,
EncodeBinary: nil, // binary encode not implemented in v1.4.0
EncodeBinary: nil, // binary encode not implemented
EncodeText: encodeNumericText,
ScanType: reflect.TypeOf(""),
})
Expand Down
2 changes: 1 addition & 1 deletion driver/postgres/rows.go
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ func (r *pgRows) ColumnTypeDatabaseTypeName(i int) string {
}

// HasNextResultSet reports whether a multi-statement simple query produced
// another result set after the current one. For v1.4.0 we flatten multi-
// another result set after the current one. The driver flattens multi-
// statement results into a single pgRows, so this is always false.
func (r *pgRows) HasNextResultSet() bool { return false }

Expand Down
4 changes: 2 additions & 2 deletions driver/redis/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ type ClusterConfig struct {
// error is returned. Default: 3.
MaxRedirects int
// RouteByLatency, when true, sends reads to the lowest-latency node.
// Not implemented in v1.4.0; reserved for future use.
// Not implemented; reserved for future use.
RouteByLatency bool
// ReadOnly, when true, allows reads from replica nodes.
// Not implemented in v1.4.0; reserved for future use.
// Not implemented; reserved for future use.
ReadOnly bool

Engine eventloop.ServerProvider
Expand Down
2 changes: 1 addition & 1 deletion test/autobahn/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ each celeris engine.

- Docker (for the Autobahn container — the project no longer ships
native macOS binaries).
- Go 1.22+ to build the celeris server.
- A Go toolchain matching the `go` directive in the root `go.mod` to build the celeris server.
- On Linux, `make autobahn` runs all three engines (std/epoll/io_uring)
in parallel. On macOS only `std` is exercised.

Expand Down