tarantool / tarantool/tarantool

Add documentation and devtools for compat module updates

Open
#8,116 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

devtools documentation
Dominant language
Lua
Stars
3.7k
Forks
419
Avg merge
1d 23h
Merged PRs (30d)
88

Description

In the scope of #7000, a new module "compat" was introduced. The goal of this new module is to provide a compatibility configuration layer to make Tarantool updates less painful for users. In a nutshell, when a breaking change is about to be introduced, we should add a new compat option for it and set it to 'old', which means the old behavior (i.e. no breaking change actually happens). When the major version is bumped, we should:

  • update all 'old' compat options to 'new', but allow to reset them to 'old' manually;
  • update all 'new' compat options to 'deprecated' and disable/drop the corresponding code.

However, the procedure wasn't properly documented anywhere. It'd be nice to have the documentation right in the repository that would outline the following points:

  • What to do on minor release?
  • What to do on major release?
  • How to add a breaking change?

Ideally, we should also have some scripts that would help automate the compat module update on release.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading issue #7000 and locating the compat module and its release-related code in the repository. Document the minor-release, major-release, and breaking-change procedures, then determine where release scripts belong; done means the procedure is documented and any agreed automation is usable.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
documentation, tooling
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.