- Fixed a bug where the
createcommand wasn’t setting correct environment variable names for Craft 4. (#464) - Fixed a bug where
opcache_validate_timestampswasn’t getting set correctly. (#435) - Fixed a bug where the
sharecommand wasn’t working with Ngrok 3. (#466) - Fixed an error that could occur when executing the
trustcommand when using WSL. (#461)
- Added support for PHP 8.1.
- Added support for more Linux distributions when installing certificates. (#380, #414)
- Removed the
blackfirecommand.
- Added the
db destroycommand, for removing database engines. (#325) - Added the ability to extend the Nginx configuration with a
nitro.conffile at the root of a project. (#18)
- Added support for validating multiple hostnames with the
aliascommand. (#341) - The
stopcommand no longer returns an error code when no containers are running. (#336) - The
addandcreatecommands now setDB_USERandDB_PASSWORDvariables in the.envfile. (#310) - The
lscommand now outputs the internal and external ports for containers.
- Deprecated the
cleancommand.applywill automatically remove unused containers. - Deprecated the
validatecommand.
- Fixed a bug where the
applycommand would not remove unused containers unless it was run twice. (#321) - Fixed a bug where the
container newcommand didn’t allow entering a port. (#318)
- Added the
container removecommand. (#303) - Added the
lscommand, which outputs useful information about Nitro. - Added support for local certificates on Fedora, CentOS, and RHEL distributions.
- The
blackfire,bridge,iniset,remove,restart,share,ssh,start,stop,xoff, andxoncommands now accept a site argument. (#283, #320) - The
inisetcommand now supports theopcache_validate_timestampssetting. (#302) - The
db importcommand now accepts a--nameflag. (#293) - The proxy container now exposes ports
3000and3001, for webpack dev server routes. - Improved support for Linux users and file permissions. (#308, #280, #264)
- Improved various commands’ output. (#316, #322)
- Fixed a bug where the
craftandqueuecommands weren’t forwarding command flags to Craft. (#301) - Fixed a bug where sites’ Nginx configs weren’t getting updated when their web root was changed in
nitro.yaml. (#326)
- Fixed a bug where the
initsetcommand wasn’t updating OPcache settings. (#298) - Fixed an error that was preventing Linux users from using Xdebug. (#288)
- Fixed a bug where the
trustcommand output was mangled for Windows users. (#291) - Fixed a bug where command completion wasn’t working for ZSH shells. (#295)
- Added the
phpcommand, for executing PHP commands within a site container. (#276)
- Fixed a bug where MySQL permissions weren’t getting set properly. (#275)
- Fixed an error that could occur when paths included spaces. (#277)
- Fixed certificate installation for POP!_OS Linux.
- Nitro will now verify and start containers automatically if not running.
- Fixed an error that could occur when the
versioncommand was executed beforeinit. (#270) - Fixed an error that could occur if Nitro wasn’t able to detect the database engine from a backup. (#269)
- Fixed a bug where the
inisetcommand was not updating PHP settings for sites. (#268)
- Fixed a bug that could occur when executing the
nitro addcommand beforenitro init.
- Fixed a bug where the
self-updatecommand was not updating.
- Nitro now runs on Docker rather than Multipass. (#224, #222, #215, #205, #182, #181, #180, #152, #22, #18, #216)
- Added support for Arm CPUs, including M1 Macs.
- PHP versions and settings are now applied on a per-site basis. (#200, #105, #225)
- Xdebug is now applied on a per-site basis.
- Added support for SSL. (#10)
- Added support for PHP 8.
- Added support for Xdebug 3 when using PHP 7.2 or later.
- Added the
aliascommand. - Added the
blackfire onandblackfire offcommands. - Added the
bridgecommand, for sharing a site over a local network. - Added the
cleancommand. - Added the
composercommand. - Added the
container newcommand, which creates new containers based on any available Docker image. (#170) - Added the
container sshcommand. - Added the
craftcommand, which will runcraftcommands within a site’s container. (#189) - Added the
db newcommand, which creates new database engine containers. - Added the
db sshcommand. - Added the
enableanddisablecommands. - Added the
extensionscommand. - Added the
inisetcommand. - Added the
npmcommand. - Added the
portcheckcommand. - Added the
queuecommand. (#189) - Added the
sharecommand, which shares a site via Ngrok. (#2) - Added the
trustcommand. - Added the
validatecommand. - Added the
versioncommand.
- Improved Linux and Windows support.
- Nitro now has a single
~/.nitro/nitro.yamlfile to manage everything, instead of a YAML file per machine. - Most Nitro commands are now context aware of the directory they are executed in. (#167)
- All commands that rely on an existing config file now prompt to run the
initcommand if no config file is found. - The
applycommand will only update thehostsfile if it has changed. (#117) - The
createcommand now accepts custom GitHub repositories and installs Composer and Node dependencies automatically. (#101) - The
db importcommand can now import database backups that live outside the project directory. - The
destroycommand now removes entries from thehostsfile. (#235) - The
initcommand will now use MariaDB rather than MySQL on Arm-based computers. (#234) - The
initcommand now has a--skip-trustflag, which skips importing Nitro's root certificate. - The
sshcommand now has a--rootflag, which will SSH into the container as the root user. - It’s now possible to set the default ports for HTTP, HTTPS, and the API to avoid any port collisions using
NITRO_HTTP_PORT,NITRO_HTTPS_PORT, andNITRO_API_PORT. - Nitro will now check for port collisions during
initand when adding database engines. - Sites’ containers’
hostsfiles now list their own host names. (#150) - Windows users are now prompted to update their
hostsfile. - Xdebug is no longer supported for PHP 7.0.
- Added the
nitro createcommand, which will set up a new Craft installation without PHP or Composer installed locally. (#101) - Added the
--silentflag to thexon,xoff, andphp inisetcommands.
- The
db importcommand can now import zip and gzip files. - The
db importcommand will now detect the database backup type and automatically select the appropriate database engine, if the backup file was uncompressed. (#132) - The
db importanddb addcommands now replaces dashes (-) with underscores (_) in the specified database name, to work around a SQL error. (#212) - The
php inisetcommand can now set thedisplay_errorsconfig setting. (#172) - The
display_errorsconfig setting is now set toOnby default.
- Fixed a bug where
php iniset memory_limitwas listed as an available command. - Fixed a bug where
php inisetcommands weren’t always setting the correct values. (#207) - Fixed a bug where
php inigetcommands weren’t always returning the correct values. - Fixed a bug where the system’s
hostsfile wasn’t getting updated on Linux machines. (#213)
- Composer is now installed by default on new machines.
- The default Nginx site is now a friendly landing page with helpful links.
- Fixed an error that occurred when checking for the latest version of Nitro. (#199)
- Added the
supportcommand to quickly create GitHub issues pre-populated with environment info.
- The
infocommand now displays additional info such as IP, PHP version, and links to common tasks.
- Fixed a bug confirmation prompts would take just about any input as a “yes”. (#190)
- Fixed an issue that occurred when creating new machines.
- Added the
nginx start,nginx stop, andnginx restartcommands. - Added the
php start,php stop, andphp restartcommands. (#57) - Added the
php inigetcommand, which can be used to see current php.ini values. - Added the
php inisetcommand, which can be used to modify themax_execution_time,max_input_vars,max_input_time,upload_max_filesize,max_file_uploads, andmemory_limitphp.ini settings. (#138) - Added the
xonandxoffcommands, which are shortcuts forxdebug onandxdebug off. - Added the
nitroddaemon that runs in the virtual machine and exposes a gRPC API on port 50051. - Enabling and disabling Xdebug is now performed via the gRPC API, and is much faster now.
Improved Composer performance when run from inside the virtual machine. (#186)
- Fixed a bug where the default PHP version was not getting updated when running the
applycommand. (#192) - Fixed command completion when pressing the Tab key.
- Added support for a
NITRO_EDIT_HOSTSenvironment variable so that when set tofalse, Nitro will never edit the host machine’shostsfile.
- The
destroycommand now has a--skip-hostsoption.
- The
addnow has a--skip-hostsoption. (#163) - The
db addcommand now validates the database name. (#160)
- Fixed a bug with the Nginx config template (run
nitro refreshfor the change to take effect).
- Newly-created site configs are now based on the Nginx config provided by https://github.com/nystudio107/nginx-craft (run
nitro refreshfor the change to take effect). (#35)
- Fixed an error that could remove mounted sites. (#162)
- Fixed a bug where the
applycommand wasn’t removing deleted sites’ hostnames from the hosts file. (#161) - Fixed a bug where the
applycommand wasn’t removing deleted sites’ Nginx configurations from the virtual machine.
- Fixed a bug where keys transferred into the machine did not have the proper permissions. (#154)
- Fixed a bug where the
initcommand was not editing the hosts file. (#155) (#156) - Fixed a bug where the
db importcommand was not working on PostgreSQL.
- Removed an unnecessary debug command.
- Added Windows support.
- Added support for MySQL 8.0. (#97)
- The PostgreSQL and MySQL client tools are now installed on new machines. (#54, #139)
- Added the
install postgres,install mysql,install composer, andinstall mailhogcommands.
- New machines now use Ubuntu 20 LTS.
- Renamed the
--no-backupsoption to--skip-backupfor thedestroycommand. - Composer is no longer installed on machines by default, but can be installed by running
nitro install composer. - The
initcommand now sets the default CPU count based on the number of CPUs on the host machine. - MySQL 5 and 8 now use version-specific configuration directories (
/home/ubuntu/.nitro/databases/mysql/conf.d/<version>/). - Removed the
xdebug configurecommand, and moved its logic into thexdebug oncommand.
- Fixed a bug where Nitro wasn’t removing Nginx server configs when removing sites.
- Fixed a bug where the
applycommand wasn’t removing deleted mounts’ root directories within the machine. (#96) - Fixed a bug where the
initcommand could return an exit code of 100. (#96) - The OPcache extension is no longer installed by default. (#129)
- Added the
keyscommand which prompts which keys should be imported into a machine. (#141) - Added the
--no-backupsflag todestroywhich will skip database backups. - Added
completioncommands forbashandzshrc.
- The
destroycommand creates individual databases backups. (#146) - The
mysqlsystem database is no longer backed up usingdb backupordestroy. (#147)
- Fixed a bug where the
refreshcommand was failing silently. - Fixed a permissions issue. (#145)
- Fixed an issue when importing mysql databases using
db import. - Fixed an issue installing composer on new machines. (#149)
- Added the
--skip-hostsoption to theapplycommand. (#110) - The
addcommand will now prompt to create a machine if it does not exist. (#103) - The
initcommand will edit the hosts file if sites are present in the config. (#123) - Added the
db restart,db stop,db add,db remove, anddb backupcommands. Theimportcommand has also been renamed todb import. - Added the
refreshcommand, which helps keep scripts and configs updated between versions of Nitro. - Databases now support custom configuration files. (#133)
- Nginx is now configured to allow file uploads up to 100MB. (#126)
- Databases are now backed up automatically when a machine is destroyed. (#136)
- When creating a new machine, the
DB_USERandDB_PASSWORDare automatically set in the environment. (#119) - The default database is now called
nitrofor MySQL engines, to be consistent with PostgreSQL. - The
destroycommand now prompts for confirmation. (#116) - The
initcommand now prompts to initialize a new machine if there is no config file. - The
addcommand now mounts project files in/home/ubuntu/sites/<name>instead of/nitro/sites/<name>. (#134) - The
applycommand now provides more information. (#95) - The
initcommand now checks if the machine already exists before prompting for input (#102)
- Fixed a bug where the
self-updatecommand would non-interactively prompt to initialize the primary machine. (#115) - Fixed a bug where
import --helpdidn’t show the required SQL file argument in the usage example. (#124) - Fixed a bug where the
applycommand wasn’t applying changes to sites’ web roots. (#113)
- Fixed an error when using the select prompt. (#104)
- Improved the
initcommand workflow. - Changed the input package to use pixelandtonic/prompt.
- Removed MySQL 8.0 support for now.
- Removed PHP 7.0 and 7.1 support.
- Fixed a potential permission error when installing/updating.
- Fixed a broken test which prevented a release.
- The GMP and BCMath PHP extensions are now installed by default.
- Composer is now installed globally on machines. (#92)
- Fixed a permission error when provisioning a PostgreSQL database.
- Fix a bug where the
importcommand wasn’t importing. - Fixed an issue where the machine DNS was not resolving in some environments. (#91)
- Fixed an error when trying to create a database during PostgreSQL import. (#94)
- The
initcommand now prompts for how many CPU cores should be assigned to the machine.
- Added the
renamecommand to allow users to quickly rename sites.
- The
destroycommand now has a--cleanoption which will delete a config file after destroying the machine. - The
nitrodatabase user now has root privileges formysqlandpostgresdatabases. (#79) - Added the
phpoption back to the config file. - All commands that perform config changes (e.g.
add,remove, andrename) now use the same logic as theapplycommand. - When importing a database using the
importcommand, users will be prompted for the database name which will be created if it does not exist. - The
applycommand will automatically update the machine's hosts file. - The
destroycommand will now remove any sites in the machine config from the hosts file. - The
initcommand will use an existing config file and recreate the entire environment. - Commands now output more statuses where possible to provide the user more feedback.
- When using the
addcommand, the config file checks for duplicate sites and mounts. (#86) - Fixed an issue when using some commands on Windows. (#88)
- Fixed an issue in the
applycommand that would not detect new changes to the config file.
Warning: This release contains breaking changes. See the upgrade notes for details.
- Added the
initcommand, which initializes new machines. - Added the
removecommand, which removes a site from a machine.
- All machine configs are now stored saved in
~/.nitro/. - All commands now have an
-moption, which can be used to specify which machine to work with. (The-foption has also been removed.) - The
applycommand now creates any new database servers that it finds in the config file. - The
machine destroycommand has been renamed todestroy, and it now permanently destroys the machine (as opposed to archiving it), and removes any hostnames added to your hosts file that point to its IP address. - The
machine restartcommand has been renamed torestart. - The
machine startcommand has been renamed tostart. - The
machine stopcommand has been renamed tostop. - Renamed
get.shtoinstall.sh.
- Removed the
machine createcommand. Use the newinitcommand to create new machines instead.
- Fixed a bug where users could get a segfault when adding a site. (#78)
- Fixed a bug where it wasn’t possible to import databases using relative paths. (#75)
- Fixed a bug where the
machine createcommand listed MySQL 5.8 as an option. - Fixed a bug where php-fpm wouldn’t restart after running the
xdebuf offcommand.
- Fixed an issue when importing database backups using relative paths (#75)
- Added
importcommand to let users import a database backup from their system into nitro. (#1)
- Nitro now installs the PHP SOAP extension by default.
- Nitro will now walk users through the creation of a machine when no config file is present (#44).
- Nitro now prompts you to modify your hosts file after using
add(#40).
- Added
editcommand to edit a nitro.yaml config. (#70) - Added
logscommand to checknginx,database, anddockerlogs.
applynow checks if sites are setup in the machine and configures them if they are missing.
- Added checksum support for
get.shwhen downloading and updating. (#56)