Changelog
Every notable change to Lyra, release by release. Each entry describes what changed for you, not what changed in the code.
This page is generated from the product repository on every deployment, so it always matches what is live.
1.4.6-beta - 2026-08-08 - Your calendar is planned on real search demand again
Some plans were being filled with topics whose search demand had never actually been checked, and nothing on the page said so.
Fixed
- Lyra checks how many people search for a keyword before putting a topic on your calendar, and rejects the ones nobody looks for. On some plans that check was not running at all, so the topics were chosen on judgement alone while looking exactly like checked ones. The check now runs wherever your calendar is planned.
- When every keyword a topic could target turns out to have no real demand, Lyra now goes back and looks for different ground instead of planning the topic anyway.
- A topic planned without the demand numbers now aims at the broader, more searched phrasing rather than the narrowest one.
Added
- Your topic now says "volume not checked" when the demand numbers could not be read, and the planning entry in Activity tells you the same thing, so a plan built on judgement alone is never mistaken for a verified one.
1.4.5-beta - 2026-08-05 - Your plan's posts write at the same time, as sold
Growth and Scale now really do write several posts at once.
Changed
- When more than one post was scheduled for the same day, your plan allowed them to be written together but Lyra still ran them one after another, so the last one in line could wait a long time before it started. They now write side by side, up to the number your plan allows. Free and Starter are one at a time either way, so nothing changes there.
1.4.4-beta - 2026-08-05 - Posts that were writing fine no longer read as failed
Posts waiting their turn are no longer marked failed while they wait.
Fixed
- A post could show up as "Write Failed" a couple of minutes after Lyra picked it up, with a note saying the run had been lost, even though nothing had gone wrong. Lyra writes one post at a time per website, so when several posts came due together the later ones sat in line waiting for their turn, and waiting in line was being read as having died. Lyra would then start the post over on top of the one that was still going, which is why a run could flip between failed and finished as you watched it. Queued posts now simply wait, and the note on a genuinely failed run no longer guesses at a cause it cannot know.
1.4.3-beta - 2026-08-02 - The post you open is the post you wrote
Opening a post now shows that post, not one of the older posts Lyra linked to it from.
Fixed
- A post's page could show a completely different article from your blog under the right title. It happened once Lyra had gone back and added links to a new post from the older posts that relate to it: those edits travel in the same pull request, and the page could pick up one of them instead of the post itself. The pull request was always correct, so nothing wrong was ever published or merged; only the page you read inside Lyra showed the wrong text. Every post that was affected has been put back to its own article, with all its review changes included.
1.4.2-beta - 2026-08-02 - Never two posts chasing the same search
Lyra now refuses to plan a post that would compete with one you already have, rather than only being asked not to.
Fixed
- A new topic can no longer be aimed at the same search as a post you have already published or planned. Two posts chasing one phrase split the clicks and the ranking between them, so when a proposed topic lands on ground you already cover, Lyra plans that slot again for a different subject, and again if the next one clashes too. Each attempt is told which subjects are taken, so she is not answering the same question twice. Only when every try comes back onto ground you already cover does she leave the slot empty, because one fewer post that week beats one that competes with your own.
- Before proposing anything, she now checks against your most recent posts first. On a blog with hundreds of them she had been comparing against the oldest ones, which are the least likely to clash with what she is about to plan.
- On a site with no repository connected, the posts she reads to cross-link from are now the ones genuinely related to what she is writing. They had been picked in alphabetical order, so a blog with more than fifty posts had her linking out to, and checking for overlap against, whatever happened to sort first.
Added
- The planning step now records what it checked your new topics against: how many posts it read from your published site, how many Lyra has already planned or written, and how many proposals it dropped for competing with something you have. If your sitemap could not be read, it says so there instead of quietly carrying on with less to go on.
1.4.1-beta - 2026-08-01 - See the links she added to your older posts
The step where Lyra links your existing posts to a new one now shows its work.
Added
- Opening that step on a post's page lists every older post she linked to it, the exact words she turned into the link, and the reason that post earned it. When she linked nothing, it says how many related posts she weighed and why none of them qualified, so a post with no new links reads as a decision rather than a step that did nothing.
1.4.0-beta - 2026-08-01 - Keywords people actually search
Lyra now checks real search demand before she decides what to write, so her posts target phrases people type instead of ones that only sound specific.
Added
- Every planned post is aimed at a keyword with real, measured search demand, in the range where a growing blog can realistically win. The blog page shows you which keyword a post targets and how often it is searched, so you can see why she chose it.
- Posts about something brand new still go out fast. A subject nobody is searching for yet is worth writing precisely because you get there first, so Lyra pairs it with an established keyword that earns readers straight away instead of waiting months for the new subject to catch on. She also schedules those posts first.
Changed
- Titles and section headings are now written around the post's keyword, so a post ranks for the thing it was chosen for rather than mentioning it once and moving on.
1.3.0-beta - 2026-07-31 - Your new posts join the rest of your blog
Every post Lyra writes now arrives connected to what you have already published, instead of sitting on its own with nothing pointing at it.
Added
- When Lyra finishes a post, she goes back through the posts already on your blog and adds a link to the new one wherever a reader would genuinely want it next. She reads your posts to decide, so only the ones that are really related get a link, and she adds nothing at all when nothing fits. At most three posts are touched, and each gets a single link written into the sentence where it belongs, never a list of related reading bolted onto the end.
- Those edits arrive in the same pull request as the post itself, and its description lists which posts she linked and why she chose each one, so you can see exactly what changed before any of it ships.
- Posts you had Lyra write before connecting your repository get the same treatment when they land in it, so nothing written early is left stranded.
Changed
- When Lyra picks posts of yours for a new post to link out to, she now chooses them by what they are actually about. On a blog with more than fifty posts she had only ever been shown the first fifty in alphabetical order, so much of your archive was invisible to her no matter how well it fit.
1.2.12-beta - 2026-07-29 - Every banner reaches the post
A banner Lyra draws now always arrives with the post, and weighs a fraction of what it did.
Fixed
- A banner Lyra had already drawn could go missing from the finished post. The larger ones were being discarded on the way to your dashboard, so the post arrived with no header image even though the work had been done and reported as finished, and nothing said why. A large banner is now resized to fit rather than dropped.
Changed
- Banners are now saved as WebP. It is the same picture at around a fifth of the size, so posts open faster in your dashboard and the image your readers load once the post is published is far lighter. A repository whose site cannot serve WebP still gets the format it expects.
1.2.11-beta - 2026-07-29 - Finding your blog, and your real banners
Learning your banner style no longer depends on how your site is built.
Fixed
- Lyra now finds your published posts even when your site has no sitemap. It reads your blog page directly, and if it does not know where that is, it follows your own site's navigation to it. A site without a sitemap used to look to Lyra like a site with no blog at all, so nothing was learned from it.
- The header image Lyra learns from is now the one on the post itself. Some sites give every post the same shared preview image, usually a logo card, and working from that produced a banner matching nothing you had published.
- When Lyra still cannot find one of your banners to work from, it now searches for your blog, takes a real banner off one of your posts and works from that before drawing anything. If there was genuinely nothing to find, it tells you so instead of quietly inventing a look.
1.2.10-beta - 2026-07-29 - Banners that look like your blog
Lyra learns your banner style from the posts you have already published.
Added
- Banners for posts written before you connect a repository now follow the look of your blog. Lyra reads the header image off your own published posts and works from it, so a new banner keeps your colours, layout and type and changes only the artwork and title. A site with no posts to learn from still gets one drawn from your brand, as before.
1.2.9-beta - 2026-07-29 - Setup that survives a bad start
Signing up and setting up hold together when something goes wrong on the way.
Changed
- Everyone now fills in the short form about themselves when they sign up, and gets in the moment they submit it. No queue, and no waiting on an email.
Fixed
- Signing in no longer occasionally fails outright and leaves a half-made account behind.
- When Lyra cannot read your site during setup, the chat offers to try again instead of moving you on with nothing, and a slow read is waited out rather than reported as failed.
- Refreshing part way through setup no longer jumps you ahead to an analysis that was never produced, and a site read that failed and then worked no longer shows the failure beside the result.
- Lyra learns your voice from posts across your whole blog instead of only the oldest ones.
- Lyra's emails no longer say you are waiting on a repository when your posts are already written. If posts are waiting, she leads with what is ready and mentions that connecting a repository opens a pull request for each one.
1.2.8-beta - 2026-07-29 - A dashboard that points you the right way
Every screen sends you to where the work actually happens.
Changed
- The Overview's repository card is one line pointing at Settings, where connecting actually happens, instead of a whole setup flow in the middle of a status page. The sidebar's "Not connected" now takes you to the same place.
- Today's focus leads with the work that needs you. Connecting a repository is a publishing step, not a gate, so it no longer pushes ahead of choosing a focus, planning your first week, or upgrading. Finished posts waiting on a repository lead with how many there are, and something Lyra is already running says so instead of offering a button that would start a second one.
- A post's page asks you to connect GitHub beside the draft itself, and says what you get for it: the post released. That button no longer sits in the row that starts a post over, cancels it, or stops it.
- Back on a post returns you to the page you opened it from, so a post you opened from the calendar goes back to the calendar instead of the library.
- A finished draft shows on the calendar in the colour of a post that is ready, instead of sharing the colour of a day Lyra has not started yet.
1.2.7-beta - 2026-07-29 - See what a rewrite changed
A rewrite opens on the parts that moved, not the whole post again.
Added
- See what a rewrite changed. When Lyra improves a post you already have, that run opens on just the parts that moved, with how many lines were added and removed and a count of the unchanged lines it is hiding. The whole post is one click away, and a first draft still opens in full.
Fixed
- Reading a run no longer cuts a long post off part way through, and the tables, lists and links inside it now render properly.
1.2.6-beta - 2026-07-29 - What Lyra tells you about your repository is true
Every screen waits until it knows, instead of guessing from a weaker signal.
Fixed
- Starting to connect a different repository and then backing out no longer leaves a connected website looking unconnected. Until now that quietly sent every new post to your drafts instead of your repository, and skipped your repository's writing guide.
- A post can no longer be written in a shape your site cannot build: once a repository is connected, its own format leads the writing guide. A guide you wrote by hand is still kept, underneath, for your voice and tone.
- A post shows branch and pull request details only once its branch is really on GitHub. While Lyra is adding a post to your repository, the page says so instead of naming a branch that does not exist yet.
- Settings no longer reports a scan as pending in the middle of a running one, no longer goes blank when a check does not come back, and no longer shows the previous website's repository for a moment after you switch websites.
- The scan timer counts from when the scan started, so leaving the tab and coming back no longer restarts it or under-counts it, and picking a new repository starts it from zero.
- Lyra acts on a pull request comment only when it names her exactly, so a mention of a similarly named account no longer pulls her into work nobody asked for.
1.2.5-beta - 2026-07-29 - Every draft reaches your repository
The posts Lyra wrote before you connected now arrive whatever happens on the way.
Fixed
- A post you have paid for can no longer be stranded on its way to your repository. A move that was interrupted part way picks up where it left off instead of failing for good, and posts you stopped mid-write or whose writing failed are moved across too.
- Connecting while Lyra is paused, or while she is waiting out a rate limit, no longer gives up on your posts. She waits, then moves them across when she can work again.
- Restarting in the middle of a move no longer loses the post being moved, and a move that fails for a passing reason is tried again instead of landing in your "Needs you" list.
- Your posts are moved across even when Lyra cannot finish reading your repository, so a scan that fails no longer leaves them behind.
- A post is never placed in your repository twice, and posts are moved in the order they were scheduled, with undated ones last.
- A pull request Lyra opens from a draft carries that post's review score, so its description says where the post actually stands.
- A post written before you connect no longer comes back carrying the previous post's text.
- A post interrupted by a restart before you connected a repository no longer sits on Writing for good with nothing to retry.
- With a full calendar, Lyra starts with the earliest post due rather than skipping past it.
- A problem with one website's Claude key no longer stops Lyra's scheduled work on your other websites.
Security
- Files that come with a post can only ever be written inside the workspace Lyra prepared for it, and the branch and folder names she creates for it come from a cleaned-up version of the post's title.
1.2.4-beta - 2026-07-29 - Posts finish instead of circling
A post could get caught rewriting itself for hours. Now it settles and lands.
Fixed
- A post no longer loops between writing and reviewing long after it is good. The review used to start from scratch every time, so it kept raising a fresh set of small points even when the previous set had been fully fixed, and the post could never clear the bar. Each review now sees what the last one asked for and checks that work instead.
- Lyra stops treating a source it could not open as a source that is wrong. A page that times out, blocks automated readers, or sits behind a paywall no longer sends the post back for another rewrite. A link that is genuinely broken still does.
- A post that has stopped improving is handed to you rather than rewritten again and again. Small points can no longer hold back a post that has already met the quality bar and had its serious issues resolved.
- Live logs from two of your websites can no longer overwrite each other, so the activity view shows the right run for the right site.
1.2.3-beta - 2026-07-28 - Cancel a post you do not want
Merging is no longer the only way to finish with a post Lyra has written.
Added
- Cancel a post from its own page or straight from the Blogs list. When it already has a pull request, Lyra closes that pull request without merging it and moves the post to Cancelled.
- Your branch stays in the repository, so you can reopen the pull request on GitHub if you change your mind, or write the post again from Lyra whenever you want.
- Lyra asks you to confirm before she cancels anything, and tells you if she could not close the pull request so you can close it yourself.
- A post that is already merged and live cannot be cancelled. A post Lyra is still working on asks you to stop her first, so nothing is cancelled out from under her mid-write.
1.2.2-beta - 2026-07-28 - Ask Lyra on the pull request
Tell Lyra what you want changed by commenting on the pull request, the same way you would ask a colleague.
Added
- Ask for a change by leaving a comment on the pull request and mentioning Lyra. She makes the change, pushes it, and replies to say what she did. Review comments on a specific line work exactly as before and never need a mention.
- Every request gets one reply, including when Lyra cannot carry it out, so nothing you ask goes unanswered. She acts on each comment once; comment again to ask again.
Fixed
- Posts no longer come back with only a title and no body. A post that Lyra picked back up to improve could be saved empty, which also left the review scoring a post it could not read, so it never settled and kept trying.
- A blog written before you connect a repository no longer shows branch and pull request details for something that does not exist yet. You now see the draft Lyra is holding for you, with its review score and dates, and a way to connect a repository.
1.2.1-beta - 2026-07-28 - The post you read is the post you have
The post on your blog page now matches the one in your pull request, and you can take it away with its banner.
Fixed
- The blog page shows the current post. When Lyra rewrote a post to answer your review comments, resolve a merge conflict, or fit it into your repository, the page kept showing the older version while the pull request had already moved on. It now updates with every pass, so the two never disagree.
- Images inside a post no longer render as a broken picture in the middle of the article. The post's banner is still shown above it as before.
Changed
- Download gives you the whole post: a zip holding the markdown and the banner Lyra made for it. A post without a banner still downloads as a single markdown file.
- Copy and Download now sit with the post they act on, next to the Brief and Article switch, instead of crowding the row of buttons at the top of the page.
- You can copy and download a post once its pull request is open, not only before.
1.2.0-beta - 2026-07-27 - Posts before you connect
Lyra now writes your first posts as soon as you finish setup, and brings every one of them with her the moment you connect your repository.
Added
- Lyra starts writing before you connect a repository. Setup plans your calendar and gets your first post written right away, on the same visit, instead of waiting for its first scheduled day.
- Your calendar keeps running with no repository connected. Every post that comes due is written on its day and waits for you as a draft, so nothing stalls until you connect. You can plan a calendar before connecting too: all Lyra needs is your content focus.
- Lyra learns your voice before she writes: she reads your own published posts, or your site's marketing pages if you do not have a blog yet, and builds a writing guide grounded in how you actually write. You can re-run this from Settings any time, and edit the guide yourself.
- Posts written before you connect a repository show up in your dashboard with a review score, fully readable, with buttons to copy the markdown or download it as a file.
Changed
- Connecting your repository now brings every post Lyra already wrote with it: she fits each one to your repository's format and opens its pull request, in scheduled order. A post that still needs a person opens as a draft pull request instead of a regular one.
- If you edited your writing guide before connecting a repository, that edit is kept rather than replaced. Connecting adds what she learns from your repository to it.
- A post Lyra writes before you connect counts toward your plan's posts, the same as any other, since the writing is already done by the time it reaches your dashboard.
1.1.1-beta - 2026-07-26 - Free trial writing
Your free trial writes its posts on its own now, on the days they are planned, instead of stopping after the first one.
Changed
- Your free trial's calendar is planned once, when you start, and is not topped up after that. It already holds more posts than the trial covers, so Lyra no longer plans days she was never going to be able to write.
Fixed
- Your free posts now get written on their own, on the days they are scheduled for. Until now only a post you started by hand was ever written: every other planned day passed quietly, so most people on the free trial only ever saw their first post and never received the rest.
- Reviews keep running on the posts Lyra opens during your free trial, so a post that needs another pass gets one instead of stalling.
1.1.0-beta - 2026-07-26 - Notification controls
You decide what Lyra sends you, from Settings or straight from your inbox, and the guides are now one click away from anywhere in the dashboard.
Added
- A Notifications tab in Settings, with a single switch for whether you get product mail from Lyra. Account, billing and security mail is separate and always on.
- An unsubscribe link that works straight from your inbox without signing in, including your mail app's own Unsubscribe button. Turning it back on is done from Settings, so a forwarded link can only ever stop mail, never restart it.
- A Docs link in the top bar, so the guides are reachable from anywhere in the dashboard.
Changed
- Copy across the app now describes Lyra as the AI blog writer that lives in your repo, in her own voice.
Fixed
- Signing in no longer occasionally leaves your account with a second, empty website you never added.
1.0.1-beta - 2026-07-14 - Access emails and a safer writing guide
You now hear back by email at each step of getting access, and a failed re-scope can no longer wipe the writing guide Lyra built for your repo.
Added
- You now get an email confirming your request to access Lyra was received.
- You now get an email the moment your access is granted, whether on its own or as part of a batch.
Fixed
- If re-scoping a connected repo fails or comes back empty, your existing writing guide is kept instead of being wiped.
1.0.0-beta - 2026-07-14 - First public beta
Lyra opened to the public, bringing everything in the releases below together as one product you can sign up for.
Added
- Lyra is open to the public. Request access, create your account, connect a repo, and she starts writing.
Changed
- The writing pipeline, billing, teams, analytics, and payment tracking now ship as one product rather than separate pieces.
Fixed
- A final round of bug fixes and interface polish before opening the doors.
0.3.0 - 2026-07-14 - Payments and revenue tracking
Accurate, refund-aware tracking of every payment, replacing the earlier snapshot view of revenue.
Added
- Every payment is sorted by what it was for: a plan, an add-on, or an extra website.
- Refunds are recorded and netted out, so revenue totals stay correct.
- Payments are captured as they happen and reconciled once a day.
Fixed
- Steadier matching and recording of payments and refunds, including when a refund arrives before its original charge.
0.2.0 - 2026-07-14 - Conversions and marketing attribution
Conversion tracking and first-touch attribution, so the source of every sign-up and purchase is captured.
Added
- Key actions are tracked as conversions: sign-in, sign-up, purchase, new website, and adding payment details.
- Each user's first-touch source is captured and kept, so you can see where sign-ups come from.
- Sign-in tells a brand-new sign-up apart from a returning login.
Changed
- Conversion tracking never blocks or breaks a request; it runs quietly in the background.
0.1.0 - 2026-07-13 - The Lyra platform
The first platform release. It turns the blog pipeline we ran for our own site into the Lyra product, where everyone gets their own account.
Added
- The writing pipeline (foundation). Daily SEO topic discovery, drafting with hero banners, editorial / fact-check / pricing review on every draft, and an iteration loop that runs until a post is ready, with full run visibility.
- Your own account. Each user connects their own repo and brings their own Anthropic key, with strict isolation so no account can see another's data, and a per-repo writing guide built automatically when a repo is connected.
- Multi-website projects. Run several websites from one account, each with its own pipeline, analytics, agents, billing, and calendar, plus a quick switcher between them.
- Onboarding. Paste a website URL and Lyra fills in the focus area and settings for you to edit, grounded in SEO best practice, with an editable writing guide.
- Billing. Four plans (Free / Starter / Growth / Scale), per-website subscriptions, stackable add-ons (extra post packs and seats), a paid slot for each additional website, enforced monthly and Free-lifetime post limits, upgrade-now / downgrade-at-cycle-end, and billing on posts written.
- Teams. Per-website membership and roles, email invitations, and seat limits.
- Account security. Email verification and one-time codes, password reset, an access-request gate, and rate limiting to keep accounts safe.
- Analytics. Daily pulls from your connected Search Console, Google Analytics, and SEO data sources, tiered by plan, shown in a per-source panel.
- Auto-writer and calendar. A scheduled sweep that writes the posts due each day at your plan's pace, with the ability to cancel or reschedule planned posts.
- Reliability at scale. The pipeline keeps running smoothly under load, recovers automatically after an interruption, and paces itself so runs stay stable.