-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Initial version compatibility notes #43
Copy link
Copy link
Closed
Description
For our initial compatibility release, I think we want to have a very limited and well defined set of changes. I am proposing we launch a 7.2.4 version, which is clearly compatible with the OSS Redis version 7.2.4. We plan to launch the changes in two tranches RC1 and RC2.
Release candidate 1. 7.2.4-RC1
- We will build with the following binaries:
valkey-servervalkey-clivalkey-benchmarkvalkey-check-aofvalkey-check-rdbvalkey-sentinel- For compatibility, we also create symlinks to these files with
redis-*names inmake install(for the installed binaries only), so valkey can be used as a drop-in replacement for Redis. - ☑️ REDIS_FLAGS will be updated to SERVER_FLAGS. Maybe we should also allow REDIS_FLAGS -> SERVER_FLAGS as well, for an extra layer of compatibility. Done in For additional compatibility this adds REDIS_CFLAGS and REDIS_LDFLAGS support to MAKEFILE #66.
- We will introduce 2 new info fields.
valkey_version:7.2.4: This will indicate the valkey_version compatibility.redis_version:7.2.4: this isn't new, just called out that we will leave it for compatibility.server_name:valkey: This will provide a way for external clients to determine that this is valkey, if they want.
- In RDB format, we will add one new aux field and remove one aux field:
valkey-ver:7.2.4:This will indicate that valkey produced the RDB and what version it was generated from. This is only used for compatibility and logging, so it should be safe to add.redis-ver:7.2.4:This field will be removed. Since it's only used for logging, it should be safe to remove this.
- Logging and other misc wording.
- In order to maximize compatibility, we will leave all logging unchanged, as we expect users may have scripts looking for specific log lines.
- We will remove the Redis logo from the startup and also include our website address (when we have one).
- We need the following LUA compatibility.
- We will create a new high level object that maps to the redis object, so that you can do
server.call(), etcand other stuff as well asredis.call(). - We will update the top level lua version to include the valkey version, server name, while still keeping the redis version for compatibility.
- We will create a new high level object that maps to the redis object, so that you can do
- Module API compatibility
- Continue to fully support REDISMODULE_* for API compatibility
- Introduce a second VALKEYMODULE_* API that is find/replace compatible. This will be a secondary namespace, with the intention of all new APIS going here.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels