Skip to content
Merged
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
41 changes: 41 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,47 @@ jobs:
exit 0
fi

mapfile -t changed_files < <(git diff --name-only --diff-filter=ACMR origin/premain...origin/staging)
if [[ "${#changed_files[@]}" -gt 0 ]]; then
release_sync_only="true"
for path in "${changed_files[@]}"; do
case "${path}" in
.github/workflows/* \
| .release-please-manifest*.json \
| release-please-config*.json \
| VERSION \
| CHANGELOG.md \
| README.md \
| Makefile \
| .gitignore \
| docs/README.md \
| docs/api-reference.md \
| docs/getting-started.md \
| scripts/build-release-assets.sh \
| scripts/generate-checksums.sh \
| scripts/read-version.sh \
| scripts/render-release-notes.sh \
| scripts/verify-release-branch.sh \
| scripts/verify-ts-pack.sh \
| scripts/verify-version-alignment.sh \
| ts/README.md \
| ts/package-lock.json \
| ts/package.json)
;;
*)
release_sync_only="false"
break
;;
esac
done

if [[ "${release_sync_only}" == "true" ]]; then
echo "prerelease-ready: OK (release sync only change)"
printf '%s\n' "${changed_files[@]}"
exit 0
fi
fi

echo "prerelease-ready: FAIL"
echo "No user-facing conventional commits (feat:/fix:/perf:) found in ${range}."
echo "release-please will skip, so no new prerelease tag will be cut."
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,4 +140,5 @@ jobs:
fi

echo "release-cleanup: deleting draft release and tag ${TAG_NAME}"
gh release delete "${TAG_NAME}" --yes --cleanup-tag
gh release delete "${TAG_NAME}" --yes || true
git push origin ":refs/tags/${TAG_NAME}" || true
7 changes: 7 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@ jobs:

git fetch origin main --force
git fetch origin premain --force || true

# Existing draft tags may predate a synchronized VERSION file.
# Normalize the workspace copy so verification/build scripts use the requested tag version.
if [[ -f VERSION ]]; then
printf '%s # x-release-please-version\n' "${TAG_NAME#v}" > VERSION
fi

scripts/verify-release-branch.sh "${TAG_NAME}"

export SOURCE_DATE_EPOCH="$(git show -s --format=%ct HEAD)"
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.premain.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.1"
".": "0.2.0-rc.2"
}
55 changes: 46 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,63 @@
# Changelog

## [0.2.0-rc.2](https://github.com/theory-cloud/FaceTheory/compare/v0.2.0-rc.1...v0.2.0-rc.2) (2026-03-28)


### Bug Fixes

* **ci:** allow staging premain sync prs ([e895398](https://github.com/theory-cloud/FaceTheory/commit/e895398c3c8e4ae8e978e9f8ed15f4b227ac6e71))

## [0.2.0-rc.1](https://github.com/theory-cloud/FaceTheory/compare/v0.2.0-rc...v0.2.0-rc.1) (2026-03-28)

### Features

- add external svelte library host example ([1879ed0](https://github.com/theory-cloud/FaceTheory/commit/1879ed0d79309cd36ab418ebe72d5ef644b1150b))
- add FaceTheory SPA navigation helpers ([0fa261d](https://github.com/theory-cloud/FaceTheory/commit/0fa261d37b162c6e3873da3e6e3404fde723c73e))
- Create new log files for tools, websocket, workflow, authentica… ([60a9439](https://github.com/theory-cloud/FaceTheory/commit/60a943951dad7b95c8762dae13c73da0082b284a))
- Create new log files for tools, websocket, workflow, authentication, filesystem, and security. ([cd532e0](https://github.com/theory-cloud/FaceTheory/commit/cd532e0a6ad88ecc70df3618dfa73c8ab0d5c0e0))
- expose document shell attrs in render contract ([728b604](https://github.com/theory-cloud/FaceTheory/commit/728b60496667b901be0e01de676ce9b95da97b71))
- implement R4 blocking ISR runtime ([84aa063](https://github.com/theory-cloud/FaceTheory/commit/84aa0635a8d0bfcd86fff8af341b10fefcbba526))
- implement R5 streaming style strategy ([d187be1](https://github.com/theory-cloud/FaceTheory/commit/d187be13753d0c798083bc1291b9ac21ff4f8a6e))
- implement R6 vue and svelte parity ([fde40d6](https://github.com/theory-cloud/FaceTheory/commit/fde40d61646e58c4fef15beaf9f5474ac0c05535))

### Bug Fixes

- **ci:** allow release infra premain merges ([263f5df](https://github.com/theory-cloud/FaceTheory/commit/263f5df2ae7cb841d88e1704159585bb47969022))
- **release:** align prerelease doc versioning ([bc03012](https://github.com/theory-cloud/FaceTheory/commit/bc030120b1507ba29413b2294e1bd4040a8b2e2f))
- **release:** align prerelease doc versioning ([349a7b8](https://github.com/theory-cloud/FaceTheory/commit/349a7b8808bd7edbe7f0a6cbd05706283ebbe019))

## [0.2.0](https://github.com/theory-cloud/FaceTheory/compare/v0.1.1...v0.2.0) (2026-03-28)

### Features

- add external svelte library host example ([1879ed0](https://github.com/theory-cloud/FaceTheory/commit/1879ed0d79309cd36ab418ebe72d5ef644b1150b))
- add FaceTheory SPA navigation helpers ([0fa261d](https://github.com/theory-cloud/FaceTheory/commit/0fa261d37b162c6e3873da3e6e3404fde723c73e))
- expose document shell attrs in render contract ([728b604](https://github.com/theory-cloud/FaceTheory/commit/728b60496667b901be0e01de676ce9b95da97b71))

## [0.2.0-rc](https://github.com/theory-cloud/FaceTheory/compare/v0.1.1...v0.2.0-rc) (2026-03-28)

### Features

* add external svelte library host example ([1879ed0](https://github.com/theory-cloud/FaceTheory/commit/1879ed0d79309cd36ab418ebe72d5ef644b1150b))
* add FaceTheory SPA navigation helpers ([0fa261d](https://github.com/theory-cloud/FaceTheory/commit/0fa261d37b162c6e3873da3e6e3404fde723c73e))
* expose document shell attrs in render contract ([728b604](https://github.com/theory-cloud/FaceTheory/commit/728b60496667b901be0e01de676ce9b95da97b71))
- add external svelte library host example ([1879ed0](https://github.com/theory-cloud/FaceTheory/commit/1879ed0d79309cd36ab418ebe72d5ef644b1150b))
- add FaceTheory SPA navigation helpers ([0fa261d](https://github.com/theory-cloud/FaceTheory/commit/0fa261d37b162c6e3873da3e6e3404fde723c73e))
- expose document shell attrs in render contract ([728b604](https://github.com/theory-cloud/FaceTheory/commit/728b60496667b901be0e01de676ce9b95da97b71))

### Bug Fixes

- **ci:** allow release infra premain merges ([263f5df](https://github.com/theory-cloud/FaceTheory/commit/263f5df2ae7cb841d88e1704159585bb47969022))

## [0.1.1](https://github.com/theory-cloud/FaceTheory/releases/tag/v0.1.1) (2026-03-10)

### Features

* refresh stable runtime and infra dependencies, including AppTheory `v0.17.1` and TableTheory `v1.4.2`
* migrate the TypeScript workspace lint stack to ESLint 10 flat config and remove stale lint suppressions
* update reference infra snapshots for the current AppTheory CDK and AWS CDK output
- refresh stable runtime and infra dependencies, including AppTheory `v0.17.1` and TableTheory `v1.4.2`
- migrate the TypeScript workspace lint stack to ESLint 10 flat config and remove stale lint suppressions
- update reference infra snapshots for the current AppTheory CDK and AWS CDK output

## [0.1.0](https://github.com/theory-cloud/FaceTheory/releases/tag/v0.1.0) (2026-03-10)

### Features

* initial FaceTheory release with the TypeScript SSR, SSG, and blocking ISR runtime for Node.js `>=24`
* ship public package exports for React, Vue, and Svelte adapters plus AppTheory and TableTheory integration surfaces
* publish the canonical consumer docs set, AWS deployment guidance, and release-ready reference examples
- initial FaceTheory release with the TypeScript SSR, SSG, and blocking ISR runtime for Node.js `>=24`
- ship public package exports for React, Vue, and Svelte adapters plus AppTheory and TableTheory integration surfaces
- publish the canonical consumer docs set, AWS deployment guidance, and release-ready reference examples
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,15 @@ FaceTheory is a TypeScript runtime for AWS-first SSR, SSG, and blocking ISR with

Canonical documentation lives under [docs/README.md](./docs/README.md).

## Install v0.2.0 <!-- x-release-please-version -->
## Install v0.2.0-rc.2 <!-- x-release-please-version -->

Install the exact GitHub release tarball:

<!-- x-release-please-start-version -->
```bash
export FACETHEORY_VERSION=0.2.0-rc.2 # x-release-please-version
npm install --save-exact \
https://github.com/theory-cloud/FaceTheory/releases/download/v0.2.0/theory-cloud-facetheory-0.1.1.tgz
"https://github.com/theory-cloud/FaceTheory/releases/download/v${FACETHEORY_VERSION}/theory-cloud-facetheory-${FACETHEORY_VERSION}.tgz"
```
<!-- x-release-please-end -->

Add the framework peers that match your adapter surface:

Expand All @@ -33,13 +32,13 @@ Optional companion packages from pinned GitHub releases:
Create a minimal app:

```ts
import { createFaceApp, type FaceModule } from '@theory-cloud/facetheory';
import { createFaceApp, type FaceModule } from "@theory-cloud/facetheory";

const faces: FaceModule[] = [
{
route: '/',
mode: 'ssr',
render: async () => ({ html: '<h1>Hello FaceTheory</h1>' }),
route: "/",
mode: "ssr",
render: async () => ({ html: "<h1>Hello FaceTheory</h1>" }),
},
];

Expand All @@ -49,15 +48,15 @@ export const app = createFaceApp({ faces });
Expose it through Lambda Function URLs directly:

```ts
import { createLambdaUrlStreamingHandler } from '@theory-cloud/facetheory';
import { app } from './app';
import { createLambdaUrlStreamingHandler } from "@theory-cloud/facetheory";
import { app } from "./app";

export const handler = createLambdaUrlStreamingHandler({ app });
```

`createLambdaUrlStreamingHandler()` expects Lambda's `awslambda.streamifyResponse` global at runtime. Outside Lambda, test request handling with `handleLambdaUrlEvent(app, event)` or pass the optional `awslambda` adapter explicitly.

The `v0.2.0` GitHub release also ships `facetheory-reference-0.1.1.tar.gz`, which contains the canonical docs, runnable examples, and reference deployment stacks for offline use. <!-- x-release-please-version -->
The `v0.2.0-rc.2` GitHub release also ships the matching `facetheory-reference-${FACETHEORY_VERSION}.tar.gz` bundle, which contains the canonical docs, runnable examples, and reference deployment stacks for offline use. <!-- x-release-please-version -->

## Repository Development

Expand All @@ -69,6 +68,7 @@ npm test
```

High-signal examples:

- React streaming: `npm run example:streaming:serve`
- Vue Vite SSR: `npm run example:vite:vue:build && npm run example:vite:vue:serve`
- Svelte Vite SSR: `npm run example:vite:svelte:build && npm run example:vite:svelte:serve`
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.1
0.2.0-rc.2 # x-release-please-version
7 changes: 6 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ This is the official documentation index for the canonical `docs/` surface.
## Scope

Canonical root:

- `docs/`

Fixed ingestible docs:

- `docs/README.md`
- `docs/_concepts.yaml`
- `docs/_patterns.yaml`
Expand All @@ -36,15 +38,18 @@ Fixed ingestible docs:
- `docs/migration-guide.md`

Fixed contract-only docs:

- `docs/_contract.yaml`
- `docs/development-guidelines.md`

Sanctioned optional ingestible docs:

- `docs/cdk/**`
- `docs/migration/**`
- `docs/llm-faq/**`

Out of scope for canonical retrieval:

- `docs/development/**`
- `docs/planning/**`
- `docs/internal/**`
Expand All @@ -58,4 +63,4 @@ FaceTheory is a TypeScript runtime for AWS-first SSR, SSG, and blocking ISR with

Use this doc set for supported interfaces, setup, verification, troubleshooting, and deployment guidance. Keep roadmap or planning material out of this navigation path.

The `v0.2.0` GitHub release ships the runtime tarball, a reference bundle with docs plus examples, and `SHA256SUMS.txt` so consumers can install without cloning the repository. <!-- x-release-please-version -->
The `v0.2.0-rc.2` GitHub release ships the runtime tarball, a reference bundle with docs plus examples, and `SHA256SUMS.txt` so consumers can install without cloning the repository. <!-- x-release-please-version -->
Loading
Loading