Skip to content

Latest commit

 

History

History
1510 lines (1148 loc) · 110 KB

CHANGELOG.md

File metadata and controls

1510 lines (1148 loc) · 110 KB

Changelog

All notable changes to Parcel will be documented in this file.

The format is based on Keep a Changelog and Parcel adheres to Semantic Versioning.

[2.12.0] - 2024-02-28

Added

  • Core

    • Add REPL playground for Parcel to the website – Details
    • Improve package manager detection for auto install – Details
  • JavaScript

    • Add support for JS macros – Details
    • Statically evaluate constants referenced by macros – Details
    • Upgrade to ESLint 8 – Details
    • Bump swc – Details
  • CSS

    • Use lightningcss to implement CSS packager – Details
  • Bundler

    • Rename "parentAsset" to "root" for Manual Shared Bundle config and remove unstable prefix – Details
  • Web Extensions

    • Add content script world property to manifest schema validation – Details
  • Performance

    • Adjacency list optimizations – Details
    • Break up request graph cache serialisation and run after build completion – Details

Fixed

  • Core

    • Drop per-pipeline transformation cache – Details
    • Clippy and use napi's Either3 – Details
    • Add lazy/eager cache key to avoid invalid change when switching modes – Details
  • JavaScript

    • Remove decl_collector pass and use SWC's unresolved_mark instead – Details
  • Bundler

    • Fix multiple css bundles in entry bundle groups issue – Details
    • Allow parallel type change bundles to be reused by async siblings – Details
    • Skip on missing parent asset for manual shared bundles – Details

Unstable

  • Add source map support to the inline-require optimizer – Details

[2.11.0] - 2023-12-19

Added

  • Dev

    • Log build phase times for dev builds Details
    • Progress messages for writing to cache Details
    • VSC Extension JSON schema Details
    • Print phase times on development builds Details
    • Publish bundle-stats-cli and parcel-query Details

Fixed

  • Dev

    • Increase threshold for showing progress bar to 500k nodes Details
    • Fix parcel-query Details
    • FIX[dev-server]: Fix html file matching from URL Details
    • Fix parcel query's inspect cache Details
    • Bug fix for exiting early when identifying requestGraph in loadGraphs Details
    • Fix HMR on .localhost domains Details
    • Modify parcel query to not require all graphs on startup Details
    • Bug fix for async Parcel-query Details
    • Remove reliance on requestTracker in loadGraphs Details
  • Core

    • Reduce redundancy in the RequestGraph's Request, Env, and Option nodes Details
    • Move registerCoreWithSerializer to its own file Details
    • Filter --expose-gc and --max-semi-space-size execArgv Node args from workers Details
    • Optimize Symbol Propagation (propagateSymbolsUp) Details
    • Convert Request Graph node types + request node requestTypes to numbers Details
    • fsFixture: ignore empty lines in fixtures Details
    • Unstable File Invalidations Details
    • Configurable watch root Details
  • Resolver

    • Add ~ and / support to the glob resolver Details
  • JavaScript

    • Bump swc Details
    • Bumping lightningcss to 1.22.1 Details
    • Fix CI Details
    • Change inline-requires to only run when optimizing Details
    • Fix tsconfig extends from node_modules Details
    • Bump some deps Details
    • Bump swc and napi-rs Details
    • Fix references to packages.atlassian.com Details
    • Fix build-ts step Details
    • Bump rimraf version to ^5.05 Details
    • Use centos image with newer Node 16 Details

[2.10.3] - 2023-11-14

Added

  • Dev
    • Added cacheInfo to Parcel Query - Details
    • Add parcel-link and parcel-unlink dev CLIs - Details

Fixed

  • Core

    • Mark previously deferred assets as dirty for symbol prop - Details
    • Write bundle graph to cache if error occurs during bundling - Details
    • Fixing issues when import * as is used with export * - Details
    • Writing cache in chunks - Details
    • Reduce redundancy in the RequestGraph's file nodes - Details
    • Fix dependency retargeting with ambiguous reexports - Details
  • JavaScript

    • Fixing behavior for hasOwnProperty in modules exporting member with same name - Details
  • WebbExtension

    • Don't crash if WebExt has no content_scripts - Details
  • PostHTML, Pug, Stylus

    • Simplified calls to invalidateOnFileChange - Details

[2.10.2] - 2023-11-01

Fixed

  • Core

    • Use clz32 for counting trailing zeroes – Details
  • JavaScript

    • Do not wrap duplicated assets when they are in different targets – Details

[2.10.1] – 2023-10-23

Fixed

  • Core

    • Use modern node versions in CI Details
    • Support multiple workspaces/clients in Parcel for VSCode Details
  • Bundler

    • Make sure to set unique key Details
    • Fix bundler tests assertions on Windows Details
  • JavaScript

    • Add logic to disable scope hoisting if the this key word is pointing to an export module Details
    • Detect TSC polyfills to avoid marking them as CJS Details
    • Remove this exports tracking for files with module syntax Details
    • Bump swc Details

Unstable

  • Bundler

    • Fix inline constants in shared bundles Details
    • Ensure manualSharedBundles have unique names Details
    • Simplify MSB code for code split bundle creation section Details

[2.10.0] – 2023-10-11

Added

  • Core

    • Add support for include and exclude globs for --lazy mode – Details, Details
    • Merge all native Rust modules into one package – Details
    • Add async resolver and JS transformer functions using rayon – Details
    • Support "register" tools in module loader (e.g. @babel/register, esbuild-register, ts-node) – Details
    • Limit default number of JS workers to 4 to improve memory usage/performance – Details
  • Bundler

    • Optimize bundler performance – Details
    • Add disableSharedBundles config option – Details
  • Resolver

  • JavaScript

    • Add import helper to decrease ESM loader runtime footprint – Details
    • Support parallel bundle imports in libraries – Details
    • Only include globalThis polyfill for old browsers – Details
    • Updated parcelRequire.register to be minifiable – Details
  • CSS

    • Add include and exclude globs for CSS modules – Details
  • WASM

    • Add WASM packager with source map support – Details
  • XML

    • Transform xml-stylesheet processing instructions – Details
  • Web Extensions

    • Add support for Chrome Extension manifest V3 side_panel property – Details
    • Improve HMR for web extensions – Details
  • Web Manifest

    • Add support for icons in file_handlers – Details

Fixed

  • Core

    • Query glibc version only once to speed up JSTransformer on Linux – Details
    • Refresh cache before writing contents to bundle – Details
    • Fix --lazy mode bugs – Details
    • Ignore no-opt command line option – Details
    • Bump lmdb – Details
    • Don't hide error when diagnostic is malformed – Details
    • Don't autoinstall local files in package manager – Details
    • Fix bug with cache and glob entries – Details
  • JavaScript

    • Migrate to swc_core – Details
    • Move ESM loader runtime to absolute URLs – Details
    • Fix duplicate asset references – Details
    • Bump swc – Details, Details, Details
    • Fix shorthand identifier import usage – Details
    • Ensure nested member expressions are marked used in dev mode – Details
    • Set ascii_only for swc emit – Details
    • Add tests for non-identifier symbol names – Details
  • Bundler

    • Exclude inline assests from parallel request limit – Details
    • Fix unexpected undefined when creating shared bundles – Details
  • Images

    • Bump oxipng from 6.0.0 -> 8.0.0 – Details
  • Sass

    • Fix sass import edge case – Details
  • Dev Server

    • Fix index page loading in dev server when bundle type isn't html – Details

Unstable

  • Core

    • Expose unstable_transform and unstable_resolve APIs – Details
  • Bundler

    • Add unstable manual shared bundles config – Details
  • JavaScript

    • Experimental inline / deferred requires optimiser – Details
    • Add constants inlining optimization – Details
    • Add unstable async bundle runtime to the JS Packager – Details

[2.9.3] – 2023-06-24

Fixed

  • Resolver

    • Fix the development and production package conditions – Details
  • JavaScript

    • Update SWC to fix generics in JSX elements – Details

[2.9.2] - 2023-06-08

Fixed

  • Core

    • Fix infinite loop when entries look like globs – Details
    • Fix proxyrc require from path – Details
  • JavaScript

    • Treat re-exports of * from empty files with sideEffects: false as ESM – Details
  • CSS

    • Fix self references error in CSS module JS assets causing "Bundle group cannot have more than one entry bundle of the same type" – Details
  • Dev server

    • Serve folder's index when requesting folder without slash – Details
  • Web extensions

    • Allow source maps files in webextension – Details
  • Image

    • Add core as peerdep to image optimizer – Details

[2.9.1] - 2023-06-07

Fixed

  • Resolver
    • Ignore invalid package.json "type" field values – Details
    • Ignore duplicate slashes at the start of relative path specifiers – Details

[2.9.0] - 2023-05-26

Added

  • Core

    • Add support for ESM plugins and configs – Details
    • Add support for local parcel plugins – Details
    • Incremental Symbol Propagation for improved performance and improved export errors in development – Details
    • Add support for plugin tracing, which shows where time is being spent during a Parcel build – Details
    • Support .proxyrc.cjs config files – Details
    • Add support for loadConfig function to resolver plugins – Details
  • Resolver

    • New resolver implementation in Rust supporting package.json "exports" and "imports", and tsconfig.json "baseUrl", "paths", and "moduleSuffixes" – Details
  • JavaScript

    • Switch to SWC minifier instead of Terser by default – Details
    • Split large runtime manifest into separate bundles to reduce cache invalidations – Details
    • Respect addExternalDependency in Babel plugins – Details
  • Bundler

    • Use BitSet for bundler intersections for improved performance – Details
  • Web Extensions

    • Add support for chrome_style field – Details

Fixed

  • Core

    • Improve error message when bundles do not have unique file names – Details
    • Bump napi-rs to latest – Details, Details
    • Fix pnpm autoinstall – Details
    • Fix "does not exports" error for multiple assets returned by transformers – Details
    • Remove v8-compile-cache – Details
    • Update fast-glob – Details
    • Update lmdb – Details
    • Fixup DiagnosticCodeHighlight and SourceLocation columns – Details
    • Bump fastest-levenshtein and xmldom dependencies – Details
  • JavaScript

    • Sort global deps before injecting imports to reduce cache invalidations – Details
    • Only add export setter for non-ESM exports – Details
    • Bump SWC – Details, Details, Details, Details, Details
    • Deduplicate imports in hoist transformer – Details
    • Allow buffer polyfill v5 or v6 – Details
    • Fix packaging of synchronous reused bundles – Details
    • Support eslint ^7.0.0 in @parcel/validator-eslintDetails
    • Improve inlineEnvironment performance – Details
    • Hoist exports to allow circular dependencies – Details
  • TypeScript

    • Throw diagnostics as error on empty emit - Details
  • CSS

    • Sort CSS module exports to reduce cache invalidations – Details
  • Bundler

    • Fix missing edge error when using for multiple targets – Details
    • Fix non-deterministic builds between project directories – Details
    • Fix css-module related build error in bundling – Details
    • Fix multiple entries pointing to wrong bundle in dist – Details
  • Dev server

    • Don't error during HMR on <link> elements without hrefs – Details
    • Improve server index file matching – Details
    • Don't send HMR updates before packaging in watch mode – Details
  • Elm

    • Fix error when formatting build errors – Details

[2.8.3] - 2023-01-18

  • Core
    • filter out title execArgv to workers – Details
  • Bundler
    • Fix CSS order when merging type change bundles – Details
    • Fix assertion error when mixing CSS modules and non-modules – Details
    • Fix set diff – Details
    • Recursively check reachability when removing asset graphs from bundles in deduplication – Details
  • JavaScript
    • Don't retarget dependencies if a symbol is imported multiple times with different local names – Details
    • Fix assigning to this in CommonJS – Details
    • Bump SWC to fix dead branch removal bug – [Details](parcel-bundler#8742
    • Bump swc to fix sourcemaps with Windows line endings – Details
    • Add test cases for ESM initialization problems – Details
  • TypeScript
    • Fix TSC sourcemaps metadata – Details
  • HTML
  • Dev server
    • Apply HMR updates in topological order – Details
    • Fixed the hmr connection with host 0.0.0.0 – Details

[2.8.2] - 2022-12-14

  • Core
    • Ensure maxListeners for process.stdout accounts for workers – Details
  • JavaScript
    • Bump SWC to fix scoping issue with block-less loops – Details
    • Fix requires of external CommonJS SWC helpers – Details

[2.8.1] - 2022-12-07

Fixed

  • Core
    • fix: remove @parcel/utils dep in @parcel/graph – Details
  • JavaScript
    • Don't retarget dependencies with *Details
    • Fix overriding single export of a export *Details
    • Add mjs and cjs to resolver extensions – Details
  • TypeScript
    • Make ts-types transformer work with TS >= 4.8 – Details
  • Web manifest
    • Parse shortcut icons in web app manifests – Details
  • SVG
    • Fix transformer-svg-react not finding .svgrrcDetails

[2.8.0] - 2022-11-09

Added

  • Core
    • Code splitting across reexports using symbol data by splitting dependencies – Details
    • Update without bundling for non-dependency related changes – Details
    • Improve performance of incremental bundling – Details
    • Only serialize and send shared references to workers that need them – Details
    • Improve performance of HMR by not waiting for packaging – Details
  • JavaScript
    • Verify version when resolving Node builtin polyfills – Details
    • Add loadBundleConfig method to Packager plugins – Details
  • SVG
    • Generate typescript for SVGs when using svgr and typescript option – Details
  • Bundler
    • Move experimental bundler to default – Details

Fixed

  • Core
    • Fix verbose warning: reexport all doesn't include default – Details
    • Support multiple edge types in Graph.hasEdge – Details
    • Ensure edge exists before removal in Graph.removeEdge – Details
    • Disable splitting dependencies on symbols for non-scope hoisted bundles – Details
    • Fix TypeScript definitions for Parcel config API – Details
    • Use traverseAssets in packager to improve performance – Details
    • Make uniqueKey undefined by default – Details
    • Catch uncaught promise build abort race – Details
    • Bump parcel dependencies – Details
  • JavaScript
    • Bump SWC - Details, Details
    • Fix Chrome Android browserslist support check – Details
    • Fix CommonJS symbol collection without scope hoisting – Details
    • Make React Refresh debounce call on the leading edge – Details
    • Retain correct dependency order between imports and reexports without scopehoisting – Details
  • Bundler
    • Consider sibling in available assets to younger sibling for parallel deps – Details
    • Don't merge isolated child assets – Details
    • Do not merge isolated bundles in experimental bundler – Details
    • Implement min bundles configuration – Details
  • Dev server
    • Include Content-Length header in HEAD requests – Details
  • Vue
    • Fix errors displaying errors when compiling Vue SFCs – Details
    • Add file path to error code frames – Details
    • Fix location of errors – Details
  • Image
  • TypeScript
    • Allow configuring module resolution – Details
  • Web extensions
    • Fix service worker packaging in web extensions – Details

[2.7.0] - 2022-08-03

Added

  • Core
    • Log resolved targets in verbose log level for debugging - Details
    • Allow plugin configs to be written with .cjs extension - Details
  • JavaScript
    • Support react refresh for @emotion/react - Details
    • Inject script for hmr when there is only normal script in html - Details
  • Elm
    • Add support for compiling multiple modules at once via with query param - Details
  • CSS
    • Add support for errorRecovery option in @parcel/transformer-css - Details
  • Experimental bundler - Details
    • Implement bundling for multiple targets
    • Internalize async dependencies
    • Merge bundles of the same type
    • Fix missing module - Details

Fixed

  • JavaScript
    • Default interop missing when importing a CommonJS module - Details
    • Add missing imports for external dependencies in skipped assets - Details
    • Bump SWC to fix undefined variables - Details
    • Remove charset from JS loaded script to avoid double fetching in Firefox - Details
    • Use placeholder expression when replacing unused symbols - Details
  • Core
    • Fix atomic writestream handling on Windows - Details
    • Fix non-deterministic bundle hashes between builds due to symbol propagation - Details
    • Fix TypeScript types for @parcel/package-manager - Details
  • Dependencies

[2.6.2] - 2022-06-21

Fixed

  • Core
    • Fix race condition between writing and reading from cache - Details

[2.6.1] - 2022-06-17

Fixed

  • JavaScript
    • Fix issue with conditional dependencies based on process.env - Details
    • Fix transformation of import/requires wrapped into Promise.resolve() - Details
    • Fix object literal shorthand with imported variables - Details
    • Fix imported values in computed optional member expressions - Details
    • Bump SWC to fix issue with missing parenthesis in optional chaining call - Details
    • Bump SWC to fix helper imports in Node ESM libraries - Details
  • Resolution
    • Add missing invalidateOnEnvChange to resolver - Details
    • Fix importing node_modules packages in glob resolver with sub-paths - Details
    • Error when external dependencies in libraries have incompatible semver ranges - Details
  • Web Extensions
    • Fix HMR for web extensions - Details
    • Fix web extensions issues with Safari - Details
    • Fix declarative_net_request property in web extension manifest - Details
  • Dev Server
    • Fix browser caching issues with dev server - Details
  • TypeScript
    • Fix path separators on Windows - Details
  • CSS
    • Bump Parcel CSS to fix issues with libc field in package.json - Details
  • Core
    • Fix atomic file writing race condition - Details
    • Bump lmdb dependency to fix multi-threading issue - Details

[2.6.0] - 2022-05-25

Added

  • Add React error overlay to display pretty runtime errors like Create React App - Details
  • Support for source maps in HMR updates - Details
  • Support for scoping variables in CSS modules - Details
  • Support for custom CSS modules naming patterns - Details
  • Support for node_modules packages in @parcel/resolver-glob - Details
  • Add support for defining compilerOptions in Vue config - Details
  • Add support for Vue 3 <script setup> - Details
  • Add support for gif, tiff, avif, heic, and heif images in @parcel/transformer-image - Details
  • Add support for animated images (i.e. gifs, webp, etc.) in @parcel/transformer-image - Details
  • Support for missing fields in web extensions manifest v3 - Details, Details
  • Improve elm compiler error output - Details
  • Support for useDefineForClassFields option in tsconfig.json - Details
  • Add --hmr-host CLI option to set HMR host independently from dev server - Details

Fixed

  • Update lmdb-js. Fixes Node 18 support - Details, Details
  • Update napi-rs to v2 - Details
  • Fix SWC targets for older browsers - Details
  • Add SWC error handler to fix panic during transpilation - Details
  • Update SWC. Fixes issue with Symbol.toStringTag - Details
  • Bump SWC to fix spreads of imported symbols - Details
  • Correctly emit warnings for unnecessary PostCSS plugins in package.json - Details
  • Fix typo in error message - Details
  • Remove duplicate values in graph APIs when getting connected node ids - Details
  • Fix Pug support in Vue files - Details
  • Fix export declare syntax in generated TypeScript definitions - Details
  • Preserve correct this for named/default imports - Details
  • Fix hoisting for optional chaining member expressions - Details
  • Fix issues with web extensions - Details
  • Reload the closest package.json to an asset if it's a package entry to fix sideEffects - Details
  • Only emit non static import bailout warnings for variables which correspond to a * import - Details

[2.5.0] - 2022-04-21

Added

  • Add support for Web Extension manifest v3 - Details
  • Rewrite __dirname and __filename to refer to the original path when building for Node.js targets - Details
  • Generate codeframe positions for JSON5 - Details
  • Add $schema support in web extension manifest - Details
  • Add support for in expressions with process.env, e.g. 'foo' in process.env - Details

Fixed

  • Updated SWC. - Details + Details
  • Update Parcel CSS to v1.8.1 - Details + Details
  • Fix diagnostic message - Details
  • Disable react refresh for library targets. Fixes "Asset was skipped or not found" error. - Details
  • Don't process inline <style> elements as CSS modules - Details
  • Fix issue with multiple images in srcset attribute - Details
  • Fix peer dependencies - Details + Details
  • Scope hoisting: Fix wrapping when any ancestor asset is wrapped - Details
  • Scope hoisting: Don't insert unused requires that aren't registered anywhere - Details
  • Scope hoisting: Fix wrapped assets importing their own namespace - Details
  • Fix issues with resolving symbols - Details
  • Fix loading .env files when entries are specified using "source" field in package.json - Details
  • Correctly remove orphaned non-tree subgraphs - Details

[2.4.1] - 2022-03-31

Fixed

  • Fix :export in CSS modules
  • Don't remove unused classes or @keyframes when a CSS module is processed by postcss
  • Fix bundling issue with CSS modules where unintended side effects from a different page could be run
  • Fix crash with CSS in multiple environments
  • Update Parcel CSS. Fixes issues with ::-webkit-scrollbar, list styles in CSS modules, @-moz-document, and more. See release notes.
  • Update SWC. Fixes an issue with parenthesized expressions following a return statement.

[2.4.0] - 2022-03-22

Added

  • Replace default CSS transformer and minifier with @parcel/css - Details
  • Replace typeof before dead code elimination to improve bundle size - Details
  • Human readable file size in bundle analyzer report - Details
  • Improve emoji support detection - Details
  • Enable parsing static class initialization blocks - Details
  • Use PORT environment variable from .env files - Details
  • Use new react-jsx transform in React 16.14.0 - Details
  • Use relative path for bundle labels in bundle analysis - Details
  • Load dynamic imports at higher network priority in non-ESM builds - Details

Fixed

  • Pin lmdb to 2.2.3 - Details
  • Prevent term-size from being bundled - Details
  • Fix cache when non-ascii chars are used in path - Details
  • Bump SWC. Fixes issue with String constructor. - Details
  • Fix DCE with PURE comments - Details
  • Escape double quote of url value in CSS url() - Details
  • Fix documentation comment in API - Details
  • Fix package.json source field resolution with pnpm - Details
  • Fix errors.map is not a function - Details

[2.3.1] - 2022-02-09

Fixed

  • Add diagnostic for failed autoinstall of node polyfill - Details

[2.3.0] - 2022-02-09

Added

  • Reduce the number of npm dependencies needed by parcel Details
  • Support React 18 prereleases and experimental versions with automatic JSX runtime - Details

Fixed

  • Fix @swc/helpers in non-module scripts - Details
  • Fix auto installing dependencies in PNPM monorepos - Details

[2.2.1] - 2022-01-17

Fixed

  • Fix background image data urls missing quotes - Details
  • Fix development builds not downleveling nested selectors with @parcel/css. Now Parcel has default modern browser targets. - Details
  • Upgrades htmlnano to v2 to remove uncss which had a dependency on a vulnerable old version of PostCSS - Details
  • Upgrades postcss-modules and removes css-module-loader-core with old PostCSS dependencies - Details
  • Upgrade Vue compiler - Details
  • Upgrade SVGR to v6 - Details
  • Upgrade JSON5 to v2 - Details
  • Don't discard invalidations when transformer throws an error - Details

[2.2.0] - 2022-01-12

Added

  • New @parcel/transformer-css-experimental plugin, which is powered by @parcel/css - Details

Fixed

  • Updated node-forge to 1.0.0 to fix security vulnerability

[2.1.1] - 2022-01-06

Fixed

  • Do not transpile @swc/helpers. Fixes infinite recursion in typeof helper. - Details
  • Include invalidation hash in asset content keys - Details
  • Fix loading index.html in dev server when packager/optimizer changes bundle type - Details

[2.1.0] - 2022-01-05

Added

  • Enable transpiling node_modules by default - Details
  • Rewrite core graph data structure to be backed by SharedArrayBuffer - Details
  • Statically analyze symbols and enable deferred compilation of re-exported modules in development - Details
  • Store large blobs as separate files in the cache rather than in LMDB - Details
  • Add @parcel/optimizer-css for new work in progress CSS minifier - Details
  • Add @parcel/bundler-experimental, a much faster work in progress rewrite of Parcel's bundling algorithm - Details
  • Support href attribute in SVG <image> tags within HTML - Details
  • Throw diagnostic with code frame when loading JSON5 configs - Details

Fixed

  • Fix HMR behavior with CSS Modules - Details
  • Fix HMR full page reload when not accepted - Details
  • Fix HMR when an asset has multiple ancestries - Details
  • Fix source maps in @parcel/transformer-typescript-tsc - Details
  • Fix TypeScript module augmentation in @parcel/transformers-typescript-types - Details
  • Fix TypeScript type generation when tsconfig's "incremental" option is true - Details
  • Fix createImportSpecifier with TypeScript 4.5+ - Details
  • Fix error on re-exported type when building TypeScript definitions - Details
  • Fix error when displaying "does not export" errors - Details
  • Ensure "does not export" error is shown during cached builds - Details
  • Fix glob matching in package.json "sideEffects" field - Details
  • Fix semver dependency version range - Details
  • Do not error on external Node builtins in libraries - Details
  • Reject browser js loader promise with Error object - Details
  • Show diagnostics for Elm compiler errors - Details
  • Don't fail build on empty dependency attributes in HTML - Details
  • Fix require statements with plain template literals - Details
  • Update lmdb-store to v2 - Details
  • Bump swc - Details
  • Correctly pad numbers in @parcel/hash browser polyfill - Details
  • Upstream some changes from the REPL - Details
  • Allow empty string in TOML config - Details
  • Make BundleGraph#getReferencedBundle faster - Details
  • Workaround segfault with old glibc versions on CentOS 7 - Details
  • Use modern JSX runtime when React is aliased to Preact - Details
  • Fix React version check when dependency is a URL - Details
  • Sync peer dependency versions when releasing Parcel - Details
  • Fix Tailwind in SASS - Details
  • Don't run Gzip and Brotli compressors in development - Details
  • Use level 9 Zlib compression by default - Details

[2.0.1] - 2021-11-08

Fixed

  • Don't load PostCSS and PostHTML config when inside node_modules - Details
  • Fix unknown language in Vue templates with external scripts/styles - Details
  • Fix "Callback must be a function" error when auto installing - Details
  • Fix issue with named imports and object properties of the same name - Details and follow up
  • Bump SWC - Details
  • Fix issue with @tailwindcss/forms and PostCSS nodes missing a source property - Details
  • Fix issue with ESM default interop and new expressions - Details
  • Support .yml for YAML files, in addition to .yaml - Details
  • Log warning instead of crash if image optimizer fails - Details
  • Add missing dependency to @parcel/config-webextension - Details
  • Update package.json to include the repository - Details
  • Fix serve mode with target override and target source fields Details
  • Improve performance of webpack loader detection, which affected large data urls - Details
  • Update SWC to properly retain this context - Details
  • Sync engines.parcel with core version when releasing nightlies - Details
  • Fix export in TypeScript type definitions for @parcel/core - Details
  • Add missing dependency on @parcel/diagnostic to @parcel/transformer-typescript-types - Details
  • Resolve GLSL relative to the importer, not the asset - Details

Experiments

  • Update esbuild dependency in @parcel/optimizer-esbuild plugin - Details
  • Add experimental @parcel/optimizer-swc plugin - Details

[2.0.0] - 2021-10-13

See the blog post.

[1.12.3] - 2019-03-20

  • Downgrade all internal Babel packages to <7.4.0 because of bugs in that release.

[1.12.2] - 2019-03-13

  • Fix depth option for detailed report

[1.12.1] - 2019-03-12

Fixed

  • Correctly build dependency URLs (for CSS) Details
  • Fix bug with original null mappings Details
  • Regenerate all bundles and trigger an HMR page reload when a new bundle is created Details
  • Unescaped "." in regex for JSAsset Details
  • Open the specified host Details

[1.12.0] - 2019-03-06

Added

  • CSS/Sass/LESS sourcemaps Details
  • Add Markdown support Details
  • Unhandled HMR updates should cause a page reload Details
  • Enables jsx plugin in case jsx syntax is used in js files Details
  • Add disabling of autoinstall globally via environment variable Details
  • Add support for chrome-extension:// protocol to bundle-url.js Details
  • Add support for Firefox's 'moz-extension://' protocol, to bundle-url.js Details
  • Generate source map files with long extensions (e.g. .js.map) Details
  • upgrade htmlnano dep Details
  • Default port to process.env.PORT Details
  • Inline process.browser for better code elimination Details
  • Detect files added to/removed from directories. Details
  • Implement depth option for detailed report Details

Fixed

  • Resolve package.browser in subfolders (with backslashes) Details
  • fix chokidar ignored regex Details
  • Defer throwing asset errors until after dependencies are handled. Details
  • fix(sourcemaps): Handle null mappings properly Details
  • Use Buffer.from Details
  • addURLDependency: use always relative path Details
  • reexporting + renaming when scopehoisting Details
  • Fix and re-enable windows scope-hoisting tests Details
  • Fix for typescript asset invalidation Details
  • Fix hang up when a lot of parallel operation request the file system Details
  • Fix localRequire with package/path requests Details
  • Refactor htmlnano tests to test for filesize Details
  • pug Deprecated pretty Details
  • Fix pug test Details
  • Use the test to assert this.child.killed rather than checking time difference Details
  • Improve tests: symlink tests, Kotlin tests, and maybe test-util module Details
  • Handle empty html files Details
  • Fix HTMLAsset dependency tag with empty src value Details
  • Allow dotfiles to be served Details
  • Fix sourceMappingURL for bundles with multiple entry points Details
  • Fix absolute path importing in sass Details
  • Fix dependency list parsing in RustAsset for paths on Windows Details
  • For scope hoisting, Asset IDs cannot contain + or / (base64) Details
  • Send CORS headers when a file does not exist Details
  • Prevent circular deps from causing a stack overflow in HMR runtime Details
  • Fix postcss modules composes imports Details
  • fix: set default pragmaFrag option for JSX Details
  • Remove unnecessary return await Details
  • Fix scopehositing with nested dynamic imports Details
  • eslint: enable no-return-await Details
  • Throw meaningful error on undefined exports Details
  • Add helpful plugin errors Details
  • Fix HMR failure with js error on load Details

[1.11.0] - 2018-12-18

Added

  • Add Kotlin asset support Details
  • Add --host option Details
  • Add support for HMR with elm-hot Details
  • Log dev server access for log level verbose or more Details
  • Process array of assets for JSON-LD Details
  • Extract workerfarm into separate package Details
  • Extract Logger into its own package Details
  • Extract watcher into its own package Details
  • Merge fs-watcher-child into Parcel's monorepo Details

Fixed

  • Use this.write and super.end for JSPackager Details
  • Make dynamic import name relative to the file importing it Details
  • update postcss and deps Details
  • catch css file not found Details
  • Treat webmanifest as an entry module Details
  • add debugger flag for non production builds in Elm Details
  • refactor: JSON.stringify replacer can not be boolean Details
  • Fix debug log files for certain locales Details
  • Scope hoisting renaming after babel transforms Details
  • Switch from toml to @iarna/toml Details
  • Update deasync to 0.1.14 (Node 11 fix) Details
  • Skip external imports from processing Details
  • Don't lowercase attributes in html files Details
  • refactor: remove unnecessary not null check Details
  • Don't cache dynamic bundles that had a network error Details
  • Treeshake functions properly Details
  • Fix autoinstall of cssnano Details
  • Fix server when there is a dot in the path Details

[1.10.3] - 2018-10-11

Fixed

  • Don't dedupe assets that are depended on in more than one bundle Details

[1.10.2] - 2018-10-06

Added

  • Add <image> as a valid element type to bundle in <svg> tags Details
  • Resolving .postcssrc.json as a PostCSS config Details
  • Add loaders when bundling workers Details

Fixed

  • Fix hoist of modules with multiple aliases Details
  • Fix hoisting of optional require calls Details
  • Fix safari 10 compatibility for terser Details
  • Fix HMR for Pug assets Details
  • Don't load existing sourcemaps if sourcemaps are disabled Details
  • add missing --no-autoinstall flag to build command Details

[1.10.1] - 2018-09-26

Fixed

  • Fix error when node.id is undefined instead of null

[1.10.0] - 2018-09-25

Added

  • Babel 7 support Details
  • HTML Bundle loader Details
  • Process inline scripts and styles Details
  • Added LD+JSON asset Details
  • Add support for Elm assets Details
  • Support optionally bundling node_modules for --target=node Details
  • Import existing sourcemaps Details
  • Import GraphQL files from other GraphQL files Details
  • Automatically strip flow types Details
  • SugarSS Support Details
  • Minimal verbose/debug mode Details
  • User friendly error on failed entrypoint resolving Details
  • Support for SharedWorkers Details
  • Add Object Spread to default Babel transforms Details
  • Update help message for --public-url Details
  • Support HTML5 history mode routing Details
  • Split cache into multiple folders for faster FS Details
  • Support array in package.json's sideEffects property Details
  • Added stub for require.cache Details
  • Added dotenv-expand to expand env vars Details
  • Update Typescript to v3.0.0 Details
  • Add --no-content-hash option to build cli Details

Fixed

  • Exit process on Error Details
  • Fix non updating asset hashes Details
  • Fix Sass url resolving Details
  • WorkerFarm Cleanup Details
  • Fix infinite loop in resolver when using ~/... imports Details
  • Default to Dart-Sass and add backwards compatibility for node-sass Details
  • Validate if a PostCSS config is an object Details
  • VSCode syntax highlight with PostCSS in Vue Component style tag Details
  • Glob support in less imports Details
  • Generate unique certificate serial number Details
  • Keep name in sourcemaps mappings Details
  • Replace slack with spectrum badge Details
  • Use esnext with typescript and scope hoisting Details
  • Fix sourcemaps failing on refresh/hmr Details
  • Support sideEffect: false with CommonJS Details
  • Get only existing package main Details
  • Load minified built-in if available Details
  • Support error strings in workers Details
  • Terminate workerfarm when using the API Details
  • Fix comment typo Details
  • Fix dotenv package error Details
  • Don't resolve slash and tilde paths twice Details
  • bundle name hash-key generation is not environment independent Details
  • Don't modify script nodes with text/html type Details
  • Fix various windows bugs & tests Details
  • Cross-platform deterministic asset ids Details
  • allow empty string in meta Details
  • fixed watch not working when NODE_ENV is production Details
  • Incorrect casing for Logger require Details
  • fix security vuln Details
  • Remove wasm-gc from RustAsset Details

[1.9.7] - 2018-07-15

Fixed

  • Fix nested async imports from a shared module Details
  • Prevent nameclashes with internal variables with tree shaking Details

[1.9.6] - 2018-07-11

Fixed

  • Fix ora spinner in CI environments Details

[1.9.5] - 2018-07-11

Added

Fixed

  • JSPackager deduplication now accounts for differences in absolute dependency paths Details
  • Fix worker bundle hoisting Details
  • Prioritize browser field over module Details
  • Fix aliasing of folder relative to project folder Details
  • Only watch directories on macOS Details
  • Fix generating names when outside of the entry directory Details
  • Handle invalidating cache if dependency is a glob Details
  • Fix import deep wildcards with tree-shaking Details
  • Fix tree-shaking named import on wrapped module Details
  • Fix circular deps in isolated bundles (e.g. workers) Details
  • Fix tree-shaking wildcards with sideEffects: false Details
  • Fix 'buildStart' event is not firing Details

[1.9.4] - 2018-07-01

Added

  • Upgrade Typescript to 2.9 Details
  • Upgrade DEFAULT_ENGINES node to Node 8 Details
  • Add a buildError event to bundler Details
  • Use process.env.PARCEL_MAX_CONCURRENT_CALLS environment variable Details

Fixed

  • Fix Sass dependencies can not be watched when includePaths is a relative path Details
  • Replaced fwd slashes with backslashes for win to fix sass deps watch Details
  • Fix sourcemap file size in report Details
  • fix build not exiting in dev env Details
  • Prevent postcss-modules plugin config from being deleted after first run Details

[1.9.3] - 2018-06-24

Fixed

  • Set user provided NODE_ENV if provided with build command Details
  • Fix bugs related to watching symlinks Details
  • add cache-dir option to cli Details
  • Fix tree-shaking DCE Details
  • Fix writing hashed bundle names to the cache Details

[1.9.2] - 2018-06-18

Fixed

  • Fix unintended Vue asset supplemental code insertion Details
  • fix 'Cannot read property 'posthtml' of null Details

[1.9.1] - 2018-06-16

Fixed

  • fix relative paths being the same as node modules Details
  • Fix ES6 re-export of CommonJS modules with tree shaking Details

[1.9.0] - 2018-06-14

Added

  • Tree shaking + scope hoisting for ES6 and CommonJS modules Details
  • Put filewatcher in a worker, for better stability and performance Details
  • Cache resolved paths of dependencies Details
  • Custom less filemanager Details
  • support for sass specific import syntax Details
  • Allow --https for watch Details
  • Fix browser entry-point resolution Details
  • Use config.locals to render pug template Details
  • Use async modules when possibles Details
  • Add a bundlestart event Details
  • Add unit tests for line counter Details
  • Use async FS in tests Details
  • Use async fs on new linecounter tests Details
  • Make CSS assets async Details
  • Enable posthtml-parse options in posthtmlrc Details
  • Enforce Prettier (check if prettier is run in lint script) Details
  • Add support for Cargo workspaces in Rust integration Details
  • Surface Bundler error to browser Details
  • Programmatically pass env vars as a whitelist Details

Fixed

  • Fix bundle hoisting when asset is already in the common bundle Details
  • Only resolve env vars on bundling when --target=browser Details
  • improve the time reported by the bundler Details
  • clear console before accepting updates, not after Details
  • Lookup correct generated output for bundle type in RawPackager Details
  • Remove extra argument passed to addAssetToBundle in JSPackager Details
  • Fix indented syntax type for single file vue components Details
  • Fix Vue asset supplemental code concatenation Details
  • Add dependencies referenced by posthtml-include Details
  • node-sass accepts importer as single function or array of functions Details
  • Get mtime of folder on wildcard imports Details
  • Fix vue test Details
  • Fix absolute and tilde paths for url dependencies Details
  • Fix failing appveyor test Details
  • Fix worker environment variable Details
  • Add test/dist to .prettierignore Details
  • Fix typo in uglify.js Details
  • Pass compiler of @vue/component-compiler-utils to parser. Details
  • Fix package.json configs Details
  • change Uglify to Terser Details

Removed

  • Don’t pass package.json and options over IPC Details

[1.8.1] - 2018-05-04

Fixed

  • Loading modules with AMD Defines Details

[1.8.0] - 2018-05-03

Added

  • Add support for multiple entry points Details
  • Support source field in package.json to enable babel on symlinked modules Details
  • Expose modules as UMD Details
  • Use parcel's resolver for sass imports Details
  • Update default browser engines to > 0.25% marketshare Details
  • Ignore dependencies in falsy branches Details
  • Clear the console in browser on each HMR Details
  • Watch directories instead of individual files to fix EMFILE errors Details

Fixed

  • Prevent build from breaking when .scss file is empty Details
  • Handle empty config files Details
  • Update dependency with security vuln Details
  • Minor change to mkHandle in workerfarm Details
  • Don't start server if target isn't browser Details
  • Let worker return early instead of throw on unknown messages Details
  • change default behaviour to keep default values of HTML form elements Details
  • Fix autoinstall infinite loop Details
  • Allow spaces in filenames Details
  • Update deps Details
  • Fix reference pass error in package config Details
  • Remove eval usage. Fixes CSP cases. Details
  • Remove jsnext:main Details
  • fix for outFile option; respect file-extension Details

[1.7.1] - 2018-04-15

Fixed

  • Fix scoped plugin packages Details
  • Fix writing files in subfolders inside dist directory Details
  • Update addBundleLoader to accept multiple targets Details
  • Fix sourcemap reference in JS output Details
  • Sourcemap sourceRoot Details
  • Fix serving files with query params Details
  • Give priority to styl files in StylusAsset resolver Details
  • Bump dependencies Details
  • Fix asset size always be zero when building vue project Detailds
  • Custom workerfarm, BI-Directional IPC - run all npm/yarn installs on the main process Details

[1.7.0] - 2018-03-28

Added

  • Add .vue file support Details
  • New faster resolver supporting absolute and tilde paths, and aliases Details
  • Content hash output file names in production Details
  • Automatically install missing dependencies that you require in your code Details
  • Production sourcemaps support via uglify Details
  • Add Pug and Jade support Details
  • Add GLSL assets support Details
  • Add overlay for build errors when using HMR Details
  • Implement pipelines to compose multiple asset types together Details
  • Add --hmr-port and --hmr-hostname options to parcel watch Details
  • Add support for specifying SSL certificate & key Details
  • Allow specifying which browser to open with --open option Details
  • Add data config option so it is possible to include global scss variables Details
  • Add --log-level option Details
  • Add support for data attr of object element Details
  • Add useBuiltIns babel-preset-env option Details
  • Support code splitting and loading WASM with --target=node Details

Fixed

  • Fix hmr runtime error Details
  • Add server reference to bundler Details
  • Fix error when no "targets" options in .babelrc Details
  • Refactor prettifySize Details
  • Fix property descriptor of config.internal in transforms/babel.js Details
  • only transform safe cssnano minifiers Details
  • fix electron hmr bug Details
  • Fix HMR hostname in browser Details
  • Fix srcset not working for source element Details
  • Update htmlnano Details
  • Fix svg dependencies not being found when using minification Details
  • Set TypeScript option esModuleInterop to true by default Details
  • HTML bundle serving bug Details
  • Change default public-url to / Details
  • Make --help same as help command Details
  • Make -h same as help command Details
  • Close hmr server when HMRServer.stop() is called Details
  • Fix methods of LazyPromise Details
  • Ignore require if it is defined as a local variable Details
  • Check browserslist prop in package.json for environments Details

[1.6.2] - 2018-02-19

Added

Fixed

  • Fix babel handling for node: DEFAULT_ENGINES Details
  • Remove unnecessary files from npm Details
  • Use babel-register for tests only with node < 8 Details
  • remove call to window.location Details

[1.6.1] - 2018-02-15

Fixed

  • Update HMRServer handleSocketError for ErrorEvent Details

[1.6.0] - 2018-02-15

Added

  • Automatically transpile dependencies with babel-preset-env Details
  • Add no-config support for jsx Details
  • Add "--target=node" and "--target=electron" option to produce Node/electron friendly bundles Details
  • Log bundle metrics Details
  • Node 6 support Details
  • Add WebManifestAsset to handle W3C webmanifest Details
  • Add support for optional dependencies Details
  • support svg <use> elements Details
  • Auto-install peerDependencies Details
  • Inject HTML tag if missing Details
  • Add JSON5 support Details
  • Implement support for <img srcset="..."> Details
  • Add .toml asset support Details
  • Warn instead of error when an fs call cannot be evaluated Details
  • Add support for HTML meta assets Details
  • Add --out-file option Details
  • Add Access-Control header for CORS Details

Fixed

  • Remove -h alias for hmr-port option Details
  • Add 'id' to the module variable Details
  • Preserve asset's search and hash Details
  • Always add bundle-loader module to the bundle Details
  • Launch https websocket server is --https Details
  • Fix PromiseQueue returning null when there are no jobs Details
  • Correctly serialize YAML to JS Details
  • Update parser to treat file extensions as case-insensitive Details
  • Add babel-template and babel-types to package.json Details
  • Improve Code Coverage Details
  • Safe cssnano transforms by default Details
  • Make sure bundles is an array in loadBundlesLazy Details
  • Bump dependencies Details
  • Allows for dots in lazyloaded file names Details
  • Add missing packages for pnpm to work Details
  • pass lowerCaseAttributeNames: true to posthtml-parser (fix version bump) Details

[1.5.1] - 2018-01-25

Added

Fixed

  • Fix rust projects with hyphenated names Details
  • Purify sourcemaps (Prevent babel from giving invalid mappings) Details
  • Don't drop console statements by default in uglifyjs Details
  • Fix for ipc closed error in tests Details

[1.5.0] - 2018-01-23

Added

  • SourceMap support Details
  • Custom bundleloader and wasm support Details
  • Rust support Details
  • Ability to set HMR port Details
  • Support .env files Details
  • Hotreload css requires in html Details
  • Minify JSON Details
  • Ability to set HMR hostname Details
  • Ability to specify amount of workers using PARCEL_WORKERS environment variable Details
  • Warning emoji Details

Fixed

  • Virtualpaths, throw file not found error Details
  • Transform HTML prior to collecting dependencies Details
  • Find a[href] dependencies when attrs precede it Details
  • Resolve URI-encoded assets Details
  • Public-url not an os path Details
  • Invalidate cache when parent dependencies change Details
  • Invalidate cache on config change Details
  • Circular bundles Details
  • Possibly ignore fs using browser-resolve config Details
  • Do not use global window inside hmr, fixes web worker issues Details
  • Improved worker startup times Details
  • Parse // as a valid url Details
  • Improve windows emoji console detections Details

[1.4.1] - 2017-12-31

Added

Fixed

  • http hot reload server printing location as https://... Details
  • Execute bundle() when calling Bundler.middleware() Details
  • Always parse dependencies if babel ran. Details

[1.4.0] - 2017-12-31

Added

  • HTTPS server support Details
  • GraphQL Support Details
  • Webworker Support Details
  • CSSNano configuration Details
  • HTMLNano configuration Details
  • Support async plugin loading Details
  • Add code sample section to ISSUE_TEMPLATE Details
  • Add url dependency for serviceWorker.register calls Details
  • Fix ignored babel files Details

Fixed

  • log-symbols fallback for cross-platform emoji compatibility Details
  • Use hostname for websocket connection Details
  • Standardize empty implementation comment Details
  • Handle appstore url scheme Details
  • bundling issues when asset parent & commonBundle types differ Details
  • Handle empty assets Details
  • Minify Prelude.js Details

[1.3.1] - 2017-12-24

Fixed

  • Maintain html spacing between tags when minimizing Details
  • Incorrect bundle path for raw Assets Details

[1.3.0] - 2017-12-22

Added

  • Reason Asset Type Details
  • Automatically install parser dependencies Details
  • UglifyES config support Details
  • Display absolute path on failed dependency resolve Details
  • Support .editorconfig Details
  • Tests for ES6 Modules resolver Details
  • ESLint Details

Fixed

  • Parse port option as integer Details
  • Make cli.js Node 6 compatible Details
  • Remove arrow function from hmr-runtime - IE support Details
  • Start server before bundling Details
  • Deterministic bundle trees Details
  • Resolve "module", "jsnext:main" and "browser" before "main" in Package.json Details
  • Remove filename unsafe characters Details
  • Don't hash root file Details
  • Use cross-spawn for autoinstalling dependencies on windows Details

[1.2.1] - 2017-12-18

Added

  • Opencollective Details
  • Use JSON5 to parse config files Details
  • Move JSAsset options gathering into separate function Details

Fixed

  • Don't use template literals in builtins - IE support Details
  • Merge tsconfig.json with defaults Details
  • Change parse-json requires to JSON5 Details
  • Register .pcss extension to CSSAsset Details
  • Websocket error handling Details
  • Development server index file Details

[1.2.0] - 2017-12-12

Added

  • Coffeescript support Details
  • Reload html on change Details
  • --open option to automatically launch in default browser Details
  • Prettier Details
  • Code of conduct Details
  • User friendly server errors and automatic port switching Details
  • Version option to command description Details
  • Add badges to readme Details
  • Support JSON comments Details
  • Add AppVeyor CI Details
  • Use UglifyES instead of UglifyJS Details

Fixed

  • Bundle-loader when using esModule Details
  • Use var over let in builtins for IE support Details
  • Add jsm to javascript extensions Details
  • Log pluginload errors Details
  • Global env problem Details
  • Exit on build error when using build command Details
  • Remove circular require in Asset.js Details
  • Give high priority to extension of parent Details
  • Fallback to os.cpus() for cpu count Details
  • Windows test issues Details
  • Raw Asset loading Details
  • Normalize path on windows Details
  • Make hmr-runtime ES3 compatible Details
  • Dynamically importing js assets with raw assets children Details
  • Package.json loading issues for plugin loading Details

[1.1.0] - 2017-12-08

Added

  • Typescript support Details
  • Browser gets notified of errors Details
  • Community section to Readme Details
  • More helpful json parsing error messages using parse-json Details
  • Issue template Details

Fixed

  • Print stack traces on error Details
  • Merge postcss-modules config Details
  • Default to NODE_ENV development on serve Details
  • Disable flakey macOS FS events in watcher in the tests Details
  • Sort child bundles by asset names to avoid race condition in tests Details

[1.0.3] - 2017-12-07

Added

  • Add version to cache key Details
  • Travis tests environment, build script and contribution docs Details

Fixed

  • File url bugfix for Firefox Details
  • Windows path bugfix Details
  • Default only exports Details
  • Public URL in normalizeOptions Details
  • Do not try to import data:, tel:, mailto:, something: URLS Details

[1.0.2] - 2017-12-06

Added

  • Add github repository to package.json Details

Fixed

  • Improved public url checking using is-url instead of regex Details

Removed

  • babel-preset-es2015 removed from dev dependencies Details

[1.0.1] - 2017-12-05

  • Initial Parcel-bundler core