About
An interactive React changelog with release filters and expandable update details, useful for SaaS products sharing new features, improvements, and fixes.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Release History to your project and fits it to your theme.
Code
How Release History is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
"use client";
import * as React from "react";
import ReleaseHistory, { type State } from "@/components/ui/release-history";
const settings = { title: "Always getting better." };
export const loopDuration = 6;
// Pure timeline: export frame n by passing n / 60. No timers or network calls.
export function showcase(time: number): State {
const t = ((time % loopDuration) + loopDuration) % loopDuration;
return {
active: t < 2 ? 0 : t < 3.3 ? 1 : t < 4.5 ? 2 : 0,
expanded: t < 2 ? 0 : t < 3.3 ? 2 : t < 4.5 ? 1 : 0,
};
}
export default function Demo(props: any = {}) {
const { showcaseTime, ...incoming } = props;
const merged = { ...settings, ...incoming };
return (
<div className="w-full min-h-[460px] flex items-center justify-center p-4 sm:p-6 bg-background">
<ReleaseHistory
{...merged}
state={showcaseTime === undefined ? incoming.state : showcase(showcaseTime)}
seeking={showcaseTime !== undefined || incoming.seeking}
/>
</div>
);
}







