From 09f8b6273702fa24690a6ca12a6adf2f250b7756 Mon Sep 17 00:00:00 2001 From: arcabotai <261107832+arcabotai@users.noreply.github.com> Date: Mon, 22 Jun 2026 09:47:42 -0400 Subject: [PATCH] docs(changelog): reconstruct the complete changelog from full git history Rebuilt the public /changelog (and its CHANGELOG.md mirror) to comprehensively cover every user-facing change since the 2026-05-24 Castora bootstrap, reconstructed from the git history (diffs read per era, engineering/deploy noise omitted): - Added the missing 2026-05-31 "Public source release" entry. - Enriched the 2026-05-29 reliability/security/transparency entry. - Consolidated the 2026-06-22 work into a feature + a fix entry. - Fuller 2026-05-24 launch and 2026-05-26 wallets entries. 8 dated entries, launch through today, newest first. --- CHANGELOG.md | 35 +++++++++++++++------------ src/app/changelog/entries.ts | 47 +++++++++++++++++++----------------- 2 files changed, 44 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7bcfe9..8d9619c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,34 +7,35 @@ the public changelog at [castora.social/changelog](https://castora.social/change > `src/app/changelog/entries.ts` (the website source of truth, newest first) and > mirror it here. Keep wording user-friendly. See `AGENTS.md`. -## 2026-06-22 — Fixes & hardening -- Fixed the preview image shown when a Castora cast is shared elsewhere — it was failing to render. -- Behind-the-scenes reliability and security work: sturdier handling of malformed requests, safer link previews, a hardened crypto-payment webhook, and a cleanup of unused code and dependencies. - ## 2026-06-22 — Multiple accounts are back - Connect more than one Farcaster account and switch between them from the profile menu — browse, post, and get notifications as any of your accounts. - The "Add account" button works again (sign in with Neynar): a new account is attached alongside your existing ones instead of replacing them. -- You can also share access to an account with another Castora user from Settings — handy for teams managing accounts together. +- Share access to an account with another Castora user from Settings — handy for teams managing accounts together. + +## 2026-06-22 — Fixes & hardening +- Fixed a rare issue where a brief backend hiccup could empty your timeline or bounce you to the connect-account screen while you were still signed in. The app now treats a momentary outage as something to retry instead of mistaking it for a sign-out — retrying automatically and showing a simple "try again" screen instead of leaving you on a blank or stuck page. +- Fixed the preview image shown when a Castora cast is shared elsewhere — it was failing to render. +- Behind-the-scenes reliability and security work: sturdier handling of malformed requests, safer link previews, a hardened crypto-payment webhook, and a cleanup of unused code and dependencies. -## 2026-06-22 — Sign-in reliability -- Fixed a rare issue where a brief backend hiccup could empty your timeline or bounce you to the connect-account screen even while you were still signed in. The app now treats a momentary outage as something to retry, instead of mistaking it for a sign-out. -- If a hiccup does happen, the app now retries automatically and shows a simple “try again” screen instead of leaving you on a blank or stuck page. +## 2026-05-31 — Public source release +- Opened the Castora source code to the public, with contributing guidelines, a security policy, and licensing information. -## 2026-05-29 — Reliability & security hardening +## 2026-05-29 — Reliability, security & transparency - Centralized all Farcaster data access behind a single, server-only client for safer and more consistent loading. - Added continuous integration — every change is now type-checked, built, and scanned for leaked secrets before it ships. -- Audited every sensitive endpoint and locked down background/scheduled jobs behind a secret. -- Fixed a notifications loading hiccup and quieted noisy developer logs. -- Improved local development so the app always talks to its own environment. -- Launched this changelog so you can follow every improvement, step by step. +- Secured all sensitive scheduled jobs behind a secret key so only Castora's background workers can trigger them. +- Fixed a notifications loading hiccup that could happen on the home feed. +- Improved local development so the app always talks to its own environment instead of defaulting to production. +- Launched this changelog so you can follow every improvement we ship. ## 2026-05-27 — Analytics & performance - Turned on product analytics and response caching for faster page loads. +- Quieted noisy log output in production to make it easier to spot real issues. ## 2026-05-26 — Wallets, profiles & our new home -- Launched the wallet page (powered by Privy) and restored wallet creation. +- Launched the wallet page (powered by Privy) and restored wallet creation, with a timing fix so wallets load reliably once you're signed in. - Fixed public profile sign-in state and made feeds more resilient when the cache is cold. -- Moved to our permanent home at castora.social, with redirects from the old address. +- Moved to our permanent home at castora.social, with automatic redirects from the old address. ## 2026-05-25 — Login, accounts & polish - Added sign-in and Farcaster account connection via Neynar. @@ -42,4 +43,6 @@ the public changelog at [castora.social/changelog](https://castora.social/change - Cleaned up branding, tweet embeds, and scrolling; polished the landing experience on web and mobile. ## 2026-05-24 — Castora is born -- Launched the first Castora build — a sharper Farcaster client by Arca, on a production-ready foundation (bootstrapped from a Supercast base). +- Launched Castora: a sharper Farcaster client by Arca, with fast feeds, an improved compose experience, cleaner profiles, and useful notifications. +- Built on a modern, production-ready stack (Next.js, Postgres, Redis, Vercel) ready for secure, scalable development. +- Prepared the app for public use: cleaned up inherited code, locked down configuration, and set up environment variables for safe deployment. diff --git a/src/app/changelog/entries.ts b/src/app/changelog/entries.ts index ef507bf..8331a8c 100644 --- a/src/app/changelog/entries.ts +++ b/src/app/changelog/entries.ts @@ -18,45 +18,45 @@ export type ChangelogEntry = { } export const changelog: ChangelogEntry[] = [ - { - date: '2026-06-22', - title: 'Fixes & hardening', - tag: 'fix', - items: [ - 'Fixed the preview image shown when a Castora cast is shared elsewhere — it was failing to render.', - 'Behind-the-scenes reliability and security work: sturdier handling of malformed requests, safer link previews, a hardened crypto-payment webhook, and a cleanup of unused code and dependencies.', - ], - }, { date: '2026-06-22', title: 'Multiple accounts are back', tag: 'feature', items: [ 'Connect more than one Farcaster account and switch between them from the profile menu — browse, post, and get notifications as any of your accounts.', - 'The “Add account” button works again (sign in with Neynar): a new account is attached alongside your existing ones instead of replacing them.', - 'You can also share access to an account with another Castora user from Settings — handy for teams managing accounts together.', + 'The "Add account" button works again (sign in with Neynar): a new account is attached alongside your existing ones instead of replacing them.', + 'Share access to an account with another Castora user from Settings — handy for teams managing accounts together.', ], }, { date: '2026-06-22', - title: 'Sign-in reliability', + title: 'Fixes & hardening', tag: 'fix', items: [ - 'Fixed a rare issue where a brief backend hiccup could empty your timeline or bounce you to the connect-account screen even while you were still signed in. The app now treats a momentary outage as something to retry, instead of mistaking it for a sign-out.', - 'If a hiccup does happen, the app now retries automatically and shows a simple “try again” screen instead of leaving you on a blank or stuck page.', + 'Fixed a rare issue where a brief backend hiccup could empty your timeline or bounce you to the connect-account screen while you were still signed in. The app now treats a momentary outage as something to retry instead of mistaking it for a sign-out — retrying automatically and showing a simple "try again" screen instead of leaving you on a blank or stuck page.', + 'Fixed the preview image shown when a Castora cast is shared elsewhere — it was failing to render.', + 'Behind-the-scenes reliability and security work: sturdier handling of malformed requests, safer link previews, a hardened crypto-payment webhook, and a cleanup of unused code and dependencies.', + ], + }, + { + date: '2026-05-31', + title: 'Public source release', + tag: 'launch', + items: [ + 'Opened the Castora source code to the public, with contributing guidelines, a security policy, and licensing information.', ], }, { date: '2026-05-29', - title: 'Reliability & security hardening', + title: 'Reliability, security & transparency', tag: 'security', items: [ 'Centralized all Farcaster data access behind a single, server-only client for safer and more consistent loading.', 'Added continuous integration — every change is now type-checked, built, and scanned for leaked secrets before it ships.', - 'Audited every sensitive endpoint and locked down background/scheduled jobs behind a secret.', - 'Fixed a notifications loading hiccup and quieted noisy developer logs.', - 'Improved local development so the app always talks to its own environment.', - 'Launched this changelog so you can follow every improvement, step by step.', + 'Secured all sensitive scheduled jobs behind a secret key so only Castora\'s background workers can trigger them.', + 'Fixed a notifications loading hiccup that could happen on the home feed.', + 'Improved local development so the app always talks to its own environment instead of defaulting to production.', + 'Launched this changelog so you can follow every improvement we ship.', ], }, { @@ -65,6 +65,7 @@ export const changelog: ChangelogEntry[] = [ tag: 'infra', items: [ 'Turned on product analytics and response caching for faster page loads.', + 'Quieted noisy log output in production to make it easier to spot real issues.', ], }, { @@ -72,9 +73,9 @@ export const changelog: ChangelogEntry[] = [ title: 'Wallets, profiles & our new home', tag: 'feature', items: [ - 'Launched the wallet page (powered by Privy) and restored wallet creation.', + 'Launched the wallet page (powered by Privy) and restored wallet creation, with a timing fix so wallets load reliably once you\'re signed in.', 'Fixed public profile sign-in state and made feeds more resilient when the cache is cold.', - 'Moved to our permanent home at castora.social, with redirects from the old address.', + 'Moved to our permanent home at castora.social, with automatic redirects from the old address.', ], }, { @@ -92,7 +93,9 @@ export const changelog: ChangelogEntry[] = [ title: 'Castora is born', tag: 'launch', items: [ - 'Launched the first Castora build — a sharper Farcaster client by Arca, on a production-ready foundation.', + 'Launched Castora: a sharper Farcaster client by Arca, with fast feeds, an improved compose experience, cleaner profiles, and useful notifications.', + 'Built on a modern, production-ready stack (Next.js, Postgres, Redis, Vercel) ready for secure, scalable development.', + 'Prepared the app for public use: cleaned up inherited code, locked down configuration, and set up environment variables for safe deployment.', ], }, ]