v1.28.0
Requirements now list both egress hosts (here.now and *.r2.cloudflarestorage.com, where uploads PUT directly). publish.sh and drive.sh survive connection-level upload failures and print a hint naming the storage host when every upload fails.
v1.27.0
Owner Site file read API: GET /api/v1/publish/{slug}/files and /files/{path} read an owned Site's live files with the API key (password-protected Sites included); GET /api/v1/publish/{slug} gains currentVersionSource/currentVersionCreatedAt. Skill and publish.sh now teach pull-before-push: check for drift before editing and read the live files on version_conflict.
v1.26.0
Stale-base protection for updates: publish.sh now records the live version in .herenow/state.json and passes baseVersionId when republishing the same slug from the same directory. If the live Site changed since (another agent, Studio, a teammate), the update fails with version_conflict naming the live version instead of silently overwriting it. New --overwrite flag for explicit unchecked replacement.
v1.25.0
Scriptless-environment guidance: install command plus the hand-rolled three-step publish flow (POST /api/v1/publish -> PUT presigned targets -> POST finalizeUrl) for environments that receive the skill without bundled scripts, e.g. Stripe Projects llm_context.
v1.24.0
Workspace guest allowlists: restricted mode on workspace Sites now means workspace members plus a per-Site email/domain guest allowlist (guests view only that Site). Also documents the empty-allowlist 400 and updated workspace access-mode guidance.
v1.21.1
Output rule: put the site URL on its own line with nothing after it — chat autolinkers glue trailing status text into the href. Status details go on the following line. (Also includes 1.21.0's harness-not-persona attribution guidance.)
v1.21.0
Client attribution instructions now teach harness-not-persona: --client names the agent platform you run in (cursor, claude-code, grok-bot, ...), never a bot/persona/project name inside it; instance names go after a slash (grok-bot/research-bot).
v1.20.0
Compact claim links (/c/<token>): claim URLs are now short enough that agents have no reason to truncate them. Explicit instruction: share claimUrl byte-for-byte, never shorten or replace any part with '...'. Claim page now validates links before sign-in.
v1.19.0
Site versions: history, owner-only previews, instant rollback, per-version delete (paid plans + workspaces). publish.sh fixes: exclude .herenow/state.json from uploads; fix zero-upload republish crash on macOS.
v1.18.0
Workspaces: publish into shared team accounts with --workspace <subdomain> (sites get {label}.{workspace}.here.now URLs and are owned by the team); workspace access-control notes; docs topics updated
v1.17.0
Sites-first messaging: lead with publishing to live URLs; Drives described at feature level
v1.16.0
Surface Site access control (link, password, restricted invite-only access) prominently for agents: activation triggers, capability line, and a minimal access control section pointing to https://here.now/docs#access-control. No runtime/script changes.
v1.15.10
publish.sh: send claimToken on slug updates even when an API key is set; clearer invalid-key and anonymous-update errors
v1.15.9
Add Site Data docs and dashboard availability
v1.15.8
Restore skill metadata summary
v1.15.7
Update skill summary copy
v1.15.6
Add analytics to current docs topics
v1.15.5
Refresh here.now skill guidance for profiles, owner Site search, subdomain handles, and the profile-based forkability model.
v1.15.3
Raise Drive file upload helper limit to 500 MB and refresh here.now skill copy.
v1.15.2
**Adds private Drive storage alongside website publishing.**
- Introduced Drives: agents can now store private files in cloud Drives, share folders, and persist files (not just publish websites).
- Added new helper script `scripts/drive.sh` for Drive operations (create, list, read, write, share).
- Updated core documentation and usage to include both Sites (public publishing) and Drives (private storage).
- Updated requirements: new environment variable `$HERENOW_DRIVE_TOKEN` for Drive access.
- Clarified when to use Sites vs Drives throughout the documentation.