The widget is a dated timeline of what shipped, newest first, that sits in a container on your own page. It reads the board you already run: a card that reaches your Completed column is what a release note is made of, so the timeline is a view of work already tracked rather than a document maintained twice.
What does a visitor see?
A list of releases, newest first, each with its name, what it shipped, and the date. Five releases load at a time; a show more button fetches the next five and hides itself once there are none left. An empty changelog says it is empty rather than drawing a blank space. The date carries a machine readable timestamp beside the words a person reads.
Does it show an unread badge or a popup?
No. The changelog widget draws inline, into a container you place, styled by your own theme values. There is no launcher, no badge, and no popover state to manage. The feedback and suggestion widgets open as a popup; the changelog does not.
Can I target it to a segment of users?
No. Every visitor who loads the container sees the same releases. Reading the changelog needs no account, the same as the rest of the widgets.
What is inside one release entry?
The release name, whatever you wrote, and the list of what actually shipped in it. Every feature in the release is listed by name, and beside each one is how many people asked for it, because the same board holds the votes and the release. Nothing is copied across for that number to be there.
Each shipped item can also carry a type, drawn as a small label beside it: new, improvement, fix, bug fix, breaking change, security. If vote counts are hidden on your board, the requested by line goes with them. The widget reads the same setting rather than having a second opinion about it.
Can I make one release stand out?
Yes. A release can be marked featured, and the widget draws it differently: the dot on the timeline changes, the card carries its own class, and a small badge sits at the top of it.
What is the line you paste?
Two tags and one call, the same shape every widget uses.
<link rel="stylesheet" href="https://app.votefirst.app/embed/votefirst.css">
<script src="https://app.votefirst.app/embed/votefirst.js"></script>
<script>
VoteFirst.init({ project: 'your-project-slug', key: 'your-embed-key' });
VoteFirst.changelog('#votefirst-changelog');
</script>
<div id="votefirst-changelog"></div>
The script tag can carry the two values itself as data-project and data-key, which saves the init call. Either way the elements land in your own document rather than in a frame, so your stylesheet and your developer tools reach all of it. The install in three steps is written out in the quickstart, and the appearance the widget inherits is documented separately.
There is a pinned version address cached for a year if you want one exact build rather than the current one, and if you would rather it inserted no markup at all, an option turns the release body into plain text.
How big is the install?
The one script every widget shares is 82KB, 22KB gzipped. There is no separate download for the changelog alone, because the vote button, the feedback widget and the changelog all load from the same file.
Is there a feed?
Yes. Every project's changelog has an Atom feed at its own address with /feed.xml on the end, one entry per release, carrying the release's own text. It needs no account and no vote, which is the other way readers follow releases besides the embed.
Is the changelog public or gated?
The hosted version is a public page on your own domain, the same releases the widget draws, with its own address for a team whose readers arrive from search. The embed sits wherever you place it on your own page, so access to it is whatever access your page already has.
Who gets emailed when I publish a release?
Signed in voters whose own vote is in that release, and nobody else. If a release contains three features, the email goes to the people who voted for those three and who have an account, because there is no subscriber list to announce to instead.
What does it cost?
Nothing beyond your plan. No widget is held back for the higher plan, so the changelog widget works on the nine dollar plan same as the thirty nine dollar one. Fourteen days, a card at signup, then $9 or $39 a month.
Can I style it or read it from my own code?
Yes, past the theme values, because the markup is built to be reached. Every release is an article carrying its own release id. Every shipped item carries its feature id and, where it has one, its change type. A stylesheet that wants security notes in red, or a script that wants to scroll to one specific release, has something to hold on to.
The release body is the single place the widget inserts markup, and that markup comes from a renderer running its defaults, which refuse raw HTML and blank out dangerous link schemes.
The widget suits a product whose readers are already inside a page you control. No cookies are set for reading it, same as the rest of the widgets.