Changelog
What's new in each EaseKit release, from the release notes.
Every EaseKit release, newest first. The same highlights appear in the app after an update (Help → What's New). EaseKit updates itself from the sidebar; see Updates.
0.6.1 — Faster start, progress with time left, sturdier error states
- Faster start. With many projects EaseKit opens in a fraction of the time: the sidebar reads just titles and counts, and a project loads whole when you open it.
- Progress with time left. Figma import, video render, GIF export, share uploads, video import, saving a screen recording and Trace Image show a bar with “About 12 s left” instead of a spinner.
- Smoother playback. Evaluating every layer per frame is about 2.4× faster, laying out the scene about 3× — same results, less work.
- Clearer when something goes wrong. A failed save stays visible with the real reason and Try again; a project that can’t be read fully says so and keeps your draft instead of looking empty; onboarding, import and search explain what happened or what to try.
- Typing always wins. Space, arrows, esc and letters no longer act as shortcuts while a text field is active, so comments and text type normally. Comment mode moved to ⌥⌘C, trimming audio to ⌥⌘[ / ⌥⌘].
- Polish. Number-field arrows are easier to hit, onboarding cards react to hover and press, truncated names show in full on hover.
0.6 — Edit in place, component states, letters and variable fonts, split clips, comments the AI acts on
- Edit in place. Double-click (or ⌘-click) an instance on the stage to edit its component's layers right there — the parent and its timeline stay; a magenta outline shows what you're editing, every instance follows (or Override on this instance for exposed props), Open Component (⌘↓) and Done (esc).
- Auto Layout, complete. Wrap with row gap and align content, min/max sizes, baseline alignment; text line height, letter spacing and alignment on the stage, in the inspector, from Figma and in every export (flex-wrap, MKFlowLayout for SwiftUI).
- States inside components. A component can carry its own states (Default, Hover, Pressed …) and triggers; each instance plays them on its own. Add hover & press in one click in the Interactions tab. React and SwiftUI exports keep a local state machine per component.
- Letters, words and variable fonts. Per-letter, per-word and per-line text animations use real font metrics (custom fonts, wrap, alignment) on the stage and in HTML/CSS/React/SwiftUI/Lottie. Variable-font axes (weight, width, slant, optical size and custom axes) get sliders with keys; saving code can copy the font files.
- Video. Split Clip at Playhead (⌘K), fade handles on the clip bar's corners, reversed clips play their sound backwards, and Record Screen can include system audio and the microphone (both off by default).
- Vector. Centerline mode in Trace Image (single strokes for drawings and handwriting), polygon and star primitives with animatable points and inner radius, draw order for draw-on animations (reading order, from the centre), per-corner radius keys.
- Lottie import. loopIn, continue and duration loops, shape key loops, animated gradients and expression arithmetic come in as keyframes.
- Comments and the AI. Open comments ride along with every AI turn: the AI makes the change, replies in the thread as EaseKit AI and marks it addressed; @AI mentions can be answered automatically while the session is open. Share-link viewers can reply in threads.
- Figma prototypes. Edit → Copy for Figma Plugin (and the Figma Plugin tile in Render) turns states, variant switches and key moments into frames connected with Smart Animate — for the EaseKit for Figma plugin.
- Clearer errors and accessibility. Every failure says what happened and what to do next, with Report… for the unexpected ones; VoiceOver labels across the stage, timeline, inspector and sheets; more of the app in German.
- Polish. Consistent hover, press and disabled states on every button, softer exits, larger click targets on small icons, sentence-case labels and focus rings on text fields. Recording a scene state is yellow now; magenta stays for components. Importing from Figma shows a progress bar with the time left.
- Fixes. A small line height (in points) no longer comes back as a multiple of the font size after reopening; a layer written as
"kind": "polygon"with its own outline keeps it instead of turning into a pentagon on resize.
0.5 — Auto Layout, Figma import, gestures and tweening components
- Auto Layout. Groups can lay out their children in a row or column with gap, padding, alignment and hug/fixed/fill sizing. Animate one child (its size, visibility or text) and its siblings reflow while the group grows with it. Exports use flexbox (HTML, CSS, React) and HStack/VStack (SwiftUI).
- Import from Figma. File → Import from Figma… or paste a frame link on the stage (with a personal access token in Settings, kept in the Keychain). Auto Layout, fills, gradients, strokes, shadows, blur, per-corner radii and text come along; component sets become components with variants and text props, and Default/Hover/Pressed are wired to hover and press triggers. Also as the MCP tool
import_figma. - States with colors, text and gestures. States can change fill, stroke and text colors and swap text. New drag (follow and spring back, or switch past a threshold) and scroll-progress triggers work on the stage and in React/HTML exports; per-trigger transitions and pause/reverse carry into code.
- Components that tween. Variant switches animate (per trigger, instance, set or switch point) instead of cutting; switches can sit on the timeline; nested instance props pass through to the outer component; variants can resize the component; each open level keeps its playhead.
- Media. Video fades in/out and reverse playback, waveforms on clip bars, File → Record Screen…, faster video exports; Lottie import turns loopOut and wiggle into keyframes and actions and keeps curved motion paths editable.
- Shapes and corners. Drawn shapes are objects you can grab and move as a whole (double-click opens their points; ⌥ while drawing adds to the edited path); a drawn rectangle is a real rectangle. Corner radius field with presets and Full, independent corners, and radius dots on the stage (⌥ for one corner) — exported as four-value CSS, UnevenRoundedRectangle, SVG and Lottie paths.
- German. Quality findings, audit results, change notes and the demo sessions are localized too; audit badges read Pass/Check/Fail in sentence case.
- Fixes. A tall timeline keeps its ruler right above the lanes; dragging a shape's fill in Edit Points moves the whole shape; React exports with variant switches type-check under strict TypeScript.
0.4.1 — Comments, nested components and polish
- Comments like in Figma. Press C (or the toolbar bubble), click to pin or drag to mark an area, and post at the playhead. Threads with replies, edit your own comments, resolve, and View → Show Comments. Share links get areas too, and viewers can edit or delete their own comments.
- Nested components. Double-click a component (stage, lane or clip) to open it with its own timeline; open components inside components. The timeline shows "‹ Main timeline › ◆ Card › ◆ Button"; ⌘↑ goes back, ⌘↓ opens the selected instance.
- Precise inputs. ↑/↓ step a focused number field (⇧ ×10, ⌥ ×0.1) with a small stepper while editing.
- Polish. Tooltips show while the animation plays; popovers fit longer (German) labels; section labels in sentence case; empty style sections show only their + button; the AI's reasoning folds into "Why it moves like this"; editing ends Tuning/Reduced Motion previews instead of refusing.
- Fixes. Big timelines draw their lanes again; a chat turn with the Claude/Codex CLI can no longer hang when the CLI quits early.
0.4 — Interactions, components 2, video and German
- Interactions and states. Define states (Default, Hover, Pressed, Loading, Done…) and triggers (hover, tap, press, release, load, scroll). The Interactive toggle makes the stage clickable; Record state writes stage edits into a state. React/Motion exports become real interactive components (variants, whileHover/whileTap, useState), SwiftUI gets a state enum, HTML/CSS stay interactive. Includes an "Interactive Button" template and AI/MCP ops.
- Components 2. Props (text, color, image, number, visibility, swap), variants as diffs over the base (e.g. size, state) with a setVariant trigger action, nested instance swap. React exports typed function components; SwiftUI one view per component.
- Stroke animations. Trim offset that wraps around the path, individual/simultaneous subpaths with stagger, reverse and from-centre drawing, taper at both ends, presets (Draw On/Off, Write On, Trace, Pulse, Dash Flow), follow-path and auto-orient. Exports use native Lottie trim paths and dash arrays on the web.
- Media. Video layers with trim, rate, loop, filmstrip and exact frames in exports (with audio). Lottie import (.json and .lottie) into editable layers and components. Image Trace turns bitmaps into vector paths (B&W, gray, color).
- Fonts. Installed, imported (.ttf/.otf/.woff) and Google Fonts, embedded in HTML and share links, referenced in code exports.
- Figma round trip. Copy as SVG (⇧⌘C) and Copy Frames for Figma: paste keyframe states straight into Figma.
- Share links. Viewers comment on a moment and a spot in the frame; comments show up in the app, and "Open in EaseKit" opens a shared project.
- Big scenes. The timeline builds only visible lanes (up to 2000), with a filter and expand/collapse all.
- German. The whole app UI in German when macOS is set to German.
- Licensing. 14-day trial and license keys via Polar (not enforced during the beta), a pricing page.
- Polish. Editing ends the Tuning/Reduced Motion previews instead of refusing, inspector fields keep typed values when popovers close, stage fixes for components and undo, docs at easekit.app/docs.
0.3 — Components, paint and vector tools
- Components. Build a part once, reuse it with its own start, speed and play mode (once, loop, hold). ⌥⌘K turns a selection into a component; edit it in its own focused mode and every instance follows. Lottie export keeps components as precomps. The AI and the MCP server can create and reuse components.
- Paint and effects. Sketch-style inspector: multiple fills, linear/radial/angular gradients with animated angle and shift, gradient borders (inside/center/outside, dash, gap, caps, joins, draw on, marching ants), shadows and inner shadows, layer and background blur, motion and zoom blur, color adjust, masks, blend modes and Liquid Glass.
- Vector tools. Pen, pencil and shapes; union, subtract, intersect, difference, flatten, offset path and outline stroke; snapping; shape keys that morph over time.
- EaseKit in Claude (MCP). Claude Desktop and Claude Code can list, open and edit animations; changes appear live in the app. Settings → MCP has a step-by-step guide.
- Templates, variants and exports. Starter templates (including Staggered List), variants side by side, GIF and PNG export,
.easekitproject files with embedded assets, share links. - Stage. Rulers and guides (⌘R), motion paths, inline text editing, keyframes editable in the timeline with copy/paste, syntax-colored code panel, collapsible quality findings.
- Precise inputs. Number fields step with ↑↓ (⇧ ×10, ⌥ ×0.1) and scrub when you drag their label; typed values are kept when a popover closes.
- Reliability. Automatic retry when the AI is rate-limited or overloaded, safer CLI providers, bounded backups, a save-failure notice, crash reports on the next launch, and many performance fixes.