@voltro/plugin-auth-auth0 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -39,6 +39,35 @@ _Changes staged for the next release accumulate here (rolled up from
39
39
 
40
40
  ---
41
41
 
42
+ ## [0.17.0] — 2026-07-27
43
+
44
+ ### ⚠ BREAKING
45
+
46
+ - **@voltro/cli** — **A directory is a route segment, and its route is `page.tsx`.**
47
+
48
+ ```
49
+ src/pages/page.tsx → /
50
+ src/pages/pricing/page.tsx → /pricing
51
+ src/pages/users/[id]/page.tsx → /users/[id]
52
+ src/pages/docs/[...slug]/page.tsx → /docs/<anything>
53
+ ```
54
+
55
+ A parameter is a **directory** name now, never a filename. Beside `page.tsx` sit the other reserved names its segment owns — `layout.tsx`, `error.tsx`, `loading.tsx`, `not-found.tsx` — plus `page.test.tsx` and any co-located components.
56
+
57
+ **Why, one release after `*.page.tsx` landed.** The evidence was in the same folder the whole time: `layout.tsx` / `error.tsx` / `loading.tsx` / `not-found.tsx` are reserved names that take their meaning from the DIRECTORY, with no suffix. The page was the only member of that family carrying one — so the convention broke its own rule four times per folder, and nobody could say which form a route should take without a four-row table.
58
+
59
+ What the change removes, beyond the inconsistency:
60
+
61
+ - **The choice.** `x.page.tsx` and `x/index.page.tsx` routed identically. - **A silent bug class.** `settings.page.tsx` beside `settings/layout.tsx` rendered WITHOUT that layout, because the chain is built from the directories a file physically sits in. Nothing warned; the page just lost its layout. Under the new rule the case cannot be expressed. - **The `page/unsuffixed-in-pages` heuristic** — "a default export that nothing imports is probably an unmigrated route". A `.tsx` in a route folder that is not `page.tsx` is now structurally not a route. A guess replaced by a fact, which also retires the diagnostic promoted to an error last release.
62
+
63
+ **The codemod moves every route into its own directory** and carries its co-located test. It **refuses** where two files claim one route (`users.page.tsx` + `users/index.page.tsx` both routed to `/users`): NEITHER is moved, both are named. Picking would delete a route silently — the failure this whole change exists to make impossible.
64
+
65
+ Applied to our own five repos: 222 routes moved, no collisions.
66
+
67
+ **A note for anyone writing a codemod.** 0.14.0's two codemods imported `PAGE_PATTERN` from the shared registry, and this release changed what it means — so `03_pages-suffix` started appending a second suffix (`index.page.page.tsx`) and `04_file-taxonomy` renamed routes to `*.component.tsx`, silently, for anyone upgrading from 0.13. Both now freeze their own patterns. A codemod describes ONE jump between two conventions that were true at the time; it is the one place a local copy of a shared rule is correct.
68
+
69
+ ---
70
+
42
71
  ## [0.16.0] — 2026-07-27
43
72
 
44
73
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/plugin-auth-auth0",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "Auth0-backed AuthStrategy for the Voltro framework. Verifies Auth0-issued JWTs via the tenant's JWKS endpoint. Conforms to @voltro/protocol AuthStrategy so it composes with other IdP plugins.",
5
5
  "keywords": [
6
6
  "voltro",
@@ -32,7 +32,7 @@
32
32
  "node": ">=24.0.0"
33
33
  },
34
34
  "dependencies": {
35
- "@voltro/protocol": "0.16.0"
35
+ "@voltro/protocol": "0.17.0"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "effect": "^3.21.4"