Releases

How tldraw is versioned

Unlike many JavaScript packages distributed on NPM, the tldraw SDK does not follow semantic versioning in its release versions. Here's what we do instead:

  • Major version bumps are very rare and we reserve them for special changes that signify a paradigm shift of some kind.
  • Minor version bumps are released on a regular cadence - approximately monthly. They may contain breaking changes. We aim to make breaking changes as minimally disruptive as possible, but tldraw is actively evolving as we add new features. We recommend updating tldraw at a similar pace to our release cadence, and be sure to check the release notes.
  • Patch version bumps are for bugfixes and hotfixes that can't wait for the next cadence release.

Current release: v4.1.0

tldraw v4.1.0

Welcome to version 4.1.0 of tldraw! This is a maintenance release including a new starter kit, a few minor API additions, and a handful of improvements and bug fixes.

Shader starter kit (#6847)

We're excited to introduce the Shader Starter Kit – a new template that demonstrates how to integrate WebGL shaders with tldraw to create dynamic, interactive backgrounds that respond to canvas interactions. Try it out and read the docs here.

https://github.com/user-attachments/assets/14b02bfb-6730-4d85-a482-a169292eab09

What's included

The starter kit comes with a reusable WebGLManager base class and four complete shader examples to get you started:

  • Fluid Simulation - Real-time Navier-Stokes fluid dynamics that respond to shape movements
  • Rainbow - Animated gradient effects with time-based animations
  • Shadows - Dynamic shadow casting from shapes using raymarching and signed distance fields
  • Minimal - A bare-bones template for starting your own shader projects

Each example includes configurable parameters with a built-in UI panel, localStorage persistence, and full TypeScript support.

Getting started

Create a new project with the shader starter kit using:

npm create tldraw@latest

Then select "Shader" from the template options. You can also explore the template directly in the repository: github.com/tldraw/tldraw/tree/main/templates/shader

API Changes

  • Allow embed types to opt-out of embed-on-paste behavior (#6819) (#6874)

    Adds the embedOnPaste option to EmbedDefinition to configure whether embeds are paste-able. Opting out means that pasting an embeddable URL will insert a bookmark shape instead of the embed shape.

  • Omit arrow and lines from the minimap for clearer navigation (#6327)

    Adds hideInMinimap option to ShapeUtil to optionally hide shapes from the minimap.

  • Add independent x and y handle snapping (#6883)

    Adds a snapType?: 'point' | 'align' property to the TLHandle class. Deprecates the canSnap property.

  • Expose Editor#getShapePageBounds method and isRecordsDiffEmpty helper function(#6871)

  • Adds localStorageAtom to @tldraw/state. This is an atom backed by localStorage with cross-tab syncing (#6876)

  • Adds inline version of style picker buttons: StylePanelButtonPickerInline, StylePanelDoubleDropdownPickerInline, and StylePanelDropdownPickerInline. Use these components inside of TldrawUiToolbar components where needed. (#6920)

Improvements

  • Make bookmark titles clickable (#6326)

  • Improve top bar rendering on mobile (#6895)

    Reduces the number of UI elements that are rendered on mobile out of the box.

  • Allow using Numpad Enter trigger edit mode on shapes. (#6830)

  • Consolidate preferences menu groups (#6802)

Bug Fixes

  • Fix accessibility shortcut typo (#6811)

  • Reinstate the focus mode action which was deleted by accident (#6812)

  • Fix arrow rendering edge case (#6799)

  • Fix a bug that allow opening a empty window on a tag click (#6817)

  • Fix missing translation key. (#6826)

  • Fix shape index management race condition. (#6884)

  • Fixed an edge case bug for shapes that have zero geometry vertices (#6885)

  • Fixed a bug where the style panel buttons would overflow at certain browser zoom levels (#6920)

Previous releases

Prev
Installation
Next
v4.1.0