Compose Changelog

Version 0.26.0: Sidebars

January 16, 2025

SDK v0.26 introduces sidebars. A simple, powerful way to create multipage applications.

SDK 0.26.0 Changelog
↔️

A New Primitive: Sidebars

Compose internal tools into powerful multipage applications using the new navigation element. Optimized for all devices, beautiful out-of-the-box, and simple enough to integrate in less than 10 lines of code. Learn more

End-to-end TypeScript

Forms in the TypeScript SDK are now fully typed based on the form elements. No configuration required.

⚡️

2x faster Python SDK

We've improved the Python SDK to now render UIs up to 2x faster than before by switching to the highly optimized orjson library for internal serialization tasks.
🔨

For Each Component

We've introduced a new component that makes it easier to map a list of data to a list of components. Read the docs to learn more.
🐛

Debug Mode

As developers create more complex tools using Compose, we've introduced a new debug mode with accompanying documentation to help debug situations where the SDK is not performing as expected by logging internal ops and performance metrics to the console.

📝

Other Improvements

  • Introduced a new onboarding experience allowing devs to install Compose with a starter app using a single terminal command. Go to app.composehq.com/start to try it out.
  • Add better typing to individual input callbacks in the TypeScript SDK.
  • Inputs are better optimized and will no longer zoom unnecessarily on mobile devices.
🐛

Bug Fixes

  • Fixed bug where number input would not allow negative numbers.
  • Fixed bug where modals were not scrollable in rare cases.
  • Fixed bug where bar chart would update with incorrect data in cases where the series changed.
  • Fixed bug where parent app permissions would not apply to a sub-app for public facing apps.
🚨

Breaking Changes

None!

Version 0.25.0: Charts, Dark Mode, and More

January 16, 2025

We're excited to announce the release of multiple major features to the platform: Charts, dark mode, pagination, and more! There are no breaking changes since the previous release. Upgrade in a single command.
SDK 0.25.0 Changelog
📊

Visualize with Bar Charts

Bar charts are a foundational component for visualizing data. Compose bar charts are beautiful out of the box, extremely customizable, have built-in utilities for transforming data, and utilitize canvas rendering to efficiently scale to thousands of bars. Learn more
💡

Every App is Dark Mode Ready

Every Compose app will now switch to dark mode at night. As always, you can completely customize your app's color palette with just three colors.
⚡️

Scale with Paginated Tables

Tables now support pagination, allowing you to scale your app to millions of rows. Compose will automaticallly paginate tables with more than 5000 rows, or you can pass in your own pagination function to handle any number of rows. Learn more
🎨

Categorize Data with Table Tags

Tags allow you to display table cell values as colored pills - and are great for categorical data. Simple specify format: "tag" and let us figure out the colors, or customize them yourself. Learn more
✏️

Simplified, More Powerful Forms

You can now create forms with 30% less code than before. First, forms will automatically include submit buttons without you adding one manually. Second, inputs will now infer labels from the input key.

📝

Other Improvements

  • Overhauled documentation website to include detailed parameter descriptions for every single component.
  • Added roles to the platform (e.g. owner, admin, member, etc.) to allow teams to more granularly control permissions.
  • The table actions row is now stickied so that it's always visible regardless of how many columns you have in your table.
  • Added stack traces to errors in the Node.js SDK.
  • Improved modal behavior. Modals will now close when clicking outside of them or hitting the escape key.
  • The ui.cond component will now evaluate for truthiness, instead of requiring boolean inputs.
🐛

Bug Fixes

  • Fixed minor bug where the UI would not update from a page.update() method call in rare cases.
  • Fixed minor type errors in the Python SDK.
  • Fixed formatting issues where components would not render correctly when part of complex layouts.
🚨

Breaking Changes

None!

Version 0.22.0: Faster Tables & More Input Components

December 16, 2024

Version 0.22.0 is a major update that brings significant speed improvements to tables and introduces three new components to the platform. It's available now for both Node.js and Python.

SDK 0.22.0 Changelog

New to Compose? Build your first app in less than 5 minutes.

🚀

Tables load way faster

We've introduced a new compression algorithm that significantly decreases the packet size when transmitting tables between your server and the browser. You can expect to see up to 4x faster table loads, especially for larger tables.

🚀

DateTime Input Component

The date time input component offers a streamlined component for selecting a date and time, and comes built-in with powerful features like custom validation, min/max values, and more.
🚀

Time Input Component

Similar to the date time input, the time input gives you a simple way to collect time data from users, and embeds nicely into a form.
🚀

Checkbox Component

One of the most requested features from our users. A clean, simple checkbox component for collecting boolean data.
📝

Other Improvements

  • Table row actions will now pass the row index as the 2nd argument to the action function.
  • Better errors in the Python SDK with full stack traces where possible.
  • Better type hinting and intellisense in both the Node.js and Python SDKs.
  • Clearer form error messages
🐛

Bug Fixes

  • Fixed minor bugs with the page set input method that would crash on certain input types.
  • Fixed bug in python SDK that required hook functions to consume all input parameters. You can now consume 0, 1, or more parameters depending on the hook function.
🚨

Breaking Changes

  • Node.js SDK: The return type of the ui.dateInput component has changed from a JS Date to a JSON object with numeric keys to represent the data, alongside a jsDate property that represents the selected date as a JS Date in utc midnight. This change affects the validate and onEnter methods for the component, as well as the onSubmit and validate methods for any forms that contain the date input component. Read more in the date input docs.

First Ever Commit

May 26, 2024

The Compose Monorepo receives its first ever commit.

2025 Compose. All rights reserved.