Skip to content

Releases: microsoft/garnet

Garnet v2.2.1

Choose a tag to compare

@badrishc badrishc released this 07 Oct 22:44
b0255a3

Get NuGet binaries at:

More information at:

Changes:

  • b0255a3 Cluster epoch: isolate GarnetEpoch and replace the busy-spin barrier with a jittered self-poll (#2203)
  • 6f9b3a8 Test and fixes for concurrent updates to vectors (#2032)
  • 5920e51 Build(deps): Bump the github-actions group with 2 updates (#2212)
  • 653bb32 [Docs] Add a GUI tools section to the compatibility page (#2207)
  • ab4044f Stop a dropped connection or an expired test certificate from wedging the test host (#2204)
  • 8f48266 Remove the per-write allocations from the chunked object AOF path, and bound chunk buffering (#2182)
  • c9e9306 Update testcerts (#2202)
  • fc97f95 Allocate test ports dynamically from a non-ephemeral range (#2193)
  • b949396 Fix CompletionEvent disposal and reset bugs, and coalesce LogSizeTracker signals (#2198)
  • 143adec Use a new ObjectOutput for each key in HCOLLECT and ZCOLLECT (#2200)
See More
  • c465175 Do not create the key when an object RMW leaves the new object empty (#2194)
  • 7b6f3a0 Return null from ZADD XX INCR when the member does not exist (#2197)
  • 99739d2 Do not create an empty object for LSET, HDEL and HPERSIST on a missing key (#2192)

This list of changes was auto generated.

Garnet v2.2.0

Choose a tag to compare

@badrishc badrishc released this 01 Oct 23:55
0d58590

Get NuGet binaries at:

More information at:

Changes:

  • 0d58590 [Cluster] Read version 2 endpoints before enabling writers (breaking) (#2128)
  • 782ae50 Build(deps): Bump the website-deps group in /website with 2 updates (#2195)
  • 4b0c184 Stabilization: AOF recovery hang over the heap budget, full-log ScanCursor read-ahead, and size-tracker fixes (#2181)
  • 7398c06 Fix Vector Set RESP2 and RESP3 reply contracts (#2184)
  • cdf966b Fix Vector Sets losing expiration after migration (#2179)
  • 50d2dc5 Build(deps): Bump brace-expansion from 1.1.18 to 1.1.21 in /website (#2189)
  • e594c44 Build(deps): Bump fast-uri from 3.1.7 to 3.1.8 in /website (#2188)
  • 43e68b6 Build(deps): Bump the github-actions group with 2 updates (#2187)
  • 310ffbd parsing code assumes RESP2, so just force it for this connection (#2183)
  • e1dea0b Build(deps): Bump undici from 7.29.0 to 7.30.0 in /website (#2180)
See More
  • 20bbc05 Bound per-connection memory: adaptive network buffer budget, session buffer caps, and connection admission (#2157)
  • d2d71f6 remove project reference, directly include TestBase, to fix VS builds (#2173)
  • 080b05d Update DiskANN FFI (#1992)
  • 0e5fa38 Scope checkpoint metadata I/O completions to their own operation (#2154)
  • 917e0e1 [Tsavorite] Fix checkpoint abort abandoning in-flight flushes and stale checkpoint selection on recovery (#2172)
  • 6ef5b50 Build(deps): Bump image-size from 2.0.2 to 2.0.4 in /website (#2170)
  • e04ff2f Add Azure Benchmark Orchestration Tools (#2132)
  • 1de4c38 Build(deps): Bump the github-actions group with 4 updates (#2169)
  • 70958de Tighten up SetupFixtures and move TestBase to Tsavorite; handle cancellation race condition in maintenance loops (#2162)
  • 0654725 Bound LightEpoch waiter semaphore signals to prevent SemaphoreFullException (#2139)
  • 84eb464 Do not report a failed checkpoint as a successful save (#2145)
  • 438ba50 Fix flaky RecoveryRollback test: GC-movable key memory in async tests (#2137)
  • eaf45c5 Fix checkpoint failure when serializing a concurrently-mutated object (#2101) (#2136)
  • c323bbf [Cluster] Retire outdated checkpoints with shared indexes (#2144)
  • e2176b7 Refuse to serve when no HybridLog checkpoint is readable (#2153)
  • 058e36f Normalize local-filesystem path composition and enable extended-length test paths (#2147)
  • 868cd2f Introduce hint to prevent exclusive lockers from being starved in ReadOptimizedLock (#2156)
  • 3df8b93 [Tsavorite] Fix silent data loss when the hash index checkpoint exceeds the OS single-request limit (#2159) [ #2134, #2151 ]
  • 5c6e595 Give tests per-checkout port isolation via GARNET_TEST_PORT_SLOT (#2151)
  • a3fa958 Build(deps): Bump the github-actions group with 2 updates (#2140)
  • 277ea6c Fix root causes behind recurring Garnet .NET CI flakes (#2110) [ #2080, #2089 ]
  • dfa21d8 [RESP] Parse SET expiration values as 64-bit integers (#2130)

This list of changes was auto generated.

Garnet v2.1.8

Choose a tag to compare

@badrishc badrishc released this 16 Sep 23:52
7751ad5

Get NuGet binaries at:

More information at:

Changes:

  • 7751ad5 Build: Bump version to 2.1.8 (#2143)
  • 0464e25 Reject untrusted Lua bytecode while preserving script caching (#2138)
  • f845a86 [Cluster] Prevent MergeSlotMap from crediting a slot to a replica sender (#2089) [ #1435 ]
  • d94c189 Fix HLL Validation in CopyUpdate path (#2133)
  • cd35bf4 Validate CLIENT SETINFO attribute values (#2124)
  • 62cb9a0 Avoid int overflow in numkeys argument-count checks and key-spec extraction (#2112) [ #2031 ]
  • 09f0554 Fix GETEX tearing down the session on an out-of-range expiry (#2094)
  • a01b75f Fix SPOP with count returning nil instead of an empty set for a missing key (#2096)
  • bf5fe5c Bump SE.Redis to 3.2.0 (#2126)
  • 42c9352 Prevent live Unix servers from sharing a TCP port (#2125)
See More
  • 7084f12 clamp to zero normalization (#2123)
  • bf0a811 Align READONLY and READWRITE with Redis cluster semantics (#2109)
  • ba5e2eb Fix BITFIELD session disposal on empty subcommand list and max-offset GET (#2120)
  • f5f8e57 Build(deps): Bump svgo from 3.3.4 to 3.3.5 in /website (#2117)
  • 842428e Build(deps): Bump colord from 2.9.3 to 2.10.0 in /website (#2116)
  • 8fdb6eb Build(deps): Bump joi from 17.13.4 to 17.13.7 in /website (#2115)
  • b01b3d8 Build(deps): Bump js-yaml from 4.3.1 to 4.3.2 in /website (#2114)
  • 5aaa52f Fix live-object mutation and scan liveness defects (#2092) (#2095)

This list of changes was auto generated.

Garnet v2.1.7

Choose a tag to compare

@badrishc badrishc released this 09 Sep 19:37
53921f0

Get NuGet binaries at:

More information at:

Changes:

  • 53921f0 Build: Bump version to 2.1.7 (#2122)
  • d0dd4e3 Enable CFG for BfTree native builds (#2118)
  • ee8501e Build(deps): Bump docker/setup-qemu-action in the github-actions group (#2113)

This list of changes was auto generated.

Garnet v2.1.6

Choose a tag to compare

@badrishc badrishc released this 09 Sep 02:19
dd8d642

Get NuGet binaries at:

More information at:

Changes:

  • dd8d642 Build: Bump version to 2.1.6 (#2106)
  • d20d639 Fix silent pre-listen hang and silent wrong-recovery on --recover (#2076) (#2093)
  • c84bd7c Build(deps): Bump browserslist from 4.28.2 to 4.28.8 in /website (#2102)
  • 825b735 Update vector-sets docs to reflect current main behavior (#2103) [ #1992 ]
  • 13413ff Fix truncated argument count in the RESP MRU command cache (#2100)
  • bea5f2c Build(deps): Bump fast-uri from 3.1.5 to 3.1.7 in /website (#2099)
  • 2b0b27d Build(deps): Bump the github-actions group with 2 updates (#2098)
  • 4f40ee9 Build(deps): Bump dotnet-sdk in the dotnet-deps group (#2097)
  • c960760 Build(deps): Bump the github-actions group with 3 updates (#2085)
  • 71e34c1 [Tsavorite] Fix post-checkpoint object cleanup (#2079)

This list of changes was auto generated.

Garnet v2.1.5

Choose a tag to compare

@badrishc badrishc released this 25 Aug 19:00
00dc848

Get NuGet binaries at:

More information at:

Changes:

  • 00dc848 Bump version to 2.1.5 (#2084)
  • 1322207 Fixes around CU copies and delete deadlocks (#2082)
  • e508a41 Stop the size-tracker resizer before clearing objectPages in ObjectAllocatorImpl.Dispose (#2070)
  • 57c5215 Fixes for Vector Set RENAMEs in AOF replay (#2080)
  • bb6cb65 Large-object support in AOF, Migration, and diskless Replication (#2039)
  • adf441f Cap HRANDFIELD/ZRANDMEMBER count before packing it into arg1 (#2038)
  • 33d3029 [Storage] Optimize IOPS for RAID-0 NVMe disks (#2018) [ #2063 ]
  • 07b4504 Fix ZRANGESTORE aborting the RESP session on invalid range parameters (#2040)
  • f7ddac6 Validate argument count in SET-family string commands (#2050)
  • 04af8e6 [Cluster] Fix MergeSlotMap discarding stale-ownership resets (#2068)
See More
  • da80a42 [Tsavorite] Handle ObjectAllocator device read failures (#2075) [ #2073 ]
  • 4153c09 Harden website deps: ignore install/postinstall scripts (#2078)
  • eb956b5 Suppress CredScan finding for testcert.key.pem test certificate (#2074) [ #1937 ]
  • 33a2e5b Fix non-string transactions in AOF (#2071)
  • e5a4f13 Harden TsavoriteLog commit-failure handling and fix fast-commit recovery poisoning (#2065)
  • 0650619 Fix stale bit-layout comment in HashBucketEntry (#2000)
  • 8c54cc2 [Tsavorite] Scalable origin-return buffer pool + direct-VM native allocator (#2063)
  • 3a15c26 Fix concurrent VADD deadlock on disk-tiered vector sets (#2064)
  • 144948e Build(deps): Bump @easyops-cn/docusaurus-search-local (#2066)
  • 2bcb154 Build(deps): Bump the github-actions group with 13 updates (#2067)
  • fab42f5 Pin GitHub Actions to full-length commit SHAs (#2061)
  • b627481 Preserve live record framing during revivification (#2062)
  • 951b0fc Fix SCAN/HSCAN/SSCAN/ZSCAN abort when option keyword is last token (#2036)
  • 8c90e8b Fix EXPIRE family emitting two replies for incompatible options (#2037)
  • 7062722 Increase VectorSetOverwriteTests timeout (#2055)
  • c504ce0 Reject multiple source keys in BITOP NOT (#2041)

This list of changes was auto generated.

Garnet v2.1.4

Choose a tag to compare

@badrishc badrishc released this 12 Aug 16:01
cf6974e

Get NuGet binaries at:

More information at:

Changes:

This list of changes was auto generated.

Garnet v2.1.3

Choose a tag to compare

@badrishc badrishc released this 10 Aug 20:06
b4bf627

Get NuGet binaries at:

More information at:

Changes:

  • b4bf627 Bump version to 2.1.3 (#2052)
  • 312f713 Clear the Vector Set index pointer on the diskless replication stream-in path (#2043)
  • a80e26b Use extended-length paths for Tsavorite test MethodTestDir (#2045)
  • fcdb5fc Fix object-log write buffer leaks in ObjectAllocator read-only and recovery flushes (#2046)
  • 85f5590 Build(deps): Bump nanoid from 3.3.16 to 3.3.18 in /website (#2049)
  • 4706f3f MultiLog replication: drift-barrier throttling, inline tail-witness pulses, and AOF shipping backpressure (#2003)
  • ff611e2 Move Tsavorite.test.epoch into Tsavorite.slnx and run it in CI (#2044)
  • c151b67 Fix ZREMRANGEBYRANK missing reply and unnormalized ranks (#2028)
  • 3cc5544 Fix LRANGE clamping a negative stop index to 0 (#2029)
  • 4d652a8 Fix BLMPOP writing two replies when force-unblocked (#2030)
See More
  • 7d20e52 Validate numkeys before using it as a span length (#2031)
  • 4ba5ebf Remove the LightEpoch EntryAt accessor and standardize the entry-table debug asserts (#2033)
  • 930e5f8 Build(deps): Bump mermaid from 11.15.0 to 11.16.1 in /website (#2035)
  • 6788e03 Build(deps): Bump js-yaml from 4.3.0 to 4.3.1 in /website (#2034)
  • 5079ded Build(deps): Bump fast-uri from 3.1.4 to 3.1.5 in /website (#2022)
  • 99edfbf Build(deps): Bump postcss from 8.5.22 to 8.5.25 in /website (#2021)
  • 8b329e3 Harden LightEpoch: make the epoch announce part of the slot-claim CAS (#2015)
  • ca8faef Add cluster benchmark support to Resp.benchmark (#1906)

This list of changes was auto generated.

Garnet v2.1.2

Choose a tag to compare

@badrishc badrishc released this 05 Aug 22:49
c962980

Get NuGet binaries at:

More information at:

Changes:

  • c962980 Bump version to 2.1.2 (#2024)
  • 9f2effa Log exceptions escaping OnPagesClosedWorker (#2025)
  • e0a9121 Return NOPERM instead of NOAUTH for ACL-denied commands (#2026)
  • bda83e9 Extract Vector Set cleanup work channel and work set (#2020)
  • 70ca0cc Add runtime management of eligible server options via CONFIG GET/SET (#1965)
  • dae0b5f Build(deps): Bump undici from 7.28.0 to 7.29.0 in /website (#2016)
  • f151e39 Fix LREM with count = int.MinValue killing the session (#2009)
  • 47dd04b Fix non-positive count on LMPOP and LPOP/RPOP (#2010)
  • 34d14a8 TsavoriteLog: remove the 47-bit address space limit (#2014)
  • 4c004e2 Implement VSETATTR (#2001)
See More
  • c6cc866 ensure all structs types that are type-constrained when passed to functions fully implement all interfaces that that form those type (#2013)
  • 6c66706 Reduce disk reads on the tiered Vector Set search path (#2007)
  • 1927443 Fix BITCOUNT ... BIT throwing PlatformNotSupportedException on ARM64 (#2008) [ #1034 ]
  • 26b1882 Build(deps): Bump brace-expansion from 1.1.16 to 1.1.18 in /website (#2006)
  • f402e69 Build(deps): Bump the website-deps group in /website with 8 updates (#2005)
  • ee51851 Build(deps): Bump dotnet-sdk in the dotnet-deps group (#2004)
  • d81227e [Tsavorite] Default to NativeStorageDevice on x64 Linux (+ segment-boundary flush and write-error propagation fixes) (#1991)

This list of changes was auto generated.

Garnet v2.1.1

Choose a tag to compare

@badrishc badrishc released this 30 Jul 19:42
96d3194

Get NuGet binaries at:

More information at:

Changes:

  • 96d3194 Vector Set recall smoke tests + diskann-garnet 4.0.2 (#1990)
  • 52aef6e fix bitcount underflow (#1994)
  • 0ad0a08 Add tests (and fix bugs) for commands WRONGTYPE'ing appropriately against Vector Sets (#1935)
  • 2255520 Fix NetworkWriter.AsyncFlushPages hanging FlushEvent waiters on send failure (#1949) [ #1929, #1931 ]
  • 858bc1c Fix CI BDN allocation flakiness (#1989)
  • b6f14b9 [RESP] Fix InlinePing SIMD-scan regression and MGET per-key boxing allocation (#1988) [ #1658 ]
  • 2984e74 Fix flaky CanDoSortedSetExpireLTM by forcing eviction with FlushAndEvict (#1982) [ #1981 ]
  • ec98043 Handle overflows in RespMemoryWriter (#1987)
  • ad38733 Fix Lua allocator corruption from disposing a session mid-script (#1986)

This list of changes was auto generated.