Repository navigation
vscode-stable-v0.7.1671
open-steamgate 0.7 (stable)
The 0.7 line is about a first run that works on a clean machine and makes sense to a newcomer. This is a stable release: the VS Code Marketplace serves it on the stable channel.
Breaking for consumers
- The output channels are renamed:
osd→OSD,osd console→OSD: Console,osd system→OSD: System log, andOSD jobsplusOSD jobs raw log→OSD: Jobs, with the raw log behind an explicit action (#608). - F8 / ▷ never run ABAP Unit. On a class with
IF_OO_ADT_CLASSRUNthey run the classrun; on a report they run the report. Tests run only through Ctrl+Shift+F10, the beaker button, or the Test Explorer (#608).
What's new since 0.6.1666
- The editor title bar has Check and Activate buttons (a check mark and a match). Their results also appear in
OSD: Console. - F9 warns when the saved source is not activated yet.
- Test Explorer runs always end. No more spinner that never stops.
- Debugging: no debug session starts at system start. The first
.abapbreakpoint shows a one-time note saying that osd needs no launch configuration. The README has a "What connects to what" section (#608). - A bare-system VSIX smoke checks every tag: a clean Ubuntu with no node or git, the real VS Code, then install, Start,
$metadata, Stop, plus a layer that must fail loudly (#609). - The ADT clean-room acceptance: editing sessions survive a cold publication (T15, #603), and locks answer as an SAP system does (T03/T04, #601).
- CI: six balanced shards, and runs on main are never cancelled (#602). The release has a stable channel (#606).
Known issues, fixed in the next 0.7.x patch
- The first answer after osd: Start can take about 13 s while the warm cache primes, so the first F9 right after start may report "fetch failed". Wait a moment, or press F9 again. The fix is #613.
- A workspace layer written for a newer osd fails with many
check_syntaxlines instead of one clear "needs osd ≥ x" message. The fix is on feat/layer-requires-osd-version.
Start here
Pick the VSIX for VS Code, a self-contained Bun binary, a static OSGo binary, or a Compose file for Docker. SQLite is the default Compose database.
open-steamgate-0.7.1671.vsix
In VS Code 1.101 or newer, run Extensions: Install from VSIX... and select this file. Then run osd: Start (build + run this system) from the Command Palette. If asked whether to run an open-steamgate checkout, choose the bundled copy to use the packaged system. Its first start copies and builds the system; allow time for that build.
The bundled working copy lives at <globalStorageUri>/osd-home-<seedId>/; the database lives under <globalStorageUri>/osd-instance/<home-hash>/db/osd.sqlite. VS Code owns the actual global storage path. After an update, run osd: Remove old working copies to review and remove stale bundled copies.
osd-linux-x64
Download this file into any folder. Run mv osd-linux-x64 osd && chmod +x osd && ./osd up; run ./osd doctor to check the bundled runtime.
Measured Linux x64 executable size: 109.5 MB (decimal, local Bun 1.4.2 build).
Open http://localhost:3030/. On first start outside a checkout, the binary copies its bundled system into a content-keyed osd-home-<seedId> under the user data directory: $XDG_DATA_HOME/open-steamgate or ~/.local/share/open-steamgate on Linux, ~/Library/Application Support/open-steamgate on macOS, %LOCALAPPDATA%\open-steamgate on Windows. Later releases keep earlier working copies and user edits. The SQLite database lives in that working copy under .local/db/.
To override an ABAP object, copy its file from the materialized home's src/ or packs/ into your own folder, retaining its abapGit filename, then run osd up --layer <folder>. Repeat --layer for more folders, or set OSD_LAYERS to a platform path-list. Later layers win, and the build logs each override. A binary started inside a source checkout uses that checkout directly.
osd-linux-arm64
Download this file into any folder. Run mv osd-linux-arm64 osd && chmod +x osd && ./osd up; run ./osd doctor to check the bundled runtime.
Open http://localhost:3030/. On first start outside a checkout, the binary copies its bundled system into a content-keyed osd-home-<seedId> under the user data directory: $XDG_DATA_HOME/open-steamgate or ~/.local/share/open-steamgate on Linux, ~/Library/Application Support/open-steamgate on macOS, %LOCALAPPDATA%\open-steamgate on Windows. Later releases keep earlier working copies and user edits. The SQLite database lives in that working copy under .local/db/.
To override an ABAP object, copy its file from the materialized home's src/ or packs/ into your own folder, retaining its abapGit filename, then run osd up --layer <folder>. Repeat --layer for more folders, or set OSD_LAYERS to a platform path-list. Later layers win, and the build logs each override. A binary started inside a source checkout uses that checkout directly.
osd-darwin-arm64
Download this file into any folder. Run mv osd-darwin-arm64 osd && chmod +x osd && ./osd up; run ./osd doctor to check the bundled runtime.
If macOS Gatekeeper quarantines the download, run xattr -d com.apple.quarantine osd after checking its checksum.
Open http://localhost:3030/. On first start outside a checkout, the binary copies its bundled system into a content-keyed osd-home-<seedId> under the user data directory: $XDG_DATA_HOME/open-steamgate or ~/.local/share/open-steamgate on Linux, ~/Library/Application Support/open-steamgate on macOS, %LOCALAPPDATA%\open-steamgate on Windows. Later releases keep earlier working copies and user edits. The SQLite database lives in that working copy under .local/db/.
To override an ABAP object, copy its file from the materialized home's src/ or packs/ into your own folder, retaining its abapGit filename, then run osd up --layer <folder>. Repeat --layer for more folders, or set OSD_LAYERS to a platform path-list. Later layers win, and the build logs each override. A binary started inside a source checkout uses that checkout directly.
osd-darwin-x64
Download this file into any folder. Run mv osd-darwin-x64 osd && chmod +x osd && ./osd up; run ./osd doctor to check the bundled runtime.
If macOS Gatekeeper quarantines the download, run xattr -d com.apple.quarantine osd after checking its checksum.
Open http://localhost:3030/. On first start outside a checkout, the binary copies its bundled system into a content-keyed osd-home-<seedId> under the user data directory: $XDG_DATA_HOME/open-steamgate or ~/.local/share/open-steamgate on Linux, ~/Library/Application Support/open-steamgate on macOS, %LOCALAPPDATA%\open-steamgate on Windows. Later releases keep earlier working copies and user edits. The SQLite database lives in that working copy under .local/db/.
To override an ABAP object, copy its file from the materialized home's src/ or packs/ into your own folder, retaining its abapGit filename, then run osd up --layer <folder>. Repeat --layer for more folders, or set OSD_LAYERS to a platform path-list. Later layers win, and the build logs each override. A binary started inside a source checkout uses that checkout directly.
osd-windows-x64.exe
Download this file into any folder, rename it to osd.exe, and run .\osd.exe up in PowerShell. Run .\osd.exe doctor to check the bundled runtime.
Open http://localhost:3030/. On first start outside a checkout, the binary copies its bundled system into a content-keyed osd-home-<seedId> under the user data directory: $XDG_DATA_HOME/open-steamgate or ~/.local/share/open-steamgate on Linux, ~/Library/Application Support/open-steamgate on macOS, %LOCALAPPDATA%\open-steamgate on Windows. Later releases keep earlier working copies and user edits. The SQLite database lives in that working copy under .local/db/.
To override an ABAP object, copy its file from the materialized home's src/ or packs/ into your own folder, retaining its abapGit filename, then run osd up --layer <folder>. Repeat --layer for more folders, or set OSD_LAYERS to a platform path-list. Later layers win, and the build logs each override. A binary started inside a source checkout uses that checkout directly.
osd-windows-arm64.exe
Download this file into any folder, rename it to osd.exe, and run .\osd.exe up in PowerShell. Run .\osd.exe doctor to check the bundled runtime.
Open http://localhost:3030/. On first start outside a checkout, the binary copies its bundled system into a content-keyed osd-home-<seedId> under the user data directory: $XDG_DATA_HOME/open-steamgate or ~/.local/share/open-steamgate on Linux, ~/Library/Application Support/open-steamgate on macOS, %LOCALAPPDATA%\open-steamgate on Windows. Later releases keep earlier working copies and user edits. The SQLite database lives in that working copy under .local/db/.
To override an ABAP object, copy its file from the materialized home's src/ or packs/ into your own folder, retaining its abapGit filename, then run osd up --layer <folder>. Repeat --layer for more folders, or set OSD_LAYERS to a platform path-list. Later layers win, and the build logs each override. A binary started inside a source checkout uses that checkout directly.
osgo-linux-x64
OSGo is a single static Go executable with SQLite built in. Download and verify this file, rename it to osgo, then run ./osgo -home <data-directory> -port 3095. Check http://127.0.0.1:3095/health for readiness. A new home directory starts a newly seeded database; -db <file> overrides its database path. Run ./osgo -version for the tag and commit. OSGo does not serve ADT yet. See docs/osgo-release.md for CI usage.
osgo-linux-arm64
OSGo is a single static Go executable with SQLite built in. Download and verify this file, rename it to osgo, then run ./osgo -home <data-directory> -port 3095. Check http://127.0.0.1:3095/health for readiness. A new home directory starts a newly seeded database; -db <file> overrides its database path. Run ./osgo -version for the tag and commit. OSGo does not serve ADT yet. See docs/osgo-release.md for CI usage.
osgo-darwin-arm64
OSGo is a single static Go executable with SQLite built in. Download and verify this file, rename it to osgo, then run ./osgo -home <data-directory> -port 3095. Check http://127.0.0.1:3095/health for readiness. A new home directory starts a newly seeded database; -db <file> overrides its database path. Run ./osgo -version for the tag and commit. OSGo does not serve ADT yet. See docs/osgo-release.md for CI usage.
osgo-darwin-x64
OSGo is a single static Go executable with SQLite built in. Download and verify this file, rename it to osgo, then run ./osgo -home <data-directory> -port 3095. Check http://127.0.0.1:3095/health for readiness. A new home directory starts a newly seeded database; -db <file> overrides its database path. Run ./osgo -version for the tag and commit. OSGo does not serve ADT yet. See docs/osgo-release.md for CI usage.
osgo-windows-x64.exe
OSGo is a single static Go executable with SQLite built in. Download and verify this file, rename it to osgo.exe, then run .\osgo.exe -home <data-directory> -port 3095. Check http://127.0.0.1:3095/health for readiness. A new home directory starts a newly seeded database; -db <file> overrides its database path. Run .\osgo.exe -version for the tag and commit. OSGo does not serve ADT yet. See docs/osgo-release.md for CI usage.
osgo-windows-arm64.exe
OSGo is a single static Go executable with SQLite built in. Download and verify this file, rename it to osgo.exe, then run .\osgo.exe -home <data-directory> -port 3095. Check http://127.0.0.1:3095/health for readiness. A new home directory starts a newly seeded database; -db <file> overrides its database path. Run .\osgo.exe -version for the tag and commit. OSGo does not serve ADT yet. See docs/osgo-release.md for CI usage.
sqlite.yml
Run docker compose -f sqlite.yml up -d, then open http://localhost:3030/. SQLite rows live in the osd-data Docker volume.
The file uses ghcr.io/oisee/open-steamgate:draft by default; set OSD_TAG to a tested Docker image tag to pin it.
duckdb.yml
Run docker compose -f duckdb.yml up -d, then open http://localhost:3030/. DuckDB rows live in the osd-data Docker volume.
The file uses ghcr.io/oisee/open-steamgate:draft by default; set OSD_TAG to a tested Docker image tag to pin it.
postgres.yml
Set POSTGRES_PASSWORD in your environment, then run docker compose -f postgres.yml up -d. Open http://localhost:3030/. PostgreSQL rows live in the pg-data Docker volume.
The file uses ghcr.io/oisee/open-steamgate:draft by default; set OSD_TAG to a tested Docker image tag to pin it.
hana.yml
Set HANA_HOST, HANA_USER, and HANA_PASSWORD in your environment for an existing HANA tenant, then run docker compose -f hana.yml up -d. Open http://localhost:3030/. HANA data stays on the external tenant; HANA_PORT and HANA_SCHEMA are optional.
The file uses ghcr.io/oisee/open-steamgate:draft by default; set OSD_TAG to a tested Docker image tag to pin it.
Check downloads
Each VSIX and executable has a matching <asset>.sha256 file. Download the file and its checksum into one directory. On Linux run sha256sum -c <asset>.sha256; on macOS run shasum -a 256 -c <asset>.sha256. On Windows run Get-FileHash .\<asset> -Algorithm SHA256 in PowerShell and compare its Hash with the first value in <asset>.sha256 (Get-Content .\<asset>.sha256).
Changes: see CHANGELOG.md