[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30wjiz9sj3i2f":3},{"releases":4},[5,37],{"version":6,"releasedAt":6,"revision":7,"days":8},null,"0eba5597c7ca6d3888b1ac3f841ac2d5f7aab6ac",[9,19],{"day":10,"revision":7,"entries":11},"2026-10-12",[12],{"kind":13,"title":14,"body":15,"sources":16},"action","Move your test suites into custom folders","Your own suites at the top of `test\u002Funit\u002F` and `test\u002Fnuxt\u002F` now see the kit's shipped configuration, not yours. Move them into `test\u002Funit\u002Fcustom\u002F` and `test\u002Fnuxt\u002Fcustom\u002F`, and move any columns from `test\u002Funit\u002Fschema-cascades.test.ts` to `test\u002Fhelpers\u002Fcustom\u002Fschema-cascades.ts`.",[17],{"sha":7,"pr":18},36,{"day":20,"revision":21,"entries":22},"2026-10-09","dad8e3d80b5685ab2ee5bc3430e1cfbbf40fb7b9",[23,31],{"kind":24,"title":25,"body":26,"sources":27},"new","PostHog now gets page-leave and dwell data","PostHog receives page-leave events with dwell time, scroll depth and the previous path. Visits that leave the site no longer count as instant bounces, and locale prefixes no longer split per-page stats.",[28],{"sha":29,"pr":30},"cbf3f7e81ce73b8e96754324a90503caa3b7383c",34,{"kind":24,"title":32,"body":33,"sources":34},"Coding agents can consult the documentation","Claude Code, Cursor and VS Code are now wired to the documentation server, so an agent in your app can search the docs and design notes instead of guessing. Agent instructions say the code wins where the two disagree.",[35],{"sha":21,"pr":36},35,{"version":38,"releasedAt":39,"revision":40,"days":41},"v1.0.0","2026-10-08T22:14:25.000Z","38da6579017dbd834cc20585722357a97777bcdb",[42,67,77,95,115,146,174,184,215],{"day":43,"revision":40,"entries":44},"2026-10-08",[45,53,60],{"kind":46,"title":47,"body":48,"sources":49},"fixed","Resend what Hyperdrive never sent to Postgres","Statements that time out before reaching the database are now resent up to three times, one then two seconds apart, including a transaction's connect and begin. A saturated Hyperdrive still fails without retrying.",[50],{"sha":51,"pr":52},"09fff2f8f10f9343496379510789f9d409410485",30,{"kind":46,"title":54,"body":55,"sources":56},"Stop Sentry counting the Worker as a user","Server errors no longer count as an affected user in Sentry. Each event now tells Sentry not to infer an IP address from the connecting Cloudflare address.",[57],{"sha":58,"pr":59},"375899e1a1758b8a19979698dce665f68794d3a1",29,{"kind":46,"title":61,"body":62,"sources":63},"Polish the account button, yearly badge and display names","People without a name now show the local part of their address everywhere instead of 'No name (You)'. The yearly saving badge floats over the tab's corner, and the collapsed account button is evenly padded.",[64],{"sha":65,"pr":66},"490a8d4c4e04f501f1ae44932080d78415ead2ab",32,{"day":68,"revision":69,"entries":70},"2026-10-06","52b3ae75da0fdce7ffe7f9bdaeb746fc334a15c4",[71],{"kind":46,"title":72,"body":73,"sources":74},"Send button stays put after a refused send","After a refused send, fields now validate as you type, so the error is gone before you press Send again. The button no longer moves out from under the pointer, and a click near its lower edge sends the form. A fresh form still waits until you leave a field.",[75],{"sha":69,"pr":76},28,{"day":78,"revision":79,"entries":80},"2026-10-05","6b495b393895489f033f1685225fb9171d71604a",[81,89],{"kind":82,"title":83,"body":84,"sources":85},"improved","Remove blog button from 404 and 410 pages","The 404 and 410 error pages no longer show a button that links to the blog.",[86],{"sha":87,"pr":88},"fc28224e24f7afdb2ca2f9c28dc8701af92c7869",25,{"kind":82,"title":90,"body":91,"sources":92},"Document image provider setting for deploys","The example environment file now lists the NUXT_IMAGE_PROVIDER setting for deploys and has shorter comments.",[93],{"sha":79,"pr":94},26,{"day":96,"revision":97,"entries":98},"2026-10-02","9e1aea26b2432a09cf4d7af19e7fd77a09e1a169",[99,108],{"kind":46,"title":100,"body":101,"sources":102},"Second dev server no longer stops when port 5432 is taken","A second dev server no longer stops when 5432 is taken: PGlite moves to the next free port and points the database commands and Drizzle Studio at it. The example ports moved to 5442 and 5450, outside the automatic range; a pinned port that is taken still stops the dev server.",[103,106],{"sha":104,"pr":105},"5de62b35b309d6d77848d86fa29ec74425bd16da",22,{"sha":97,"pr":107},24,{"kind":46,"title":109,"body":110,"sources":111},"Dev server no longer warns about unresolved packages","Running the dev server no longer shows a warning about ten packages it could not resolve in advance. Existing projects pick this up on their next install.",[112],{"sha":113,"pr":114},"1d3dcb89abfc78d0774e1941b74fe96c35ecc4bc",23,{"day":116,"revision":117,"entries":118},"2026-10-01","70f495b3c02d2c1032ba3abe0ba1e0e7a6607419",[119,126,133,140],{"kind":46,"title":120,"body":121,"sources":122},"App jobs now type-check in tests","An app's own jobs could fail type-checking as soon as a test imported them. They now check like the kit's own jobs do.",[123],{"sha":124,"pr":125},"5401d13bad5ecf4c83b5b335c1149403a8e50369",15,{"kind":46,"title":127,"body":128,"sources":129},"Content survives type-checking while the dev server runs","Running type-check while a dev server was up could wipe the content database and make every content page fail until a restart. The content update keeps the running server's data intact.",[130],{"sha":131,"pr":132},"1dbc3587e3e5c8a6d80cbd7de1712e766401fca2",16,{"kind":46,"title":134,"body":135,"sources":136},"Sample blog image no longer redirects the blog page","Under a dev server, visiting \u002Fblog redirected to \u002Fblog\u002F because a sample image sat in a folder of that name. The image has moved, so the blog page answers directly.",[137],{"sha":138,"pr":139},"4b6e5c87369a4815a3ce674cf12fe775ec463d3e",18,{"kind":46,"title":141,"body":142,"sources":143},"Animations no longer fail your test run","A browser-testing update made motion-v animations raise unhandled errors under vitest, so any app that animated could fail its suite. The update is held back until the underlying bug is fixed.",[144],{"sha":117,"pr":145},21,{"day":147,"revision":148,"entries":149},"2026-09-30","131069ce30cb905d2992f73c3a274730bd5a1b68",[150,160,167],{"kind":24,"title":151,"body":152,"sources":153},"Email-link sign-in now proves the account's address","Email-link sign-in now proves an account's address, and a link can only prove the address it was sent to. Until it proves that address, an account can't add a sign-in method, buy, or invite or promote members, and suspended accounts are refused before the link proves anything.",[154,157],{"sha":155,"pr":156},"d1c3f48a15f7eafdc133278b3d5b6cffb751dccd",10,{"sha":158,"pr":159},"39f6fe3a4c57ecece8bb2674783192d0dc733df6",12,{"kind":46,"title":161,"body":162,"sources":163},"License now names the licensee","The license document now names the person or company it is issued to, not only at checkout.",[164],{"sha":165,"pr":166},"dd66961af9a3b1db6984e92a72a45ff9586f190b",8,{"kind":46,"title":168,"body":169,"sources":170},"Signed-in visitors are sent on from the magic link page","Visitors who are already signed in are now sent on from the magic link page instead of being held there.",[171],{"sha":172,"pr":173},"3ab20a4e1a04d68c1e345c56368be988043855c2",13,{"day":175,"revision":176,"entries":177},"2026-09-29","db3a51ec9e7c9892c86d2adecb12f11307f6f3f4",[178],{"kind":46,"title":179,"body":180,"sources":181},"Polar payments now use a fixed API version and verify webhooks with any secret","Checkouts and refunds no longer break when Polar changes its API; if the fixed version is rejected, the kit falls back and reports the problem. Webhook signatures are now verified for any secret format, and error reporting gives up on a stalled tracker after three seconds.",[182],{"sha":176,"pr":183},7,{"day":185,"revision":186,"entries":187},"2026-09-28","3217573eb93577c0176f5b37eeb5863db0d901eb",[188,195,201,208],{"kind":24,"title":189,"body":190,"sources":191},"Let Stripe be the merchant of record","A new flag makes Stripe the merchant of record: Stripe handles tax, fraud, disputes and receipts, and you no longer owe the tax yourself. Stripe must approve the account, and products need eligible tax codes. Turning it on with Stripe Tax makes checkout refuse to run.",[192],{"sha":193,"pr":194},"ffee45e556503a22c09d8e66e1c9be9b15953303",4,{"kind":24,"title":196,"body":197,"sources":198},"New Nuxter logo and favicon","The kit now ships the Nuxter mark: an N built from a diagonal band between two blocks, which also reads as a percent sign. In the app the mark uses your primary colour, and the favicon follows the colour scheme.",[199],{"sha":186,"pr":200},6,{"kind":82,"title":202,"body":203,"sources":204},"Default resources named after Nuxter","The default Cloudflare database, Hyperdrive, avatars bucket and queues now use the Nuxter name instead of the kit's working title. Package and analytics labels follow.",[205],{"sha":206,"pr":207},"437bc315f45283a1abc3714cc865b3e2489f45cf",5,{"kind":46,"title":209,"body":210,"sources":211},"OAuth-only sign-in works with passkeys and TOTP off","Turning off passkeys no longer breaks the login page, and turning off TOTP no longer breaks the build. Apps can also drop the pro plan or a locale from the config without code edits, and the docs mark which directories belong to the app.",[212],{"sha":213,"pr":214},"23c8026477c84877bdf864580f6551caea10434d",3,{"day":216,"revision":217,"entries":218},"2026-09-27","f71de0f8687816000a076c9aba6222efa9352d58",[219],{"kind":24,"title":220,"body":221,"sources":222},"Initial release of the kit","The starter kit is now available to build your product on.",[223],{"sha":217,"pr":6}]