Skip to content

Releases: parcel-bundler/parcel

v2.9.3

25 Jun 06:48
Compare
Choose a tag to compare

Fixed

  • Resolver

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

    • Update SWC to fix generics in JSX elements – Details

v2.9.2

08 Jun 20:23
Compare
Choose a tag to compare

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

v2.9.1

27 May 20:13
Compare
Choose a tag to compare

Fixed

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

v2.9.0

26 May 05:59
d529d8a
Compare
Choose a tag to compare

Parcel v2.9.0 includes many long requested features, including a brand new resolver with support for package.json "exports" and tsconfig.json features, support for ESM plugins and configs, and local Parcel plugins. It also improves performance with a new default JS minifier powered by SWC, incremental symbol propagation, and improved bundler data structures.

Blog post: https://parceljs.org/blog/v2-9-0/

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-eslint – Details
    • 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

v2.8.3

18 Jan 16:41
Compare
Choose a tag to compare
  • 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
    • 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
    • Fix srcset parsing – Details
  • Dev server
    • Apply HMR updates in topological order – Details
    • Fixed the hmr connection with host 0.0.0.0 – Details

v2.8.2

14 Dec 22:56
Compare
Choose a tag to compare

Fixed

  • 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

v2.8.1

08 Dec 04:41
Compare
Choose a tag to compare

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 .svgrrc – Details

v2.8.0

09 Nov 05:13
Compare
Choose a tag to compare

Blog post: https://parceljs.org/blog/v2-8-0/

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

v2.7.0

03 Aug 15:23
Compare
Choose a tag to compare

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

v2.6.2

22 Jun 04:54
Compare
Choose a tag to compare

This release includes bug fixes:

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