# Rolling deploy mixed versions: pre-release checklist

Source: https://releasefailures.com/incidents/rolling-deploy-mixed-versions/
Content version: 1.0.0
Verified on: 2026-10-22
Licence: CC BY 4.0

Definition: Old and new versions serve traffic at once and disagree on a contract.
- [ ] PR-01 Run the pre-production suite on a cluster where old and new application servers share traffic, and fail on any request that ends a logged-in session. (test class: Integration tests)
- [ ] PR-02 Sign a session cookie on the new version, send it to a server on the previous version and confirm the session stays valid, then repeat in the reverse direction. (test class: Integration tests)
- [ ] PR-03 Create a pipeline through a web node on the new version while background workers run the previous version, and confirm the pipeline leaves its first state. (test class: Integration tests)
- [ ] PR-04 Add a contract test that fails when the web code writes a pipeline state value that the deployed background worker version does not accept. (test class: Contract tests)
- [ ] PR-05 Add a contract test that fails when the session cookie signing algorithm changes while the previous release cannot verify cookies signed with the new algorithm. (test class: Contract tests)
- [ ] PR-06 Alert on session rejection errors split by application version within the first minute of a rolling deploy. (test class: Canary and progressive delivery checks)
- [ ] PR-07 During the web canary window, track errors from the background worker that handles new merge requests and halt promotion when they rise above baseline. (test class: Canary and progressive delivery checks)
