v1.1.10 — The Unification: one language, end to end
This update is required. Scrollr's app and its servers now speak one shared language, and older versions can't talk to the new servers at all — if you're on v1.1.9 or earlier you'll see an update prompt until you install this.
There's almost nothing new to look at. That's deliberate: this release is the plumbing job that makes every future one smaller.
✨ New
- New widgets can now arrive without updating the app. The list of available widgets lives on the server and the app fetches it. Adding another league, another news source, or another market is now a server-side change — you'll just find it in the Library one day, no download required. Previously every new widget meant a full app release.
🔧 Under the hood
The whole release is under the hood, so here's the honest version of what moved:
- One vocabulary, everywhere. The same thing used to be called a channel, a data widget, a source, or a widget depending on where you looked — in the app, in the API, and in the database. It's a widget now, in all three, with no translation layer in between. That's what makes this update mandatory: the old names are gone rather than aliased.
- One place that owns the widget list. Names, colors, logos, categories and descriptions all come from a single definition on the server instead of being duplicated in the app. They can't drift out of sync anymore, because there's only one copy.
- One place that owns the database. Five services used to each manage part of the schema on startup, coordinating through a shared version table. Now one service owns all of it and the rest just read and write.
- The ticker no longer has a special case per data source. Each source brings its own renderer, so adding a kind of data doesn't mean touching the ticker.
- The app's data types are generated from the server's. They can't disagree, because one is compiled from the other.
If you're curious about the reasoning, the full architecture charter is in docs/VISION.md in the repo.
💾 You'll need to re-add your widgets
Renaming the database to match the new vocabulary meant resetting it, so widget lists were cleared. Open the Library and add the ones you want back — it takes a minute, and it's a one-time cost of doing this before launch rather than after.
Live data (prices, scores, headlines, markets) refilled itself automatically and needs nothing from you.