1.1.0
The first maintenance release for Nowly, focused on update flows, active tracking, uninstall cleanup, docs cleanup, and release polish.
1.1.0 is a maintenance release. It does not change the core product shape; it makes the existing flows behave in a way that matches user expectations and reorganizes the changelog into dedicated release pages.
| Area | What changed | Why it matters |
|---|---|---|
| Extension navigation | The update badge now opens `/library/[item]` directly. | There is no longer a detour through the old localized route structure. |
| Update state | The installed version refreshes as soon as an update lands. | The badge clears immediately instead of lingering until restart. |
| Active tracking | `activeUsers` now follows a per-device model. | The number reflects actual active devices instead of a flat placeholder. |
| Disable flow | Disabling a presence removes that device from the active counter. | Stale activity does not remain behind after a toggle. |
| Uninstall cleanup | The extension sets a best-effort uninstall URL and the web page purges the device. | Removal still happens when the extension is no longer available. |
| Detail page polish | Transparent icon blocks use a backdrop blur. | The banner no longer bleeds through the icon treatment as aggressively. |
| Changelog structure | The changelog moved to `/docs/changelog` and now uses one page per version. | Each release can be linked, scanned, and maintained independently. |
| Docs navigation | The changelog now appears in the docs sidebar with version children. | Release notes are discoverable from the same navigation surface as the rest of the docs. |
| Docs sitemap | The docs sitemap now includes the changelog index and version pages. | Release notes are indexed like the rest of the documentation. |
| Host page UI | The host page download flow was consolidated into the main hero and the secondary open source / low footprint cards were hidden. | The page keeps one clear download area instead of multiple competing blocks. |
| Host download panel | The platform select, version line, and download buttons now live in a compact panel below the hero. | The hero stays clean while the download controls remain grouped. |
| Host CTA | The install extension CTA now uses an icon and points to the library. | The call to action is clearer and matches the real install flow. |
| Host storage | The storage note now shows the exact package sizes from the `1.1.0` host manifest. | The requirement text is precise instead of using a fake fixed size. |
| Home platforms | The homepage platform section now uses richer service cards and removes the `Available` heading. | The service list feels current and stays driven by the live presence data. |
| Contributor spacing | The contributor rows are now compact and full-width. | The section no longer shows an awkward gap between people. |
| CLI docs | The production build note was removed from the CLI documentation. | The docs no longer suggest a separate Chrome Web Store build path there. |
Extension navigation
The update badge now sends users to the current library route instead of the old language-prefixed path. That keeps the extension aligned with the current site structure and removes the last dependency on the old localized URL shape.
Update state
When a presence finishes updating, the installed version is refreshed immediately. The badge no longer stays visible until the extension is reopened, so the extension state matches what the user just did.
Active tracking
activeUsers now tracks devices instead of just storing a flat presence flag. That makes the visible count meaningful, and it gives the disable and uninstall flows something concrete to remove.
- A stable
deviceIdis used as the tracking key. - Heartbeats update the active record instead of just flipping a one-bit flag.
- The site can now reflect a real active count instead of an “at least one active session” placeholder.
Disable flow
Turning a presence off now removes the device from the active set. Re-enabling it adds the device back in the same tracking model, so the counter stays aligned with the actual runtime state.
Uninstall cleanup
The extension uses a best-effort uninstall URL, and the web side purges the associated device when that cleanup request arrives.
- This is a best-effort cleanup flow, not a post-uninstall script.
- The
deviceIdis passed to the cleanup route so the backend can remove the associated active state. - That keeps uninstall behavior consistent even when the extension is already gone.
Detail page polish
Transparent icon blocks now sit over a backdrop blur so the presence banner no longer leaks through the icon treatment. This is applied to the icon container itself, not to the banner behind it.
Changelog structure
The changelog is no longer one long page with anchors. It is now split into an index and per-version pages:
TXT/docs/changelog
/docs/changelog/1-0-0
/docs/changelog/1-1-0That structure makes the release history easier to maintain, easier to link, and easier to browse from the sidebar.
Docs navigation
The changelog now appears in the docs sidebar as its own category, with each version listed as a child item. That means release notes are reachable from the same navigation model as the rest of the documentation.
Docs indexing
The sitemap now includes the changelog pages, so the release notes are treated like real documentation instead of being left out of the public index.
Host page UI
The host page now keeps the download flow in one place. The secondary open source and low-footprint cards are hidden for now, and the install extension CTA uses an icon instead of a text arrow.
The platform picker, version line, and download buttons are now grouped in a compact panel below the main hero. macOS and Linux no longer inherit Windows-specific copy, and the page no longer shows a second competing title below the hero.
Host storage
The host requirements no longer advertise a fixed ~15 MB size. That note was not accurate, so the page now shows the exact package sizes from the 1.1.0 host manifest:
- Windows installer:
3.71 MB - Windows portable:
1.82 MB - macOS archive:
3.38 MB - Linux archive:
1.76 MB
Home platforms
The homepage platform section has been rebuilt around the live presence list instead of a static-looking logo wall. The old Available label was removed, and each service now has a richer card with its icon, localized description, install count, active users, rating, and a direct link to the library detail page.
The card treatment also uses a two-layer color glow based on the presence icon color, with one wider soft layer and one shorter layer near the top-right corner. This keeps the section more current without disconnecting it from the real library data.
Contributor spacing
The contributor rows are now full-width and tighter, which removes the extra visual gap that showed up between people in the section.
CLI docs
The production build note was removed from the CLI documentation so the docs do not imply a separate Chrome Web Store build path there.
Impact
TXTAffected paths:
POST /presences/active
DELETE /presences/active/:deviceId
GET /library/[item]
GET /
GET /docs/changelog
GET /docs/changelog/1-0-0
GET /docs/changelog/1-1-0This release does not introduce a new workflow. It makes the existing workflow consistent and measurable.