Changelog
What's actually shipped, in order. Unlike the rest of this site's marketing pages, this one is a real record of the product's build history.
v0.19August 2026
Roles become entirely project-scoped
- check_circleThe org itself now has exactly one real role: Owner. Everyone else is a plain member — Admin, Developer, and Viewer only exist per project, granted from that project's own Members panel. Being Admin on one project no longer implies any access, or any standing, on another.
- check_circleOnly the Owner, or a project's own Admin, can invite someone to that project (Admin can grant Developer or Viewer, never a peer Admin). Every project invite is usable immediately — there's no separate approval step, since the inviter already holds the exact authority they're granting. A plain org-only invite (no project, no role) can be sent by any member.
- check_circleEvery member — including one with zero project grants — can browse the full project list and request access to a specific project, or a different role in a project they're already in. An Owner, or that project's Admin, approves it.
- check_circleProject creation by anyone other than the Owner needs Owner approval, unless the Owner has turned on auto-approve for that specific person (Projects page, Owner-only). Owner-created projects are still immediate.
- check_circleRemoved the "already have an account? add them directly" shortcut — it silently created org membership with no acceptance step. Everyone now goes through invite-and-accept, whether or not they already have an account.
- check_circleDeleted secrets are now recoverable for 24 hours (a "Recently Deleted" panel on the environment page) before being permanently purged.
- check_circleThe org-wide member list now always shows every org member; each project has its own separate member list showing only who actually has access there.
- check_circleService tokens can now be created by any member for their own use (they only ever inherit the creator's own access, so there's no escalation risk) — non-owners see and manage only their own tokens, the Owner sees and can revoke every token in the org.
- check_circleThe environment page now only shows edit/delete/rotate controls to members who actually have write access, instead of showing them to everyone and failing on click. "Add Variable" moved off the top navbar onto the page itself.
- check_circleOwnership transfer is the only way an org role ever changes, and it's direct and immediate (Team → Permissions, Owner-only) — the outgoing Owner is automatically kept as Admin on every project they were already running, so stepping down doesn't lock them out.
v0.18August 2026
Google-only sign-in: password auth removed
- check_circleRemoved password-based signup and login entirely — Google is now the only way to sign in.
- check_circleFixed a real vulnerability this surfaced: signup/reset/verification tokens could leak to an unauthenticated caller on a transient email-send failure, allowing account creation or takeover under someone else's email address. Removing password auth removes this attack surface entirely, since Google verifies email ownership instead of EnvSync issuing its own verification links.
- check_circleSigning in with Google for an email that already has an account (e.g. one created before this change) links to that existing account and its data, instead of creating a duplicate or rejecting the sign-in.
- check_circleRemoved the separate Sign Up page, forgot/reset password, and email verification flows — one Google button on the login page covers both new and returning users.
- check_circleSettings → Profile no longer shows a password-change section — there's nothing to change.
v0.17August 2026
CLI overhaul: interactive menu, project linking, real fixes
- check_circleenvsync (no arguments) now launches an interactive, arrow-key menu that picks your project, environment, and action for you — no IDs or flags needed.
- check_circleenvsync link remembers a project/environment for the current folder, so pull/push/run/status/environments no longer require --project/--environment.
- check_circleenvsync --version now actually works (previously silently fell back to the help text).
- check_circleThe CLI now retries and shows a "waking up the server" message during Render cold starts, matching the web app's own loading screen.
- check_circleenvsync status now shows each key's last-updated time and flags anything changed remotely since your last pull.
- check_circleFixed envsync run failing on Windows for npm/npx/yarn-based commands.
- check_circleFixed a security gap where an API token could list every organization its creator belongs to, instead of only the one it was scoped to.
- check_circleFixed several docs and in-app pages referencing the wrong CLI npm package name.
- check_circleInvestigated real email delivery (SendGrid) but reverted to the existing copy-the-link flow after persistent spam-folder and deliverability issues without a verified sending domain.
v0.16July 2026
Going live: real email, verified signup, Google-only OAuth
- check_circlePassword reset, invites, and email verification now send real email via SMTP when configured, instead of only showing the link in the UI.
- check_circleSignup now requires email verification before an account is created — no more usable, unverified accounts.
- check_circleRemoved GitHub OAuth sign-in; Google OAuth remains.
- check_circleDeployed to production (Vercel frontend, Render backend, Neon Postgres) with a branded loading screen for cold starts.
- check_circlePublished the CLI to npm as @ashishlekhyani/envsync-cli.
- check_circleAdded a real favicon and app icon.
v0.15July 2026
Live updates, real confirmation dialogs, audit retention
- check_circleLeaving an organization or project, notifications, and access-request decisions now update live — no manual reload needed.
- check_circleEvery confirmation dialog in the app is now a real modal instead of a browser popup.
- check_circleNotifications can be dismissed individually or cleared all at once, and arrive live instead of only refreshing when opened.
- check_circleYou're now notified when your own project access request is approved or rejected.
- check_circleA quick "leave organization" shortcut was added next to the org switcher in the navbar.
- check_circleOwners can now delete an individual project, and can purge audit log entries older than a chosen date.
- check_circleAudit Logs are now paginated (40 per page) instead of a single capped list.
- check_circleFixed a bug where a Developer or Admin without any project grants couldn't see their own row on the Team page.
v0.14July 2026
Integration guides, profile photos, security pass
- check_circleIntegrations restructured into a real setup guide per platform (GitHub Actions, Docker, Vercel, AWS), replacing a sidebar that just duplicated the page next to it.
- check_circleAdded profile photos and notification preferences to Settings.
- check_circleDocs refreshed to cover project-level access control and the invite approval hierarchy.
- check_circleCLI can now authenticate from an ENVSYNC_TOKEN environment variable, for CI use without a persistent login step.
- check_circleFull dependency and endpoint security review across all three workspaces.
v0.13July 2026
Self-service leave, ownership transfer, project discovery
- check_circleAny member can now leave an organization or project on their own, instead of requiring an Admin to remove them.
- check_circleOwners can transfer ownership directly, replacing the old disabled "Request Role Ownership Change" stub.
- check_circleAdmins and Developers can browse the full project list and request access to projects they don't have; Viewer's access stays strictly grant-only.
- check_circleAudit Logs gained actor and date-range filters.
- check_circleLanding page's environment tabs, reveal, and copy became genuinely interactive; corrected inaccurate "zero-knowledge encryption" and "SOC2/GDPR" claims.
- check_circleCLI verified end-to-end against a live backend, including that a token without project access is rejected the same way the browser would be.
v0.12July 2026
Invite approval hierarchy, account deletion, live access push
- check_circleRole assignment — for invites and role changes alike — is now capped strictly below your own role; only the Owner can assign any role.
- check_circleDeveloper-created invites require Admin approval, with optional auto-approve rules.
- check_circleAdded account deletion, blocked while you're the sole owner of an organization with other members.
- check_circleProject access changes now push live to an already-open session instead of waiting for a reload.
- check_circleAudit log entries carry real detail (names, before/after values) instead of a generic fallback label.
v0.11July 2026
Project-level access control
- check_circleAccess to a project is now explicitly granted per member, not implied by org membership.
- check_circleDocs and Support links added to every section sidebar; sidebar rows expand on click, navigate on double-click.
v0.10July 2026
Contextual sidebar, real Docs, and password reset
- check_circleSidebar redesigned to be always-present and contextual per section (Projects, Team, Audit, Integrations, Settings) instead of one static panel.
- check_circleSettings and Team pages restructured into real sub-routes with sidebar navigation.
- check_circleAdded a real Docs section covering Getting Started, the CLI, security architecture, permissions, and integrations.
- check_circleAdded forgot/reset password, using the same dev-mode link pattern as org invites.
- check_circleAudit Logs gained a real per-project filter; Integrations gained jump-to navigation.
- check_circleReplaced every dead footer link (Changelog, Documentation, About, Privacy, etc.) with a real page.
v0.9.1July 2026
Session & auth stabilization
- check_circleFixed a race between page data-fetching and the login bootstrap that could cause a spurious first-load error.
- check_circleAdded automatic silent token refresh so an expired access token no longer requires a manual reload.
- check_circleSession revocation now takes effect in real time via a live event channel, instead of waiting for the affected device's next reload.
- check_circleLogged-in users are redirected away from the login, signup, and landing pages instead of seeing them again.
v0.9July 2026
UX overhaul: multi-org support, TanStack Query
- check_circleIntroduced multi-organization switching with a persistent active-org selection.
- check_circleMigrated data fetching to TanStack Query, eliminating duplicate network calls across the sidebar and page content.
- check_circleRebuilt Settings around Profile, Organization, CLI & Tokens, and Security.
- check_circleAdded real profile editing, in-app password change, and organization rename/delete.
- check_circleProject cards now show real environment counts instead of nothing.
v0.8
Security hardening pass
- check_circleService tokens hard-scoped to their issuing organization, closing an account-wide blast-radius gap.
- check_circleCross-org resource access now returns 404 instead of 403, closing an existence-enumeration leak.
- check_circleAdded Helmet security headers on the API and equivalent headers on the web app, including a production Content-Security-Policy.
- check_circleFixed CSV export formula-injection risk in audit log exports.
- check_circlePinned JWT algorithm and password-hashing cost parameters explicitly.
v0.7
CLI push, Google OAuth, integrations
- check_circleAdded envsync push to sync a local .env back up to the server.
- check_circleAdded Google OAuth sign-in alongside GitHub.
- check_circleAdded the Integrations page with real, working snippets for GitHub Actions, Docker, Vercel, and AWS Secrets Manager.
v0.6
GitHub OAuth, invites, configurable permissions
- check_circleAdded GitHub OAuth sign-in.
- check_circleAdded shareable invite links for adding teammates who don't have an account yet.
- check_circleMade the role × environment-tier permission matrix editable per organization, on top of sane defaults.
v0.5
Secret lifecycle & notifications
- check_circleAdded secret expiration dates and an automated expiry scan.
- check_circleAdded an in-app notification bell for expiring and expired secrets.
- check_circleAdded CSV export for the audit log.
v0.4
Security hardening
- check_circleAdded rate limiting on login and signup.
- check_circleFixed reverse-proxy IP handling for accurate audit log attribution.
- check_circleAdded an Active Sessions panel with per-device revocation.
v0.3
API tokens, CLI, secret rotation
- check_circleAdded service API tokens for CI/CD and the CLI.
- check_circleShipped the EnvSync CLI: login, pull, push, run, status, projects, environments — zero runtime dependencies.
- check_circleAdded one-click secret rotation with a full audit trail.
v0.2
Audit logs & secret version history
- check_circleAdded a full, filterable audit log.
- check_circleAdded secret version history with restore.
v0.1
Core loop
- check_circleAuth, organizations, projects, environments, and AES-256-GCM encrypted secrets.
- check_circleRole-based access control across four roles and four environment tiers.