Repository navigation
0.5.0 - 2026-10-20
Release Notes
Databases and other containers can come from the project's own docker-compose.yml, with their own containers, volumes, ports and URLs in every environment, next to native apps. parcela.yaml files from 0.4 work unchanged.
Added
services.<name>.composeruns containers from the project's own Docker Compose file next to native apps:compose: {file: docker-compose.yml, services: [postgres]}. Each environment gets its own Compose project, so its own containers, network and volumes, and a leased loopback port for every port the containers publish, asPARCELA_PORT_<SERVICE>. The Compose file needs no changes: an override in the environment's runtime directory replaces its host ports and dropscontainer_name. Hooks and tasks getCOMPOSE_PROJECT_NAMEandCOMPOSE_FILE, and the Compose file's default override file applies as with plaindocker compose.compose.httpgives a container that serves HTTP its own HTTPS URL, readiness check and sharing, or the environment's own URL for an app that runs entirely in Docker.parcela doctorchecks the file and services. See compose.services.<name>.stop: a command that stops what a service started outside its own processes, likedocker compose stopfor adocker compose upservice. It runs on every stop, after the service's dependents and before its SIGTERM, even if the service already exited or Parcela crashed. A failed one leaves the environment interrupted untildownruns it again. Acomposeservice sets it for you.parcela completion <shell>prints shell completions.parcela open [SERVICE]opens a URL in the browser, andurl [SERVICE]prints one service's URL.-w/--workspacetakes an environment's name, URL, hostname or ID.-Cis short for--path.readiness_timeout_secondsinparcela.yamlsets how longupandrestartwait for the services, instead of 60 seconds.parcela upgradererunsinstall.shfor an install.sh install, staying on nightly or stable unless--nightlyor--stablesays otherwise. For Homebrew andcargoinstalls it prints the command to run instead.
Fixed
up --detachno longer gives up after the readiness timeout while a longsetuporprestarthook is still running; it waits for the owner, which does not count hook time.
Changed
statusandlsanswer in about 80 ms instead of 400–800 ms: the supervisor answers requests while it waits, andstatusgets the process list in one reply.- Errors name the next step for a missing
parcela.yaml, an unstarted checkout, an unknown environment and a renamed project.proxy statusanddoctorflag a 443 relay installed without port 80. - The proxy records a protocol number, so releases that share it take over its proxy quietly.
- Documentation centers on getting started, app configuration, parallel worktrees, and troubleshooting. Older guide URLs redirect to retained sections. Tool names have icons and accent colors, and code examples wrap within the page.
- Parcela sends anonymous usage data: the command, flag names, exit code, a duration range, version, OS, install method and a random install ID, never paths, names, URLs or values. Nothing is sent before a one-time notice.
parcela telemetry disable,DO_NOT_TRACK=1orPARCELA_TELEMETRY_DISABLED=1turns it off, andPARCELA_TELEMETRY_DEBUG=1prints the event instead. See https://parcela.run/docs/telemetry/. - The repository moved to
github.com/lostcoords/parcelaand the Homebrew tap tolostcoords/tap:brew install lostcoords/tap/parcela. The old addresses redirect. - The website moved to
https://parcela.run: the landing page at the root, the docs under/docs/, andinstall.shand the schema athttps://parcela.run/install.shandhttps://parcela.run/schema/v1.json.parcela init,parcela upgradeand the schema's$iduse the new addresses.parcela.davafons.comno longer serves the site. - The proxy redirects plain HTTP on its port to HTTPS.
parcela proxy installalso relays port 80 when it is free, sohttp://name.localhostopens the environment. Runparcela proxy installagain to add it to an existing install, thenparcela proxy restart. upandproxy statussuggestparcela trustonly while the certificate authority is not trusted.proxy status --jsonreports it astrustedinstead of the always-falsebrowser_trust_verified.- Rerunning
install.shover an earlier version says so and how to finish the upgrade. The FAQ shows how to upgrade each kind of install.
Install parcela 0.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lostcoords/parcela/releases/download/v0.5.0/parcela-installer.sh | shDownload parcela 0.5.0
| File | Platform | Checksum |
|---|---|---|
| parcela-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| parcela-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| parcela-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| parcela-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |