Skip to content

Releases: dragonflydb/dragonfly

v0.11.0

14 Nov 07:38
b395834
Compare
Choose a tag to compare

Dragonfly v0.11.0 - Thanksgiving edition

Some prominent changes:

  • You can now pass --maxmemory=16G flag instead of passing raw bytes.
  • The monitor command is implemented; it's also much faster than in Redis.
  • The missing options in existing commands were added. Amazing work by our contributors!
  • Significant progress was made with the replication. Still, lots needs to be done in this area. Expected release for this feature - Q1 23.

Huge thanks to all the contributors! ❤️

What's Changed

  • feat(server): sending and dispatching of messages using different internals by @boazsade in #424
  • ci(workflow): fixing discord notification link by @ranrib in #419
  • feat(server): Allow sampling arena stats from a specified thread by @romange in #428
  • Monitor command by @boazsade in #427
  • feat(server): Multi rdb load by @dranikpg in #430
  • refactor(server): Refactor and tidy dflycmd by @dranikpg in #432
  • feat(server): monitor command should return OK on creation (#344) by @boazsade in #433
  • refactor(server): Separate start & stop in rdb save by @dranikpg in #437
  • fix: dragonfly compilation failure due to glibc version less than 2.30 by @Super-long in #434
  • feat(server): monitor command - cover by tests by @boazsade in #435
  • fix: "wrong number of arguments" must be in lower case by @lsvmello in #439
  • refactor(tests): Refactor pytest by @dranikpg in #449
  • docs(build): Canonicalize build from source instructions. Add CLA terms by @romange in #454
  • feat(server): implement TOUCH command by @lsvmello in #444
  • feat(server): implement json.mget command (#104) by @iko1 in #455
  • feat(server): Support for LIMIT and REV in ZRANGE #422 by @RedhaL in #456
  • fix(list): Fixes blpop failure. by @romange in #462
  • ci: added clang pre-commit hook by @lsvmello in #461
  • feat(tests): ioredis being able to successfully run tests, make it ready to be part of CI by @boazsade in #459
  • feat(server): Basic capped full sync by @dranikpg in #440
  • feat(server) implement pexpire command by @b0bleet in #464
  • server: implemented json.arrappend command by @b0bleet in #460
  • feat(server): simplify handling of the pub message handling by @boazsade in #465
  • refactor(server): Refactor replica by @dranikpg in #472
  • fix(server): reject eval inside transaction multi blocks #457 by @boazsade in #471
  • feat(server): implement json.debug command (#104) by @iko1 in #463
  • fix(server): issue with invalid command inside multi #468 by @boazsade in #469
  • SSCAN command support count and match parameters by @adiholden in #466
  • bug(dense set): fix scan function to return only home bucket data by @adiholden in #474
  • fix: maxmemory flag support human-readable format by @lsvmello in #476
  • fix(server): Fix bad maxmemory casting by @romange in #477
  • fix(server): Fix snapshot saving bug by @dranikpg in #479
  • feat(server): add support for KEEPTTL options with SET command #389 by @Super-long in #478
  • fix: DCHECK_NOTNULL gets WARNING when return value is not used. by @Super-long in #483
  • fix(server): Fix path concatenation in save by @dranikpg in #481
  • feat(server): implement json.resp command (#104) by @iko1 in #482
  • feat(server family): add connection set name command fixes #458 by @adiholden in #485

New Contributors

Full Changelog: v0.10.0...v0.11.0

v0.10.0

20 Oct 15:04
10c3d9f
Compare
Choose a tag to compare

Dragonfly 0.10.0

Hacktober edition

This release was unquestionably the result of community collaboration.
We are incredibly excited and honored to welcome all first-time contributors.

  • Quite a few commands from 5.x, 6.x APIs were added by the community (see below).
  • Support for dump/restore commands.
  • Not so slowly but quite surely @iko1 added more json commands. This time - array related.
  • bug fixes and general improvements.

Huge thanks to all the contributors! ❤️

What's Changed

New Contributors

Full Changelog: v0.9.1...v0.10.0

v0.9.1

07 Oct 15:34
608a804
Compare
Choose a tag to compare

Dragonfly 0.9.1

A patch release fixing a possible deadlock when running with epoll API.

What's Changed

  • feat(server): Implement MEMORY MALLOC-STATS command by @romange in #363
  • chore(test): Allow running tests with epoll proactor by @romange in #364
  • fix(epoll): pull newest helio dependency by @romange in #366

Full Changelog: v0.9.0...v0.9.1

v0.9.0

04 Oct 15:58
8f5500a
Compare
Choose a tag to compare

Dragonfly 0.9.0

YOM KIPPUR edition

This is quite significant release with lots of interesting features:

  • Epoll support - now we support all Linux kernels !!!
    Dragonfly automatically falls back to epoll API if iouring API is not available for some reason.
    This can also reduce friction when running Dragonfly on k8s (no need to use --privileged flag anymore).
    If you want to force epoll instead of iouring you can do it with --force_epoll flag.
  • New Dragonfly specific command SADDEX key seconds member member ... allows adding to sets members with TTL!
  • CPU usage is greatly reduced when Dragonfly is in idle mode (~10x reduction).
  • Dragonfly can connect to Redis server in SLAVE mode (using replicaof command)
  • MOVE, SORT and PERSIST commands are now supported.

Huge thanks to all the contributors! ❤️

What's Changed

  • feat(server): adding support for bitops #213 by @boazsade in #295
  • Added more useful flags to the flags section by @Tomato6966 in #305
  • feat(server): adding support for EXAT PXAT option at set command by @boazsade in #306
  • feat(server): Implement MOVE command by @dranikpg in #298
  • feat(docs): Update broken link to grafana dashboard by @odedponcz in #314
  • chore(server): update license text by @romange in #312
  • feat(server): bitcount commands support and unit tests #213 by @boazsade in #315
  • chore(server): rdb save can now save into tcp socket directly. by @romange in #317
  • feat(packaging): create deb packaging #249 by @acheevbhagat in #313
  • fix(bug): dashtable split crashes when moving items from the old segment by @romange in #318
  • feat(server): SORT command prototype by @dranikpg in #311
  • fix(server): Fix ContainerEntry union initialization by @dranikpg in #323
  • feat(server): Introduce transaction clock by @romange in #329
  • fix(server): dfly_main.cc now compiled with march=core2. by @romange in #328
  • feat(server): implement json.objkeys command (#104) by @iko1 in #327
  • feat(server): support for bitop command - unit tests added #213 by @boazsade in #319
  • feat(server): Enforce decomitting memory pages upon flushdb call by @romange in #337
  • chore(DenseSet): Some code reorder without change in functionality. by @romange in #338
  • feat(server): zrange family command support INF as case insensitive #326 by @boazsade in #336
  • chore(denseset): Simplify DenseSet, remove empty links. by @romange in #339
  • Add expiry semantics to the set. by @romange in #340
  • chore(hset): Get rid of helper functions in header file. by @romange in #341
  • chore(server): reduce iouring exposure across the codebase by @romange in #342
  • feat(setfamily): Add SADDEX command by @romange in #348
  • fix(server): better support for the --help option by @boazsade in #349
  • fix(server): hscan command better support #347 by @boazsade in #350
  • feat(server): support epoll linux api by @romange in #351
  • feat(server): implement json.strappend & json.clear commands (#104) by @iko1 in #353
  • feat(server): support for persist command #345 by @boazsade in #354

New Contributors

Full Changelog: v0.8.0...v0.9.0

v0.8.0

18 Sep 13:33
Compare
Choose a tag to compare

Dragonfly 0.8.0

A nice release, not very big but things are moving in the right direction.

  1. Transactional support is extended to WATCH/UNWATCH by @dranikpg
  2. A new SET data-structure was introduced by @braydnm . It can potentially provide for up to 50% memory savings when using small records in the set. See dense set doc for more details. You can start using the upgraded set with --use_set2 flag when running dragonfly.
  3. JSON.DEL was added to JSON family by @iko1 .

Huge thanks to all the contributors! ❤️

What's Changed

Full Changelog: v0.7.0...v0.8.0

v0.7.0

08 Sep 13:17
a43badf
Compare
Choose a tag to compare

Dragonfly 0.7.0

Prominent features:
@iko1 , @dranikpg and @braydnm are without a doubt the stars of this release.

  • Periodic snapshotting support - by @braydn
    Check out save_schedule flag for that.
  • Preliminary json support - by @iko1
    Try running set foo '{"pi": 3.14 }' and then JSON.GET foo $.pi
  • Implementing STICK command by @dranikpg
    You can now reliably keep items inside dragonfly with --cache_mode enabled.
  • Lua now supports cjson, struct, bits, msgpack modules (@dranikpg ).
  • Improved memory capping when using --maxmemory flag.
    We patched several holes that allowed dragonfly to grow past the specified limit.

In addition, I added a grafana/prometheus docker-compose file under tools/local/monitoring/. It monitors a local dragonfly instance.

Huge thanks to all the contributors! ❤️

What's Changed

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.6.0

29 Jul 05:52
Compare
Choose a tag to compare

Dragonfly 0.6.0

The last release of the summer. 0.6 is very similar to 0.5 but considered stable.
In addition, it has support for pid file that helps when integrating with watchdog systems.

Huge thanks to all the contributors! ❤️

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

15 Jul 14:58
05eb323
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

Dragonfly 0.5.0

Prominent fixes:

  • Fixed memory stats accounting after load #159
  • Fixed crash in cache_mode #207

Huge thanks to all the contributors! ❤️

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

04 Jul 19:44
c174b3b
Compare
Choose a tag to compare

Dragonfly 0.4.0

Prominent additions:

  • PUBSUB api is feature complete for 2.8
  • Improved response latency for hgetall/smembers calls.
  • Request parser now accepts upto 64K arguments per request (raised from 8K).
  • Parser errors are tracked now via INFO call
  • Stability fixes.

Huge thanks to all the contributors! ❤️

What's Changed

  • chore(strings): Simplify Set flow by @romange in #164
  • feat(actions): bump helm-chart version when new container image is published by @tamcore in #162
  • fix(docker-compose): Fetch actual Docker Compose file and add memlock conf to service by @lucagoslar in #173
  • docs(docker-compose): Explain NAT overhead in docker-compose by @ryanrussell in #176
  • chore(server): Improve the implementation of SendStringArr. by @romange in #178
  • fix(server): Fix a crash when running "client list" command. by @romange in #179
  • feat(pubsub): implement pubsub command close #90 by @zacharya19 in #175
  • chore(dash): add dashtable benchmark. by @romange in #187
  • chore(rdb): move object creation during loading to shard threads. by @romange in #188
  • chore(pubsub): update api status by @romange in #189

New Contributors

Full Changelog: v0.3.1...v0.4.0

v0.3.1

17 Jun 18:44
Compare
Choose a tag to compare

Patch release Dragonfly 0.3.1

What's Changed

  • fix(lua): Fix few lua-related bugs by @romange in #157
  • fix(parser): Raise parser limit for array length from 8K to 64K by @romange in #158

Full Changelog: v0.3.0...v0.3.1