Skip to main content
CompanyGuard

Changelog

What's new in CompanyGuard

Every release that changed something you can notice, newest first: what we added, what we changed and what we fixed.

  1. v0.34.2

    Full page width restored

    Fixed

    • Pages in the signed-in app use the full width of the window again, as before v0.34.1.

  2. v0.34.1

    A finished workspace frame

    Changed

    • Top bar. Every page now opens with a bar that names your practice and the page you are on, shows whether the page is live, and carries your trial or plan status with its next step, instead of a box above the page.

    • Theme switch with System. The switch in the sidebar is three icons: System, Light and Dark. System follows your computer's setting and changes with it.

    • Your account in the sidebar. The bottom of the sidebar shows your initials, name and email, with a sign-out button beside them.

    • Readable width. On wide screens pages keep a comfortable width instead of stretching fields across the window.

  3. v0.34.0

    Sprint 34 completed

    Changed

    • One design for every workspace page. Portfolio, Cases, Team, Settings, Billing, Service status, Audit log and Wishlist now share the same page layout: a title, then titled sections with the same boxes, forms and buttons. Field labels look the same everywhere, form fields keep a readable width and buttons are as wide as their label.

    • The sidebar fills the screen. On every page, short or long, the sidebar reaches the bottom of the window, and your account, the theme switch and Sign out are always in view.

    • The theme switch matches the navigation. The chosen theme is marked the same way as the page you are on.

    • One practice, no switcher. If you belong to one practice, the sidebar shows its name instead of a list and a button that did nothing.

    • Wishlist sits in the same layout as the other pages, with the suggestion form beside the ideas.

    Fixed

    • The app connects to its database directly over the private network, so connections are no longer dropped by the network proxy in between.

    • The server runtime and libraries are updated to their current versions, including security fixes.

  4. v0.33.0

    Sprint 33 completed

    Added

    • Sessions in Settings. See every browser signed in to your account, with its network (last part hidden) and when it was last active, and sign out one or all others at once.

    • Security emails. You get an email when your password is changed or reset, your authenticator is replaced, new recovery codes are made, someone signs in from a browser not used for 90 days, and when your sign-in email change is asked for or done. The last two go to your previous address with a link to cancel or undo the change.

    • Replace your authenticator yourself. In Settings, with a code from your present authenticator (or an unused recovery code) and one from the new app.

    • Support can look at your workspace, with your record of it. When you ask for help, a CompanyGuard staff owner can view your workspace as you see it for up to 30 minutes. They cannot change anything. A banner shows while it lasts, and your audit log records who, when and why.

    • Show password button on every password field; pasting is always allowed.

    • Six-month simulation in the repository, run before each release to catch problems a practice would meet over time.

    Changed

    • New recovery codes. Recovery codes are now longer (shown as XXXX-XXXX-XXXX-XXXX) and stored so that a copy of our database cannot reveal them. Every earlier set stopped working with this release. Settings shows a notice until you make a new set; please make one and keep it safe.

    • A password that meets the new rules. Passwords need at least 15 characters, may not contain your email name or domain, your practice name or "CompanyGuard", and may not appear in a known data breach. If your password was set before these rules and does not meet them, you are asked to choose a new one when you sign in.

    • Passwords are checked against Have I Been Pwned: only the first 5 characters of a hash of the password are sent, never the password itself.

    • Staff have two roles, owner and employee, and the last staff owner cannot be removed.

    • Undoing an email change also stops the old password and emails a link to set a new one to the restored address.

    • Every sign-in starts a fresh session, and sign-in sessions are stored only as a hash.

    • Passwords saved with older settings are stored again with the current ones at your next sign-in.

    Fixed

    • A case for filed accounts can now be verified against the newer Companies House record instead of staying "Ready to verify" for good, and each refusal says why.

    • The daily digest lists only what is new since the last one, and a Companies House outage alone sends no digest.

    • Alert destinations follow your plan: one whose channel is not in your plan is marked "Not in your plan", cannot be turned on, and is kept for when you upgrade. Settings and Billing say when destinations stop.

    • Identity evidence that Companies House does not provide no longer opens a case; it stays visible as UNKNOWN. Open cases created that way were dismissed with that reason.

    • Companies without your own label show their registered name from Companies House everywhere, alerts included. The portfolio reads well on tablets.

    • "Check Companies House now" no longer says a check is scheduled when one has just finished; it says when the last check ran.

    • An import goes up to your plan limit instead of refusing the whole file.

    • Invitations, refusals and the sign-in reply say what happened, in fewer words.

    • Live updates recover by themselves when the database connection is dropped.

    • Second-factor codes are limited per account on every route, and the account owner is emailed when the limit is reached.

    • A server library with a known HTTP/2 weakness is updated to the fixed version.

    • Case actions are checked against your plan on the server, not only hidden on the page.

  5. v0.32.2

    Deadlines show again

    Fixed

    • Every company check now uses the deadlines and status it reads from Companies House. Since early October each check was wrongly saved as "evidence unavailable", so portfolios showed "Deadline unknown" and no new deadline actions appeared. The next automatic check, within a day, brings every company up to date.

  6. v0.32.0

    Sprint 32 completed

    Fixed

    • The demo names the step before a source check "Ready to verify", the same as the app.

    • The changelog lists every release in order: v0.30.0 and v0.31.0 reached production together on 12 October 2026 and now have their own entries.

  7. v0.31.0

    A customer workspace that tells the truth

    Added

    • Check your email after registering

      Registering now shows a "Check your email" page with the address the setup link went to, a way to send it again after a minute and a way to correct the address. Every address gets the same answer, so the page never reveals whether an account exists.

    • From what is due to who handles it

      Portfolio lists what falls due: overdue, this week, next week and later this month. Every item in the action inbox links to its case. Cases shows how many there are, with views for all cases, your cases and unassigned ones. Marking an item reviewed says who did it and when, and it can be reopened.

    • Alerts you can trust

      A new alert destination (SMS, Slack, Microsoft Teams, Discord, Telegram or webhook) turns on only after you type back the six-digit code its test message carried, so alerts are never sent somewhere they do not arrive. The practice alert email follows your sign-in email when you change it, and the old address is told.

    • Recovery codes and a lost phone

      Settings has a Security section: how many of your ten recovery codes are left, and a button to make ten new ones, shown once with a download. If you lose your phone and every recovery code, email support from your sign-in address: after checking your practice name and role, we send a link to set up a new authenticator. Your account, password and practices stay as they are.

    • Live badge

      Workspace pages show "Live" while they update themselves, and "Reconnecting" if the connection drops. There is no refresh button: pages are always current. The button on each company now reads "Check Companies House now".

    Changed

    • Settings asks to confirm it is you only where it matters

      Settings opens straight away. Changing your sign-in email or password, and making new recovery codes, asks for your password and authenticator code if you signed in more than ten minutes ago, and then brings you back where you were, including an email-change link you had opened. Deleting the practice moved from Billing to Settings.

    • Adding companies

      Pasting company numbers adds the valid ones and keeps only the entries that need fixing in the box, with the reason for each. The CSV import accepts the header in any letter case, with or without the label column, and has a template to download.

    • Casework that explains itself

      The case form says how a case closes: choose "Ready to verify", then "Verify with latest source data". Owners and admins can dismiss any case; a member can dismiss a case assigned to them. Dates and times are shown in UK time. The printed dossier keeps technical references out of the way.

    • Team

      Each person sees only the team controls they can use, and the only owner's row explains why it has none. Accepting an invitation while signed in opens the new practice straight away.

    • Honest states

      A company whose Companies House record could not be read says "Deadline unknown", never "No current deadline". Service status reports how current the source data is. Pages with nothing to show say so plainly, without empty tables, charts or page buttons.

    • Faster public pages

      The charting library now loads only in the signed-in workspace, so public pages download less.

    Fixed

    • A throttled sign-in says to wait instead of "Invalid email or password".

    • "1 day overdue" instead of "1 days overdue".

    • The "Skip to main content" link no longer shows in the middle of a page.

    • Close and sign-out buttons are larger and easier to press; sign out works without JavaScript.

    • Selects look like selects again.

  8. v0.30.0

    Your own workspace, light or dark

    Added

    • Light and dark theme

      The signed-in workspace has a Light / Dark switch in the sidebar and the mobile menu. Your choice is kept on this device. Public pages stay light.

    Changed

    • Sign-in addresses

      Sign-in, registration and password pages moved under /app/auth/. Links already sent by email keep working: the old addresses redirect, with the link kept, until 11 November 2026.

    Fixed

    • A security update for the decimal library.

  9. v0.29.1

    Clearer pricing table and tidy buttons

    Fixed

    • The pricing table shows what each plan includes at a glance

      Included features and included amounts, such as the number of team members, the SMS allowance and how long history is kept, now show a filled green check with dark text. Features a plan does not include keep a muted outline mark, so the two no longer look alike. The pricing and product pages now say plainly that every plan covers the whole evidence workflow and that larger plans add team members, alert channels and longer history.

    • Buttons side by side line up

      Where a trial button sits next to another button, both now have the same height and line up, and the "No card required" terms sit under the row. This affects the demo, product and comparison pages and the closing sections of the pricing, product, comparison and deadline calculator pages.

  10. v0.29.0

    Plans that fit the size of your practice

    Added

    • What each plan includes

      Every plan still checks every company, keeps every case and dossier and exports your portfolio. The plans now also differ by team size, alert channels and history: Starter includes 3 team members, email and browser alerts and 12 months of monitoring history; Growth includes 10 team members, adds Slack, Microsoft Teams, Discord, Telegram and webhook alerts and keeps 24 months; Scale has no team limit, adds 100 SMS alerts a month and keeps 36 months. A trial includes everything. If a limit is reached, the page says which plan lifts it. Nothing you already have is removed.

    • Paying yearly

      Plans can be paid yearly at about 15% less than twelve monthly payments, through the same secure Stripe checkout. The Billing page shows how your plan is billed. Yearly payment appears on the pricing and Billing pages once it is switched on.

    • Deleting a practice safely

      Deleting a practice now takes your current password and the practice name, and happens 14 days later. Until then everything stays readable, you can download the CSV export, and you can cancel the deletion from the Billing page. An active subscription is set to end with the period you have paid for, so nothing more is charged. We email you the date.

    Changed

    • Reading your records after a payment problem or cancellation

      If a payment could not be collected or the subscription was cancelled, your portfolio, cases, dossiers and CSV export stay available to read. Monitoring and changes pause, and the page says why. A cancelled practice can choose a plan again from the Billing page, with everything kept.

    • Faster pages

      The Cases page no longer writes anything when it opens, and the Billing, Team, Cases and dossier pages read your data once instead of twice.

    Fixed

    • Registration and team invitations are limited per hour, so nobody can use them to flood an address with email.

    • A company label with invisible joining characters could stop a CSV import; it is now checked like any other label.

    • Prices of four digits are shown with a thousands separator.

  11. v0.28.1

    Invited colleagues join your practice

    Added

    • Invited colleagues can create their account from the invitation

      A colleague you invite who does not have a CompanyGuard account can now create one straight from the invitation email. The account uses the invited email address, joins your practice with the role you chose, and goes through the usual password and two-step setup. No separate practice or trial is created for them. A colleague who already has an account logs in and accepts as before.

    Changed

    • Invitation pages stay focused on joining

      The invitation and account setup pages no longer offer a separate trial in the header, so a colleague joining your practice is not pointed at starting a new one.

    Fixed

    • Spreadsheet exports now also neutralise formulas that begin with full-width or other lookalike characters, so an exported cell cannot run as a formula.

    • Email addresses with hidden control characters are refused with a clear message instead of failing.

    • Only owners and admins can open a service exception.

    • Former members no longer appear as current members in practice details used by support.

    • Removing a team member, recording a payment update or saving source evidence now reports a problem instead of stopping when something goes wrong.

  12. v0.28.0

    Deadline answers, a free calculator and an open changelog

    Added

    • Free filing deadline calculator

      A new free tool at /companies-house-deadline-calculator works out when a company's annual accounts and confirmation statement are due, from its year end or incorporation date. Each date shows the rule that decided it and links to the official guidance. Where GOV.UK and the Companies Act read a February date differently, the page shows the earlier date and explains the other reading. The result has its own address, so you can share it.

    • Deadline guides

      Two new guides explain the accounts filing deadline and the confirmation statement deadline: the rules for first, normal and shortened periods, how the date is counted, the late filing penalties, and what happens when a statement is not filed. Every figure comes from GOV.UK, with the date it was checked.

    • Company status glossary

      A new page at /company-status-glossary explains every company status Companies House shows and every state CompanyGuard gives a company. It is built from the same lists the product uses, so the page and the workspace always agree.

    • Comparison page

      A new page at /compare sets a spreadsheet, the free Companies House email alerts and CompanyGuard side by side, with every Companies House claim linked to its source. It also says when the free options are enough.

    • Public changelog

      A new /changelog page lists what changed in each release, newest first.

    Changed

    • Footer on phones

      On narrow screens the footer links now sit in two columns, so the page content comes first and the footer stays short.

    Fixed

    • Company statuses now use the same wording as Companies House on the free check and in the portfolio, for example "Voluntary Arrangement" and "Receiver Action".

    • A staff action that could not record an email opt-out now shows the failure instead of stopping the page.

  13. v0.27.0

    Public pages rebuilt as one consistent site

    Added

    • Guides hub

      All guides now sit under one page at /guides, with breadcrumbs, links to related guides, the product page and pricing, and the date each guide was last updated. The three existing guide addresses are unchanged.

    • About page

      A new /about page says who builds CompanyGuard, where its data comes from and how to reach support.

    • Evidence rules page

      The technical rules behind every result (how often companies are checked, when a deadline counts as upcoming and when source data is treated as out of date) moved from the product page to their own page at /evidence-rules. The numbers on it are read from the code that applies them.

    • Branded error pages

      A missing or failing page now shows a CompanyGuard page with links to the free check, the guides and pricing, instead of a bare error. It works even when the database is unavailable, and search engines are told not to index it.

    Changed

    • Product and pricing pages

      The product page is now a sales page that explains what CompanyGuard does for an accounting practice. The pricing page shows the plans side by side with one recommended plan, a table of what every plan includes, how paying works, and answers to common questions. Prices and trial terms come from the same source as checkout.

    • One look across the public site

      Every public page uses one set of colours, type sizes and spacing, and one button style. Text and form borders meet the WCAG AA contrast level, and pages scale up cleanly on large and 4K screens. The privacy notice and service information are unchanged word for word, now with a contents list.

    • Clearer signals for search engines and AI assistants

      Every public page describes CompanyGuard the same way: one company (Elixon LTD), one product, prices taken from the plans. Each page has its own preview image when shared. The sitemap and llms.txt include the new pages.

    • Pages stay correct while connecting

      The "reconnecting" notice no longer flashes on the first view of a page before it has connected.

    Fixed

    • The demo stopped working when it received an incomplete action; it now ignores it.

    • The free check page could fail to open when its clock setting was wrong.

    • A link followed by a full stop showed a stray space before the full stop.

    • The staff console now tells search engines not to index it, like the workspace.

    • The page details we give search engines are handled more safely and no longer repeated in the page footer.

  14. v0.26.0

    Trial lifecycle, one source of public facts and honest analytics

    Added

    • A complete no-card trial

      The trial now lasts 30 days for up to 100 companies, with full functionality and no card. A banner on every workspace page shows how many days are left, and the billing page shows the end date, what happens next and the plan choice, so a paid plan can be chosen at any point during the trial. One 30-day extension can be taken in the last week. Reminders arrive 7, 3 and 1 days before the end, on the last day and once more 3 days later. A trial that would end between 15 December and 7 February ends on 7 February instead.

      After a trial ends without payment, the workspace stays readable for 90 days: portfolio, case history, dossiers and CSV export. Monitoring and notifications stop. Choosing a plan restores everything with no new setup. Data of a practice that never paid is deleted 90 days after the trial ends, and every owner is told 14 days before.

    • Sign-up that always matches the offer

      Every page that offers a trial, and the trial start itself, now follow one rule, so a page can no longer promise a trial that sign-up does not give. When the trial is not on offer, pages invite you to create an account and choose a plan instead.

    • Generated discovery files

      robots.txt, sitemap.xml and llms.txt are generated from the list of public pages and the product facts. Search engines and AI assistants may read every public page; the workspace is excluded for all. Sitemap dates follow real page changes.

    Changed

    • One source for prices, limits and company details

      Prices, plan limits, trial terms and our company details each live in one place, and every page, answer, legal text and email reads them from there. Page titles no longer change after a page finishes loading and no longer repeat the brand.

    • Analytics you can trust

      Website and workspace analytics share one configuration. Campaign tags such as utm_source are kept. Pages opened from private links, the second login step and the staff area are never measured. In the workspace, analytics records only an internal account identifier and never your name, email address or company data. Staff reports show "not measured" instead of zero for anything that could not be collected. The privacy notice describes this.

    • Faster, live workspace

      Switching practice, changing your password and entering your second factor now happen on the page without reloading it. Switching practice in one tab moves your other open tabs too, and changing your password signs out your other devices while keeping you signed in. If you are removed from one practice but belong to another, you move to the other practice instead of being signed out. After this release everyone starts in their first practice once.

    • Works on every screen

      Every public page and workspace screen was checked at every width from a small phone to a 4K screen. Charts no longer push a narrow phone screen sideways, plan names on the billing page use regular text, and page titles sit closer to their description on phones.

    • One-click unsubscribe

      The marketing opt-out page works without reloading and is the same page whichever email it came from. Mail apps that offer an unsubscribe button now stop marketing emails in one click. An opt-out link that cannot be read shows a form to stop marketing emails by address instead of an error.

    • New browser icon

      Browser tabs show the CompanyGuard shield on a transparent background, readable on light and dark tabs. Home-screen icons keep the full square.

    Fixed

    • An ended trial could still add companies; it cannot any more.

    • A practice that paid after its trial ended was never refreshed automatically again; refreshes now resume.

    • Account setup now tells you clearly when no trial could be started and where to continue.

    • Notification settings accept only the fields a user may change.

    • Webhook addresses are checked more strictly.

    • A link or form with an invalid case or assignee now gets a clear error instead of a server error.

  15. v0.25.0

    Security hardening and the identity verification guide

    Added

    • Identity verification deadline guide

      A new guide explains when existing directors and people with significant control must verify their identity with Companies House, with every date linked to its GOV.UK source, the steps a practice should take and answers to common questions.

    Fixed

    • Safer two-step login

      The second login step is now checked on our servers, expires after a short time and cannot be used again once you are signed in. A code from your authenticator app is still accepted when your phone's clock is slightly off.

    • Account setup that survives switching apps

      When you set up your account, the QR code and recovery codes stay the same if you switch to your authenticator app and come back, reload the page or make a mistake in the form. A wrong six-digit code is reported before the form is sent. Setup links now work for 24 hours and only once, and requesting a new link cancels the old one.

    • Private links stay private

      Pages opened from setup, password reset, team invitation, email confirmation and marketing opt-out links never load analytics, are never stored by shared caches and never pass their address on to other sites. Those addresses are also kept out of our logs and error reports.

    • Fair login limits

      Login and recovery limits now count each visitor's own connection instead of treating everyone as one, so one person repeating attempts can no longer lock others out.

    • Marketing opt-out always works

      An opt-out link from any marketing email records your objection, however old the email is. If the request cannot be saved, you see a clear message with our support address instead of an error page.

    • A faster, fairer free company scan

      The free company scan shows that it is checking Companies House while it waits, never freezes the page, and no longer shows a "Nil" status when the source is unavailable. Anonymous scans have their own share of our Companies House allowance and a short cache, so they can never slow down monitoring for customers.

  16. v0.24.0

    Safer forms and team privacy

    Fixed

    • Forms answer with clear field errors

      Every form is now validated by the server, and the message appears next to the field that needs attention. Clearing the email in Settings no longer breaks the page, a team invitation with an invalid address says what is wrong with it, and case decisions explain the allowed reason length and date format.

    • Safer handling of unusual input

      Companies House numbers written with lookalike characters are no longer accepted as another company's number. Text containing control characters is refused with a form error instead of an error page, uploads in other encodings or with broken quotes get a clear message, login accepts your address in any letter case, and alert subjects and daily digests stay within delivery limits for long or multi-line company labels.

    • Pending invitations stay with managers

      Only owners and admins load pending team invitations. A colleague promoted to admin while the Team page is open now sees every pending invitation, not only new ones.

See what CompanyGuard does today

Deadlines, material Companies House changes and source evidence for every client company, in one action inbox.