Version compatibility

Client Server Protocol Recording
2.1.0 2.x.x dp:4.21.2 21.2
2.0.9–2.0.11 dp:4.20.1 20.1
2.0.6, 2.0.7
1.0.5, 1.0.6 1.0.x 15.6 ≤15.6

Notes about compatiblity

  • All clients in the same session must share the exact protocol version number (e.g. dp:4.20.1)
  • A client can use any server that supports the same server protocol version (4 in case of Drawpile 2.0.) However, some new features may not work with older servers.
  • The (new style) protocol version number consists of four parts:
    1. namespace (dp)
    2. server version (4, indicates change to client↔server protocol)
    3. major version(20, indicates change to client↔client message structure)
    4. minor version (1, indicates change to client↔client message semantics)
  • See the protocol version history for details

Stability promises

  • Compatibility is never broken in patch releases (e.g. 2.0.0 → 2.0.1)
  • Client compatability may only be broken between minor number bumps (e.g. 2.0.0 → 2.1.0)
  • Server compatibility may only be broken between major number bumps (e.g. 2.0.0 → 3.0.0)
  • Any new feature added without a protocol version bump must be backward/forward compatible

Notes about recording compatiblity

  • Version 1.0.6 can play recordings made with all previous versions (exact reproduction not guaranteed)
  • Version 2.0.0 cannot play recordings made with older versions
  • Opening recordings with a newer minor number will likely produce unexpected results
  • Opening recordings with a newer major number will likely result in missing drawing actions