Skip to content

Releases: parcel-bundler/parcel

v2.10.1

24 Oct 17:13
bba0417
Compare
Choose a tag to compare

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
    • Use Manual "name" for publicIds, remove source bundles from Unique Keys Details
    • Simplify MSB code for code split bundle creation section Details

v2.10.0

11 Oct 04:39
Compare
Choose a tag to compare

Parcel v2.10.0 includes big performance improvements, an improved --lazy mode, reduced runtime bundle sizes, web extension improvements, and tons of bug fixes and improvements.

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

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