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
4 changes: 2 additions & 2 deletions Formula/foxschema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
class Foxschema < Formula
desc "Fox Schema — schema diff, migrations, and SQL Editor (local web UI)"
homepage "https://foxschema.com"
url "https://registry.npmjs.org/foxschema/-/foxschema-0.2.73.tgz"
url "https://registry.npmjs.org/foxschema/-/foxschema-0.2.111.tgz"
# shasum -a 256 of the npm tarball; refreshed by packaging/homebrew/update-formula.sh
sha256 "587a702bbec1ca2a2201badcc4d041a803e09f5fb1f4f30e79108d81a2e98cef"
sha256 "d0981ee01ca47b4f7a71f102159cf499eddcc465cdb0606a5d573857173d7fd6"
license "Apache-2.0"

depends_on "node@22"
Expand Down
93 changes: 93 additions & 0 deletions docs/RELEASE_0.2.111.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Fox Schema 0.2.111 — What's new

> **For users:** this is the page the in-app update toast links to (**What's new**).

Since **`v0.2.73`**. npm `foxschema@0.2.111` is on the registry. Docker Hub / GHCR
have `5nickels/foxschema:v0.2.111` and `ghcr.io/tedious-code/foxschema:v0.2.111`.

---

## What's new

### Schema History

Schema History lives in **Schema Sync → History**. It tracks versions of **one**
database (not a second live connection).

- Take a snapshot from a saved credential. The graph shows versions over time.
- **Original** and **Target** pickers work like Compare: Original is a version;
Target is the current database or an older version. Changing the pickers does
**not** hide the graph.
- **Compare versions** is a preview. It does not write the live database until
you press Execute.
- **Revert** runs only against the **current database**, snapshots first, and
**appends** a new version (it never rewrites the version you picked).
- Tick the objects to revert, or **Select all**. Nothing ticked means nothing
runs. Only ticked objects are in the generated SQL.
- Click a table on the graph to see column and constraint changes.
- SQLite and DuckDB file credentials can be picked from a Browse dialog on the
machine running Fox Schema.

### SQL Editor

- Copy a cell, the headers, or a selected range from result grids.
- `CREATE FUNCTION` / `CREATE PROCEDURE` stay one cell (no split on a bare `END`).
- Safe mode no longer asks for confirmation on `SELECT` / `JOIN` reads.
- Compare Data **Backup** restore uses the destination connection (it no longer
writes into a snapshot).
- Node code cells (`-- @node` / `-- @nodets`) block `import()` / `eval` /
`Function` / `.constructor` breakouts.

### Schema & utilities

- One table blueprint in Compare, Browse, History, and Edit table.
- **Browse** is its own Schema Sync pane.
- Index fragmentation: Postgres uses `pgstatindex` where available; MariaDB is
its own family (not MySQL); SQLite credentials are selectable again.

### Dialects

- **Db2:** `REORG` after `DROP COLUMN`; skip `SYS%` roles; “Include identity”
no longer emits a clause Db2 LUW does not have.
- **Oracle:** `NUMBER(p,0)` maps by precision (no silent int narrowing);
`NOCYCLE` / `NOCACHE`; sequences created before the tables that use them;
`DROP INDEX` / `DROP TRIGGER` tolerate objects that are already gone.

### Credentials

- MongoDB and Redis appear in the dialect list. The provider filter lists every
dialect, not only ones you already saved.

---

## How to update

```bash
npm install -g foxschema@latest
foxschema stop && foxschema
```

Or Homebrew (after the formula bumps):

```bash
brew update && brew upgrade foxschema
foxschema stop && foxschema
```

Docker (this tag is already on Hub / GHCR):

```bash
docker pull 5nickels/foxschema:v0.2.111
# or: docker pull ghcr.io/tedious-code/foxschema:v0.2.111
```

Then hard-refresh the browser tab (Cmd/Ctrl-Shift-R).

### Run from git

```bash
git clone https://github.com/tedious-code/foxschema.git
cd foxschema && git checkout main && git pull
npm install && npm run dev
# open http://localhost:5173
```
Loading