Skip to content

Releases: gulpjs/gulp

gulp v5.0.0

29 Mar 02:56
5c4c547
Compare
Choose a tag to compare

We've tried to provide a high-level changelog for gulp v5 below, but it
doesn't contain all changes from the 60+ dependencies that we maintain.

Please see individual changelogs to drill down
into all changes that were made.

⚠ BREAKING CHANGES

  • Drop support for Node.js <10.13
  • Default stream encoding to UTF-8
  • Standardized on anymatch library for globbing paths. All globs should work the same between src and watch now!
  • Removed support for ordered globs. This aligns with the chokidar globbing implementation. If you need your globs to be ordered, you can use ordered-read-stream
  • All globs and paths are normalized to unix-like filepaths
  • Only allow JS variants for .gulp.* config files
  • Removed support for alpha releases of v4 from gulp-cli
  • Removed the --verify flag
  • Renamed the --require flag to --preload to avoid conflicting with Node.js flags
  • Removed many legacy and deprecated loaders
  • Upgrade to chokidar v3
  • Clone Vinyl objects with stream contents using teex, but no longer wait for all streams to flow before cloned streams will receive data
  • Stop using process.umask() to make directories, instead falling back to Node's default mode
  • Throw on non-function, non-string option coercers
  • Drop support of Node.js snake_case flags
  • Use a Symbol for attaching the gulplog namespace to the store
  • Use a Symbol for attaching the gulplog store to the global
  • Use sha256 to hash the v8flags cache into a filename

Features

  • Streamlined the dependency tree
  • Switch all streams implementation to Streamx
  • Rewrote glob-stream to use a custom directory walk that relies on newer Node.js features and is more performant than old implementation
  • Implement translation support for all CLI messages and all messages passing through gulplog
  • Allow users to customize or remove the timestamp from their logs
  • Upgraded gulplog to v2. Messages logged via v1 will also display a deprecated warning. Plugins should update to v2 as the community upgrades to gulp 5
  • Added support for gulpile.cjs and gulpfile.mjs
  • Add support for swc, esbuild, sucrase, and mdx loaders
  • Provide an ESM export (#2760) (b00de68)
  • Support sourcemap handling on streaming Vinyl contents
  • Support extends syntax for .gulp.* config file
  • Allow overriding gulpfile and preloads via .gulp.* config file

Bug Fixes

  • Resolve bugs related to symlinks on various platforms
  • Resolved some reported ReDoS CVEs and improved performance in glob-parent
  • Rework errors surfaced when encountering files or symlinks when trying to create directories
  • Ensure watch allows japanese characters in globs (72668c6)
  • Ensure watch does not trigger on negated globs (72668c6)
  • Improve handling of BOM at the beginning of a stream
  • Properly handle function coercer in array of option coercers
  • Fork to-absolute-glob to:
    • Check negative patterns before trimming
    • Ensure glob-like characters are escaped in cwd & root options
    • Resolve ../ at the beginning of globs

Miscellaneous Chores

  • Remove lazystream dependency
  • Updated various stream test suites to test against Node.js core stream, readable-stream, and streamx
  • Normalize repository, dropping node <10.13 support (#2758) (72668c6)

Individual Changelogs

We created and maintain various projects that gulp depends upon. You can find their changelogs linked below:

v4.0.2

06 May 17:43
Compare
Choose a tag to compare

Fix

Docs

  • Add notes about esm support (4091bd3) - Closes #2278
  • Fix the Negative Globs section & examples (3c66d95) - Closes #2297
  • Remove next tag from recipes (1693a11) - Closes #2277
  • Add default task wrappers to Watching Files examples to make runnable (d916276) - Closes #2322
  • Fix syntax error in lastRun API docs (ea52a92) - Closes #2315
  • Fix typo in Explaining Globs (5d81f42) - Closes #2326

Build

  • Add node 12 to Travis & Azure (b4b5a68)

v4.0.1

21 Apr 16:56
Compare
Choose a tag to compare

Fix

Docs

  • Fix error in ES2015 usage example (a4e8d48) - Closes #2099 #2100
  • Add temporary notice for 4.0.0 vs 3.9.1 documentation (126423a) - Closes #2121
  • Improve recipe for empty glob array (45830cf) - Closes #2122
  • Reword standard to default (b065a13)
  • Fix recipe typo (86acdea) - Closes #2156
  • Add front-matter to each file (d693e49) - Closes #2109
  • Rename "Getting Started" to "Quick Start" & update it (6a0fa00)
  • Add "Creating Tasks" documentation (21b6962)
  • Add "JavaScript and Gulpfiles" documentation (31adf07)
  • Add "Working with Files" documentation (50fafc6)
  • Add "Async Completion" documentation (ad8b568)
  • Add "Explaining Globs" documentation (f8cafa0)
  • Add "Using Plugins" documentation (233c3f9)
  • Add "Watching Files" documentation (f3f2d9f)
  • Add Table of Contents to "Getting Started" directory (a43caf2)
  • Improve & fix parts of Getting Started (84b0234)
  • Create and link-to a "docs missing" page for LINK_NEEDED references (2bd75d0)
  • Redirect users to new Getting Started guides (53e9727)
  • Temporarily reference gulp@next in Quick Start (2cecf1e)
  • Fixed a capitalization typo in a heading (3d051d8) - Closes #2242
  • Use h2 headers within Quick Start documentation (921312c) - Closes #2241
  • Fix for nested directories references (4c2b9a7)
  • Add some more cleanup for Docusaurus (6a8fd8f)
  • Temporarily point LINK_NEEDED references to documentation-missing.md (df7cdcb)
  • API documentation improvements based on feedback (0a68710)
  • Update API Table of Contents (d6dd438)
  • Add API Concepts documentation (8dd3361)
  • Add Vinyl.isCustomProp() documentation (40ee801)
  • Add Vinyl.isVinyl() documentation (25a22bf)
  • Add Vinyl documentation (fc09067)
  • Update watch() documentation (69c22f0)
  • Update tree() documentation (ebb9818)
  • Update task() documentation (b636a9c)
  • Update symlink() documentation (d580efa)
  • Update src() documentation (d95b457)
  • Update series() documentation (4169cb6)
  • Update registry() documentation (d680487)
  • Update parallel() documentation (dc3cba7)
  • Update lastRun() documentation (363df21)
  • Update dest() documentation (e447d81)
  • Split API docs into separate markdown files (a3b8ce1)
  • Fix hash link (af4bd51)
  • Replace some links in Getting Started (c433c70)
  • Remove temporary workaround for facebook/docusaurus#257 (5c07954) - Closes facebook/Docusaurus#257
  • Added code ticks to "null" where missing (cb67319) - Closes #2243
  • Fix broken link in lastRun (d35653e)
  • Add front-matter to documentation-missing page (a553cfd)
  • Improve grammar on Concepts (01cfcc5) - Closes #2247
  • Remove spaces around
    (c960c1d)
  • Improve grammar in src (eb493a2) - Closes #2248
  • Fix formatting error (ca6ba35) - Closes #2250
  • Fix formatting of lastRun (8569f85) - Closes #2251
  • Add missing link in watch (e35bdac) - Closes #2252
  • Fix broken link in tasks (6d43750) - Closes #2253
  • Improve punctuation in tree (8e9fd70) - Closes #2254
  • Fix mistake in "Splitting a gulpfile" (96c353d) - Closes #2255
  • Remove front-matter from outdated pages (c5af6f1)
  • Fix broken link in Table of Contents (c641369) - Closes #2260
  • Update the babel dependencies to install & configuration needed (7239cf1) - Closes #2136
  • Add "What's new in 4.0" section (75ea634) - Closes #2089 #2267
  • Cleanup README for "latest" bump (24e202b) - Closes #2268
  • Revert "next" reference now that 4.0 is latest (ed27cbe)
  • Add Azure Pipelines badge (f3f0548) - Closes #2310
  • Add note about transpilation to "Splitting a Gulpfile" section (53b9037) - Closes #2311 #2312
  • Improve wording of file rename (88437f2) - Closes #2314

Upgrade

  • Update glob-watcher, gulp-cli, and undertaker dependencies & rimraf devDep (d3734d3)

Build

  • Add node 10 to CI matrices (a5eac1c)
  • Remove jscs & update eslint for code formatting rules (ad8a2f7)
  • Fix Azure comment (34a6d53) - Closes #2307
  • Add Azure Pipelines CI (b2c6c7e) - Closes #2299

Scaffold

  • Mark *.png and *.jpg as binary files to git (a010db6)
  • Update some links and license year (1027236)
  • Add tidelift configuration (49b5aca)
  • Add new expense policy (9819957)
  • Add support-bot template (9078c49)

v4.0.0

01 Jan 01:27
Compare
Choose a tag to compare

Update

  • Remove graceful-fs from test suite (f27be05)

Docs

  • Remove references to gulp-util (fbc162f)
  • Fix the installation instructions (173a532)
  • Improve note about out-of-date docs (ec54d09)
  • Update recipes to install gulp@next (03b7c98)
  • Remove run-sequence from recipes (2eba29e)
  • Add installation instructions & update badges (76eb4d6)

Upgrade

Build

Scaffold

v4.0.0-alpha.3

01 Jan 01:27
Compare
Choose a tag to compare
v4.0.0-alpha.3 Pre-release
Pre-release

Breaking

  • Upgrade major versions of glob-watcher, gulp-cli & vinyl-fs (c1ba80c)
  • Replace chokidar as gulp.watch with glob-watcher wrapper (0c66069)

Fix

  • Add support for gulp.watch usage w/o opts or callback (9fc4125)

Update

  • Bind all undertaker functions on the gulp instance to allow destructuring (c691572)
  • Use published gulp-cli (468a703)

Docs

  • Clarify incremental builds example (c3dbc10)
  • Improve ES2015 task exporting examples (89acc5c)
  • Fix syntax in recipe example (723cbc4) - Closes #1715
  • Have gulp.lastRun take a function to avoid task registration (d420a6a)
  • Fix changelog typos (e931cb0) - Closes #1696
  • Add a "BrowserSync with Gulp 4" recipe (477db84)
  • Add options.cwd for gulp.src API (d4ed3c7)
  • Update gulp.watch API to align with glob-watcher (5dc3b07)
  • Add "Project structure" section to CONTRIBUTING.md (0ac9e04)
  • Add missing parenthesis (1351fb8)
  • Add link to "Upgrading to Gulp 4" article (e894312)
  • Update "getting started" example for new syntax (5ddd673)
  • Add ES2015 gulpfile example to readme (e1afdfd)
  • Add link to "Intro to Gulp 4" video (d90198c)
  • Replace irc with gitter channel (83f5632)
  • Update table of contents for API (b764543)
  • Improve format of API (d0ced75)

Upgrade

v4.0.0-alpha.2

01 Jan 01:27
Compare
Choose a tag to compare
v4.0.0-alpha.2 Pre-release
Pre-release

Breaking

  • Replace vinyl-fs watch/gaze with chokidar (2cd0e1e)
  • Only support tasks that are functions in gulp.watch (1d70cfb)
  • Remove array & string task support from gulp.watch (b085e95)

Fix

  • Set chokidar option ignoreIntial: true by default (355fc4e)
  • Throw better error when watch parameters are invalid (409f19a) - Closes #1002

New

  • Expose vfs.symlink API on gulp (6c46116)

Update

  • Add test to make sure no functions are kicked off when they should not (bc352dd)
  • Use unpublished vinyl-fs version (cac9a8a)

Docs

  • Update "split tasks" recipe to use gulp-hub (f7e7d4c)
  • Align API with undertaker docs (0f3151e)
  • Improve gulp.watch API with Chokidar specifics (263eeea)
  • Add gulp.registry API & examples (3f843b8)
  • Improve API references (be2df06)
  • Add example of -T/--tasks and --tasks-simple (c1012cd)
  • Add gulp.tree API & examples (8aa1022)
  • Add recipe for running shell commands with child_process or gulp-exec (98b9504)
  • Update "clean" task in example for "del" syntax change (cacc173)
  • Add note about opt-in symlink following (c4b6922)
  • Mention .description property & add usage examples (ad627e6)
  • Outline using named functions and when to use gulp.task (1abb5ed)
  • Improve incremental build example & add gulp.lastRun API (d942cf5)
  • Added allowEmpty option for gulp.src (8806326)
  • Add gulp.series/gulp.parallel APIs, update gulp.task API & vinyl-fs options (0ac0a0e)
  • Improve changelog (87e9cb6)

Upgrade

v4.0.0-alpha.1

01 Jan 01:27
Compare
Choose a tag to compare
v4.0.0-alpha.1 Pre-release
Pre-release

Breaking

  • Replace Orchestrator with Undertaker (9fda7b4)

New

Update

  • Remove gulp-util & depend on unpublished gulp-cli (6095f35)
  • Improve gulp.watch implementation & tests (9abb0a4)
  • Replace inline CLI code with gulp-cli dependency (f0942aa)

Docs

  • Add "Rollup with rollup-stream" recipe. (b42acd9)
  • Add npm init step to Getting Started (71953b5)
  • Add backers and sponsors from OpenCollective (347ed5a)
  • Fix grammar in dealing-with-streams.md (de1acf6)
  • Create issue template to cover common issues (4d1a8a8)
  • Fix broken gulp-header/gulp-footer links (54169eb) - Closes #1851 #1854
  • Update browserify-uglify-sourcemap recipe with clarification (6899a6c)
  • Clarify CLI semantics when listing more than one task (62323fc)
  • Fix issue with formatting in dealing-with-streams.md (a2badd6) - Closes #1948
  • Fix sub-lists in writing-a-plugin guidelines (d634e95) - Closes #1955
  • Add "Getting Started with Gulp" to books section (a0ec3ff)
  • Integrate pump documentation from gulp-uglify (45adfc3) - Closes #1791
  • Remove link to Spanish documentation that no longer exists (24914f3)
  • Replace BetterError with plugin-error reference (58b2945)
  • Fix a broken header in writing-a-plugin (5df0865) - Closes #1984
  • Improve "Getting Started" (c95e09e)
  • Improve link descriptions (c4d219e)
  • Recipe for running gulp via cron task (2c6d551)
  • Change jade references to pug (81fc26d)
  • Specify where to create package.json (4f9465a)
  • Fix and improve Transform example in writing-a-plugin docs (4b118b9)
  • Update urls to https (ff4e719)
  • Update browserify links (260d5c4)
  • Remove duplicate "the" typo (5368d2c)
  • Add 4.0 changelog (d331a4e)
  • Update syntax in readme example (f787ba5)
  • Update changelog (2d0fa20)

Upgrade

Build

  • CI test under node version 5 and 6 (3623061)
  • CI test under node version 7 and 8 (f1f7d77)

v3.9.1

21 Apr 16:56
Compare
Choose a tag to compare

docs

Docs

v3.9.0

21 Apr 16:56
Compare
Choose a tag to compare
3.9.0

v3.8.11

21 Apr 16:56
Compare
Choose a tag to compare
3.8.11