From 59d129c626335e51773ea578425b8caea04df17f Mon Sep 17 00:00:00 2001 From: 81reap Date: Wed, 23 Sep 2026 23:09:50 -0400 Subject: [PATCH 1/2] fix(release) :: update macOS binary to Apple Silicon Before `sqlpage-macos.tgz` was built for x86_64 and relied on Apple's Rosetta translation layer to run it. As of macOS 26, [Apple Silicon macs no longer ship with Rosetta](https://developer.apple.com/news/?id=w5ngl9k2). As of macOS 27, [Apple drops drops support for Intel macs](https://9to5mac.com/2026/09/01/apple-tells-mac-app-store-developers-they-can-now-drop-intel-support/). So now SQLPage ships arm64 tarballs to continue working on macs running in 2027. --- .github/workflows/release.yml | 2 +- .../your-first-sql-website/tutorial-install-any.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e04adc7..3da174c5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: target: x86_64-pc-windows-msvc features: "" - os: macos-latest - target: x86_64-apple-darwin + target: aarch64-apple-darwin features: "odbc-static" steps: - uses: actions/checkout@v7 diff --git a/examples/official-site/your-first-sql-website/tutorial-install-any.md b/examples/official-site/your-first-sql-website/tutorial-install-any.md index d91533b2..96fdeb92 100644 --- a/examples/official-site/your-first-sql-website/tutorial-install-any.md +++ b/examples/official-site/your-first-sql-website/tutorial-install-any.md @@ -11,6 +11,8 @@ you can skip this step and [start writing your website](#tutorial). In the _release assets_ section, you will find files named `sqlpage-windows.zip`, `sqlpage-linux.tgz`, and `sqlpage-macos.tgz`. Download the one that corresponds to your operating system, and extract the executable file from the archive. +`sqlpage-macos.tgz` is built for Apple silicon only as Apple dropped support for Intel Macs after macOS 26. If needed, install SQLPage there with Homebrew, docker, or from source. + > **Note**: On Mac OS, Apple blocks the execution of downloaded files by default. The easiest way to run SQLPage is to use [Homebrew](https://brew.sh). > **Note**: Advanced users can alternatively install SQLPage using: From 6aae0fde369e0e95f88904d1683c574f85b77b00 Mon Sep 17 00:00:00 2001 From: Ophir Lojkine Date: Fri, 25 Sep 2026 12:29:54 +0000 Subject: [PATCH 2/2] docs: guide macOS users through Homebrew installation --- CHANGELOG.md | 1 + README.md | 14 ++++++---- .../tutorial-install-any.md | 2 -- .../tutorial-install-macos.md | 27 ++++++++++++++----- 4 files changed, 31 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1a09526..94b68788 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # CHANGELOG.md ## v0.47.0 (unreleased) +- **Mac users:** the downloadable `sqlpage-macos.tgz` now runs natively on Apple silicon (M-series Macs) and no longer runs on Intel Macs. Homebrew remains the recommended and easiest installation method. On an Intel Mac, [install Homebrew](https://brew.sh/) if needed, then run `brew install sqlpage` (or `brew update` followed by `brew upgrade sqlpage` if you already installed it with Homebrew). Open Terminal in your existing website folder and run `sqlpage` instead of `./sqlpage.bin`; keep your SQL files, database, and `sqlpage` configuration folder in place. Intel installations may build from source and take longer; see the [macOS installation guide](https://sql-page.com/your-first-sql-website/?os=macos#download) for setup and older macOS requirements. - Updated sqlx-oldapi to v0.6.57 to fix SQL Server fallback expressions such as `ISNULL($missing, 'default')` truncating defaults or failing for date values when the bound variable is `NULL`. - Fixed MSSQL `JSON_OBJECT('key': value)` expressions being rejected by SQLPage's parser, including when used in `SET` statements or nested in `sqlpage.*` function calls. - OIDC now checks both normalized request paths and their resolved SQL files against protected prefixes, closing authentication bypasses through path and clean-URL aliases. Nonce verification also rejects provider-returned Argon2 parameters outside SQLPage's fixed low-cost profile before hashing. diff --git a/README.md b/README.md index 485aec1c..fee5dd80 100644 --- a/README.md +++ b/README.md @@ -143,8 +143,9 @@ select ### Using executables -The easiest way to get started is to download the latest release from the +Download the latest release from the [releases page](https://github.com/sqlpage/SQLPage/releases). +On macOS, [Homebrew](#on-macos-with-homebrew) is the recommended and easiest installation method. - Download the binary that corresponds to your operating system (linux, macos, or windows). - Uncompress it: `tar -xzf sqlpage-*.tgz` @@ -172,21 +173,24 @@ To run on a server, you can use [the docker image](https://hub.docker.com/r/lova COPY --from=lovasoa/sqlpage:main /usr/local/bin/sqlpage /usr/local/bin/sqlpage ``` -We provide compiled binaries only for the x86_64 architecture, but provide docker images for other architectures, including arm64 and armv7. If you want to run SQLPage on a Raspberry Pi or +We provide release binaries for Linux and Windows on x86_64, and macOS on Apple silicon (arm64). Intel Mac users should use [Homebrew](#on-macos-with-homebrew). We also provide docker images for arm64 and armv7. If you want to run SQLPage on a Raspberry Pi or a cheaper ARM cloud instance, using the docker image is the easiest way to do it. ### Hosting For managed SQLPage hosting, use [DataPage](https://datapage.app). To run SQLPage yourself on a VPS, [Hostinger](https://www.hostg.xyz/aff_c?offer_id=815&aff_id=243720&url_id=6808) is another option; this is an affiliate link, so we receive a small commission if you buy through it. -### On Mac OS, with homebrew +### On macOS, with Homebrew -An alternative for Mac OS users is to use [SQLPage's homebrew package](https://formulae.brew.sh/formula/sqlpage). +[SQLPage's Homebrew package](https://formulae.brew.sh/formula/sqlpage) is the recommended way to install SQLPage on macOS, including Intel Macs. -- [Install homebrew](https://brew.sh/) +- [Install Homebrew](https://brew.sh/) and follow the installer's instructions to add `brew` to your PATH. - In a terminal, run the following commands: - `brew install sqlpage` +To update an existing Homebrew installation, run `brew update` followed by `brew upgrade sqlpage`. +Run `sqlpage` from your website folder. If you previously downloaded `sqlpage.bin`, use `sqlpage` instead of `./sqlpage.bin`; your website files and configuration stay in place. +Intel Macs may need to build from source. See the [macOS installation guide](https://sql-page.com/your-first-sql-website/?os=macos#download) for details and older macOS requirements. ### ODBC Setup diff --git a/examples/official-site/your-first-sql-website/tutorial-install-any.md b/examples/official-site/your-first-sql-website/tutorial-install-any.md index 96fdeb92..d91533b2 100644 --- a/examples/official-site/your-first-sql-website/tutorial-install-any.md +++ b/examples/official-site/your-first-sql-website/tutorial-install-any.md @@ -11,8 +11,6 @@ you can skip this step and [start writing your website](#tutorial). In the _release assets_ section, you will find files named `sqlpage-windows.zip`, `sqlpage-linux.tgz`, and `sqlpage-macos.tgz`. Download the one that corresponds to your operating system, and extract the executable file from the archive. -`sqlpage-macos.tgz` is built for Apple silicon only as Apple dropped support for Intel Macs after macOS 26. If needed, install SQLPage there with Homebrew, docker, or from source. - > **Note**: On Mac OS, Apple blocks the execution of downloaded files by default. The easiest way to run SQLPage is to use [Homebrew](https://brew.sh). > **Note**: Advanced users can alternatively install SQLPage using: diff --git a/examples/official-site/your-first-sql-website/tutorial-install-macos.md b/examples/official-site/your-first-sql-website/tutorial-install-macos.md index d020ee34..50daddf8 100644 --- a/examples/official-site/your-first-sql-website/tutorial-install-macos.md +++ b/examples/official-site/your-first-sql-website/tutorial-install-macos.md @@ -1,18 +1,33 @@ -# Download SQLPage for Mac OS +# Install SQLPage on macOS -On Mac OS, Apple blocks the execution of downloaded files by default. The easiest way to run SQLPage is to use [Homebrew](https://brew.sh). -Open a terminal and run the following commands: +The recommended and easiest way to install SQLPage on macOS is [Homebrew](https://brew.sh/), including on Intel Macs. +If you do not already have Homebrew, open Terminal and run: ```sh /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +``` + +Follow the installer's **Next steps** to add Homebrew to your PATH. Then install SQLPage: + +```sh brew install sqlpage -sqlpage ``` +Open Terminal in your website folder and run `sqlpage` to start your website. +To update SQLPage later, run `brew update` followed by `brew upgrade sqlpage`. + +**Using an Intel Mac?** Starting with SQLPage v0.47.0, the `sqlpage-macos.tgz` download is for Apple silicon (M-series Macs) only. +Use Homebrew on Intel Macs. If you previously used the downloaded executable, keep your SQL files, database, and `sqlpage` configuration folder in place and run `sqlpage` from the same website folder instead of `./sqlpage.bin`. +If SQLPage is already installed through Homebrew, use the upgrade commands above. + +Homebrew may compile SQLPage and its dependencies from source on Intel Macs, so installation can take longer. +Source builds require Apple's Command Line Tools, which you can install with `xcode-select --install`. +Homebrew classifies Intel Macs as Tier 3 (limited support); older macOS versions also have restrictions. Check [Homebrew's macOS requirements](https://docs.brew.sh/Installation#macos-requirements) if installation fails. + > **Note**: Advanced users can alternatively install SQLPage using -> [the precompiled binaries](https://github.com/sqlpage/SQLPage/releases/latest), +> [the precompiled binaries for Apple silicon](https://github.com/sqlpage/SQLPage/releases/latest), > [docker](https://hub.docker.com/repository/docker/lovasoa/SQLPage/general), > [nix](https://search.nixos.org/packages?channel=unstable&show=sqlpage), > or [cargo](https://crates.io/crates/sqlpage). -> **Not on Mac OS?** See the instructions for [Windows](?os=windows#download), or for [Other Systems](?os=any#download). \ No newline at end of file +> **Not on Mac OS?** See the instructions for [Windows](?os=windows#download), or for [Other Systems](?os=any#download).