Removed sequoia.json from pkgs to maintain clear separation of project-specific configurations.
Removed sequoia.json from pkgs to maintain clear separation of project-specific configurations.
Added ListenBrainz as a malachite import source (community contribution), integrated Vercel Blob for OG image caching, and added a documentation OG template.
Malachite gains OAuth-based CLI authentication for ATProto and did:web DID resolution, alongside a restructured web frontend.
Build configuration updates for pnpm-workspace.yaml and centralization of lexicon and domain constants.
Adding import support for Apple Music and YouTube Music, and updating branding.
Unifying TID generation, adding sign-out functionality, and implementing toolkit usage analytics.
Adding AGENTS.md and llms.txt files across repositories to improve AI discoverability and documentation.
Implementing PDS rate limiting, fixing routing issues, and refining component reactivity for Tourmaline.
Porting analytics, upgrading CTA copy, and refining mobile responsive layouts for Tourmaline.
Replaced analytics taglines, removed duplicate footers from LandingPage and all about pages, deduplicated Tourmaline header navLinks
Moved Tourmaline from standalone repo into packages/tourmaline, enhanced landing-ui with backdrop blur, nav links, snippet props, and fixed source URLs across all projects
LandingLayout improvements (subtitle, expanded footer, @theme bridge), cross-references between all five tools, inline symbols replaced with Lucide icons, support links consolidated to ewancroft.uk/support
Moved the entire analysis pipeline from server-side POST to a browser web worker, fixing Vercel body size limits for large scrobble histories
Added web OAuth import flow, post threading for long content, and TID-based record keys to the Twitter/Mastodon/Threads to Bluesky converter
Profile redesign with tabbed layout, listening sessions, on this day, story-mode recap, date range filtering, and listening evolution phases
Added OG hero SVGs to all five project landing pages, bismuth fetch flags, and devlog project to croft-click
Minutes listened, music evolution, remarkable days, discovery, and yearly wrapped card with scroll-reveal animations
Replaced astronomical season detection with traditional Wheel of the Year sabbat dates, added midnight auto-update and reset-to-seasonal
Listening clock, listening stats, and service origins
Added genre bars, mood indicators, stat badges, and dynamic SVG layout to the personality card
Era analysis, time-of-day mood weighting, genre blending, Gini-based loyalty, full-artist genre profile
Fixed personality card SVG clipping and switched to aturi.to for post links
Added More tools sections linking each project to the other four, and pointed all support links to ewancroft.uk/support
Swapped unicode symbols for Lucide icon components across malachite, opal, jasper, bismuth, tourmaline, landing-ui, and croft-click
Added hero SVG OG images to malachite, opal, jasper, bismuth, and tourmaline landing pages
First release of tourmaline — personality archetypes, genre profiles, mood mapping, and share-to-Bluesky for Teal.fm scrobbles.
Added --frontmatter and --output flags to the fetch subcommand, and bumped to 0.2.4.
Docsite client bundle dropped from 1.3MB to 12KB, devlog layout data optimised, website duplicate fetches eliminated
Each devlog post now generates its own OG image on demand using @ewanc26/og — warm amber on dark, with noise texture.
Colour themes now follow the Wheel of the Year — eight distinct themes for each sabbat, shifting automatically as midnight crosses into a new period.