Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
71354cb
Add 0.17.X `typescript` requirements to migration guides (#3096)
FranjoMindek Aug 19, 2025
47b5e7d
Add Wasp version change to 0.17.X migration docs (#3101)
FranjoMindek Aug 20, 2025
b409977
Update footer links (#3104)
cprecioso Aug 28, 2025
deb7f11
Cherry-pick docs restructure and Railway UTMs for release (#3137)
sodic Sep 5, 2025
5b73745
Prepare version 0.18.0 (#3115)
sodic Sep 11, 2025
4a6f106
Update tutorial example apps for 0.18.0 (#3145)
infomiho Sep 11, 2025
f2ec02f
remove path from push (#3111)
FranjoMindek Sep 12, 2025
a63ac59
Update tag for open saas (#3152)
sodic Sep 13, 2025
f993ea1
Merge branch 'release'
sodic Sep 13, 2025
c842682
Update migration guide with version bump (#3154)
sodic Sep 13, 2025
06559f0
Fix version typo in migration guide
sodic Sep 14, 2025
d23adb3
Fix email singup data type error + more robust todoApp sigunup testin…
FranjoMindek Sep 15, 2025
ab6a243
Move React Query to the SDK's peerDependencies (#3158)
cprecioso Sep 15, 2025
2434a4a
Changelog for `EmailSignupData` type fix (#3156)
FranjoMindek Sep 16, 2025
89041b0
Fix Windows EOF for waspc-test and waspls-test (#3027)
nodtem66 Sep 16, 2025
6095966
changes (#3160)
FranjoMindek Sep 16, 2025
b10ebbf
Run format workflow in Github Actions on merge (on main and release b…
FranjoMindek Sep 16, 2025
2a59e84
Loosen Typescript config options for the generated `web-app` (#3162)
infomiho Sep 17, 2025
6d5aeb6
Typo in migration guide (#3164)
cprecioso Sep 17, 2025
047a862
Add versioned docs for 0.18.0
sodic Sep 17, 2025
e3e4083
Fix formatting in docs
sodic Sep 17, 2025
86feab4
Migrate Mage to Wasp 0.18.0 (#3166)
sodic Sep 18, 2025
8b8b0ab
Use `npm run preview` in `wasp-app-runner` (#3168)
cprecioso Sep 18, 2025
b30424a
Bump wasp-app-runner version
cprecioso Sep 18, 2025
b4584aa
Add note for providers blocking SMTP connections in docs (#3109)
Vickram-T-G Sep 19, 2025
0335250
Add test coverage checkbox to PR template (#3175)
cprecioso Sep 19, 2025
92cb235
ver (#3173)
FranjoMindek Sep 19, 2025
e06754a
Reorganize Fly docs (#3186)
cprecioso Sep 24, 2025
c414b49
Remove Railpack-related prerequisites from Railway deployment documen…
Copilot Sep 24, 2025
1129a07
Merge branch 'release'
infomiho Sep 24, 2025
a8ffba4
Add `--db-image` argument to `wasp start db` command (#3182)
cprecioso Sep 26, 2025
41888e0
Fix `NODE_ENV` type error in server env (#3189)
Copilot Sep 29, 2025
9da8c46
Cleanup leftover submodule (#3198)
infomiho Sep 29, 2025
0a8e17d
blog: added lw11 announcement + updated announcement bar on LP.
matijaSos Sep 26, 2025
44d1a8f
fix: invalid link in lw11 announcement.
matijaSos Sep 30, 2025
dec52b8
Add `--db-image` argument to `wasp-app-runner` (#3183)
cprecioso Oct 1, 2025
b0acb69
Add comprehensive streaming responses documentation to Custom HTTP AP…
Copilot Oct 1, 2025
7eb8188
Clarified context passing for Operations when used from server
Martinsos Oct 2, 2025
ef6e800
Use pre-built tarballs for `wasp new -t saas` (#3196)
cprecioso Oct 6, 2025
23c26d3
Remove Wasp version disclaimer from wasp-ts-config.md documentation (…
Copilot Oct 7, 2025
c46ba12
docs: guide for Chrome DevTools workspace mapping with Vite-Plugin-De…
0xTaneja Oct 7, 2025
9fe53d7
Add "How we test a web framework" blog post (#3234)
FranjoMindek Oct 7, 2025
f21a540
Merge branch 'release'
FranjoMindek Oct 7, 2025
c90c89d
Change wasp compilation image to one with background
FranjoMindek Oct 7, 2025
707508e
Merge branch 'release'
FranjoMindek Oct 7, 2025
8f5a849
update web framework blog post
FranjoMindek Oct 8, 2025
2190252
Merge branch 'release'
FranjoMindek Oct 8, 2025
6f0c92d
Update GHC to 9.0.2 (#3239)
sodic Oct 9, 2025
30b426f
Create automation for merging `release` back to `main` (#3235)
cprecioso Oct 9, 2025
f04ec3e
Remove GHC repetitions in GH actions (#3241)
sodic Oct 9, 2025
0c49245
Fix GHC 9.0.2 build on Apple Silicon (#3243)
cprecioso Oct 9, 2025
2f64140
Workflow consistency and refactor (#3238)
cprecioso Oct 9, 2025
0447e63
blog: added design-ai-thon announcement post.
matijaSos Oct 8, 2025
b9dcc70
Modernize blog file types (#3237)
FranjoMindek Oct 10, 2025
cb9ecc9
Merge branch 'release'
FranjoMindek Oct 10, 2025
a7d5607
fix new post
FranjoMindek Oct 10, 2025
adda96d
Merge branch 'release'
FranjoMindek Oct 10, 2025
6b3462d
Fix wrong names in "merge release to main" automation (#3245)
cprecioso Oct 10, 2025
c1c114f
Cherry-pick merge automation
cprecioso Oct 10, 2025
46b5cdc
Bump version to 0.18.1 (#3236)
cprecioso Oct 10, 2025
5bc99cc
Add `--db-image` argument to `wasp deploy railway` (#3184)
cprecioso Oct 10, 2025
3ed865c
Add `--db-image` argument to `wasp deploy fly` (#3187)
cprecioso Oct 10, 2025
0094f36
web: added design-ai-thon CTA to navbars.
matijaSos Oct 10, 2025
342f3a8
Modernize `e2e-tests` (#3114)
FranjoMindek Oct 10, 2025
803b5aa
Bump Wasp App Runner
cprecioso Oct 10, 2025
289cea4
Format Announcement component (#3248)
infomiho Oct 13, 2025
13b5dde
Remove assigning and adding reviewer to merge-back PR (#3249)
cprecioso Oct 13, 2025
36c6214
Merge remote-tracking branch 'origin/release'
cprecioso Oct 13, 2025
f137dec
`ask-the-documents`: Import app into repo (#3174)
cprecioso Oct 13, 2025
87838dd
`ask-the-documents`: Add dotenv files (#3252)
cprecioso Oct 13, 2025
e309501
`ask-the-documents`: Deploy to Fly (#3251)
cprecioso Oct 13, 2025
ad1ec0b
`ask-the-documents`: Add CI testing (#3250)
cprecioso Oct 14, 2025
08a5295
Fix dev-tools.project versions (#3261)
FranjoMindek Oct 15, 2025
306c386
Pin react query to patch version. (#3264)
FranjoMindek Oct 17, 2025
bc352a2
update versions
FranjoMindek Oct 17, 2025
b404a68
update e2e tests
FranjoMindek Oct 17, 2025
a497e8f
Merge branch 'release'
FranjoMindek Oct 17, 2025
84ec730
Update Fly region in CI deployment workflow from 'mia' to 'dfw' (#3275)
infomiho Oct 27, 2025
61b7373
Update Fly.io deployment region from `mia` to `dfw` in documentation …
infomiho Oct 27, 2025
ca83892
Fix Waspleau types (#3281)
cprecioso Oct 27, 2025
e06b715
Ignore MDX files in GitHub's language detection (#3278)
cprecioso Oct 27, 2025
e4b6a98
Rename `todoApp` to `kitchen-sink` and move it to `examples/` dir (#3…
FranjoMindek Oct 28, 2025
ce81a90
Enable npm workspace for user project and generated code (#3159)
cprecioso Oct 28, 2025
83e16d8
Clarify npm dependencies types (#3178)
cprecioso Oct 28, 2025
026330e
Update GitHub language detection (#3289)
cprecioso Nov 3, 2025
5986860
Revert "Remove assigning and adding reviewer to merge-back PR (#3249)…
cprecioso Nov 3, 2025
afa4ee6
Merge pull request #3291 from wasp-lang/release
cprecioso Nov 3, 2025
165e9d5
CI: Remove old ghcup workaround (#3295)
cprecioso Nov 4, 2025
02e17a0
CI: Update runner to macOS 15 (#3293)
cprecioso Nov 4, 2025
c080c10
Add script to install `playwright` deps, use it automatically before …
FranjoMindek Nov 4, 2025
510847b
new version (#3268)
FranjoMindek Nov 4, 2025
23b82a3
Add migration guide to sidebar (#3300)
cprecioso Nov 4, 2025
8a7695a
Add Playwright test-results dir to ask-the-documents .gitignore (#3301)
infomiho Nov 4, 2025
58879c8
Pin macOS version (#3296)
cprecioso Nov 5, 2025
f2ee218
Create fetch nightly action (#3304)
cprecioso Nov 5, 2025
3b2034a
Refactor repo `README.md` (#3298)
FranjoMindek Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

*.hs linguist-detectable=false

/examples/* linguist-documentation
/web/** linguist-documentation
/examples/** linguist-documentation

**/package-lock.json linguist-generated=true
59 changes: 59 additions & 0 deletions .github/actions/fetch-nightly-cli/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Fetch nightly CLI
description: From an outside repo, fetch the latest nightly CLI build from Wasp's CI runs.

inputs:
branch:
description: The branch to fetch the nightly build from. Defaults to 'main'.
required: false
default: main
token:
description: GitHub token to authenticate the request.
required: false
default: ${{ github.token }}
output-dir:
description: Directory to download the CLI build into. Defaults to the current directory.
required: false
default: "."

runs:
using: composite

steps:
- name: Get latest successful run ID
id: get_run_id
shell: bash
run: |
run_id=$(
gh run list \
--workflow "$WORKFLOW_NAME" \
--branch "$BRANCH" \
--status success \
--limit 1 \
--json databaseId \
--jq '.[0].databaseId'
)
echo "run_id=$run_id" >> $GITHUB_OUTPUT
env:
GH_REPO: wasp-lang/wasp
GH_TOKEN: ${{ inputs.token }}
BRANCH: ${{ inputs.branch }}
WORKFLOW_NAME:
# This name must be in sync with the name used in:
# /.github/workflows/ci.yaml
"CI"

- name: Download artifact
shell: bash
run: |
gh run download "$RUN_ID" \
--name "$ARTIFACT_NAME" \
--dir "$OUTPUT_DIR"
env:
GH_REPO: wasp-lang/wasp
GH_TOKEN: ${{ inputs.token }}
RUN_ID: ${{ steps.get_run_id.outputs.run_id }}
OUTPUT_DIR: ${{ inputs.output-dir }}
ARTIFACT_NAME:
# This is the name of the artifact (not the file), which must be in sync with:
# /.github/workflows/ci-waspc-build.yaml
"wasp-cli-${{ runner.os == 'Linux' && 'linux' || 'macos' }}-${{ runner.arch == 'ARM64' && 'aarch64' || 'x86_64' }}"
4 changes: 2 additions & 2 deletions .github/actions/setup-haskell/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ inputs:
description: |
The version of GHC to install.
required: false
default: "8.10.7"
default: "9.0.2"

cabal-version:
description: |
The version of Cabal to install.
required: false
default: "latest"
default: "3.10.2.0"

cabal-project-dir:
description: |
Expand Down
10 changes: 10 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,16 @@ If you did a **bug fix**, make sure you satisfy the following:
If you're unable to add a regression test, please explain why.
This likely indicates that our current testing setup needs improvement.

### Test Coverage

Please ensure your changes are adequately tested:

1. [ ] **My changes are covered by tests** (unit, integration, or e2e tests as appropriate).

If you're unable to add tests or if coverage is partial, please explain why below:

<!-- Provide explanation here if tests are missing or incomplete -->

### Update example apps if needed

If you did code changes and **added a new feature**, make sure you satisfy the following:
Expand Down
53 changes: 53 additions & 0 deletions .github/workflows/automation-algolia-restart-crawler.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: "Automation - Restart Algolia crawler"

# Based on https://github.com/wasp-lang/wasp/tree/main/web#deployment.
on:
workflow_dispatch:
push:
branches:
- deploy-web

concurrency:
group: "automation-algolia-restart-crawler"
cancel-in-progress: true

jobs:
restart-crawler:
name: Restart Algolia Crawler
runs-on: ubuntu-latest
steps:
- name: Wait for Wasp web to finish deploying
env:
CLOUDFLARE_ACCOUNT_ID: 75c37602a6b75c790961219411cb1b92
CLOUDFLARE_PROJECT_NAME: wasp-docs
run: |
while true; do
response=$(curl -s "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/pages/projects/$CLOUDFLARE_PROJECT_NAME/deployments?per_page=1&page=1&env=production" \
-H "Authorization: Bearer ${{ secrets.CLOUDFLARE_READ_PAGES_API_TOKEN }}" \
-H "Content-Type: application/json")

latest_name=$(echo "$response" | jq -r '.result[0].latest_stage.name')
latest_status=$(echo "$response" | jq -r '.result[0].latest_stage.status')

echo "Latest stage: $latest_name, status: $latest_status"

if [[ "$latest_status" == "active" ]]; then
echo "Deployment is still active, waiting 5 seconds..."
sleep 5
continue
elif [[ "$latest_name" == "deploy" && "$latest_status" == "success" ]]; then
echo "Deployment succeeded!"
break
else
echo "Deployment failed or in unexpected state: stage=$latest_name, status=$latest_status"
exit 1
fi
done

- name: Restart Algolia crawler
run: |
# Based on Algolia API: https://www.algolia.com/doc/rest-api/crawler/#tag/actions/operation/startReindex
curl -X POST \
--user "${{ secrets.ALGOLIA_CRAWLER_USER_ID }}:${{ secrets.ALGOLIA_CRAWLER_API_KEY }}" \
-H "Content-Type: application/json" \
"https://crawler.algolia.com/api/1/crawlers/${{ secrets.ALGOLIA_CRAWLER_ID }}/reindex"
31 changes: 31 additions & 0 deletions .github/workflows/automation-cache-evict.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: "Automation - Evict caches"

# Caches for merged PRs stay around until we bump against our cache limit.
# They are also not shareable between branches. Therefore, once a PR is
# merged, the cache for that branch is immediately not needed anymore, and we
# can remove it. If we remove these caches, we can save space and be more sure
# that the remaining caches are actually useful, and not at danger of being
# evicted.

on:
workflow_dispatch:
push:
branches:
- main

concurrency:
group: "automation-cache-evict"
cancel-in-progress: true

jobs:
evict-cache:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

- name: Evict caches
shell: bash
env:
GITHUB_TOKEN: ${{ github.token }}
run: node ./scripts/cache-evict.mjs
16 changes: 16 additions & 0 deletions .github/workflows/automation-cache-warm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: "Automation - Warm caches"

on:
workflow_dispatch:
schedule:
# GitHub evicts unused caches after 7 days, so we run this every 6 days
- cron: "0 0 */6 * *"

concurrency:
group: "automation-cache-warm"
cancel-in-progress: false

jobs:
warm-cache-ci:
uses: ./.github/workflows/ci.yaml
secrets: inherit
56 changes: 56 additions & 0 deletions .github/workflows/automation-merge-release-to-main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: "Automation - Merge release to main"

on:
workflow_dispatch:
push:
branches:
- release

env:
SOURCE_BRANCH: release
TARGET_BRANCH: main

USERNAME: ${{ github.actor }}

PR_TITLE: "Merge `release` into `main`"
PR_BODY: |
Automated PR to merge changes from `release` branch back into `main`.

> [!IMPORTANT]
> You should **NOT** "Rebase and merge" or "Squash and merge" this PR, so we avoid conflicts in the future.

jobs:
create-pr:
name: Create Pull Request
runs-on: ubuntu-latest

steps:
- run: |
existing_pr_number=$(
gh pr list \
--head "$SOURCE_BRANCH" \
--base "$TARGET_BRANCH" \
--json number \
--jq '.[0].number // empty'
)

if [ -n "$existing_pr_number" ]; then
gh pr comment "$existing_pr_number" \
--body "Ping @${USERNAME}"

gh pr edit "$existing_pr_number" \
--add-assignee "$USERNAME" \
--add-reviewer "$USERNAME"
else
gh pr create \
--assignee "$USERNAME" \
--reviewer "$USERNAME" \
--head "$SOURCE_BRANCH" \
--base "$TARGET_BRANCH" \
--title "$PR_TITLE" \
--body "$PR_BODY"
fi
env:
# Env for the `gh` CLI tool
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
50 changes: 50 additions & 0 deletions .github/workflows/automation-pr-label-external.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: "Automation - Label external PRs"

on:
pull_request:
types:
- opened
- reopened

env:
internal_team_name: "eng"
external_label_name: "external"

jobs:
label-external-pr:
name: Label external PRs

runs-on: ubuntu-latest

permissions:
pull-requests: write

steps:
# We're dealing with untrusted input, so we pass inputs as environment
# variables instead of interpolation, following GitHub's advice:
# https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable

- name: Check if PR is internal
id: check_pr
run: |
pr_is_internal=$(
gh api "/orgs/$GITHUB_ORG/teams/$TEAM_NAME/members" |
jq --arg author "$AUTHOR_LOGIN" 'map(.login) | contains([$author])'
)

# Output is a JSON boolean
echo "pr_is_internal=$pr_is_internal" >>"$GITHUB_OUTPUT"

env:
AUTHOR_LOGIN: ${{ github.event.sender.login }}
GITHUB_ORG: ${{ github.repository_owner }}
TEAM_NAME: ${{ env.internal_team_name }}
GH_TOKEN: ${{ secrets.WASP_LANG_READ_MEMBERS }}

- name: Label external PR
if: steps.check_pr.outputs.pr_is_internal == 'false'
run: gh pr edit "$PR_NUMBER" --add-label "$LABEL_NAME"
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
LABEL_NAME: ${{ env.external_label_name }}
GH_TOKEN: ${{ github.token }}
31 changes: 0 additions & 31 deletions .github/workflows/cache-evict.yml

This file was deleted.

18 changes: 0 additions & 18 deletions .github/workflows/cache-warm.yml

This file was deleted.

Loading
Loading