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
16 changes: 10 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Fixed

- **Closing the terminal ends a `gemdb` run on Linux every time.** Now and then the run carried on
out of sight after its tab closed, its `finally` blocks unrun, holding its database session.

## [1.9.0] - 2026-10-20

The database now starts from GemStone's Rowan image, because Python support and the MCP server now
install with Rowan. Start with a fresh database: delete `~/GemDB/db` before starting this release.
The engine is unchanged at 4.0.0.a5, but a database an earlier GemDB Code created has no Rowan and
cannot be given it, and GemDB Code says so rather than starting it.
cannot be given it, and GemDB Code says so rather than starting it. This release also adds an
Inspector for any object.

### Added

Expand All @@ -43,6 +39,10 @@ cannot be given it, and GemDB Code says so rather than starting it.
brief administrator login, and logins are what the database has few of. When that login is refused
— the database has no session left to give — it shows the names and processes any session can see,
and still offers to close this window's own notebooks.
- **Building an application with an AI agent.** The README now opens with a short block to paste
into an agent's chat, and has a reference section on building an application on GemDB: a worked
two-file example, how arguments, imports and uncommitted changes behave, what happens to stored
objects when a class changes, and how to retry after a `ConflictError`.

### Changed

Expand All @@ -61,6 +61,10 @@ cannot be given it, and GemDB Code says so rather than starting it.
`np.char` now match CPython. `import flask` no longer leaves each new session with something to
commit, and a request to a Flask app stored in the database writes nothing, so
`with gemdb.transaction():` works after either.
- **The walkthrough's first step shows the Scarf image too.** The same invisible image the README
ends with now loads when VS Code shows the first step of the GemDB walkthrough, and Scarf counts
it. Turning telemetry off in VS Code does not stop it. [USAGE_DATA.md](USAGE_DATA.md) says what
Scarf receives.
- **A newer MCP server (0.9.0).** Every session it starts reaches the database by `localhost`, and
`find_python_senders` reports each call where Python sends it.

Expand Down
16 changes: 9 additions & 7 deletions USAGE_DATA.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,20 +117,22 @@ delete the matching records.
Events sent to Scarf carry no identifier, so they cannot be traced back to
you, and there is no record of yours there to look up or delete.

## Tracking pixel in the README
## Tracking pixel in the README and the walkthrough

The README ends with a Scarf tracking pixel, an invisible image that loads when you view it.
The README ends with a Scarf tracking pixel, an invisible image that loads when you view it. The
first step of the GemDB walkthrough in VS Code shows the same image, which loads when VS Code
displays that step. Turning telemetry off in VS Code does not stop either one.

**What we collect:** Scarf looks up business details for the requesting network address, such as
company, general location, and cloud provider. Scarf states that it does not store IP addresses and
purges personally identifiable information right after the lookup. GemDB only sees aggregate
summaries, never your address.

**Why:** We use the counts to see how many people view this README and what kinds of organizations
are interested. We do not use them for advertising.
**Why:** We use the counts to see how many people view this README or start the walkthrough, and
what kinds of organizations are interested. We do not use them for advertising.

**Opting out:** Block remote images in your browser or with an ad blocker. The README reads the same
without the pixel.
**Opting out:** For the README, block remote images in your browser or with an ad blocker. The
README reads the same without the pixel.

Learn more from Scarf:
[How the pixel works](https://docs.scarf.sh/faq/#how-does-the-tracking-pixel-work) ·
Expand All @@ -140,5 +142,5 @@ Questions? Contact GemDB at [gemdb.com](https://www.gemdb.com/).

## Changes

Last updated: 2026-10-16. Changes to this notice will be published in this
Last updated: 2026-10-20. Changes to this notice will be published in this
repository.
Loading