This is a curated CHANGELOG. We also use an automatic utility that maintains the CHANGELOG files within CLI packages. For specific commit-level changes, see #packages. For big, high-level CLI changes, see #versions.
- Added prompt for local CLI installation. It is now required that the local
CLI be installed to use local CLI plugins (which provide often necessary
functionality such as
ionic serve). You can use the globalionicbinary fromnpm i -g ionicinstallation and it will use the local CLI version if installed, similar to gulp or other CLIs. The CLI is installed locally for new projects by default. See this comment for detailed information. - Added
ionic configcommands for getting and setting project (ionic.config.json) and global CLI config (~/.ionic/config.json) files. See README.md#cli-config. - Removed
--no-timeouts: All CLI timeouts have been removed, so the option is useless. - Fixed odd behavior of
--no-interactiveand--confirm: the flags now work per-command and do not persist the mode. - Moved update checking into an opt-in background process that checks npm for new versions. The CLI now simply reads a file of latest versions instead of doing network requests.
- Fixed CLI HTTP requests not being proxied for project commands. For this to work, the CLI and the proxy plugin must be installed locally. See README.md#using-a-proxy.
- Added
ionic logoutcommand. (Hidden for now.) - Using
--no-interactivewill no longer prompt for CLI updates at all. - Fixed issue with Ionic 1 not live-reloading in devices.
- Added
--no-buildoption toionic cordova buildto skip Ionic builds. - Added check for Android SDK Tools version during
ionic info. - Added
--no-moduleoption to Ionic Angular generators. By default, if applicable, components are generated with corresponding@NgModuleclasses which allow the component to be lazy-loaded. This new flag offers the ability to disable this feature. - Added
--constantsoption to Ionic Angular generators. If provided, a file will be generated that stores string constants for identifiers for lazy-loaded pages.
- Added deploy metadata option for
ionic upload. Thanks, @harshabonthu! - Added CI detection to switch CLI into non-interactive mode.
- Added logging for showing the execution of npm script hooks.
- Added better error messaging for gulpfile errors.
- Removed non-printing characters in the output of
ionic --version. - Fixed lack of error message for unknown generator types.
- Fixed incorrect interpretation of app IDs in scientific notation. (Only if
you have a really unfortunate app_id such as
12345e10😂). See #2506.
- Warning: For Ionic 1 projects, the
sassgulp task is no longer automatically run during SCSS file changes duringionic serve. See the bullet point below! - Added CLI hooks that you can use to run code during CLI events using npm scripts. See README.md#cli-hooks for usage.
- 🎉 Added
@ionic/cli-plugin-gulp! This plugin will hook into appropriately named gulp tasks during CLI events. It will also automatically run thesassgulp task during SCSS file changes duringionic serve. See the plugin's README.md for usage. - Fixed an issue where
0.0.0.0was the address being opened in the browser for Ionic 1 apps for server. Now the dev server still binds on0.0.0.0by default, but openslocalhostin the browser. - Fixed npm errors bubbling up during CLI update checks while offline.
- Improved
--helpdescriptions of a few Cordova commands.
- Added CLI flag for turning on/off timeouts:
--[no-]timeout - Added fuller descriptions to the
--helpoutput of individual commands. - Improved Cordova argument parsing.
- Fixed the proxy plugin so
ionic startworks behind a corporate firewall. - Improved CLI automatic update feature.
- Added CLI flags, which
change CLI behavior. There is now
--quiet,--[no-]interactive(interactive/non-interactive mode),--[no-]confirm. - Added non-interactive mode, which is useful for CI/CD servers. It disables "flair" such as spinners and unnecessary output. It also disables prompts.
- Added automatic login capability with
IONIC_EMAILandIONIC_PASSWORDenvironment variables. - Added Cordova platforms to output of
ionic info. - (Somewhat) support
documentRootandwatchPatterns(which are attributes ofionic.config.json) for Ionic 1 projects. - If git is installed, new Ionic projects are automatically setup as repositories and an initial commit is made.
- Added
--aot,--minifyjs,--minifycss,--optimizejsflags for build commands of Ionic Angular projects. - Fixed some runtime errors.
- Took out confirmation prompt for logging in again when already logged in.
- If you're using Ionic Deploy, you'll need to update
ionic-plugin-deployto the latest version. See #2237 and ionic-team/ionic-plugin-deploy#122.
setup: This was only used to setup sass in Ionic 1 projects, which now is now handled instart.share: Please use the Dashboard to manage collaborators.lib,add,remove,list: For v1 projects, we recommend using bower.io: Please configure apps in the Dashboard and uselinkto associate your local project.security: Please manage security profiles in the Dashboard.push: Please manage push credentials (through security profiles) in the Dashboard.config: Please manually edit theionic.config.jsonfile.service: Please migrate your app to use the Ionic Cloud Client.state: The plugins and platforms can be managed entirely by Cordova. Please remove thecordovaPlatformsandcordovaPluginskeys from yourpackage.jsonfile. If you're using Cordova 7, please review the announcement about how Cordova usesconfig.xmlandpackage.jsonto manage plugins and platforms.
- Added commands:
signup. Signup will change in the future, but as for now it simply opens up the signup page. - Cordova commands have been namespaced to allow for future platform support
and to reduce clutter. Additionally, Cordova functionality has been moved
into a CLI plugin, which is installed by default with new Ionic projects
and can be installed in existing Ionic projects with
npm i --save @ionic/cli-plugin-cordova. - Many command arguments, options, and flags have changed. For example, the
--v1and--v2flags inionic starthave been removed in favor of--typewith respective valuesionic1(for v1) andionic-angular(for latest Ionic Angular version). Please useionic help <commands>for new command usage. generatecommand has been overhauled to interactively generate components, pages, directives, etc. It uses the power of app-scripts to hook up generated entities to your app. In the future, generators will continue to be expanded upon.
You can drill down into commit-level changes in the CHANGELOG files of each
package. Changes made in one (especially @ionic/cli-utils) may affect the
other, but in general you can expect changes relating to Cordova to be made in
@ionic/cli-plugin-cordova, etc.
Plugins:
@ionic/cli-plugin-ionic-angular(CHANGELOG.md)@ionic/cli-plugin-ionic1CHANGELOG.md@ionic/cli-plugin-cordova(CHANGELOG.md)@ionic/cli-plugin-gulp(CHANGELOG.md)@ionic/cli-plugin-proxy(CHANGELOG.md)
Older changes (CLI 2 and before) can be viewed in the 2.x branch's
CHANGELOG.md.