Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
".": "1.4.3",
"apps/web": "0.5.3",
"apps/api": "1.2.8"
".": "1.5.0",
"apps/web": "0.6.0",
"apps/api": "1.3.0"
}
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,59 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.5.0](https://github.com/RepliMap/replimap-mono/compare/replimap-mono-v1.4.3...replimap-mono-v1.5.0) (2026-07-05)


### Features

* **api:** add GET /v1/checkout/session/:id/license post-payment lookup ([ffdb8b4](https://github.com/RepliMap/replimap-mono/commit/ffdb8b475bbbec401b17a720b820cb3782f87533))
* **api:** add getLicenseByUserEmailLatest helper ([1f4134e](https://github.com/RepliMap/replimap-mono/commit/1f4134ebea41473bcbdb56218377be525f7e96ba))
* **api:** add POST /v1/license/provision-community for free-tier auto-signup ([c7d71e5](https://github.com/RepliMap/replimap-mono/commit/c7d71e5d3e1a83e5338b5951670f2153367b77e6))
* **api:** add RATE_LIMIT_DISABLED env flag for local dev/e2e ([7fbff44](https://github.com/RepliMap/replimap-mono/commit/7fbff449a531e2b7c7b0d735c241b9bd56c664ed))
* **api:** extend handleCreateCheckout to support lifetime billing ([704ded8](https://github.com/RepliMap/replimap-mono/commit/704ded807d0335efb58252f134ccd93181e6d924))
* **billing:** switch to live Stripe price IDs, allow www + apex CORS, ([b39d4ac](https://github.com/RepliMap/replimap-mono/commit/b39d4ac62f131257677cd30f01f68422ef809abd))
* **payments:** harden Stripe webhook flow, add license CSPRNG, and require auth on community provisioning ([a570276](https://github.com/RepliMap/replimap-mono/commit/a5702768272a4c9d565056827c3b8dc55fe3e9cc))
* **web:** add cta-links helper with checkoutHref/freeSignupHref ([a276fbf](https://github.com/RepliMap/replimap-mono/commit/a276fbf96c743466ce30be196e721ac45fdb2064))
* **web:** add getCheckoutLicense + provisionCommunityLicense api clients ([3e18dba](https://github.com/RepliMap/replimap-mono/commit/3e18dba37a51adb7f91f3b222dffa3b4802233f7))
* **web:** poll and display license key on /checkout/success page ([06ba075](https://github.com/RepliMap/replimap-mono/commit/06ba075cc399642fbfcb4cabfbe403a5595354a7))
* **web:** route header + bottom CTAs to sign-up instead of Tally ([aee075c](https://github.com/RepliMap/replimap-mono/commit/aee075c9b05f3de057c64422e76dee6d6a1eb402))
* **web:** route hero 'Get Started Free' to Clerk sign-up ([d8226e6](https://github.com/RepliMap/replimap-mono/commit/d8226e6c9c82d6378b329e01f93a9cf1e8b582b0))
* **web:** route pricing CTAs to checkout + support lifetime in /checkout ([556db81](https://github.com/RepliMap/replimap-mono/commit/556db819e6f81b45e6b134b0852174cf489d32d7))


### Bug Fixes

* **api:** add migration to bootstrap Drizzle schema on local D1 ([aa29216](https://github.com/RepliMap/replimap-mono/commit/aa29216bd7410de1edb72df95a23d286563e2db0))
* **api:** guard checkout-license route so it doesn't swallow all GET requests ([6aa25dc](https://github.com/RepliMap/replimap-mono/commit/6aa25dc329fbdc8269fefeb13aa4b29e291b4d43))
* **api:** self-heal subscription.created when user not yet in DB ([df74f99](https://github.com/RepliMap/replimap-mono/commit/df74f99c851e18ec90183a274c245b108586ff25))
* **dashboard:** populate device list, per-plan limits, grace days, expiry (followups [#6](https://github.com/RepliMap/replimap-mono/issues/6)/[#7](https://github.com/RepliMap/replimap-mono/issues/7)) ([2e4b6d0](https://github.com/RepliMap/replimap-mono/commit/2e4b6d02abce4829ff0686775b18d95878db733d))
* **web:** add X-Internal-Auth header to provision-community request ([8f83d6f](https://github.com/RepliMap/replimap-mono/commit/8f83d6f9d04b64f3feb9f6950d51b12f672247c8))
* **web:** force-dynamic on /checkout to fix SSG prerender of Clerk hooks ([8c846b5](https://github.com/RepliMap/replimap-mono/commit/8c846b56b79260f98243eeaebae2828663b3a531))
* **web:** guard license.fingerprints access against undefined ([7b829cd](https://github.com/RepliMap/replimap-mono/commit/7b829cdbd65cb09be00bc9ac0f5a7e20cbf09d4c))
* **webhook:** backfill billing period from subscription items, retry ([2134d8b](https://github.com/RepliMap/replimap-mono/commit/2134d8b65e7d236a114605d0c71093f156013612))
* **webhook:** resolve customer email via customer_details fallback, refuse to guess plan on unresolvable lifetime payments ([3164b1b](https://github.com/RepliMap/replimap-mono/commit/3164b1bbafa674dd3fed161b5bae64dae160be53))
* **webhook:** resolve invoice subscription id via parent.subscription_details on API >=2025-03-31 ([7640f4a](https://github.com/RepliMap/replimap-mono/commit/7640f4a39491cfa599086b53f42cc74774fed11f))
* **webhook:** resolve refunded charges to licenses via payment_intent, always create customers on lifetime checkout ([06e8111](https://github.com/RepliMap/replimap-mono/commit/06e81116b62509706c21007dcb69036efb2b496c))
* **web:** link Clerk user to license via email, auto-provision community ([30d088f](https://github.com/RepliMap/replimap-mono/commit/30d088f068391b828f949371e3686beba23d3caa))
* **web:** move license fetch/provision to client-side (Cloudflare Bot Fight Mode blocks Vercel SSR requests) ([e6bd1c9](https://github.com/RepliMap/replimap-mono/commit/e6bd1c9f820b58ff4cae61631bfd13c88bb9d9cb))
* **web:** pass license_key as query param to /v1/me/license ([1051aaa](https://github.com/RepliMap/replimap-mono/commit/1051aaa860838207fc156ca596eb72c7069cd144))


### Documentation

* add commercial flow testing guide ([a1db780](https://github.com/RepliMap/replimap-mono/commit/a1db780a52331396e1bac88c4b8ece21348c1068))
* add production deployment checklist ([3eb9a03](https://github.com/RepliMap/replimap-mono/commit/3eb9a03485422645bd8e1ab3d717a35d067ff2cd))
* add production rollback playbook + follow-ups tracker ([cb38f0e](https://github.com/RepliMap/replimap-mono/commit/cb38f0eb97e0bec90f51b239aff2593bf9a79f5f))
* add repo CLAUDE.md (ops landmines + doc index), sync status across docs ([5a44b75](https://github.com/RepliMap/replimap-mono/commit/5a44b75f1d0c0c494df2ea27fe5954a7ae6580ee))
* complete A6 e2e dev validation log (items 9 + cleanup, D1 restored to baseline) ([b89cf98](https://github.com/RepliMap/replimap-mono/commit/b89cf989444836ca43938d84ed076891709c62cb))
* correct §1.3 — prod D1 needs ledger alignment, not migration apply ([a145d42](https://github.com/RepliMap/replimap-mono/commit/a145d42f82555c697c8dc5d59248b0252e7c3fb9))
* document commercial flow e2e harness and update README ([7ad9b2e](https://github.com/RepliMap/replimap-mono/commit/7ad9b2e10be8232fbfd5cb7f509a9dc0ea652300))
* mark §5 rollout complete (prod deployed f62bd94c) ([cbdc51d](https://github.com/RepliMap/replimap-mono/commit/cbdc51db956ac55c58f7df09133d203331e86233))
* mark checklist §1.5 (post-deploy smoke test) done, link live e2e evidence ([61fb196](https://github.com/RepliMap/replimap-mono/commit/61fb1965b3c2042d306165e91590edc565b7a5a7))
* mark followups [#6](https://github.com/RepliMap/replimap-mono/issues/6)/[#7](https://github.com/RepliMap/replimap-mono/issues/7) deployed to prod (API 90bfc4ca), CI green ([04b86eb](https://github.com/RepliMap/replimap-mono/commit/04b86ebf34de4a89c9866af5f24a26b450a45779))
* mark followups [#6](https://github.com/RepliMap/replimap-mono/issues/6)/[#7](https://github.com/RepliMap/replimap-mono/issues/7) fixed; add [#8](https://github.com/RepliMap/replimap-mono/issues/8) (license key as URL query param — ([2e4b6d0](https://github.com/RepliMap/replimap-mono/commit/2e4b6d02abce4829ff0686775b18d95878db733d))
* record first live production end-to-end smoke test (payment + refund/cancel) ([0a098f4](https://github.com/RepliMap/replimap-mono/commit/0a098f4029d13f47e6e4eecba4db6be3bffa5b3c))

## [1.4.3](https://github.com/RepliMap/replimap-mono/compare/replimap-mono-v1.4.2...replimap-mono-v1.4.3) (2026-01-23)


Expand Down
32 changes: 32 additions & 0 deletions apps/api/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Changelog

## [1.3.0](https://github.com/RepliMap/replimap-mono/compare/replimap-api-v1.2.8...replimap-api-v1.3.0) (2026-07-05)


### Features

* **api:** add GET /v1/checkout/session/:id/license post-payment lookup ([ffdb8b4](https://github.com/RepliMap/replimap-mono/commit/ffdb8b475bbbec401b17a720b820cb3782f87533))
* **api:** add getLicenseByUserEmailLatest helper ([1f4134e](https://github.com/RepliMap/replimap-mono/commit/1f4134ebea41473bcbdb56218377be525f7e96ba))
* **api:** add POST /v1/license/provision-community for free-tier auto-signup ([c7d71e5](https://github.com/RepliMap/replimap-mono/commit/c7d71e5d3e1a83e5338b5951670f2153367b77e6))
* **api:** add RATE_LIMIT_DISABLED env flag for local dev/e2e ([7fbff44](https://github.com/RepliMap/replimap-mono/commit/7fbff449a531e2b7c7b0d735c241b9bd56c664ed))
* **api:** extend handleCreateCheckout to support lifetime billing ([704ded8](https://github.com/RepliMap/replimap-mono/commit/704ded807d0335efb58252f134ccd93181e6d924))
* **billing:** switch to live Stripe price IDs, allow www + apex CORS, ([b39d4ac](https://github.com/RepliMap/replimap-mono/commit/b39d4ac62f131257677cd30f01f68422ef809abd))
* **payments:** harden Stripe webhook flow, add license CSPRNG, and require auth on community provisioning ([a570276](https://github.com/RepliMap/replimap-mono/commit/a5702768272a4c9d565056827c3b8dc55fe3e9cc))


### Bug Fixes

* **api:** add migration to bootstrap Drizzle schema on local D1 ([aa29216](https://github.com/RepliMap/replimap-mono/commit/aa29216bd7410de1edb72df95a23d286563e2db0))
* **api:** guard checkout-license route so it doesn't swallow all GET requests ([6aa25dc](https://github.com/RepliMap/replimap-mono/commit/6aa25dc329fbdc8269fefeb13aa4b29e291b4d43))
* **api:** self-heal subscription.created when user not yet in DB ([df74f99](https://github.com/RepliMap/replimap-mono/commit/df74f99c851e18ec90183a274c245b108586ff25))
* **dashboard:** populate device list, per-plan limits, grace days, expiry (followups [#6](https://github.com/RepliMap/replimap-mono/issues/6)/[#7](https://github.com/RepliMap/replimap-mono/issues/7)) ([2e4b6d0](https://github.com/RepliMap/replimap-mono/commit/2e4b6d02abce4829ff0686775b18d95878db733d))
* **web:** add X-Internal-Auth header to provision-community request ([8f83d6f](https://github.com/RepliMap/replimap-mono/commit/8f83d6f9d04b64f3feb9f6950d51b12f672247c8))
* **webhook:** backfill billing period from subscription items, retry ([2134d8b](https://github.com/RepliMap/replimap-mono/commit/2134d8b65e7d236a114605d0c71093f156013612))
* **webhook:** resolve customer email via customer_details fallback, refuse to guess plan on unresolvable lifetime payments ([3164b1b](https://github.com/RepliMap/replimap-mono/commit/3164b1bbafa674dd3fed161b5bae64dae160be53))
* **webhook:** resolve invoice subscription id via parent.subscription_details on API >=2025-03-31 ([7640f4a](https://github.com/RepliMap/replimap-mono/commit/7640f4a39491cfa599086b53f42cc74774fed11f))
* **webhook:** resolve refunded charges to licenses via payment_intent, always create customers on lifetime checkout ([06e8111](https://github.com/RepliMap/replimap-mono/commit/06e81116b62509706c21007dcb69036efb2b496c))
* **web:** move license fetch/provision to client-side (Cloudflare Bot Fight Mode blocks Vercel SSR requests) ([e6bd1c9](https://github.com/RepliMap/replimap-mono/commit/e6bd1c9f820b58ff4cae61631bfd13c88bb9d9cb))


### Documentation

* mark followups [#6](https://github.com/RepliMap/replimap-mono/issues/6)/[#7](https://github.com/RepliMap/replimap-mono/issues/7) fixed; add [#8](https://github.com/RepliMap/replimap-mono/issues/8) (license key as URL query param — ([2e4b6d0](https://github.com/RepliMap/replimap-mono/commit/2e4b6d02abce4829ff0686775b18d95878db733d))

## [1.2.8](https://github.com/RepliMap/replimap-mono/compare/replimap-api-v1.2.7...replimap-api-v1.2.8) (2026-01-23)

## [1.2.7](https://github.com/RepliMap/replimap-mono/compare/replimap-api-v1.2.6...replimap-api-v1.2.7) (2026-01-22)
Expand Down
4 changes: 2 additions & 2 deletions apps/api/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/api/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@replimap/api",
"version": "1.2.8",
"version": "1.3.0",
"description": "RepliMap License Management API - Cloudflare Workers + D1",
"main": "src/index.ts",
"scripts": {
Expand Down
30 changes: 30 additions & 0 deletions apps/web/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# Changelog

## [0.6.0](https://github.com/RepliMap/replimap-mono/compare/replimap-web-v0.5.3...replimap-web-v0.6.0) (2026-07-05)


### Features

* **billing:** switch to live Stripe price IDs, allow www + apex CORS, ([b39d4ac](https://github.com/RepliMap/replimap-mono/commit/b39d4ac62f131257677cd30f01f68422ef809abd))
* **payments:** harden Stripe webhook flow, add license CSPRNG, and require auth on community provisioning ([a570276](https://github.com/RepliMap/replimap-mono/commit/a5702768272a4c9d565056827c3b8dc55fe3e9cc))
* **web:** add cta-links helper with checkoutHref/freeSignupHref ([a276fbf](https://github.com/RepliMap/replimap-mono/commit/a276fbf96c743466ce30be196e721ac45fdb2064))
* **web:** add getCheckoutLicense + provisionCommunityLicense api clients ([3e18dba](https://github.com/RepliMap/replimap-mono/commit/3e18dba37a51adb7f91f3b222dffa3b4802233f7))
* **web:** poll and display license key on /checkout/success page ([06ba075](https://github.com/RepliMap/replimap-mono/commit/06ba075cc399642fbfcb4cabfbe403a5595354a7))
* **web:** route header + bottom CTAs to sign-up instead of Tally ([aee075c](https://github.com/RepliMap/replimap-mono/commit/aee075c9b05f3de057c64422e76dee6d6a1eb402))
* **web:** route hero 'Get Started Free' to Clerk sign-up ([d8226e6](https://github.com/RepliMap/replimap-mono/commit/d8226e6c9c82d6378b329e01f93a9cf1e8b582b0))
* **web:** route pricing CTAs to checkout + support lifetime in /checkout ([556db81](https://github.com/RepliMap/replimap-mono/commit/556db819e6f81b45e6b134b0852174cf489d32d7))


### Bug Fixes

* **dashboard:** populate device list, per-plan limits, grace days, expiry (followups [#6](https://github.com/RepliMap/replimap-mono/issues/6)/[#7](https://github.com/RepliMap/replimap-mono/issues/7)) ([2e4b6d0](https://github.com/RepliMap/replimap-mono/commit/2e4b6d02abce4829ff0686775b18d95878db733d))
* **web:** add X-Internal-Auth header to provision-community request ([8f83d6f](https://github.com/RepliMap/replimap-mono/commit/8f83d6f9d04b64f3feb9f6950d51b12f672247c8))
* **web:** force-dynamic on /checkout to fix SSG prerender of Clerk hooks ([8c846b5](https://github.com/RepliMap/replimap-mono/commit/8c846b56b79260f98243eeaebae2828663b3a531))
* **web:** guard license.fingerprints access against undefined ([7b829cd](https://github.com/RepliMap/replimap-mono/commit/7b829cdbd65cb09be00bc9ac0f5a7e20cbf09d4c))
* **web:** link Clerk user to license via email, auto-provision community ([30d088f](https://github.com/RepliMap/replimap-mono/commit/30d088f068391b828f949371e3686beba23d3caa))
* **web:** move license fetch/provision to client-side (Cloudflare Bot Fight Mode blocks Vercel SSR requests) ([e6bd1c9](https://github.com/RepliMap/replimap-mono/commit/e6bd1c9f820b58ff4cae61631bfd13c88bb9d9cb))
* **web:** pass license_key as query param to /v1/me/license ([1051aaa](https://github.com/RepliMap/replimap-mono/commit/1051aaa860838207fc156ca596eb72c7069cd144))


### Documentation

* mark followups [#6](https://github.com/RepliMap/replimap-mono/issues/6)/[#7](https://github.com/RepliMap/replimap-mono/issues/7) fixed; add [#8](https://github.com/RepliMap/replimap-mono/issues/8) (license key as URL query param — ([2e4b6d0](https://github.com/RepliMap/replimap-mono/commit/2e4b6d02abce4829ff0686775b18d95878db733d))

## [0.5.3](https://github.com/RepliMap/replimap-mono/compare/replimap-web-v0.5.2...replimap-web-v0.5.3) (2026-01-23)


Expand Down
2 changes: 1 addition & 1 deletion apps/web/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@replimap/web",
"version": "0.5.3",
"version": "0.6.0",
"private": true,
"scripts": {
"dev": "next dev",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "replimap-mono",
"version": "1.4.3",
"version": "1.5.0",
"private": true,
"description": "RepliMap Monorepo - Cloud Infrastructure Visualization & Compliance",
"scripts": {
Expand Down