Releases: gulpjs/gulp
Releases · gulpjs/gulp
gulp v5.0.0
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 betweensrc
andwatch
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 usingteex
, 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
andgulpfile.mjs
- Add support for
swc
,esbuild
,sucrase
, andmdx
loaders - Provide an ESM export (#2760) (b00de68)
- Support sourcemap handling on streaming
Vinyl
contents - Support
extends
syntax for.gulp.*
config file - Allow overriding
gulpfile
andpreloads
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
, andstreamx
- 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:
- undertaker
- vinyl-fs
- glob-stream
- gulp-cli
- interpret
- glob-parent
- glob-watcher
- vinyl
- fs-mkdirp-stream
- lead
- vinyl-sourcemap
- to-through
- resolve-options
- remove-bom-stream
- value-or-function
- now-and-later
- @gulpjs/to-absolute-glob
- fined
- mute-stdout
- semver-greatest-satisfied-range
- flagged-respawn
- rechoir
- gulplog
- glogg
- @gulpjs/messages
- sparkles
- liftoff
- v8flags
- bach
- undertaker-registry
- async-settle
- last-run
- async-done
- replace-homedir
v4.0.2
Fix
- Bind src/dest/symlink to the gulp instance to support esm exports (5667666) - Ref standard-things/esm#797
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
Fix
- Temporary workaround for facebook/docusaurus#257 (9f4a2e9) - Closes facebook/Docusaurus#257
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
v4.0.0
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
- Update glob-watcher (361ab63)
Build
- Avoid broken node 9 (064d100)
Scaffold
- Normalize repository (3011cf9)
v4.0.0-alpha.3
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
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
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
- Update undertaker (6830560)