Skip to content

3.2.4

Choose a tag to compare

@JaimeHere JaimeHere released this 23 May 19:26
· 12 commits to master since this release

3.2.4 (2024-05-23)

Bug Fixes

  • always serve latest file changes (#1521) (266a871)
  • 2889: fix build error with --prod (94e5f7c)
  • angular: support angular 2.3+ ngc api (13e930a)
  • aot: fix error reporting with ng 5.0.1 or greater (dece391)
  • aot: normalize paths to fix path issues on windows (b766037)
  • aot: pass genDir to ng4 (7506764)
  • aot: remove template validation until we can properly handle the error message format (d7c7136)
  • AoT: properly check for ngmodule declaration errors from the AoT build (a47f120)
  • bonjour: remove bonjour as its causing trouble for users on Windows without git (e4b5c59)
  • bonjour: updates dependency + better error handling (#1040) (e2f73c7)
  • build: fix extends in ts-config.json (#910) (0f01603)
  • build: fix test if linting should trigger on file change (#719) (e13b857)
  • build: scan deeplink dir too if different from srcDir (8929265)
  • cleancss: update to latest version of clean-css to mitigate issue with purging some css that should not be purged (564bd61)
  • config: create new file cache if not defined, even on existing context object (4359b3d)
  • config: node_modules directory should not be configurable (users were finding it confusing) (1f58aaa)
  • config: only read ionic-angular package json for version info in apps, not in the Ionic repo itself (700ca04)
  • config: revert change and once again transpile bundle by default. (b558584)
  • config: Setting readConfigJson constant wrong (#761) (64bc17f)
  • config: updated polyname env variable to match convention and fix typo with it (d64fcb1)
  • copy: support overriding config entries with empty objects (5879a8b)
  • core: use lower case attrs and not dash case (0154791)
  • decorators: don't remove third party transpiled (not static) decorators (3a3259a)
  • deep-linking: convert deep linking to use TS Transform. DeepLinking now works on TypeScript src instead of on transpiled JS code (63c4c7f)
  • deep-linking: don't force the main bundle to be re-built unless the deep link config changed (02b8e97)
  • deep-linking: ensure hasExistingDeepLinkConfig returns true where there is a config referenced by a variable (2e40340)
  • deep-linking: ensure the deepLinkDir ends in path.sep (496af40)
  • deep-linking: fix bug with null deep link config when modifying the main NgModule file (app.module.ts) (759bb4f)
  • deep-linking: fix issue where deep link config ends up being null when full build is triggered via a change to a template file with the identical content (68fc463)
  • deep-linking: Fix issue with deep-linking when attempting to update a template and failing, resulting in a full build but not processing deep links (6b158d3)
  • deep-linking: only attempt to inject deep-link config if there isn't an existing config and the (507f1a8)
  • deep-linking: remove IonicPage import statement in transform/non-transform approachs to work better with strict TS settings (84d9ec7)
  • deep-linking: use .ts file extension for lazy loading in dev mode, and .js in AoT mode since the AoT compiler no longer emits an ngfactory.ts file (dd99f14)
  • deep-linking: works when there isn't a valid deep link config (62f05fc)
  • deep-links: adjust paths for AoT (4055d73)
  • deep-links: handle configs with internal arrays (a7df816)
  • deep-links: only provide deep links to webpack that contain the import used in code and the abs (fae4862)
  • deeplinks: make deep link config parsing support 2.x and 3.x deep link config (1ac7116)
  • deeplinks: provide deep-links config to webpack as needed vs via the constructor (a735e96)
  • dependencies: update angular build optimizer for a source map fix (a5df139)
  • dev-server: fix for --nolivereload flag to stop reloading (#1200) (d62f5da)
  • devapp: do not enable shake (#1215) (118189c)
  • diagnostics: change direction to always be ltr (#1004) (6d5ef3c)
  • errors: better error msg reporting from worker threads (d9d000a)
  • generator: write file sync (b0bcb05)
  • generators: add exception for providers (db9c793)
  • generators: correct pipes default folder name (f0ea0da)
  • generators: handle no ngModule in tabs (653d9f2)
  • generators: handle old cli (6fd622c)
  • generators: import paths correct on windows (d778857)
  • generators: no module by default (#1096) (dfcaefa)
  • generators: use correct path and handle providers correctly (e82d5ff)
  • html: limit regex to only applicable script tags for replacing content (93db0ef)
  • http-server: drive reading ionic.config.json based on config value (e2d0d83)
  • http-server: revert change for path-based routing since it broke proxies (065912e)
  • lab: allow params to be passed to iframes (dabfdd1)
  • lab: remove es6 features from lab (41a1335)
  • lint: capture results of all linted files (eb4314e), closes #725
  • lint: improve linting performance (106d82c)
  • live-server: content.toString() crash (#1288) (07e7e05)
  • live-server: update android platform path (#1407) (1591c81)
  • livereload: find all bundles to update (8870a17)
  • ngc: don't replace deeplink config if an existing one exists (eeed98b)
  • ngc: revert change to purge decorators (Angular CLI did too) (8aae85c)
  • optimization: don't purge ctorParams for angular core or angular platform browser (9562181)
  • optimization: fix out of memory errors by providing more memory by default (b4c287a)
  • optimization: removing optimizations in preparation for ngo, updating to latest deps (90eb8b3)
  • optimizations: comment out code instead of purge it so source-maps don't error out in some edge (1dedc53)
  • optimizations: don't ever remove menu-types since it's not a side-effect in menu, it is used just for types (d7a4d1e)
  • optimizations: fix multiple bugs (components not being purged, overlays not working from providers, etc) for manual tree shaking (4b538c7)
  • optimizations: make optimizations work on windows and mac (5fe21f3)
  • optimizations: only store ionic and src files in memory (f51314f)
  • optimizations: remove the js file created by the optimizations bundling pass (c0bb3f4)
  • optimizations: temporarily do not purge ctor params from any of angular (212146c)
  • optimizations: throw error when ionic-angular index file isn't found (6437005)
  • postprocess: fix and add tests for the logic surrounding purging fonts (0dd1b22)
  • rollup: fix bug with not generating source-map correctly (3b1fd16)
  • rollup: pass all config options to generate (3502360)
  • sass: dont try to process invalid directories (8af9430)
  • sass: fix .sass files not being watched (#957) (0803eca)
  • sass: fix a bug when calling sass task in stand alone fashion (54bf3f6)
  • sass: fix potential null pointer, though it really should never happen (427e556)
  • sass: include the platforms dir by default (0da47cb)
  • sass: output valid source maps, that chrome can parse (#306) (6589550)
  • sass: remove PostCSS warning (#1364) (1e2035e), closes #1359 #13763
  • sass: use webpack/rollup modules for non-optimized build, use optimization data for prod/optimized buids (0554201)
  • script: linux only accepts one argument after shebang, so revert giving app-scripts more memory by default (0999f23), closes #838
  • serve: allow multiple arguments in console.log (5c00970)
  • serve: assign all ports dynamically (#727) (6b4115c)
  • serve: fix --consolelogs/--serverlogs usage with Cordova console plugin (8e64407)
  • serve: fix 'launchBrowser' of undefined (8f71e35)
  • serve: fix EADDRINUSE issue with dev logger server (271a6e1)
  • serve: Fix for browser not opening on linux, fixes #425 (#909) (77edbc6)
  • serve: if a build error occurs, return config if non-fatal (e5a4134)
  • serve: start listening when watch is ready (06bbd06)
  • serve: use wss protocol for secure websocket when page is using https (#1358) (29c3e23)
  • pin uglify-es (dacf080), closes #1353
  • pin ws version (db0cc4d)
  • proxy: add a cookieRewrite option which is passed to proxy-middleware. (#1226) (771ee63), closes ionic-team/ionic-app-scripts#454 ionic-team/ionic-cli#415
  • source-maps: always generate source map, then purge them if not needed in postprocess step (d26b44c)
  • source-maps: fix race condition between copying and purging source maps (f5529b5)
  • source-maps: source map must correspond to .js file name with a .map at the end (debd88b)
  • template: fix bug with using dollar sign within templates (de09048)
  • templates: escape strings in template (484d90d)
  • transpile: check for existing deep link config before using generated one (c51ac93)
  • transpile: get tsconfig.json location from config value (79b0eeb)
  • uglify: check for correct file extension (d17f2e1)
  • uglify: verify source maps are generated correctly for all bundles, tests (fc44ca6)
  • uglifyjs: better error msg reporting (49c0afb)
  • uglifyjs: only minify files processed by webpack or rollup (30ecdd8)
  • utils: assign correct type (3c3666c)
  • watch: fixed bug where options.ignore was being ignored if it's an array (7f1e54c)
  • watch: make default watch fail-to-start timeout configurable so it works more reliably on slow (2e2a647), closes #772
  • watch: queue builds (06e4971)
  • watch: queue buildUpdates events to avoid race conditions when bundling/building (43caefa)
  • webpack: don't overwrite css files when outputting webpack files (a32649f)
  • webpack: fix bug with using [name] for output file name (1128c9c), closes #724
  • webpack: fix issue PR introduced with lazy loaded modules and webpack throwing an invalid error (fb8b69a)
  • webpack: fix issue where bundles output to build dir sub directo… (#938) (aaa9d3c)
  • webpack: fixes bugs where some third party libs didn't load correctly (e7559e5)
  • webpack: make ionic-angular/util dir dynamic and use the environment variable of ionic angular (d3346b3)
  • webpack: revert to 3.6.0 for faster builds (2553ca6)
  • make --lab respect --nobrowser (8db3be5)
  • set context right immediately (802b329)
  • AoT: dynamically enable prod mode for AoT builds (0594803)
  • AoT: use in-memory data store instead of .tmp directory for AoT codegen (93106ff)
  • build: better support for saving multiple files at a time (254bb6c)
  • build: build will work after initial typescript error is during serve (0bb8c54)
  • build: check to ensure tsconfig contains sourcemaps true. (e6bcf22)
  • build: ensure copy/sass has successfully completed (f785ab2)
  • build: every build should run clean sync and copy async. (6d4eb6e)
  • bundle: pass updated in-memory tsFiles to watch rebuilds (88eb9f3)
  • bundle: resolve index files correctly (4aa01c1)
  • clean: remove rm -rf command from npm scripts (44ae40d)
  • color: allow colors in worker processes (03719df)
  • copy: copy failing now warning instead of error (ceaa5e4)
  • copy: notify the user when copy fails (af98397)
  • copy: only copy individual files when changed (de3c79d)
  • lint: fix fs reference (049bddb)
  • ngc: use config values in the generated tsconfig (e1fc8d5)
  • rollup: enable rollup cache (a098966)
  • rollup: properly reject promise so builds fail gracefully (212c510)
  • sass: successfulCopy should be successfulSass (1d19419)
  • sourcemaps: fix source maps for all files (066de6d)
  • template: fix handling multiple async template updates (088b1fe), closes #174
  • template: inline multiple templates in same .ts file (23307c6), closes #115
  • template: use correct path for template update (c201de5)
  • templates: update bundle on template changes (4ca0a3d)
  • transpile: remove outDir that was causing template path issues (7d2750d)
  • watch: allow path vars within watcher ignore option (b2bd84d), closes #169
  • watch: fix watch code (27b5069)
  • watch: index.html changes watched and updated (f4930f3)
  • webpack: don't restart watch on full dev build (6de3e12)
  • webpack: don't use in memory files if not there (1a7e390)
  • webpack: faster builds via in-memory fs when possible (f23a66d)
  • webpack: fix promise resolution bug by using event emitter (191094f)
  • fix ts errors (cb99f2b)
  • manifest is now in root (58ba938)
  • proper exception handling in some edge cases users were encountering (683d4b2)
  • build: fix prod build and bundling (fdbd862)
  • bundle: enable JS source maps, suppress warnings (0724efe)
  • bundling: execute bundle updates if full bundle has completed at least once (fbe56dc)
  • clean: return resolved promise (33c0497), closes #235
  • compress: save minified filenames same as uncompressed (a20f36f)
  • config: clarify missing vs erroring user config (#292) (8b2d0fb)
  • config: handle webpack and rollup config env var (#271) (c879da0)
  • config: remove dep on npm env variables (5fe489e)
  • config: resolve any inputs that could be paths to absolute paths (50876eb)
  • config: update config arg and env paths to look at rootDir (7b83647), closes #5
  • context: pass same context to all build tasks (43ced51)
  • copy: add forward slash on asset folder copy config (#2) (1a5eb75)
  • copy: check for null object and src/dest (eabd125)
  • copy: fix null pointer in copy method error checking (cea4dd8)
  • copy: fixes #78 (78bd6af)
  • copy: ionicons copied from ionicons (69f89a8)
  • copy: Resolve race condition in copy task, move to glob config (cc99a73)
  • debug: cmd+shift+8 to show debug menu (a26d729)
  • diagnostics: fix null pointers (72adc86)
  • diagnostics: show sass watch error (c895671)
  • error: (cmd/ctrl)+8 for debug menu (89550af)
  • error: add header padding for cordova iOS (5c4c547)
  • error: apply correct css for runtime error close (81f1d75)
  • error: fix content scrolling (3b82465)
  • error: reload immediately after js/html update (07f918e)
  • error: safari css fixes (7c2fb59)
  • errors: runtime error immediately, selectable stack (70f68da)
  • errors: skip HTTP errors (5906167)
  • inline-templates: check for existence of content (#557) (b68e125)
  • inline-templates: update bundle and memory file representation on template change (11a949d)
  • lab: add lab to files (f42c980)
  • livereload: livereload now correctly serves cordova plugins on run and emulate. (a0c3f5d)
  • livereload: on project build all pages connected should reload. (#513) (62d6b23)
  • livereload: use localhost instead of 0.0.0.0 when injecting live reload script (#450) (7f8a0c3)
  • logging: don't log msgs about websocket state (18185fb)
  • logging: remove unnecessary websocket error msg, clean up copy error msg (1517b06)
  • ngc: simpler AoT error reporting (1b0f163)
  • optimization: stop removing decorators (45b0255)
  • proxies: Wrong parameter in Logger.info, in setupProxies function causing proxies not to load (#395) (316b1de)
  • rollup: add globals, json and defaults plugins (09f79da)
  • rollup: avoid mutation of same rollupconfig instance on watch (fdfac49)
  • rollup: do not generate source map for prod (a1393cd)
  • rollup: invalidate cache on template change (80c0eb6)
  • rollup: output to the right destination on update (d087e71), closes #23
  • rollup: remove import of rollupNG2 plugin (#10) (75c8aa9)
  • rollup: removing rollup metadata prefix for paths (350a288)
  • rollup: target browser by default (1a21489), closes #7
  • sass: continue watch after broken sass syntax corrected (1395b21)
  • sass: correct user sass variable file paths on windows (088b736), closes #6
  • sass: do not use cache on sass changes (a85f9bc)
  • sass: exclude commonjs-proxy modules. #27 (175f675)
  • sass: remove broken sass caching (91faf0b)
  • serve: add flag to indicate to serve for a cordova app (93782e7)
  • serve: correct paths so that --lab works (1d99a98)
  • serve: find an open port for the notification server if port is used. (d6de413)
  • serve: fix cached file issue by only using the webpack module concat plugin for prod builds, make sure you update custom configs (feea7fe)
  • serve: open browser to localhost (14275c7)
  • source-maps: use detailed source-map as default, fix windows path issue (19464b3)
  • sourcemaps: webpack .ts sourcemaps (bfca1be)
  • template: normalize new lines (56fb8e5), closes #17
  • template: update template regex (a825a28)
  • template: use IgnorableEvent to avoid duplicate logging (d396ff9)
  • templates: template replace now works consistently for webpack (ab08af5)
  • transpile: normalize and resolve paths always for OS independence (ca6c889)
  • tsc: fix tsc within watch command (370fa45)
  • typescript: lock typescript version to 2.0.x for now due to build error with 2.1.x (ef7203b)
  • watch: ensure asset files copied over (0dca7b8)
  • watch: Ensure that watch tasks are throttled to run one at a time per watcher. (3d241df)
  • watch: ensure watch updates respect user configs (b6b9290)
  • watch: fallback for when chokidar watch ready/error don't fire (happens on windows when file is (519cd7f), closes #282
  • watch: fix live reload start (479f010)
  • watch: pass build options to watcher updates (df38cb4)
  • watch: pass correct options and sure they're reset each watch (40c8e7a)
  • watch: remove shorthand arg for watch (0685c0b), closes #290
  • watch: watch now ignores Mac OS meta data files (02d0b8d), closes #331
  • watch: watch tmp js files and remove ngcUpdate (21e6904)
  • webpack: .js sourcemaps (b1117f9)
  • webpack: always use modules output from webpack to form default basis of where to look for sass files (c199ea4)
  • webpack: don't output deptree.js, this requires a minor tweak to the optimization config if you have it customized (785e044)
  • webpack: fix path resolution (97c23f9)
  • webpack: invalidate cache by use of timestamps (4d6bbd5)
  • webpack: modify config to use IONIC_APP_SCRIPTS_DIR variable (2b7c606)
  • webpack: prevent multiple updates from ending at the same time (418def0)
  • webpack: properly handle .html file updates (9c1585f)
  • webpack: reference json-loader to account for webpack breaking change (d6fe709)
  • webpack: resolve modules to rootDir (#365) (64eb845)
  • webpack: run incremental build on watch, not any non-prod build (16b963f)
  • webpack: source maps link to original src for ide debugging (39edd2e)
  • webpack: typo in import, close #326 (#341) (6b89fa2)
  • webpack: update environment plugin for webpack 2 RC3 (be3aac1)
  • webpack: upgrade to webpack 3.2.0 to fix some bugs within Webpack surrounding the ModuleConcatenationPlugin (f85ade0)
  • webpack: use context when resource is not found (e925362)
  • webpack: use simpler buffer api to support older node (5e8b193)
  • webpack: use source-maps instead of eval for prod builds (fdd86be)
  • webpack: webpack in-memory output file system was breaking some plugins (574da39)
  • webpack: when analyzing stats, factor in new shape of ModuleConcatenation info (00cf038)
  • websockets: fix exception when no ws clients connected during rebuild (#616) (8685bf8)
  • windows: apply path normalize on in-memory ts output (3ebcc8d)
  • workers: generate context in worker threads (af036ec)
  • add support for dev and prod builds (b992eec)
  • component sass compiler (e1aaeb9)

Features

  • bonjour: adds service auto-discovery (c17e6df)
  • build: replace --dev flag with --prod and add flags --aot, --minifyJs, --minifyCss, --optimizeJs (99922ce)
  • bundle: pre and post bundle hooks (4835550)
  • bundle: suppress common rollup warnings (33db831)
  • copy: update copy config to move web workers (a909fc4)
  • createWorker: pass argv and config_argv to spawned processes (#487) (02dfff8)
  • debug: debug menu options (53d6e30)
  • debug: shake device to show debug menu (770f4e3)
  • deep-linking: generate default NgModule when missing by default (90138fa)
  • deep-linking: parsing deeplink decorator is now enabled by default, no longer experimental (e097d4e)
  • deep-linking: upgrade script to generate NgModules for pages with @deeplink decorator (2943188)
  • dev-errors: print dev errors within app (925d3f3)
  • environments: configuration via process.env.VAR replacement (#1471) (53fc341)
  • error: client runtime error reporting (fc40b92)
  • error: syntax and error highlighting (8836310)
  • error: use datauri for favicon build status (892cf4a)
  • errors: overlay build errors during development (87f7648)
  • events: emit bundler events (8d73da9)
  • exports: add templateUpdate and fullBuildUpdate (a31897d)
  • fonts: remove used fonts for cordova builds (967f784)
  • generators: generators for page, component, directive, pipe, provider (e2a45e4)
  • generators: refactor generators (beaf0d3)
  • lab: fresh coat of paint (edb6f09)
  • lint: add lint task (018bd6b)
  • lint: new option to have stand alone lint bail (b3bb906)
  • logger: pretty print sass diagnostics (433150b)
  • logging: logging.fail takes exception. Fixes #26 (29ada4f)
  • minification: code-split bundles will be minified (#814) (d8d9a4e)
  • optimization: enable manual tree shaking by default (1c57ee6)
  • optimization: purge decorators enabled by default (b626e00)
  • optimizations: purge transpiled decorators (ba5e0cd)
  • options: allow users to pass their own cleanCss Options (#377) (20df6d4)
  • replacePathVars: support interpolation of objects and arrays (#449) (e039d46)
  • rollup: cache previous bundles (f52498f)
  • run-build-update: handle linked npm modules (#375) (0f113c8)
  • sass: add option to pass addition postcss plugins (#369) (be30a40)
  • sass: enable Sass indented files compilation (#565) (f632298)
  • sass: skip sass rendering when files unchanged (31f5fef)
  • scripts: push npm build to arbitrary tag (#1060) (4e93f60)
  • serve: add '/ionic-lab' as an alias for the lab html file path. (c319404)
  • serve: add serve and live reload (a93f2da)
  • serve: client logs sent to server and terminal via web sockets (1d3bf6e)
  • serve: init dev logger and live-reload (6f32c7a)
  • serve: pass build data to client webapp (bb85fc2)
  • sourcemaps: copy for prod and dev (a1ccc17)
  • sourcemaps: preserve prod sourcemaps out of code dir (ee3e41b)
  • webpack: update to latest webpack (67907b6)
  • add debug mode and logging (80f1223)
  • add watch (f157603)
  • all arguments passed should be compared as case insensitive (085c897)
  • change http-server to use request hostname instead of the configured hostname. (8e1e81a)
  • tslint: run tslint in own core and improve formatting (db877db)
  • webpack source maps: make it easy to configure source map type (03565b7)
  • get config values from npm package.json config (26bcd28)

Performance Improvements

  • template: use bundle cache for template changes (002f123)
  • uglifyjs: remove unused readFileAsync during uglify (#1305) (e9217c2)
  • webpack: speed up webpack build by not using file-system and watches (23ad195)