Skip to content

Releases: XBS-Nathan/Nova

v0.5.0

15 Apr 23:20

Choose a tag to compare

Nova v0.5.0

Install

curl -fsSL https://raw.githubusercontent.com/XBS-Nathan/Nova/main/install.sh | sh

Or build from source:

git clone https://github.com/XBS-Nathan/nova.git
cd nova
go generate ./internal/config/...
go build -o nova .
sudo mv nova /usr/local/bin/

What's New

  • nova slow on/off — simulate a resource-constrained server by applying CPU and memory limits to PHP containers (e.g. nova slow on --cpu 0.25 --memory 128m)
  • Workers config — run background processes (Horizon, queue workers, scheduler) as auto-restarting Docker services via workers: in config
  • nova php — run PHP commands in the project's PHP container
  • nova npm/yarn/pnpm — run package manager commands in a one-off Node container with correct user permissions
  • nova logs horizon — logs command now matches workers by prefix
  • nova snapshot restore — shows all snapshots across all databases by default, not just the current project's
  • nova share fix — tunnels now work correctly with Laravel by rewriting the Host header via cloudflared
  • nova use service — add shared services from other projects interactively
  • Image hash fix — PHP image tags are now based on full Dockerfile content, so changes (like adding composer) trigger rebuilds
  • New extensionssoap and sockets added to supported native PHP extensions

Breaking Changes

  • PHP image tags have changed due to the new content-based hashing. Run nova build to rebuild images.

v0.4.0

13 Apr 10:27

Choose a tag to compare

Nova v0.4.0

Install

curl -fsSL https://raw.githubusercontent.com/XBS-Nathan/Nova/main/install.sh | sh

Or build from source:

git clone https://github.com/XBS-Nathan/nova.git
cd nova
go generate ./internal/config/...
go build -o nova .
sudo mv nova /usr/local/bin/

What's New

  • Interactive nova init — all options now use arrow-key selectable lists with typeahead filtering instead of free-text prompts
  • Docker Hub version fetching — PHP, Node, MySQL, Postgres, and Redis versions are fetched from Docker Hub at build time via go generate, with hardcoded fallbacks
  • Shared service discoverynova init scans other projects for shared_services and offers a multi-select to include them
  • nova use service — add shared services from other projects to an existing config interactively
  • Node dev server supportnova init prompts for node_command and port; nova start runs the dev server in a node container with corepack for pnpm/yarn
  • nova logs node — stream logs from project services (e.g., node dev server)
  • Composer in PHP imagescomposer is now included in all PHP Docker images via multi-stage copy
  • NOVA=true env var — set on both PHP and Node containers for runtime detection
  • Forwarded ports in nova info — shows configured ports and node command in the info output
  • Postgres fixesCreateIfNotExists now waits for Postgres to be ready and uses stdin piping for \gexec compatibility
  • nova use php fixes — creates .nova/ directory if missing, pre-creates conf.d before Docker to prevent root ownership, starts PHP service if Docker is running

Breaking Changes

PHP images now include Composer. Existing images need a rebuild with nova build.

v0.3.0

12 Apr 20:24

Choose a tag to compare

Nova v0.3.0

Install

curl -fsSL https://raw.githubusercontent.com/XBS-Nathan/Nova/main/install.sh | sh

Or build from source:

git clone https://github.com/XBS-Nathan/nova.git
cd nova
go build -o nova .
sudo mv nova /usr/local/bin/

What's New

  • nova use php creates .nova/ directory — no longer fails when .nova/ doesn't exist yet, so nova use php 8.4 works before nova init
  • nova use php starts the PHP service — if Docker services are already running, changing PHP version automatically builds the image and starts the container
  • nova info shows all services — shared services and per-project services now appear in the info table alongside Caddy, MySQL, Redis, and Mailpit

Breaking Changes

None.

v0.2.0

07 Apr 10:38

Choose a tag to compare

Nova v0.2.0

Install

curl -fsSL https://raw.githubusercontent.com/XBS-Nathan/Nova/main/install.sh | sh

Or build from source:

git clone https://github.com/XBS-Nathan/nova.git
cd nova
go build -o nova .
sudo mv nova /usr/local/bin/

What's New

  • Database tools run inside containersnova snapshot and nova snapshot restore no longer require mysqldump, pg_dump, or other DB tools on the host
  • Zstd compression — snapshots now use zstd with multithreaded compression (-T0), significantly faster than gzip
  • Interactive snapshot restore — running nova snapshot restore without a name shows an interactive selector
  • Local snapshotsnova snapshot --local stores snapshots in the project's .nova/snapshots/ directory
  • nova status command — shows running services and linked projects at a glance
  • Postgres custom format — snapshots use -Fc (single file) streamed from the container, no host tools needed
  • Backward compatible — restoring old .sql.gz snapshots still works

Breaking Changes

None. Existing snapshots remain fully restorable.

v0.1.0

06 Apr 17:29

Choose a tag to compare

Nova v0.1.0

First release of Nova — a fast, lightweight PHP development environment for Linux and macOS.

Install

curl -fsSL https://raw.githubusercontent.com/XBS-Nathan/Nova/main/install.sh | sh

Or build from source:

git clone https://github.com/XBS-Nathan/nova.git
cd nova
go build -o nova .
sudo mv nova /usr/local/bin/

Highlights

  • Shared Docker containers — one PHP-FPM per version, one Caddy, one MySQL/Redis across all projects
  • Automatic local HTTPS via Caddy with *.test domains
  • Dev-optimized PHP & MySQL defaults — tuned for local development out of the box
  • Per-project and global config overrides for php.ini and my.cnf settings
  • Database snapshots with parallel dump/restore (mydumper, pg_dump)
  • Xdebug toggle — sub-second on/off without container restart
  • Per-project services — custom Docker containers scoped to individual projects
  • Shared services — containers shared across all projects
  • WSL2 support — automatic hosts and certificate trust for both Linux and Windows

Quick Start

cd /path/to/your/project
nova init
nova start
nova trust