Skip to content

Releases: Veedubin/neuralgentics

neuralgentics-0.9.2

Choose a tag to compare

@github-actions github-actions released this 07 Jul 01:55

neuralgentics neuralgentics-0.9.2

OpenCode plugin — agent personas, skills, routing enforcement, and MCP tools.

Install

curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash -s -- --home-dir --existing

Activate

cd your-project
ln -s ~/.neuralgentics/.opencode .opencode
opencode

What's included

  • @veedubin/neuralgentics — compiled TypeScript overlay (orchestrator, memory client, routing) [published to npm]
  • .opencode/agents/ — 8 agent personas (architect, coder, explorer, git, orchestrator, reviewer, tester, writer)
  • .opencode/skills/ — 5 skills (boomerang-orchestrator, kanban-board-manager, skill-self-audit, todo-list-updater, update-gh-docs)
  • .opencode/opencode.json — OpenCode config with Ollama Cloud models, MCP servers, LSP, formatter
  • .opencode/AGENTS.md — Project instructions and agent protocol

neuralgentics-0.9.1

Choose a tag to compare

@github-actions github-actions released this 05 Jul 05:24

neuralgentics neuralgentics-0.9.1

OpenCode plugin — agent personas, skills, routing enforcement, and MCP tools.

Install

curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash -s -- --home-dir --existing

Activate

cd your-project
ln -s ~/.neuralgentics/.opencode .opencode
opencode

What's included

  • @veedubin/neuralgentics — compiled TypeScript overlay (orchestrator, memory client, routing) [published to npm]
  • .opencode/agents/ — 8 agent personas (architect, coder, explorer, git, orchestrator, reviewer, tester, writer)
  • .opencode/skills/ — 5 skills (boomerang-orchestrator, kanban-board-manager, skill-self-audit, todo-list-updater, update-gh-docs)
  • .opencode/opencode.json — OpenCode config with Ollama Cloud models, MCP servers, LSP, formatter
  • .opencode/AGENTS.md — Project instructions and agent protocol

neuralgentics-0.9.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 23:06

neuralgentics neuralgentics-0.9.0

OpenCode plugin — agent personas, skills, routing enforcement, and MCP tools.

Install

curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash -s -- --home-dir --existing

Activate

cd your-project
ln -s ~/.neuralgentics/.opencode .opencode
opencode

What's included

  • @neuralgentics/plugin — compiled TypeScript overlay (orchestrator, memory client, routing)
  • .opencode/agents/ — 8 agent personas (architect, coder, explorer, git, orchestrator, reviewer, tester, writer)
  • .opencode/skills/ — 5 skills (boomerang-orchestrator, kanban-board-manager, skill-self-audit, todo-list-updater, update-gh-docs)
  • .opencode/opencode.json — OpenCode config with Ollama Cloud models, MCP servers, LSP, formatter
  • .opencode/AGENTS.md — Project instructions and agent protocol

neuralgentics-0.8.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 05:12

neuralgentics neuralgentics-0.8.0

OpenCode plugin — agent personas, skills, routing enforcement, and MCP tools.

Install

curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash -s -- --home-dir --existing

Activate

cd your-project
ln -s ~/.neuralgentics/.opencode .opencode
opencode

What's included

  • @neuralgentics/plugin — compiled TypeScript overlay (orchestrator, memory client, routing)
  • .opencode/agents/ — 8 agent personas (architect, coder, explorer, git, orchestrator, reviewer, tester, writer)
  • .opencode/skills/ — 5 skills (boomerang-orchestrator, kanban-board-manager, skill-self-audit, todo-list-updater, update-gh-docs)
  • .opencode/opencode.json — OpenCode config with Ollama Cloud models, MCP servers, LSP, formatter
  • .opencode/AGENTS.md — Project instructions and agent protocol

neuralgentics-0.7.3

Choose a tag to compare

@github-actions github-actions released this 20 Jun 06:37

neuralgentics neuralgentics-0.7.3

OpenCode plugin — agent personas, skills, routing enforcement, and MCP tools.

Install

curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash -s -- --home-dir --existing

Activate

cd your-project
ln -s ~/.neuralgentics/.opencode .opencode
opencode

What's included

  • @neuralgentics/plugin — compiled TypeScript overlay (orchestrator, memory client, routing)
  • .opencode/agents/ — 8 agent personas (architect, coder, explorer, git, orchestrator, reviewer, tester, writer)
  • .opencode/skills/ — 5 skills (boomerang-orchestrator, kanban-board-manager, skill-self-audit, todo-list-updater, update-gh-docs)
  • .opencode/opencode.json — OpenCode config with Ollama Cloud models, MCP servers, LSP, formatter
  • .opencode/AGENTS.md — Project instructions and agent protocol

neuralgentics-0.7.2

Choose a tag to compare

@github-actions github-actions released this 20 Jun 05:45

neuralgentics neuralgentics-0.7.2

OpenCode plugin — agent personas, skills, routing enforcement, and MCP tools.

Install

curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash -s -- --home-dir --existing

Activate

cd your-project
ln -s ~/.neuralgentics/.opencode .opencode
opencode

What's included

  • @neuralgentics/plugin — compiled TypeScript overlay (orchestrator, memory client, routing)
  • .opencode/agents/ — 8 agent personas (architect, coder, explorer, git, orchestrator, reviewer, tester, writer)
  • .opencode/skills/ — 5 skills (boomerang-orchestrator, kanban-board-manager, skill-self-audit, todo-list-updater, update-gh-docs)
  • .opencode/opencode.json — OpenCode config with Ollama Cloud models, MCP servers, LSP, formatter
  • .opencode/AGENTS.md — Project instructions and agent protocol

Neuralgentics v0.7.1

Choose a tag to compare

@github-actions github-actions released this 20 Jun 05:04

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[0.6.7] - 2026-06-12

Patch release: curl|bash one-liner now works end-to-end + docker support.

Fixed

  • curl ... | bash one-liner was broken on a clean re-install — v0.6.3 fixed the broken-symlink and TTY detection bugs but the TTY guard still fired before the .env and container-credential-recovery checks. A user with NO .env file and a running neuralgentics-pg container would hit the TTY guard and get an error instead of having their existing setup auto-detected. Reordered prompt_database() to: (1) check .env first, (2) try to recover creds from an existing running container via $CONTAINER_CMD exec ... printenv, (3) auto-start a fresh container if needed, (4) only bail with the TTY error as a last resort.
  • Stopped container would create a duplicate — When neuralgentics-pg existed but was stopped, the installer would try to auto-start a new container on port 6000, fail with a port conflict, and leave the user in a broken state. Now: detect stopped container → try docker start (or podman start) first → only auto-create if no container exists at all.
  • TTY error message was misleading — The old message said "needs to ask for the PostgreSQL password" even when the actual problem was a stopped container or a credential-recovery failure. Reworded to be accurate and to suggest docker start neuralgentics-pg for the stopped-container case.

Added

  • Docker support — The installer previously hardcoded podman. Now uses _detect_container_runtime() to pick docker (preferred — broader install base) or fall back to podman. Both produce identical container behavior. Users with only docker installed no longer need to install podman. Podman-compose and docker-compose both still work for the full-stack deploy path.
  • Auto-recover creds from any container — The printenv recovery path works for containers created by THIS installer OR by any other means (docker run, podman run, compose file) as long as POSTGRES_PASSWORD was passed via -e. Verified end-to-end on the user's existing neuralgentics-pg container (pg18) — recovered password matches what psql accepts.

Verification

The canonical curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash now works for all three common cases: (a) existing .env (re-install / upgrade — returns immediately), (b) existing running container with no .env (auto-recovers creds, writes .env, continues), (c) fresh install (auto-starts a fresh container, writes .env with a generated password). The only failure mode is a genuinely broken environment (no docker/podman, or a stopped container that can't be started) — the error message now explains both cases and how to fix them.

[0.6.3] - 2026-06-12

Patch release: 3 install-script critical fixes (broken symlink, curl|bash stdin trap, container credential recovery) + multi-project registry feature.

Fixed

  • CRITICAL: Tarball archive prefix bug — The release pipeline always wraps artifacts in a top-level neuralgentics/ directory. The install script extracted straight to $PREFIX, so binaries landed at $PREFIX/neuralgentics/bin/... and the symlink at ~/.local/bin/neuralgentics was dangling. The published v0.6.0/v0.6.1/v0.6.2 installers all had this bug — every fresh install had a non-functional CLI. Fix: tar --strip-components=1 so binaries land at $PREFIX/bin/ directly. The fragile glob-mv workaround that was added in v0.6.1 but never shipped is removed.
  • CRITICAL: curl | bash made stdin a pipe, killing the password prompt — The PostgreSQL password prompt (read -r db_password) returned 1 on EOF (curl pipe), set db_password="", and the installer bailed with "Password cannot be empty" before ever asking the user a question. Add a [[ ! -t 0 ]] guard that emits a clear "save and re-run" error explaining the workaround.
  • Container credential recovery — When a neuralgentics-pg container already exists but no .env file does, the installer used to either ask for the password (which fails under curl pipe — see above) or give up. Now does 3-tier recovery: podman exec ... printenv | grep POSTGRES_* → search backup .env paths → interactive prompt (TTY only). Port extraction uses podman inspect --format '{{(index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort}}' instead of the broken HostPort regex.

Added

  • Multi-project registration — The installer now writes ~/.neuralgentics/projects.toml on first run, registering the install directory with name (basename of $PWD), path, timestamp, and a default flag. Idempotent re-runs update the existing entry instead of duplicating. First registration is marked default = true; re-registering a project that was already default preserves its default status. Future: neuralgentics projects CLI command and /projects TUI slash command will read this file.
  • make lint-shell quality gate — Runs bash -n on all scripts/*.sh to catch syntax errors before they hit users. Wired into the make aggregate target.

Verification

Tested end-to-end with the v0.6.0 tarball: tar --strip-components=1 places binaries correctly, non-TTY stdin exits with helpful error, --yes mode auto-detects existing .env and registers the project, and 5 sequential register/re-register cycles leave the registry with exactly 1 default = true and 0 orphan lines.

[0.6.2] - 2026-06-09

Patch release: 1 install-script follow-up fix + CI workflow modernization.

Fixed

  • SSL cert permission in rootless podman (Bug #10) — The v0.6.0/v0.6.1 SSL setup mounted the certs as :ro and tried to chown them to UID 999 on the host (Bug #8 fix), which silently fails for non-root users in rootless podman. The certs ended up as root:root inside the container, and the postgres user (which the entrypoint drops to via gosu) couldn't read them. Fix: use :z mount (no :ro) and chown inside a bash wrapper before exec'ing the entrypoint. This is the canonical rootless-podman pattern.

CI Modernization

  • Bump all actions to Node.js 24 majors (silences GitHub's Node 20 deprecation warnings; required by September 16, 2026 when Node 20 is removed from runners)
    • actions/checkout v4 → v5
    • actions/setup-go v5 → v6
    • actions/setup-node v4 → v5
    • actions/cache v4 → v5
    • actions/upload-artifact v4 → v5
    • actions/download-artifact v4 → v5
    • softprops/action-gh-release v2 → v3
    • docker/login-action v3 → v4
    • docker/setup-buildx-action v3 → v4
    • docker/build-push-action v6 → v7
    • Plus FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true env var in all 3 workflows to force any third-party actions onto Node 24
  • Fix go.sum cache restore bughashFiles('**/go.sum') at repo root never matches because go.sum lives in packages/*/. Changed to hashFiles('packages/*/go.sum') so the Go module cache actually restores between CI runs.
  • Pin windows-latest to windows-2022windows-latest is being redirected to windows-2025-vs2026 on June 15, 2026. Pin explicitly to avoid surprises.

[0.6.1] - 2026-06-09

Patch release: 3 install-script follow-up fixes found when re-testing the v0.6.0 install.

Fixed

  • DEFAULT_VERSION not bumped in v0.6.0 install.sh (Bug #1-again) — The T-DOCS-V060 card bumped package.json to 0.6.0 but missed install.sh's DEFAULT_VERSION, which still said 0.5.0. Result: the v0.6.0 install.sh downloaded the v0.5.0 binaries (without the 5 fixes). Bump to 0.6.0.
  • SSL cert :ro mount chown failure (Bug #8) — The v0.6.0 SSL setup mounted certs as :ro then tried to chown inside the entrypoint, which fails with "Read-only file system" and kills the container. Fix: chown 999:999 on the host before mounting :ro, drop the chown from the entrypoint.
  • mktemp failed when data dir didn't exist (Bug #9) — The SSL cert mktemp needed the data dir to exist. Add mkdir -p before mktemp.

[0.6.0] - 2026-06-09

Minor release: 5 install-script and TUI-runtime bug fixes for a complete 100% working install. The canonical curl -fsSL .../install.sh | bash one-liner now works for the first time since v0.1.0.

Added

  • TUI graceful sidecar fallback (Bug #4) — The TUI no longer hangs or logs warnings when the Python embedding sidecar isn't available. New docs/sidecar-setup.md covers manual setup for users who want real BGE-Large embeddings. Memory operations work fine with noop embeddings by default.

Fixed

  • Install script archive name 'v' prefix bug (Bug #2, CRITICAL)scripts/install.sh constructed neuralgentics-v0.5.0-... but GH release assets are neuralgentics-0.5.0-... (no v). The canonical one-liner has been broken since v0.1.0.
  • DEFAULT_VERSION hardcoded to 0.1.0 — Install script was hardcoded to install v0.1.0 unless the user passed --version. Bumped to v0.5.0.
  • TUI backend path resolver didn't know install prefix (Bug #3)resolveBackendPath() only checked $PATH, $NEURALGENTICS_BACKEND_PATH, and a source-tree relative path. Added 2 new steps: $NEURALGENTICS_INSTALL_PREFIX/bin/... and $HOME/.neuralgentics/bin/... as fallback.
  • Backend env var drift MEMINI_DB_URL → NEURALGENTICS_DB_URL (Bug #5) — Go binary was reading MEMINI_DB_URL (legacy from Session 25's rename) but TUI sets NEURALGENTICS_DB_URL. Backend fell back to hardcoded localhost:5434 (off-limits prod). Now reads both with NEURALGENTICS_DB_URL taking precedence.
  • Install verify_install TUI version check hung (Bug #6)neuralgentics --version opened a TUI render (no --version mode), hanging the install script forever. Replaced with a size+executable check.
  • **Install-spawned pg18 container had no SSL (Bug #7)*...
Read more

Neuralgentics v0.7.0

Choose a tag to compare

@github-actions github-actions released this 20 Jun 02:39

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[0.6.7] - 2026-06-12

Patch release: curl|bash one-liner now works end-to-end + docker support.

Fixed

  • curl ... | bash one-liner was broken on a clean re-install — v0.6.3 fixed the broken-symlink and TTY detection bugs but the TTY guard still fired before the .env and container-credential-recovery checks. A user with NO .env file and a running neuralgentics-pg container would hit the TTY guard and get an error instead of having their existing setup auto-detected. Reordered prompt_database() to: (1) check .env first, (2) try to recover creds from an existing running container via $CONTAINER_CMD exec ... printenv, (3) auto-start a fresh container if needed, (4) only bail with the TTY error as a last resort.
  • Stopped container would create a duplicate — When neuralgentics-pg existed but was stopped, the installer would try to auto-start a new container on port 6000, fail with a port conflict, and leave the user in a broken state. Now: detect stopped container → try docker start (or podman start) first → only auto-create if no container exists at all.
  • TTY error message was misleading — The old message said "needs to ask for the PostgreSQL password" even when the actual problem was a stopped container or a credential-recovery failure. Reworded to be accurate and to suggest docker start neuralgentics-pg for the stopped-container case.

Added

  • Docker support — The installer previously hardcoded podman. Now uses _detect_container_runtime() to pick docker (preferred — broader install base) or fall back to podman. Both produce identical container behavior. Users with only docker installed no longer need to install podman. Podman-compose and docker-compose both still work for the full-stack deploy path.
  • Auto-recover creds from any container — The printenv recovery path works for containers created by THIS installer OR by any other means (docker run, podman run, compose file) as long as POSTGRES_PASSWORD was passed via -e. Verified end-to-end on the user's existing neuralgentics-pg container (pg18) — recovered password matches what psql accepts.

Verification

The canonical curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash now works for all three common cases: (a) existing .env (re-install / upgrade — returns immediately), (b) existing running container with no .env (auto-recovers creds, writes .env, continues), (c) fresh install (auto-starts a fresh container, writes .env with a generated password). The only failure mode is a genuinely broken environment (no docker/podman, or a stopped container that can't be started) — the error message now explains both cases and how to fix them.

[0.6.3] - 2026-06-12

Patch release: 3 install-script critical fixes (broken symlink, curl|bash stdin trap, container credential recovery) + multi-project registry feature.

Fixed

  • CRITICAL: Tarball archive prefix bug — The release pipeline always wraps artifacts in a top-level neuralgentics/ directory. The install script extracted straight to $PREFIX, so binaries landed at $PREFIX/neuralgentics/bin/... and the symlink at ~/.local/bin/neuralgentics was dangling. The published v0.6.0/v0.6.1/v0.6.2 installers all had this bug — every fresh install had a non-functional CLI. Fix: tar --strip-components=1 so binaries land at $PREFIX/bin/ directly. The fragile glob-mv workaround that was added in v0.6.1 but never shipped is removed.
  • CRITICAL: curl | bash made stdin a pipe, killing the password prompt — The PostgreSQL password prompt (read -r db_password) returned 1 on EOF (curl pipe), set db_password="", and the installer bailed with "Password cannot be empty" before ever asking the user a question. Add a [[ ! -t 0 ]] guard that emits a clear "save and re-run" error explaining the workaround.
  • Container credential recovery — When a neuralgentics-pg container already exists but no .env file does, the installer used to either ask for the password (which fails under curl pipe — see above) or give up. Now does 3-tier recovery: podman exec ... printenv | grep POSTGRES_* → search backup .env paths → interactive prompt (TTY only). Port extraction uses podman inspect --format '{{(index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort}}' instead of the broken HostPort regex.

Added

  • Multi-project registration — The installer now writes ~/.neuralgentics/projects.toml on first run, registering the install directory with name (basename of $PWD), path, timestamp, and a default flag. Idempotent re-runs update the existing entry instead of duplicating. First registration is marked default = true; re-registering a project that was already default preserves its default status. Future: neuralgentics projects CLI command and /projects TUI slash command will read this file.
  • make lint-shell quality gate — Runs bash -n on all scripts/*.sh to catch syntax errors before they hit users. Wired into the make aggregate target.

Verification

Tested end-to-end with the v0.6.0 tarball: tar --strip-components=1 places binaries correctly, non-TTY stdin exits with helpful error, --yes mode auto-detects existing .env and registers the project, and 5 sequential register/re-register cycles leave the registry with exactly 1 default = true and 0 orphan lines.

[0.6.2] - 2026-06-09

Patch release: 1 install-script follow-up fix + CI workflow modernization.

Fixed

  • SSL cert permission in rootless podman (Bug #10) — The v0.6.0/v0.6.1 SSL setup mounted the certs as :ro and tried to chown them to UID 999 on the host (Bug #8 fix), which silently fails for non-root users in rootless podman. The certs ended up as root:root inside the container, and the postgres user (which the entrypoint drops to via gosu) couldn't read them. Fix: use :z mount (no :ro) and chown inside a bash wrapper before exec'ing the entrypoint. This is the canonical rootless-podman pattern.

CI Modernization

  • Bump all actions to Node.js 24 majors (silences GitHub's Node 20 deprecation warnings; required by September 16, 2026 when Node 20 is removed from runners)
    • actions/checkout v4 → v5
    • actions/setup-go v5 → v6
    • actions/setup-node v4 → v5
    • actions/cache v4 → v5
    • actions/upload-artifact v4 → v5
    • actions/download-artifact v4 → v5
    • softprops/action-gh-release v2 → v3
    • docker/login-action v3 → v4
    • docker/setup-buildx-action v3 → v4
    • docker/build-push-action v6 → v7
    • Plus FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true env var in all 3 workflows to force any third-party actions onto Node 24
  • Fix go.sum cache restore bughashFiles('**/go.sum') at repo root never matches because go.sum lives in packages/*/. Changed to hashFiles('packages/*/go.sum') so the Go module cache actually restores between CI runs.
  • Pin windows-latest to windows-2022windows-latest is being redirected to windows-2025-vs2026 on June 15, 2026. Pin explicitly to avoid surprises.

[0.6.1] - 2026-06-09

Patch release: 3 install-script follow-up fixes found when re-testing the v0.6.0 install.

Fixed

  • DEFAULT_VERSION not bumped in v0.6.0 install.sh (Bug #1-again) — The T-DOCS-V060 card bumped package.json to 0.6.0 but missed install.sh's DEFAULT_VERSION, which still said 0.5.0. Result: the v0.6.0 install.sh downloaded the v0.5.0 binaries (without the 5 fixes). Bump to 0.6.0.
  • SSL cert :ro mount chown failure (Bug #8) — The v0.6.0 SSL setup mounted certs as :ro then tried to chown inside the entrypoint, which fails with "Read-only file system" and kills the container. Fix: chown 999:999 on the host before mounting :ro, drop the chown from the entrypoint.
  • mktemp failed when data dir didn't exist (Bug #9) — The SSL cert mktemp needed the data dir to exist. Add mkdir -p before mktemp.

[0.6.0] - 2026-06-09

Minor release: 5 install-script and TUI-runtime bug fixes for a complete 100% working install. The canonical curl -fsSL .../install.sh | bash one-liner now works for the first time since v0.1.0.

Added

  • TUI graceful sidecar fallback (Bug #4) — The TUI no longer hangs or logs warnings when the Python embedding sidecar isn't available. New docs/sidecar-setup.md covers manual setup for users who want real BGE-Large embeddings. Memory operations work fine with noop embeddings by default.

Fixed

  • Install script archive name 'v' prefix bug (Bug #2, CRITICAL)scripts/install.sh constructed neuralgentics-v0.5.0-... but GH release assets are neuralgentics-0.5.0-... (no v). The canonical one-liner has been broken since v0.1.0.
  • DEFAULT_VERSION hardcoded to 0.1.0 — Install script was hardcoded to install v0.1.0 unless the user passed --version. Bumped to v0.5.0.
  • TUI backend path resolver didn't know install prefix (Bug #3)resolveBackendPath() only checked $PATH, $NEURALGENTICS_BACKEND_PATH, and a source-tree relative path. Added 2 new steps: $NEURALGENTICS_INSTALL_PREFIX/bin/... and $HOME/.neuralgentics/bin/... as fallback.
  • Backend env var drift MEMINI_DB_URL → NEURALGENTICS_DB_URL (Bug #5) — Go binary was reading MEMINI_DB_URL (legacy from Session 25's rename) but TUI sets NEURALGENTICS_DB_URL. Backend fell back to hardcoded localhost:5434 (off-limits prod). Now reads both with NEURALGENTICS_DB_URL taking precedence.
  • Install verify_install TUI version check hung (Bug #6)neuralgentics --version opened a TUI render (no --version mode), hanging the install script forever. Replaced with a size+executable check.
  • **Install-spawned pg18 container had no SSL (Bug #7)*...
Read more

Neuralgentics v0.6.8

Choose a tag to compare

@github-actions github-actions released this 20 Jun 02:11

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[0.6.7] - 2026-06-12

Patch release: curl|bash one-liner now works end-to-end + docker support.

Fixed

  • curl ... | bash one-liner was broken on a clean re-install — v0.6.3 fixed the broken-symlink and TTY detection bugs but the TTY guard still fired before the .env and container-credential-recovery checks. A user with NO .env file and a running neuralgentics-pg container would hit the TTY guard and get an error instead of having their existing setup auto-detected. Reordered prompt_database() to: (1) check .env first, (2) try to recover creds from an existing running container via $CONTAINER_CMD exec ... printenv, (3) auto-start a fresh container if needed, (4) only bail with the TTY error as a last resort.
  • Stopped container would create a duplicate — When neuralgentics-pg existed but was stopped, the installer would try to auto-start a new container on port 6000, fail with a port conflict, and leave the user in a broken state. Now: detect stopped container → try docker start (or podman start) first → only auto-create if no container exists at all.
  • TTY error message was misleading — The old message said "needs to ask for the PostgreSQL password" even when the actual problem was a stopped container or a credential-recovery failure. Reworded to be accurate and to suggest docker start neuralgentics-pg for the stopped-container case.

Added

  • Docker support — The installer previously hardcoded podman. Now uses _detect_container_runtime() to pick docker (preferred — broader install base) or fall back to podman. Both produce identical container behavior. Users with only docker installed no longer need to install podman. Podman-compose and docker-compose both still work for the full-stack deploy path.
  • Auto-recover creds from any container — The printenv recovery path works for containers created by THIS installer OR by any other means (docker run, podman run, compose file) as long as POSTGRES_PASSWORD was passed via -e. Verified end-to-end on the user's existing neuralgentics-pg container (pg18) — recovered password matches what psql accepts.

Verification

The canonical curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash now works for all three common cases: (a) existing .env (re-install / upgrade — returns immediately), (b) existing running container with no .env (auto-recovers creds, writes .env, continues), (c) fresh install (auto-starts a fresh container, writes .env with a generated password). The only failure mode is a genuinely broken environment (no docker/podman, or a stopped container that can't be started) — the error message now explains both cases and how to fix them.

[0.6.3] - 2026-06-12

Patch release: 3 install-script critical fixes (broken symlink, curl|bash stdin trap, container credential recovery) + multi-project registry feature.

Fixed

  • CRITICAL: Tarball archive prefix bug — The release pipeline always wraps artifacts in a top-level neuralgentics/ directory. The install script extracted straight to $PREFIX, so binaries landed at $PREFIX/neuralgentics/bin/... and the symlink at ~/.local/bin/neuralgentics was dangling. The published v0.6.0/v0.6.1/v0.6.2 installers all had this bug — every fresh install had a non-functional CLI. Fix: tar --strip-components=1 so binaries land at $PREFIX/bin/ directly. The fragile glob-mv workaround that was added in v0.6.1 but never shipped is removed.
  • CRITICAL: curl | bash made stdin a pipe, killing the password prompt — The PostgreSQL password prompt (read -r db_password) returned 1 on EOF (curl pipe), set db_password="", and the installer bailed with "Password cannot be empty" before ever asking the user a question. Add a [[ ! -t 0 ]] guard that emits a clear "save and re-run" error explaining the workaround.
  • Container credential recovery — When a neuralgentics-pg container already exists but no .env file does, the installer used to either ask for the password (which fails under curl pipe — see above) or give up. Now does 3-tier recovery: podman exec ... printenv | grep POSTGRES_* → search backup .env paths → interactive prompt (TTY only). Port extraction uses podman inspect --format '{{(index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort}}' instead of the broken HostPort regex.

Added

  • Multi-project registration — The installer now writes ~/.neuralgentics/projects.toml on first run, registering the install directory with name (basename of $PWD), path, timestamp, and a default flag. Idempotent re-runs update the existing entry instead of duplicating. First registration is marked default = true; re-registering a project that was already default preserves its default status. Future: neuralgentics projects CLI command and /projects TUI slash command will read this file.
  • make lint-shell quality gate — Runs bash -n on all scripts/*.sh to catch syntax errors before they hit users. Wired into the make aggregate target.

Verification

Tested end-to-end with the v0.6.0 tarball: tar --strip-components=1 places binaries correctly, non-TTY stdin exits with helpful error, --yes mode auto-detects existing .env and registers the project, and 5 sequential register/re-register cycles leave the registry with exactly 1 default = true and 0 orphan lines.

[0.6.2] - 2026-06-09

Patch release: 1 install-script follow-up fix + CI workflow modernization.

Fixed

  • SSL cert permission in rootless podman (Bug #10) — The v0.6.0/v0.6.1 SSL setup mounted the certs as :ro and tried to chown them to UID 999 on the host (Bug #8 fix), which silently fails for non-root users in rootless podman. The certs ended up as root:root inside the container, and the postgres user (which the entrypoint drops to via gosu) couldn't read them. Fix: use :z mount (no :ro) and chown inside a bash wrapper before exec'ing the entrypoint. This is the canonical rootless-podman pattern.

CI Modernization

  • Bump all actions to Node.js 24 majors (silences GitHub's Node 20 deprecation warnings; required by September 16, 2026 when Node 20 is removed from runners)
    • actions/checkout v4 → v5
    • actions/setup-go v5 → v6
    • actions/setup-node v4 → v5
    • actions/cache v4 → v5
    • actions/upload-artifact v4 → v5
    • actions/download-artifact v4 → v5
    • softprops/action-gh-release v2 → v3
    • docker/login-action v3 → v4
    • docker/setup-buildx-action v3 → v4
    • docker/build-push-action v6 → v7
    • Plus FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true env var in all 3 workflows to force any third-party actions onto Node 24
  • Fix go.sum cache restore bughashFiles('**/go.sum') at repo root never matches because go.sum lives in packages/*/. Changed to hashFiles('packages/*/go.sum') so the Go module cache actually restores between CI runs.
  • Pin windows-latest to windows-2022windows-latest is being redirected to windows-2025-vs2026 on June 15, 2026. Pin explicitly to avoid surprises.

[0.6.1] - 2026-06-09

Patch release: 3 install-script follow-up fixes found when re-testing the v0.6.0 install.

Fixed

  • DEFAULT_VERSION not bumped in v0.6.0 install.sh (Bug #1-again) — The T-DOCS-V060 card bumped package.json to 0.6.0 but missed install.sh's DEFAULT_VERSION, which still said 0.5.0. Result: the v0.6.0 install.sh downloaded the v0.5.0 binaries (without the 5 fixes). Bump to 0.6.0.
  • SSL cert :ro mount chown failure (Bug #8) — The v0.6.0 SSL setup mounted certs as :ro then tried to chown inside the entrypoint, which fails with "Read-only file system" and kills the container. Fix: chown 999:999 on the host before mounting :ro, drop the chown from the entrypoint.
  • mktemp failed when data dir didn't exist (Bug #9) — The SSL cert mktemp needed the data dir to exist. Add mkdir -p before mktemp.

[0.6.0] - 2026-06-09

Minor release: 5 install-script and TUI-runtime bug fixes for a complete 100% working install. The canonical curl -fsSL .../install.sh | bash one-liner now works for the first time since v0.1.0.

Added

  • TUI graceful sidecar fallback (Bug #4) — The TUI no longer hangs or logs warnings when the Python embedding sidecar isn't available. New docs/sidecar-setup.md covers manual setup for users who want real BGE-Large embeddings. Memory operations work fine with noop embeddings by default.

Fixed

  • Install script archive name 'v' prefix bug (Bug #2, CRITICAL)scripts/install.sh constructed neuralgentics-v0.5.0-... but GH release assets are neuralgentics-0.5.0-... (no v). The canonical one-liner has been broken since v0.1.0.
  • DEFAULT_VERSION hardcoded to 0.1.0 — Install script was hardcoded to install v0.1.0 unless the user passed --version. Bumped to v0.5.0.
  • TUI backend path resolver didn't know install prefix (Bug #3)resolveBackendPath() only checked $PATH, $NEURALGENTICS_BACKEND_PATH, and a source-tree relative path. Added 2 new steps: $NEURALGENTICS_INSTALL_PREFIX/bin/... and $HOME/.neuralgentics/bin/... as fallback.
  • Backend env var drift MEMINI_DB_URL → NEURALGENTICS_DB_URL (Bug #5) — Go binary was reading MEMINI_DB_URL (legacy from Session 25's rename) but TUI sets NEURALGENTICS_DB_URL. Backend fell back to hardcoded localhost:5434 (off-limits prod). Now reads both with NEURALGENTICS_DB_URL taking precedence.
  • Install verify_install TUI version check hung (Bug #6)neuralgentics --version opened a TUI render (no --version mode), hanging the install script forever. Replaced with a size+executable check.
  • **Install-spawned pg18 container had no SSL (Bug #7)*...
Read more

Neuralgentics v0.6.7

Choose a tag to compare

@github-actions github-actions released this 18 Jun 17:41

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[0.6.7] - 2026-06-12

Patch release: curl|bash one-liner now works end-to-end + docker support.

Fixed

  • curl ... | bash one-liner was broken on a clean re-install — v0.6.3 fixed the broken-symlink and TTY detection bugs but the TTY guard still fired before the .env and container-credential-recovery checks. A user with NO .env file and a running neuralgentics-pg container would hit the TTY guard and get an error instead of having their existing setup auto-detected. Reordered prompt_database() to: (1) check .env first, (2) try to recover creds from an existing running container via $CONTAINER_CMD exec ... printenv, (3) auto-start a fresh container if needed, (4) only bail with the TTY error as a last resort.
  • Stopped container would create a duplicate — When neuralgentics-pg existed but was stopped, the installer would try to auto-start a new container on port 6000, fail with a port conflict, and leave the user in a broken state. Now: detect stopped container → try docker start (or podman start) first → only auto-create if no container exists at all.
  • TTY error message was misleading — The old message said "needs to ask for the PostgreSQL password" even when the actual problem was a stopped container or a credential-recovery failure. Reworded to be accurate and to suggest docker start neuralgentics-pg for the stopped-container case.

Added

  • Docker support — The installer previously hardcoded podman. Now uses _detect_container_runtime() to pick docker (preferred — broader install base) or fall back to podman. Both produce identical container behavior. Users with only docker installed no longer need to install podman. Podman-compose and docker-compose both still work for the full-stack deploy path.
  • Auto-recover creds from any container — The printenv recovery path works for containers created by THIS installer OR by any other means (docker run, podman run, compose file) as long as POSTGRES_PASSWORD was passed via -e. Verified end-to-end on the user's existing neuralgentics-pg container (pg18) — recovered password matches what psql accepts.

Verification

The canonical curl -fsSL https://raw.githubusercontent.com/Veedubin/neuralgentics/main/scripts/install.sh | bash now works for all three common cases: (a) existing .env (re-install / upgrade — returns immediately), (b) existing running container with no .env (auto-recovers creds, writes .env, continues), (c) fresh install (auto-starts a fresh container, writes .env with a generated password). The only failure mode is a genuinely broken environment (no docker/podman, or a stopped container that can't be started) — the error message now explains both cases and how to fix them.

[0.6.3] - 2026-06-12

Patch release: 3 install-script critical fixes (broken symlink, curl|bash stdin trap, container credential recovery) + multi-project registry feature.

Fixed

  • CRITICAL: Tarball archive prefix bug — The release pipeline always wraps artifacts in a top-level neuralgentics/ directory. The install script extracted straight to $PREFIX, so binaries landed at $PREFIX/neuralgentics/bin/... and the symlink at ~/.local/bin/neuralgentics was dangling. The published v0.6.0/v0.6.1/v0.6.2 installers all had this bug — every fresh install had a non-functional CLI. Fix: tar --strip-components=1 so binaries land at $PREFIX/bin/ directly. The fragile glob-mv workaround that was added in v0.6.1 but never shipped is removed.
  • CRITICAL: curl | bash made stdin a pipe, killing the password prompt — The PostgreSQL password prompt (read -r db_password) returned 1 on EOF (curl pipe), set db_password="", and the installer bailed with "Password cannot be empty" before ever asking the user a question. Add a [[ ! -t 0 ]] guard that emits a clear "save and re-run" error explaining the workaround.
  • Container credential recovery — When a neuralgentics-pg container already exists but no .env file does, the installer used to either ask for the password (which fails under curl pipe — see above) or give up. Now does 3-tier recovery: podman exec ... printenv | grep POSTGRES_* → search backup .env paths → interactive prompt (TTY only). Port extraction uses podman inspect --format '{{(index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort}}' instead of the broken HostPort regex.

Added

  • Multi-project registration — The installer now writes ~/.neuralgentics/projects.toml on first run, registering the install directory with name (basename of $PWD), path, timestamp, and a default flag. Idempotent re-runs update the existing entry instead of duplicating. First registration is marked default = true; re-registering a project that was already default preserves its default status. Future: neuralgentics projects CLI command and /projects TUI slash command will read this file.
  • make lint-shell quality gate — Runs bash -n on all scripts/*.sh to catch syntax errors before they hit users. Wired into the make aggregate target.

Verification

Tested end-to-end with the v0.6.0 tarball: tar --strip-components=1 places binaries correctly, non-TTY stdin exits with helpful error, --yes mode auto-detects existing .env and registers the project, and 5 sequential register/re-register cycles leave the registry with exactly 1 default = true and 0 orphan lines.

[0.6.2] - 2026-06-09

Patch release: 1 install-script follow-up fix + CI workflow modernization.

Fixed

  • SSL cert permission in rootless podman (Bug #10) — The v0.6.0/v0.6.1 SSL setup mounted the certs as :ro and tried to chown them to UID 999 on the host (Bug #8 fix), which silently fails for non-root users in rootless podman. The certs ended up as root:root inside the container, and the postgres user (which the entrypoint drops to via gosu) couldn't read them. Fix: use :z mount (no :ro) and chown inside a bash wrapper before exec'ing the entrypoint. This is the canonical rootless-podman pattern.

CI Modernization

  • Bump all actions to Node.js 24 majors (silences GitHub's Node 20 deprecation warnings; required by September 16, 2026 when Node 20 is removed from runners)
    • actions/checkout v4 → v5
    • actions/setup-go v5 → v6
    • actions/setup-node v4 → v5
    • actions/cache v4 → v5
    • actions/upload-artifact v4 → v5
    • actions/download-artifact v4 → v5
    • softprops/action-gh-release v2 → v3
    • docker/login-action v3 → v4
    • docker/setup-buildx-action v3 → v4
    • docker/build-push-action v6 → v7
    • Plus FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true env var in all 3 workflows to force any third-party actions onto Node 24
  • Fix go.sum cache restore bughashFiles('**/go.sum') at repo root never matches because go.sum lives in packages/*/. Changed to hashFiles('packages/*/go.sum') so the Go module cache actually restores between CI runs.
  • Pin windows-latest to windows-2022windows-latest is being redirected to windows-2025-vs2026 on June 15, 2026. Pin explicitly to avoid surprises.

[0.6.1] - 2026-06-09

Patch release: 3 install-script follow-up fixes found when re-testing the v0.6.0 install.

Fixed

  • DEFAULT_VERSION not bumped in v0.6.0 install.sh (Bug #1-again) — The T-DOCS-V060 card bumped package.json to 0.6.0 but missed install.sh's DEFAULT_VERSION, which still said 0.5.0. Result: the v0.6.0 install.sh downloaded the v0.5.0 binaries (without the 5 fixes). Bump to 0.6.0.
  • SSL cert :ro mount chown failure (Bug #8) — The v0.6.0 SSL setup mounted certs as :ro then tried to chown inside the entrypoint, which fails with "Read-only file system" and kills the container. Fix: chown 999:999 on the host before mounting :ro, drop the chown from the entrypoint.
  • mktemp failed when data dir didn't exist (Bug #9) — The SSL cert mktemp needed the data dir to exist. Add mkdir -p before mktemp.

[0.6.0] - 2026-06-09

Minor release: 5 install-script and TUI-runtime bug fixes for a complete 100% working install. The canonical curl -fsSL .../install.sh | bash one-liner now works for the first time since v0.1.0.

Added

  • TUI graceful sidecar fallback (Bug #4) — The TUI no longer hangs or logs warnings when the Python embedding sidecar isn't available. New docs/sidecar-setup.md covers manual setup for users who want real BGE-Large embeddings. Memory operations work fine with noop embeddings by default.

Fixed

  • Install script archive name 'v' prefix bug (Bug #2, CRITICAL)scripts/install.sh constructed neuralgentics-v0.5.0-... but GH release assets are neuralgentics-0.5.0-... (no v). The canonical one-liner has been broken since v0.1.0.
  • DEFAULT_VERSION hardcoded to 0.1.0 — Install script was hardcoded to install v0.1.0 unless the user passed --version. Bumped to v0.5.0.
  • TUI backend path resolver didn't know install prefix (Bug #3)resolveBackendPath() only checked $PATH, $NEURALGENTICS_BACKEND_PATH, and a source-tree relative path. Added 2 new steps: $NEURALGENTICS_INSTALL_PREFIX/bin/... and $HOME/.neuralgentics/bin/... as fallback.
  • Backend env var drift MEMINI_DB_URL → NEURALGENTICS_DB_URL (Bug #5) — Go binary was reading MEMINI_DB_URL (legacy from Session 25's rename) but TUI sets NEURALGENTICS_DB_URL. Backend fell back to hardcoded localhost:5434 (off-limits prod). Now reads both with NEURALGENTICS_DB_URL taking precedence.
  • Install verify_install TUI version check hung (Bug #6)neuralgentics --version opened a TUI render (no --version mode), hanging the install script forever. Replaced with a size+executable check.
  • **Install-spawned pg18 container had no SSL (Bug #7)*...
Read more