Public log

What shipped

Selected updates to SiteLetter, newest first. New features, refinements, fixes. Not every commit gets an entry; the ones worth knowing about do.

August 2026

20 changes
Aug 21 2026
Fixed

Reports no longer claim more than was measured

Where a report could not measure something, it used to fill the gap with a good result. It now says what it could and could not cover, which is the difference between a report your client can trust and one that quietly flatters the month.

  • A week that was only partly measured no longer reads as 100% uptime. The report states how much of the period was actually covered.
  • Pages that were never compared are no longer folded into a no-visual-changes result. They are listed as not compared.
  • A certificate that browsers reject no longer shows a green count of days remaining.
  • An expiry date labelled as a renewal read like good news, so a certificate days from lapsing looked like one that had just been taken care of. An expiry date is now called an expiry date, in the report email, the PDF and the shared report link.
Aug 21 2026
Fixed

A recipient who cannot be emailed now says so

An address blocked after earlier bounces or spam reports still ended on a cheerful confirmation screen when it was added to a report, even though nothing sent to it would ever arrive. It now says the address cannot be delivered to, so you find that out before your client asks where the report went.

Aug 21 2026
Improved

Reports and alerts arrive in a new layout

Every email the product sends has been redrawn: a cleaner frame, your agency colour running along the top, and no block of raw link text at the bottom for people to copy and paste.

Aug 21 2026
Improved

Report history and alert history now cover every client at once

Both pages have moved out of the single-client view into the agency section of the sidebar, and list everything sent across your whole portfolio. Filter by client and by site, and the filter stays in the address bar, so a filtered view can be bookmarked or sent to someone.

Aug 21 2026
Fixed

Dropdowns open at full size again

On any page that loads its data first, a dropdown could open as a sliver a few pixels tall and could not be used. They open properly now. Empty lists were tidied up in the same pass, so a filter that matches nothing no longer claims nothing was ever sent for that client.

Aug 21 2026
Note

Every company that handles your data is now listed on one page

When a client's privacy review asks who else touches their data, there is now a sub-processors page to hand over, naming each company and what it does. The privacy policy, terms and cookie notice were revised alongside it.

Aug 10 2026
Fixed

A failed send no longer resends the whole report

If one address on a report's recipient list couldn't be reached, the send stopped there and the schedule treated the report as never sent, so it went out again the next hour to everyone who already had it. The send now continues past a failed address, that recipient is listed as not delivered, and the report goes out once.

Aug 10 2026
Improved

Uptime alerts name the site in the subject line

A down alert used to arrive as "1 site is DOWN", so you had to open it to find out which one. When the alert covers a single site it now reads "example.com is DOWN", which is enough to act on from a lock screen. Batches covering several sites still show the count.

Aug 10 2026
Fixed

Visual checks stay honest when a page stays broken

Two fixes to how a page is compared against its previous capture.

  • A page found broken used to become the new reference, so the next check compared broken against broken, found no difference, and went quiet about damage that was still there. Damaged captures are no longer used as the reference.
  • When the reference image had aged out of storage, the page was treated as never scanned, which reads as no change. It now falls back to an older capture, and if there isn't one the page is marked unverified rather than clear.
Aug 10 2026
Fixed

Billing updates can't be lost in transit

A billing update from Stripe that failed to record the moment it arrived was treated as handled and never sent again, which could leave an account looking like an expired trial while it was being billed normally. Those updates are now retried until they're recorded.

Aug 8 2026
Improved

One broken link is one problem, not one per page

A single broken link in a footer used to be counted once for every page it appeared on, so a small problem could read like a big one. Each broken link or image is now counted once, with the number of pages it reaches shown beside it.

Aug 8 2026
Fixed

Long-standing problems no longer get reported as new

When a scan could only reach some of a site's pages, the next full scan compared against it and treated everything it found as brand new, including problems that had been there for weeks. Comparisons now only run against pages the previous scan actually opened.

Aug 8 2026
Fixed

The same domain under two clients reads as two sites

If you monitored one domain for two different clients, the portfolio built both rows from the same record, so pausing one silenced the other. Each client's row now stands on its own.

Aug 2 2026
New

Find where a broken link or image sits on the page

Content Health findings now have a locate button. It opens that page's latest screenshot with the item outlined, so you can see whether a broken link is in the main navigation or buried in a footer nobody reads, without opening the site.

Aug 2 2026
Fixed

Healthy images no longer reported as broken

Images that render perfectly could show up as broken when a site serves different versions of the same image to different screens. The check now reads the version the browser actually loads, which clears a whole class of false reports on sites that have been migrated between hosts.

Aug 2 2026
Improved

Mobile and desktop scores read separately on the portfolio

The portfolio's Lighthouse column is now two columns, one per device, each showing that device's weakest category. A blended number hid failing mobile scores behind passing desktop ones. A site is only marked perfect when every device it's measured on is.

July 2026

17 changes
Jul 30 2026
Improved

The overview lists every site worst-first

Your whole portfolio is now one table, sorted so the sites needing attention are the first rows you read. Paused sites sit at the bottom, and every site shows its own favicon in the overview and the pickers so you can find a client by sight.

Jul 30 2026
Fixed

Fewer false downtime alerts

Three separate causes of a site being reported down while it was serving visitors normally have been fixed. Incidents now also record what actually failed, so a certificate problem, a DNS problem and a timeout no longer all read the same.

  • A site that turns away checks from one location no longer counts as confirming an outage. When two locations disagree, or one is refused, a third is asked before any alert goes out.
  • Sites that send unusually large response headers, common with WordPress performance plugins, are now read correctly by every check we run.
  • One common shared-hosting security rule rejected the check before it reached the site. Those checks now go through.
Jul 30 2026
Fixed

Site cards now reflect what was actually checked

A site whose scan stopped part way used to read "Awaiting first scan" even though it had real performance, visual and uptime results. It now shows what was collected, broken assets only report "Clean" once assets have genuinely been checked, and icon addresses that some site builders serve like pages no longer take up one of your monitored page slots.

Jul 28 2026
New

Settings now cascade from your agency down to each site

Set something once at agency level and every client and every site inherits it, including the ones you add later. Override a single client when that one needs to be different, and set alert rules and mute per site.

  • Alert rules cascade across agency, client and site. Report templates are set once at agency level and cover every client and every site; who receives each one and when is set per site.
  • Pause everything at once, a single client, or a single site. Scans, uptime checks, alerts and reports stop, and all your history stays.
  • New outside recipients confirm their address once. Team members skip it, and you get told when a report cannot reach someone.
Jul 22 2026
Improved

Billing shows your exact next charge

The billing page now reads straight from Stripe: your slot count, any discount on your plan, and the exact amount and date of the next charge. You can also type a slot count directly instead of clicking one at a time.

Jul 21 2026
Fixed

Scheduled report delivery fixes

Fixed an issue that could stop scheduled reports from going out, and made delivery self-healing: a missed send now goes out later the same day instead of waiting for the next period.

  • "Send now" no longer delays your next scheduled report.
  • The next-send time on the Reports page now follows the client's timezone.
  • New clients start with weekly and monthly report schedules already set up.
  • If a report has no confirmed recipients, you now get a heads-up email instead of silence.
Jul 19 2026
New

Scans now show live progress while they run

A progress bar appears whenever a scan is running, covering the first scan after signup, a manual "Scan now", and routine scheduled scans. It fills as each page is captured and audited, and flags a scan that has stopped making progress instead of leaving you guessing.

Jul 19 2026
Improved

Switching between clients and sites now happens in one place

The rows of client and site tabs across the top of the dashboard have been replaced by a single searchable picker in the sidebar. The client and site you are currently viewing are always named there, so it is clear what the page is showing.

Jul 19 2026
Fixed

Signup no longer stalls on slow-responding sites

Adding a site whose sitemap or domain records were slow to answer could use up the entire signup request, leaving the account without a scheduled first scan or report. Page discovery now works to a time budget, and the certificate and domain readings are filled in by the first scheduled scan instead.

Jul 15 2026
Improved

Client reports now pick up your agency brand color automatically

The report builder, live preview, and branding panel now use your organization's brand color by default, so a new client's reports match your agency without any extra setup. Leave a client's color blank to inherit it, or set one to override just for that client.

Jul 11 2026
New

A pricing guide for your care plans

New in Guides: how much to charge for website maintenance, with real published rates across five regions and a calculator to put a number on your own client list.

Jul 10 2026
Improved

Shared report links now show the full report

When you share a client's report, the link opens the complete branded report in one page: Performance, uptime, visual changes, broken links, SSL, and domain. The shared page stays private and isn't indexed by search engines.

Jul 8 2026
New

A free SSL/HTTPS checker, no signup

Check any domain's certificate in seconds: whether it's valid, who issued it, and how many days until it expires. Handy for a quick look at a client's site, or a prospect's before you pitch.

Jul 8 2026
Improved

Sharper SSL certificate checks

SSL monitoring now flags more certificate problems: expired, self-signed, untrusted, or issued for the wrong domain, not just certificates nearing expiry.

Jul 6 2026
Fixed

Ongoing issues no longer trigger a repeat alert on every scan.

When a check crosses one of your alert thresholds, SiteLetter now alerts you once and stays quiet while it stays over that threshold, instead of re-sending the same alert each time the site is checked. No more duplicate emails or Slack messages for a problem you already know about.

Jul 1 2026
Improved

Checks blocked by a site's bot protection no longer look like failures.

When a site's security or bot protection blocks a check, SiteLetter now marks it "Couldn't verify" instead of counting it as broken or sending a false expiry alert. The dashboard and the weekly email show the same neutral state, so a blocked check never reads as a real problem on a client's report.

Jul 1 2026
Improved

A faster dashboard, and a clearer Performance view.

A round of refinements to how you move around the dashboard and read a site's performance over time.

  • Switch sites from a tab bar. Jump between the sites in a client, and between clients, from tabs across the top instead of digging through a menu.
  • Uptime on a single page. The uptime summary and the per-page status table now sit together on one Uptime page.
  • Performance as a seven-day average. The Performance page shows a rolling seven-day average with the change from the week before, so one slow scan no longer swings the score.
  • Filter content health by type. Sort broken and insecure items by links or images to find what needs fixing faster.

June 2026

1 change
Jun 16 2026
Improved

Visual change tracking, rebuilt from the ground up.

The screenshot and visual-comparison engine was rewritten end to end. Captures hold steady from one scan to the next, and when a page changes the changed areas are boxed and labelled with the nearest heading instead of flagging the whole page.

  • Steadier captures. Each screenshot waits for the page to fully settle (fonts, images, animations, late-loading widgets) before it is taken, so unchanged pages stay consistent scan to scan and real changes stand out.
  • Pinpointed changes. Changed areas are outlined and spotlighted on the screenshot, and opening one tells you whether it was added, removed or edited. Content that only shifted position is detected and excluded from the change score rather than flagged.
  • Changes are graded by size on the dashboard, and client reports lead with whether a change looks like a content update or something possibly broken.
  • One simpler Visual Tracking page. The separate overview folded into a single history view, with per-device (desktop and mobile) status and a faster filmstrip for stepping back through past scans.

May 2026

6 changes
May 30 2026
Improved

Page discovery now follows your robots.txt rules.

SiteLetter respects the crawl rules in your robots.txt when choosing which pages to monitor, and the pages view shows how many pages those rules keep out of monitoring, with a sample of the paths. Your homepage is always kept, and discovery holds up better on large sites with sprawling sitemaps.

May 28 2026
Improved

Alternative comparisons now use more precise data.

The /alternatives matrix and most comparison pages were re-verified on this date. Each page carries its own 'last verified' stamp.

May 27 2026
Improved

Captures and change tracking are steadier on busy sites.

A few patterns that used to throw off a scan no longer do. Newsletter popups and cookie banners are hidden before capture, rotating banners are frozen, and lazy-loaded images are forced to load, so unchanged pages stop reading as changed.

May 26 2026
Improved

Screenshots and visual change detection both got sharper.

Page screenshots capture more reliably on complex layouts, with fewer missing chunks and less duplicated content. And when something on a page changes, the diff highlights just the area that moved instead of marking the whole page as different.

May 26 2026
New

Mixed content and insecure links now show up on content health.

Mixed content flags http:// scripts, stylesheets, iframes and images loaded by an https page (browsers block or warn on these). Insecure links lists http:// anchor URLs. Both show as separate sections on content health, distinct from broken resources.

May 24 2026
Improved

Weekly email report got a top-to-bottom polish pass.

A month after launch, the report sections had drifted into a patchwork of slightly different styles. This pass realigned them. Same data, quieter rendering, every surface speaking the same colour language.

  • Site Status section redrawn as a hairline-ruled stat block. The day counts are the design, traffic-light coloured (green / amber / red), no pill, no per-cell dots.
  • Uptime calendar aligned to the week (Mon-Sun columns with dates inside each cell), quarterly reports now split into three per-month mini-calendars with breathing room between them.
  • Broken-link reports now list the broken URLs with what went wrong, up to 8 inline with a "+ N more" count below. Clean state has its own quieter rendering.
  • Page Scores uses full Lighthouse names (Performance, Accessibility, Best Practices, SEO) instead of dev abbreviations, with period-over-period deltas inline.
  • Score badge for a perfect 100 is now green, not brand blue, so a single score follows the same traffic-light scheme as every other number on the report.

April 2026

1 change
Apr 26 2026
New

SiteLetter launches.

Public in late April 2026. Website monitoring built for agencies that bill a retainer. 15 pages monitored per client site. Flat $5 per site, per month. Built because none of the existing tools treated the monthly client report as the deliverable, and that is the actual deliverable.

  • Uptime, Lighthouse, screenshots, visual regression, broken-link and broken-image checks.
  • Branded client reports: your logo, your brand colour, your reply-to address, and your agency name as the sender.
  • Report schedules: weekly, biweekly, monthly, quarterly. Quarterly reports split into per-month mini-calendars so the grid stays readable at email width.
  • Portfolio overview across all client sites in one table.