Dragonfly v1.4.0
New Dragonfly release! Prominent changes include:
- Support for s390x (Thanks, @iko1 )
- Fixing stability issues in the transactional framework around blocking operations (thanks to @glitch user on Discord for helping to pinpoint the issues)
- Support plain replication on the admin port with TLS enabled on the primary port (#1490 )
- Support custom permissioning on UNIX domain sockets (#1415)
- Fix a deadlock when performing the replication over the admin port (#1470)
- Atomic replica failover support.
What's Changed
- feat: add s390x architecture support by @iko1 in #1214
- feat(CI): Update weekly build image name to be
dragonfly-weekly
by @Pothulapati in #1384 - fix(docker-release): Run Docker test only if image is built by @Pothulapati in #1430
- feat(cluster): Implement
CLUSTER KEYSLOT
command by @chakaz in #1413 - fix(cluster): Fix race when setting cluster config by @chakaz in #1428
- fix: out of bounds typo by @romange in #1434
- chore: improve connection I/O errors reporting by @romange in #1436
- test(cluster): Extend cluster_mgr.py by @chakaz in #1426
- feat(server): set allowed key size 256MB by @adiholden in #1435
- feat: Implement KNN interface by @dranikpg in #1412
- fix: add numpy to regtests (needed for knn) by @dranikpg in #1454
- fix: call NotifyPending only from tx queue invocations by @dranikpg in #1439
- feat(server): add flag to set FiberQueueThreadPool thread size by @wayslog in #1452
- feat(server): add unixsocketperm support by @adiholden in #1450
- feat(server): Add missing fields to INFO PERSISTENCE command (#1408) by @kostasrim in #1438
- feat(regression github): send failed tests names to chat by @adiholden in #1459
- fix: rename memcache to memcacheD by @dranikpg in #1461
- Expose replication lag metrics by @royjacobson in #1400
- fix: failing assertion on snapshot regression tests when dbfly instance shuts down by @kostasrim in #1463
- fix: support json v1 dot path by @dranikpg in #1462
- feat(log): On startup print info to stdout by @kostasrim in #1448
- fix(server): Fix early reply from
DEBUG POPULATE
by @chakaz in #1441 - feat(debian): retain debug symbols in deb package by @Pothulapati in #1464
- fix: avoid using main_listener when migrating connections by @romange in #1471
- fix: Don't calculate replication lags when replica is not in stable sync by @royjacobson in #1472
- fix(regression): fix json report filename by @adiholden in #1465
- fix(regression): failing info persistence on snapshot pytests by @kostasrim in #1473
- docs: update contributing.md with style guidelines by @kostasrim in #1467
- bug(cluster): fix crush on flush slots with shutdown by @adiholden in #1477
- fix: Increase the duration of the seeding in test_replication_info. by @royjacobson in #1479
- feat(github regression): add link to github job by @adiholden in #1482
- cleanups: Remove unused member, rename test, remove unused forward decl. by @chakaz in #1483
- fix(cluster): Fix
CROSSSLOTS
error with multi-key operations by @chakaz in #1488 - feat(cluster): Send flush slots cmd from masters to replicas. by @chakaz in #1484
- feat(server): support command rename by @adiholden in #1489
- Add Japanese README by @eltociear in #1494
- fix: misspelled replication on pytest redis_replication by @kostasrim in #1501
- fix(regression): remove test case for info persistence by @kostasrim in #1492
- feat: global eval in exec by @dranikpg in #1443
- feat: compressed list by @dranikpg in #1474
- fix: disable prohibited eval in multi test by @dranikpg in #1505
- fix(server): Initialize ServerFamily with all listeners. by @royjacobson in #1485
- fix: avoid crashing dragonfly on parsing error of cgroups config by @romange in #1503
- feat: Support atomic replica takeover by @royjacobson in #1314
- chore: tune snyk coverage to ignore test files by @romange in #1509
- Fix a bug and add a timeout test for takeover. by @royjacobson in #1512
- fix: null deref in debug log by @royjacobson in #1513
- chore: refresh helio by @romange in #1506
- docs : add korean translated README by @brewagebear in #1518
- fix(server): fix prints to log by @adiholden in #1520
- takeover: Cancel blocking commands by @royjacobson in #1514
- feat(replication): allow non-tls connections between replica and master #1419 by @kostasrim in #1490
- Fix regression test failures on old Python versions by @royjacobson in #1521
- fix: add missing slash on startup for certain log_dir paths by @kostasrim in #1500
New Contributors
- @wayslog made their first contribution in #1452
- @brewagebear made their first contribution in #1518
Huge thanks to all the contributors! ❤️
Full Changelog: v1.4.0...v1.6.0