最新动态
了解最新的功能、改进和修复。
Readable in both themes, and reachable by keyboard
An accessibility pass measured against the pages the site actually serves, rather than the code that produces them. Every finding here was invisible in the source.
- 修复Error messages were unreadable in dark mode. Form validation text sat at 1.84:1 against the background — technically present, effectively invisible. It now meets the 4.5:1 the standard asks for.
- 修复Link and button text in the light theme fell below the contrast minimum. The brand orange is slightly darker so body copy in it is genuinely readable, not just readable-looking.
- 修复Form field borders were nearly invisible in both themes. The edge of an input is what tells you it is an input, so it now has enough contrast to do that job.
- 修复Fourteen pages had no main landmark, so "skip to content" had nothing to skip to and screen reader landmark navigation walked past the page body.
- 修复The roadmap's status columns looked like headings but were not, so nothing navigating by heading could find them. They are real headings now, and the page reads in the order it appears.
- 修复An arrow link on the blog announced as "link" with no indication of where it went, and two panels on a service page both announced as "complementary" with no way to tell them apart.
- 改进Contrast is now checked by the test suite. The colour that started this carried a comment claiming it was accessible; it was not, and nothing was measuring.
- 改进Tightened the browser security policy: removed permissions nothing used, and added the header that isolates this site from any page that opens it.
216 pages that existed but were never announced
Pages can be built, correct and completely undiscoverable. This release closes the gap between what the site serves and what it tells search engines it serves.
- 修复216 pages were missing from the sitemap, including every buyer-need and project page. They were live and reachable, and nothing pointed at them.
- 修复Translated pages competed with their own English versions instead of being recognised as translations of each other, so the wrong language often won.
- 修复The public roadmap described two different products, neither of them this one. It now lists what shipped, what is next, and what is known to be broken.
Five failures that had been failing quietly
Each of these had a graceful fallback, which is exactly why they lasted. Nothing errored, nothing looked broken, and the feature simply did not work.
- 修复Enquiry emails reported success without being delivered. The confirmation now reflects what actually happened rather than what was attempted.
- 修复The admin audit log recorded nothing at all. Sign-ins and sign-outs are now written to it.
- 修复The AI key in production was invalid and no page or check said so, because every caller fell back silently.
- 修复Project briefs were being cut off mid-sentence when the model hit its output limit.
- 改进The health check now verifies the things that actually break — a verified sending domain rather than the mere presence of a key — and reports degraded separately from down.
- 改进Every service in the marketplace has an illustration that is about that service.
The site got much faster, and readable in eight languages
Most of the site was being rendered on every request when almost none of it needed to be.
- 改进Pages are now built ahead of time instead of on demand: 5 prerendered routes became 365, and the homepage went from 25ms to 8.8ms to first byte.
- 改进The marketplace page went from 887KB of HTML to 259KB, and from 3,746 elements to 920 — the difference between a page that stutters on a phone and one that does not.
- 修复Every documentation link on the docs index led nowhere. The pages had never existed, and the index rendered ten confident cards pointing at them.
- 改进The service catalogue reads in all eight languages rather than falling back to English.
- 改进Link previews now show what the page is and what it costs, with the logo, rather than a generic card.
Every service has its own page and a real price
The marketplace stopped being a filtered list and became a set of pages a person or a search engine can actually land on.
- 新增Each service has its own page, priced against the live market, with a quote you can request without creating an account.
- 修复Signing in with Google failed with a redirect mismatch. There is now one callback URL per provider, and a test that fails if a second one appears.
- 修复The GitHub importer hid every repository you collaborate on but do not own, which for most people is most of their work.
Projects, flows, and tasks that know who they are for
The workspace gained the structure the extensions had been assuming was there.
- 新增A project switcher, and projects you can import straight from GitHub.
- 新增Flows: writing down what has to keep working, so a change that breaks it is caught rather than discovered.
- 改进Tasks now distinguish what a person is meant to do from what an agent is meant to do, instead of mixing both into one list.
- 改进Sign-in asks Google for the minimum it will give, and requests anything more only at the moment it is used.