gulpjs/gulp (gulp)
### [`v5.0.0`](https://togithub.com/gulpjs/gulp/blob/HEAD/CHANGELOG.md#500-2024-03-29)
[Compare Source](https://togithub.com/gulpjs/gulp/compare/v4.0.2...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](#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](https://www.togithub.com/gulpjs/gulp/issues/2760)) ([b00de68](https://www.github.com/gulpjs/gulp/commit/b00de681f5ef6ade283d544f62f770f6b27a9e52))
- 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](https://www.github.com/gulpjs/gulp/commit/72668c61e445c81fad23bc6ed24967a3238a648d))
- Ensure watch does not trigger on negated globs ([72668c6](https://www.github.com/gulpjs/gulp/commit/72668c61e445c81fad23bc6ed24967a3238a648d))
- 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](https://www.togithub.com/gulpjs/gulp/issues/2758)) ([72668c6](https://www.github.com/gulpjs/gulp/commit/72668c61e445c81fad23bc6ed24967a3238a648d))
##### Individual Changelogs
We created and maintain various projects that gulp depends upon. You can find their changelogs linked below:
- [undertaker](https://togithub.com/gulpjs/undertaker/blob/master/CHANGELOG.md#200-2024-03-22)
- [vinyl-fs](https://togithub.com/gulpjs/vinyl-fs/blob/master/CHANGELOG.md#400-2023-06-11)
- [glob-stream](https://togithub.com/gulpjs/glob-stream/blob/master/CHANGELOG.md#801-2024-03-25)
- [gulp-cli](https://togithub.com/gulpjs/gulp-cli/blob/master/CHANGELOG.md#300-2024-03-24)
- [interpret](https://togithub.com/gulpjs/interpret/blob/master/CHANGELOG.md#311-2022-06-29)
- [glob-parent](https://togithub.com/gulpjs/glob-parent/blob/main/CHANGELOG.md#602-2021-09-29)
- [glob-watcher](https://togithub.com/gulpjs/glob-watcher/blob/master/CHANGELOG.md#600-2023-05-31)
- [vinyl](https://togithub.com/gulpjs/vinyl/blob/master/CHANGELOG.md#300-2022-09-26)
- [fs-mkdirp-stream](https://togithub.com/gulpjs/fs-mkdirp-stream/blob/master/CHANGELOG.md#201-2022-09-17)
- [lead](https://togithub.com/gulpjs/lead/blob/master/CHANGELOG.md#400-2022-09-22)
- [vinyl-sourcemap](https://togithub.com/gulpjs/vinyl-sourcemap/blob/master/CHANGELOG.md#200-2022-10-17)
- [to-through](https://togithub.com/gulpjs/to-through/blob/master/CHANGELOG.md#300-2022-09-07)
- [resolve-options](https://togithub.com/gulpjs/resolve-options/blob/master/CHANGELOG.md#200-2022-06-24)
- [remove-bom-stream](https://togithub.com/gulpjs/remove-bom-stream/blob/master/CHANGELOG.md#200-2022-04-19)
- [value-or-function](https://togithub.com/gulpjs/value-or-function/blob/master/CHANGELOG.md#400-2022-01-30)
- [now-and-later](https://togithub.com/gulpjs/now-and-later/blob/master/CHANGELOG.md#300-2022-06-25)
- [@gulpjs/to-absolute-glob](https://togithub.com/gulpjs/to-absolute-glob/blob/master/CHANGELOG.md#400-2023-01-03)
- [fined](https://togithub.com/gulpjs/fined/blob/master/CHANGELOG.md#200-2021-10-31)
- [mute-stdout](https://togithub.com/gulpjs/mute-stdout/blob/master/CHANGELOG.md#200-2021-11-22)
- [semver-greatest-satisfied-range](https://togithub.com/gulpjs/semver-greatest-satisfied-range/blob/master/CHANGELOG.md#200-2022-01-31)
- [flagged-respawn](https://togithub.com/gulpjs/flagged-respawn/blob/master/CHANGELOG.md#200-2021-11-21)
- [rechoir](https://togithub.com/gulpjs/rechoir/blob/master/CHANGELOG.md#080-2021-07-24)
- [gulplog](https://togithub.com/gulpjs/gulplog/blob/master/CHANGELOG.md#220-2024-03-23)
- [glogg](https://togithub.com/gulpjs/glogg/blob/master/CHANGELOG.md#220-2024-03-23)
- [@gulpjs/messages](https://togithub.com/gulpjs/messages/blob/master/CHANGELOG.md#110-2024-03-24)
- [sparkles](https://togithub.com/gulpjs/sparkles/blob/master/CHANGELOG.md#210-2024-03-23)
- [liftoff](https://togithub.com/gulpjs/liftoff/blob/main/CHANGELOG.md#500-2024-03-16)
- [v8flags](https://togithub.com/gulpjs/v8flags/blob/master/CHANGELOG.md#401-2023-09-03)
- [bach](https://togithub.com/gulpjs/bach/blob/master/CHANGELOG.md#201-2022-08-29)
- [undertaker-registry](https://togithub.com/gulpjs/undertaker-registry/blob/master/CHANGELOG.md#200-2021-12-29)
- [async-settle](https://togithub.com/gulpjs/async-settle/blob/master/CHANGELOG.md#200-2022-06-25)
- [last-run](https://togithub.com/gulpjs/last-run/blob/master/CHANGELOG.md#200-2022-01-10)
- [async-done](https://togithub.com/gulpjs/async-done/blob/master/CHANGELOG.md#200-2022-06-25)
- [replace-homedir](https://togithub.com/gulpjs/replace-homedir/blob/master/CHANGELOG.md#200-2022-01-31)
### [`v4.0.2`](https://togithub.com/gulpjs/gulp/releases/tag/v4.0.2)
[Compare Source](https://togithub.com/gulpjs/gulp/compare/v4.0.1...v4.0.2)
##### Fix
- Bind src/dest/symlink to the gulp instance to support esm exports ([5667666](https://togithub.com/gulpjs/gulp/commit/5667666)) - Ref [standard-things/esm#797](https://togithub.com/standard-things/esm/issues/797)
##### Docs
- Add notes about esm support ([4091bd3](https://togithub.com/gulpjs/gulp/commit/4091bd3)) - Closes [#2278](https://togithub.com/gulpjs/gulp/issues/2278)
- Fix the Negative Globs section & examples ([3c66d95](https://togithub.com/gulpjs/gulp/commit/3c66d95)) - Closes [#2297](https://togithub.com/gulpjs/gulp/issues/2297)
- Remove next tag from recipes ([1693a11](https://togithub.com/gulpjs/gulp/commit/1693a11)) - Closes [#2277](https://togithub.com/gulpjs/gulp/issues/2277)
- Add default task wrappers to Watching Files examples to make runnable ([d916276](https://togithub.com/gulpjs/gulp/commit/d916276)) - Closes [#2322](https://togithub.com/gulpjs/gulp/issues/2322)
- Fix syntax error in lastRun API docs ([ea52a92](https://togithub.com/gulpjs/gulp/commit/ea52a92)) - Closes [#2315](https://togithub.com/gulpjs/gulp/issues/2315)
- Fix typo in Explaining Globs ([5d81f42](https://togithub.com/gulpjs/gulp/commit/5d81f42)) - Closes [#2326](https://togithub.com/gulpjs/gulp/issues/2326)
##### Build
- Add node 12 to Travis & Azure ([b4b5a68](https://togithub.com/gulpjs/gulp/commit/b4b5a68))
### [`v4.0.1`](https://togithub.com/gulpjs/gulp/releases/tag/v4.0.1)
[Compare Source](https://togithub.com/gulpjs/gulp/compare/v4.0.0...v4.0.1)
##### Fix
- Temporary workaround for [facebook/Docusaurus#257](https://togithub.com/facebook/Docusaurus/issues/257) ([9f4a2e9](https://togithub.com/gulpjs/gulp/commit/9f4a2e9)) - Closes [facebook/Docusaurus#257](https://togithub.com/facebook/Docusaurus/issues/257)
##### Docs
- Fix error in ES2015 usage example ([a4e8d48](https://togithub.com/gulpjs/gulp/commit/a4e8d48)) - Closes [#2099](https://togithub.com/gulpjs/gulp/issues/2099) [#2100](https://togithub.com/gulpjs/gulp/issues/2100)
- Add temporary notice for 4.0.0 vs 3.9.1 documentation ([126423a](https://togithub.com/gulpjs/gulp/commit/126423a)) - Closes [#2121](https://togithub.com/gulpjs/gulp/issues/2121)
- Improve recipe for empty glob array ([45830cf](https://togithub.com/gulpjs/gulp/commit/45830cf)) - Closes [#2122](https://togithub.com/gulpjs/gulp/issues/2122)
- Reword standard to default ([b065a13](https://togithub.com/gulpjs/gulp/commit/b065a13))
- Fix recipe typo ([86acdea](https://togithub.com/gulpjs/gulp/commit/86acdea)) - Closes [#2156](https://togithub.com/gulpjs/gulp/issues/2156)
- Add front-matter to each file ([d693e49](https://togithub.com/gulpjs/gulp/commit/d693e49)) - Closes [#2109](https://togithub.com/gulpjs/gulp/issues/2109)
- Rename "Getting Started" to "Quick Start" & update it ([6a0fa00](https://togithub.com/gulpjs/gulp/commit/6a0fa00))
- Add "Creating Tasks" documentation ([21b6962](https://togithub.com/gulpjs/gulp/commit/21b6962))
- Add "JavaScript and Gulpfiles" documentation ([31adf07](https://togithub.com/gulpjs/gulp/commit/31adf07))
- Add "Working with Files" documentation ([50fafc6](https://togithub.com/gulpjs/gulp/commit/50fafc6))
- Add "Async Completion" documentation ([ad8b568](https://togithub.com/gulpjs/gulp/commit/ad8b568))
- Add "Explaining Globs" documentation ([f8cafa0](https://togithub.com/gulpjs/gulp/commit/f8cafa0))
- Add "Using Plugins" documentation ([233c3f9](https://togithub.com/gulpjs/gulp/commit/233c3f9))
- Add "Watching Files" documentation ([f3f2d9f](https://togithub.com/gulpjs/gulp/commit/f3f2d9f))
- Add Table of Contents to "Getting Started" directory ([a43caf2](https://togithub.com/gulpjs/gulp/commit/a43caf2))
- Improve & fix parts of Getting Started ([84b0234](https://togithub.com/gulpjs/gulp/commit/84b0234))
- Create and link-to a "docs missing" page for LINK_NEEDED references ([2bd75d0](https://togithub.com/gulpjs/gulp/commit/2bd75d0))
- Redirect users to new Getting Started guides ([53e9727](https://togithub.com/gulpjs/gulp/commit/53e9727))
- Temporarily reference gulp@next in Quick Start ([2cecf1e](https://togithub.com/gulpjs/gulp/commit/2cecf1e))
- Fixed a capitalization typo in a heading ([3d051d8](https://togithub.com/gulpjs/gulp/commit/3d051d8)) - Closes [#2242](https://togithub.com/gulpjs/gulp/issues/2242)
- Use h2 headers within Quick Start documentation ([921312c](https://togithub.com/gulpjs/gulp/commit/921312c)) - Closes [#2241](https://togithub.com/gulpjs/gulp/issues/2241)
- Fix for nested directories references ([4c2b9a7](https://togithub.com/gulpjs/gulp/commit/4c2b9a7))
- Add some more cleanup for Docusaurus ([6a8fd8f](https://togithub.com/gulpjs/gulp/commit/6a8fd8f))
- Temporarily point LINK_NEEDED references to documentation-missing.md ([df7cdcb](https://togithub.com/gulpjs/gulp/commit/df7cdcb))
- API documentation improvements based on feedback ([0a68710](https://togithub.com/gulpjs/gulp/commit/0a68710))
- Update API Table of Contents ([d6dd438](https://togithub.com/gulpjs/gulp/commit/d6dd438))
- Add API Concepts documentation ([8dd3361](https://togithub.com/gulpjs/gulp/commit/8dd3361))
- Add Vinyl.isCustomProp() documentation ([40ee801](https://togithub.com/gulpjs/gulp/commit/40ee801))
- Add Vinyl.isVinyl() documentation ([25a22bf](https://togithub.com/gulpjs/gulp/commit/25a22bf))
- Add Vinyl documentation ([fc09067](https://togithub.com/gulpjs/gulp/commit/fc09067))
- Update watch() documentation ([69c22f0](https://togithub.com/gulpjs/gulp/commit/69c22f0))
- Update tree() documentation ([ebb9818](https://togithub.com/gulpjs/gulp/commit/ebb9818))
- Update task() documentation ([b636a9c](https://togithub.com/gulpjs/gulp/commit/b636a9c))
- Update symlink() documentation ([d580efa](https://togithub.com/gulpjs/gulp/commit/d580efa))
- Update src() documentation ([d95b457](https://togithub.com/gulpjs/gulp/commit/d95b457))
- Update series() documentation ([4169cb6](https://togithub.com/gulpjs/gulp/commit/4169cb6))
- Update registry() documentation ([d680487](https://togithub.com/gulpjs/gulp/commit/d680487))
- Update parallel() documentation ([dc3cba7](https://togithub.com/gulpjs/gulp/commit/dc3cba7))
- Update lastRun() documentation ([363df21](https://togithub.com/gulpjs/gulp/commit/363df21))
- Update dest() documentation ([e447d81](https://togithub.com/gulpjs/gulp/commit/e447d81))
- Split API docs into separate markdown files ([a3b8ce1](https://togithub.com/gulpjs/gulp/commit/a3b8ce1))
- Fix hash link ([af4bd51](https://togithub.com/gulpjs/gulp/commit/af4bd51))
- Replace some links in Getting Started ([c433c70](https://togithub.com/gulpjs/gulp/commit/c433c70))
- Remove temporary workaround for [facebook/Docusaurus#257](https://togithub.com/facebook/Docusaurus/issues/257) ([5c07954](https://togithub.com/gulpjs/gulp/commit/5c07954)) - Closes [facebook/Docusaurus#257](https://togithub.com/facebook/Docusaurus/issues/257)
- Added code ticks to "null" where missing ([cb67319](https://togithub.com/gulpjs/gulp/commit/cb67319)) - Closes [#2243](https://togithub.com/gulpjs/gulp/issues/2243)
- Fix broken link in lastRun ([d35653e](https://togithub.com/gulpjs/gulp/commit/d35653e))
- Add front-matter to documentation-missing page ([a553cfd](https://togithub.com/gulpjs/gulp/commit/a553cfd))
- Improve grammar on Concepts ([01cfcc5](https://togithub.com/gulpjs/gulp/commit/01cfcc5)) - Closes [#2247](https://togithub.com/gulpjs/gulp/issues/2247)
- Remove spaces around ([c960c1d](https://togithub.com/gulpjs/gulp/commit/c960c1d))
- Improve grammar in src ([eb493a2](https://togithub.com/gulpjs/gulp/commit/eb493a2)) - Closes [#2248](https://togithub.com/gulpjs/gulp/issues/2248)
- Fix formatting error ([ca6ba35](https://togithub.com/gulpjs/gulp/commit/ca6ba35)) - Closes [#2250](https://togithub.com/gulpjs/gulp/issues/2250)
- Fix formatting of lastRun ([8569f85](https://togithub.com/gulpjs/gulp/commit/8569f85)) - Closes [#2251](https://togithub.com/gulpjs/gulp/issues/2251)
- Add missing link in watch ([e35bdac](https://togithub.com/gulpjs/gulp/commit/e35bdac)) - Closes [#2252](https://togithub.com/gulpjs/gulp/issues/2252)
- Fix broken link in tasks ([6d43750](https://togithub.com/gulpjs/gulp/commit/6d43750)) - Closes [#2253](https://togithub.com/gulpjs/gulp/issues/2253)
- Improve punctuation in tree ([8e9fd70](https://togithub.com/gulpjs/gulp/commit/8e9fd70)) - Closes [#2254](https://togithub.com/gulpjs/gulp/issues/2254)
- Fix mistake in "Splitting a gulpfile" ([96c353d](https://togithub.com/gulpjs/gulp/commit/96c353d)) - Closes [#2255](https://togithub.com/gulpjs/gulp/issues/2255)
- Remove front-matter from outdated pages ([c5af6f1](https://togithub.com/gulpjs/gulp/commit/c5af6f1))
- Fix broken link in Table of Contents ([c641369](https://togithub.com/gulpjs/gulp/commit/c641369)) - Closes [#2260](https://togithub.com/gulpjs/gulp/issues/2260)
- Update the babel dependencies to install & configuration needed ([7239cf1](https://togithub.com/gulpjs/gulp/commit/7239cf1)) - Closes [#2136](https://togithub.com/gulpjs/gulp/issues/2136)
- Add "What's new in 4.0" section ([75ea634](https://togithub.com/gulpjs/gulp/commit/75ea634)) - Closes [#2089](https://togithub.com/gulpjs/gulp/issues/2089) [#2267](https://togithub.com/gulpjs/gulp/issues/2267)
- Cleanup README for "latest" bump ([24e202b](https://togithub.com/gulpjs/gulp/commit/24e202b)) - Closes [#2268](https://togithub.com/gulpjs/gulp/issues/2268)
- Revert "next" reference now that 4.0 is latest ([ed27cbe](https://togithub.com/gulpjs/gulp/commit/ed27cbe))
- Add Azure Pipelines badge ([f3f0548](https://togithub.com/gulpjs/gulp/commit/f3f0548)) - Closes [#2310](https://togithub.com/gulpjs/gulp/issues/2310)
- Add note about transpilation to "Splitting a Gulpfile" section ([53b9037](https://togithub.com/gulpjs/gulp/commit/53b9037)) - Closes [#2311](https://togithub.com/gulpjs/gulp/issues/2311) [#2312](https://togithub.com/gulpjs/gulp/issues/2312)
- Improve wording of file rename ([88437f2](https://togithub.com/gulpjs/gulp/commit/88437f2)) - Closes [#2314](https://togithub.com/gulpjs/gulp/issues/2314)
##### Upgrade
- Update glob-watcher, gulp-cli, and undertaker dependencies & rimraf devDep ([d3734d3](https://togithub.com/gulpjs/gulp/commit/d3734d3))
##### Build
- Add node 10 to CI matrices ([a5eac1c](https://togithub.com/gulpjs/gulp/commit/a5eac1c))
- Remove jscs & update eslint for code formatting rules ([ad8a2f7](https://togithub.com/gulpjs/gulp/commit/ad8a2f7))
- Fix Azure comment ([34a6d53](https://togithub.com/gulpjs/gulp/commit/34a6d53)) - Closes [#2307](https://togithub.com/gulpjs/gulp/issues/2307)
- Add Azure Pipelines CI ([b2c6c7e](https://togithub.com/gulpjs/gulp/commit/b2c6c7e)) - Closes [#2299](https://togithub.com/gulpjs/gulp/issues/2299)
##### Scaffold
- Mark \*.png and \*.jpg as binary files to git ([a010db6](https://togithub.com/gulpjs/gulp/commit/a010db6))
- Update some links and license year ([1027236](https://togithub.com/gulpjs/gulp/commit/1027236))
- Add tidelift configuration ([49b5aca](https://togithub.com/gulpjs/gulp/commit/49b5aca))
- Add new expense policy ([9819957](https://togithub.com/gulpjs/gulp/commit/9819957))
- Add support-bot template ([9078c49](https://togithub.com/gulpjs/gulp/commit/9078c49))
Configuration
📅 Schedule: Branch creation - "before 3am on Friday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
4.0.0
->5.0.0
Release Notes
gulpjs/gulp (gulp)
### [`v5.0.0`](https://togithub.com/gulpjs/gulp/blob/HEAD/CHANGELOG.md#500-2024-03-29) [Compare Source](https://togithub.com/gulpjs/gulp/compare/v4.0.2...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](#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](https://www.togithub.com/gulpjs/gulp/issues/2760)) ([b00de68](https://www.github.com/gulpjs/gulp/commit/b00de681f5ef6ade283d544f62f770f6b27a9e52)) - 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](https://www.github.com/gulpjs/gulp/commit/72668c61e445c81fad23bc6ed24967a3238a648d)) - Ensure watch does not trigger on negated globs ([72668c6](https://www.github.com/gulpjs/gulp/commit/72668c61e445c81fad23bc6ed24967a3238a648d)) - 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](https://www.togithub.com/gulpjs/gulp/issues/2758)) ([72668c6](https://www.github.com/gulpjs/gulp/commit/72668c61e445c81fad23bc6ed24967a3238a648d)) ##### Individual Changelogs We created and maintain various projects that gulp depends upon. You can find their changelogs linked below: - [undertaker](https://togithub.com/gulpjs/undertaker/blob/master/CHANGELOG.md#200-2024-03-22) - [vinyl-fs](https://togithub.com/gulpjs/vinyl-fs/blob/master/CHANGELOG.md#400-2023-06-11) - [glob-stream](https://togithub.com/gulpjs/glob-stream/blob/master/CHANGELOG.md#801-2024-03-25) - [gulp-cli](https://togithub.com/gulpjs/gulp-cli/blob/master/CHANGELOG.md#300-2024-03-24) - [interpret](https://togithub.com/gulpjs/interpret/blob/master/CHANGELOG.md#311-2022-06-29) - [glob-parent](https://togithub.com/gulpjs/glob-parent/blob/main/CHANGELOG.md#602-2021-09-29) - [glob-watcher](https://togithub.com/gulpjs/glob-watcher/blob/master/CHANGELOG.md#600-2023-05-31) - [vinyl](https://togithub.com/gulpjs/vinyl/blob/master/CHANGELOG.md#300-2022-09-26) - [fs-mkdirp-stream](https://togithub.com/gulpjs/fs-mkdirp-stream/blob/master/CHANGELOG.md#201-2022-09-17) - [lead](https://togithub.com/gulpjs/lead/blob/master/CHANGELOG.md#400-2022-09-22) - [vinyl-sourcemap](https://togithub.com/gulpjs/vinyl-sourcemap/blob/master/CHANGELOG.md#200-2022-10-17) - [to-through](https://togithub.com/gulpjs/to-through/blob/master/CHANGELOG.md#300-2022-09-07) - [resolve-options](https://togithub.com/gulpjs/resolve-options/blob/master/CHANGELOG.md#200-2022-06-24) - [remove-bom-stream](https://togithub.com/gulpjs/remove-bom-stream/blob/master/CHANGELOG.md#200-2022-04-19) - [value-or-function](https://togithub.com/gulpjs/value-or-function/blob/master/CHANGELOG.md#400-2022-01-30) - [now-and-later](https://togithub.com/gulpjs/now-and-later/blob/master/CHANGELOG.md#300-2022-06-25) - [@gulpjs/to-absolute-glob](https://togithub.com/gulpjs/to-absolute-glob/blob/master/CHANGELOG.md#400-2023-01-03) - [fined](https://togithub.com/gulpjs/fined/blob/master/CHANGELOG.md#200-2021-10-31) - [mute-stdout](https://togithub.com/gulpjs/mute-stdout/blob/master/CHANGELOG.md#200-2021-11-22) - [semver-greatest-satisfied-range](https://togithub.com/gulpjs/semver-greatest-satisfied-range/blob/master/CHANGELOG.md#200-2022-01-31) - [flagged-respawn](https://togithub.com/gulpjs/flagged-respawn/blob/master/CHANGELOG.md#200-2021-11-21) - [rechoir](https://togithub.com/gulpjs/rechoir/blob/master/CHANGELOG.md#080-2021-07-24) - [gulplog](https://togithub.com/gulpjs/gulplog/blob/master/CHANGELOG.md#220-2024-03-23) - [glogg](https://togithub.com/gulpjs/glogg/blob/master/CHANGELOG.md#220-2024-03-23) - [@gulpjs/messages](https://togithub.com/gulpjs/messages/blob/master/CHANGELOG.md#110-2024-03-24) - [sparkles](https://togithub.com/gulpjs/sparkles/blob/master/CHANGELOG.md#210-2024-03-23) - [liftoff](https://togithub.com/gulpjs/liftoff/blob/main/CHANGELOG.md#500-2024-03-16) - [v8flags](https://togithub.com/gulpjs/v8flags/blob/master/CHANGELOG.md#401-2023-09-03) - [bach](https://togithub.com/gulpjs/bach/blob/master/CHANGELOG.md#201-2022-08-29) - [undertaker-registry](https://togithub.com/gulpjs/undertaker-registry/blob/master/CHANGELOG.md#200-2021-12-29) - [async-settle](https://togithub.com/gulpjs/async-settle/blob/master/CHANGELOG.md#200-2022-06-25) - [last-run](https://togithub.com/gulpjs/last-run/blob/master/CHANGELOG.md#200-2022-01-10) - [async-done](https://togithub.com/gulpjs/async-done/blob/master/CHANGELOG.md#200-2022-06-25) - [replace-homedir](https://togithub.com/gulpjs/replace-homedir/blob/master/CHANGELOG.md#200-2022-01-31) ### [`v4.0.2`](https://togithub.com/gulpjs/gulp/releases/tag/v4.0.2) [Compare Source](https://togithub.com/gulpjs/gulp/compare/v4.0.1...v4.0.2) ##### Fix - Bind src/dest/symlink to the gulp instance to support esm exports ([5667666](https://togithub.com/gulpjs/gulp/commit/5667666)) - Ref [standard-things/esm#797](https://togithub.com/standard-things/esm/issues/797) ##### Docs - Add notes about esm support ([4091bd3](https://togithub.com/gulpjs/gulp/commit/4091bd3)) - Closes [#2278](https://togithub.com/gulpjs/gulp/issues/2278) - Fix the Negative Globs section & examples ([3c66d95](https://togithub.com/gulpjs/gulp/commit/3c66d95)) - Closes [#2297](https://togithub.com/gulpjs/gulp/issues/2297) - Remove next tag from recipes ([1693a11](https://togithub.com/gulpjs/gulp/commit/1693a11)) - Closes [#2277](https://togithub.com/gulpjs/gulp/issues/2277) - Add default task wrappers to Watching Files examples to make runnable ([d916276](https://togithub.com/gulpjs/gulp/commit/d916276)) - Closes [#2322](https://togithub.com/gulpjs/gulp/issues/2322) - Fix syntax error in lastRun API docs ([ea52a92](https://togithub.com/gulpjs/gulp/commit/ea52a92)) - Closes [#2315](https://togithub.com/gulpjs/gulp/issues/2315) - Fix typo in Explaining Globs ([5d81f42](https://togithub.com/gulpjs/gulp/commit/5d81f42)) - Closes [#2326](https://togithub.com/gulpjs/gulp/issues/2326) ##### Build - Add node 12 to Travis & Azure ([b4b5a68](https://togithub.com/gulpjs/gulp/commit/b4b5a68)) ### [`v4.0.1`](https://togithub.com/gulpjs/gulp/releases/tag/v4.0.1) [Compare Source](https://togithub.com/gulpjs/gulp/compare/v4.0.0...v4.0.1) ##### Fix - Temporary workaround for [facebook/Docusaurus#257](https://togithub.com/facebook/Docusaurus/issues/257) ([9f4a2e9](https://togithub.com/gulpjs/gulp/commit/9f4a2e9)) - Closes [facebook/Docusaurus#257](https://togithub.com/facebook/Docusaurus/issues/257) ##### Docs - Fix error in ES2015 usage example ([a4e8d48](https://togithub.com/gulpjs/gulp/commit/a4e8d48)) - Closes [#2099](https://togithub.com/gulpjs/gulp/issues/2099) [#2100](https://togithub.com/gulpjs/gulp/issues/2100) - Add temporary notice for 4.0.0 vs 3.9.1 documentation ([126423a](https://togithub.com/gulpjs/gulp/commit/126423a)) - Closes [#2121](https://togithub.com/gulpjs/gulp/issues/2121) - Improve recipe for empty glob array ([45830cf](https://togithub.com/gulpjs/gulp/commit/45830cf)) - Closes [#2122](https://togithub.com/gulpjs/gulp/issues/2122) - Reword standard to default ([b065a13](https://togithub.com/gulpjs/gulp/commit/b065a13)) - Fix recipe typo ([86acdea](https://togithub.com/gulpjs/gulp/commit/86acdea)) - Closes [#2156](https://togithub.com/gulpjs/gulp/issues/2156) - Add front-matter to each file ([d693e49](https://togithub.com/gulpjs/gulp/commit/d693e49)) - Closes [#2109](https://togithub.com/gulpjs/gulp/issues/2109) - Rename "Getting Started" to "Quick Start" & update it ([6a0fa00](https://togithub.com/gulpjs/gulp/commit/6a0fa00)) - Add "Creating Tasks" documentation ([21b6962](https://togithub.com/gulpjs/gulp/commit/21b6962)) - Add "JavaScript and Gulpfiles" documentation ([31adf07](https://togithub.com/gulpjs/gulp/commit/31adf07)) - Add "Working with Files" documentation ([50fafc6](https://togithub.com/gulpjs/gulp/commit/50fafc6)) - Add "Async Completion" documentation ([ad8b568](https://togithub.com/gulpjs/gulp/commit/ad8b568)) - Add "Explaining Globs" documentation ([f8cafa0](https://togithub.com/gulpjs/gulp/commit/f8cafa0)) - Add "Using Plugins" documentation ([233c3f9](https://togithub.com/gulpjs/gulp/commit/233c3f9)) - Add "Watching Files" documentation ([f3f2d9f](https://togithub.com/gulpjs/gulp/commit/f3f2d9f)) - Add Table of Contents to "Getting Started" directory ([a43caf2](https://togithub.com/gulpjs/gulp/commit/a43caf2)) - Improve & fix parts of Getting Started ([84b0234](https://togithub.com/gulpjs/gulp/commit/84b0234)) - Create and link-to a "docs missing" page for LINK_NEEDED references ([2bd75d0](https://togithub.com/gulpjs/gulp/commit/2bd75d0)) - Redirect users to new Getting Started guides ([53e9727](https://togithub.com/gulpjs/gulp/commit/53e9727)) - Temporarily reference gulp@next in Quick Start ([2cecf1e](https://togithub.com/gulpjs/gulp/commit/2cecf1e)) - Fixed a capitalization typo in a heading ([3d051d8](https://togithub.com/gulpjs/gulp/commit/3d051d8)) - Closes [#2242](https://togithub.com/gulpjs/gulp/issues/2242) - Use h2 headers within Quick Start documentation ([921312c](https://togithub.com/gulpjs/gulp/commit/921312c)) - Closes [#2241](https://togithub.com/gulpjs/gulp/issues/2241) - Fix for nested directories references ([4c2b9a7](https://togithub.com/gulpjs/gulp/commit/4c2b9a7)) - Add some more cleanup for Docusaurus ([6a8fd8f](https://togithub.com/gulpjs/gulp/commit/6a8fd8f)) - Temporarily point LINK_NEEDED references to documentation-missing.md ([df7cdcb](https://togithub.com/gulpjs/gulp/commit/df7cdcb)) - API documentation improvements based on feedback ([0a68710](https://togithub.com/gulpjs/gulp/commit/0a68710)) - Update API Table of Contents ([d6dd438](https://togithub.com/gulpjs/gulp/commit/d6dd438)) - Add API Concepts documentation ([8dd3361](https://togithub.com/gulpjs/gulp/commit/8dd3361)) - Add Vinyl.isCustomProp() documentation ([40ee801](https://togithub.com/gulpjs/gulp/commit/40ee801)) - Add Vinyl.isVinyl() documentation ([25a22bf](https://togithub.com/gulpjs/gulp/commit/25a22bf)) - Add Vinyl documentation ([fc09067](https://togithub.com/gulpjs/gulp/commit/fc09067)) - Update watch() documentation ([69c22f0](https://togithub.com/gulpjs/gulp/commit/69c22f0)) - Update tree() documentation ([ebb9818](https://togithub.com/gulpjs/gulp/commit/ebb9818)) - Update task() documentation ([b636a9c](https://togithub.com/gulpjs/gulp/commit/b636a9c)) - Update symlink() documentation ([d580efa](https://togithub.com/gulpjs/gulp/commit/d580efa)) - Update src() documentation ([d95b457](https://togithub.com/gulpjs/gulp/commit/d95b457)) - Update series() documentation ([4169cb6](https://togithub.com/gulpjs/gulp/commit/4169cb6)) - Update registry() documentation ([d680487](https://togithub.com/gulpjs/gulp/commit/d680487)) - Update parallel() documentation ([dc3cba7](https://togithub.com/gulpjs/gulp/commit/dc3cba7)) - Update lastRun() documentation ([363df21](https://togithub.com/gulpjs/gulp/commit/363df21)) - Update dest() documentation ([e447d81](https://togithub.com/gulpjs/gulp/commit/e447d81)) - Split API docs into separate markdown files ([a3b8ce1](https://togithub.com/gulpjs/gulp/commit/a3b8ce1)) - Fix hash link ([af4bd51](https://togithub.com/gulpjs/gulp/commit/af4bd51)) - Replace some links in Getting Started ([c433c70](https://togithub.com/gulpjs/gulp/commit/c433c70)) - Remove temporary workaround for [facebook/Docusaurus#257](https://togithub.com/facebook/Docusaurus/issues/257) ([5c07954](https://togithub.com/gulpjs/gulp/commit/5c07954)) - Closes [facebook/Docusaurus#257](https://togithub.com/facebook/Docusaurus/issues/257) - Added code ticks to "null" where missing ([cb67319](https://togithub.com/gulpjs/gulp/commit/cb67319)) - Closes [#2243](https://togithub.com/gulpjs/gulp/issues/2243) - Fix broken link in lastRun ([d35653e](https://togithub.com/gulpjs/gulp/commit/d35653e)) - Add front-matter to documentation-missing page ([a553cfd](https://togithub.com/gulpjs/gulp/commit/a553cfd)) - Improve grammar on Concepts ([01cfcc5](https://togithub.com/gulpjs/gulp/commit/01cfcc5)) - Closes [#2247](https://togithub.com/gulpjs/gulp/issues/2247) - Remove spaces around([c960c1d](https://togithub.com/gulpjs/gulp/commit/c960c1d)) - Improve grammar in src ([eb493a2](https://togithub.com/gulpjs/gulp/commit/eb493a2)) - Closes [#2248](https://togithub.com/gulpjs/gulp/issues/2248) - Fix formatting error ([ca6ba35](https://togithub.com/gulpjs/gulp/commit/ca6ba35)) - Closes [#2250](https://togithub.com/gulpjs/gulp/issues/2250) - Fix formatting of lastRun ([8569f85](https://togithub.com/gulpjs/gulp/commit/8569f85)) - Closes [#2251](https://togithub.com/gulpjs/gulp/issues/2251) - Add missing link in watch ([e35bdac](https://togithub.com/gulpjs/gulp/commit/e35bdac)) - Closes [#2252](https://togithub.com/gulpjs/gulp/issues/2252) - Fix broken link in tasks ([6d43750](https://togithub.com/gulpjs/gulp/commit/6d43750)) - Closes [#2253](https://togithub.com/gulpjs/gulp/issues/2253) - Improve punctuation in tree ([8e9fd70](https://togithub.com/gulpjs/gulp/commit/8e9fd70)) - Closes [#2254](https://togithub.com/gulpjs/gulp/issues/2254) - Fix mistake in "Splitting a gulpfile" ([96c353d](https://togithub.com/gulpjs/gulp/commit/96c353d)) - Closes [#2255](https://togithub.com/gulpjs/gulp/issues/2255) - Remove front-matter from outdated pages ([c5af6f1](https://togithub.com/gulpjs/gulp/commit/c5af6f1)) - Fix broken link in Table of Contents ([c641369](https://togithub.com/gulpjs/gulp/commit/c641369)) - Closes [#2260](https://togithub.com/gulpjs/gulp/issues/2260) - Update the babel dependencies to install & configuration needed ([7239cf1](https://togithub.com/gulpjs/gulp/commit/7239cf1)) - Closes [#2136](https://togithub.com/gulpjs/gulp/issues/2136) - Add "What's new in 4.0" section ([75ea634](https://togithub.com/gulpjs/gulp/commit/75ea634)) - Closes [#2089](https://togithub.com/gulpjs/gulp/issues/2089) [#2267](https://togithub.com/gulpjs/gulp/issues/2267) - Cleanup README for "latest" bump ([24e202b](https://togithub.com/gulpjs/gulp/commit/24e202b)) - Closes [#2268](https://togithub.com/gulpjs/gulp/issues/2268) - Revert "next" reference now that 4.0 is latest ([ed27cbe](https://togithub.com/gulpjs/gulp/commit/ed27cbe)) - Add Azure Pipelines badge ([f3f0548](https://togithub.com/gulpjs/gulp/commit/f3f0548)) - Closes [#2310](https://togithub.com/gulpjs/gulp/issues/2310) - Add note about transpilation to "Splitting a Gulpfile" section ([53b9037](https://togithub.com/gulpjs/gulp/commit/53b9037)) - Closes [#2311](https://togithub.com/gulpjs/gulp/issues/2311) [#2312](https://togithub.com/gulpjs/gulp/issues/2312) - Improve wording of file rename ([88437f2](https://togithub.com/gulpjs/gulp/commit/88437f2)) - Closes [#2314](https://togithub.com/gulpjs/gulp/issues/2314) ##### Upgrade - Update glob-watcher, gulp-cli, and undertaker dependencies & rimraf devDep ([d3734d3](https://togithub.com/gulpjs/gulp/commit/d3734d3)) ##### Build - Add node 10 to CI matrices ([a5eac1c](https://togithub.com/gulpjs/gulp/commit/a5eac1c)) - Remove jscs & update eslint for code formatting rules ([ad8a2f7](https://togithub.com/gulpjs/gulp/commit/ad8a2f7)) - Fix Azure comment ([34a6d53](https://togithub.com/gulpjs/gulp/commit/34a6d53)) - Closes [#2307](https://togithub.com/gulpjs/gulp/issues/2307) - Add Azure Pipelines CI ([b2c6c7e](https://togithub.com/gulpjs/gulp/commit/b2c6c7e)) - Closes [#2299](https://togithub.com/gulpjs/gulp/issues/2299) ##### Scaffold - Mark \*.png and \*.jpg as binary files to git ([a010db6](https://togithub.com/gulpjs/gulp/commit/a010db6)) - Update some links and license year ([1027236](https://togithub.com/gulpjs/gulp/commit/1027236)) - Add tidelift configuration ([49b5aca](https://togithub.com/gulpjs/gulp/commit/49b5aca)) - Add new expense policy ([9819957](https://togithub.com/gulpjs/gulp/commit/9819957)) - Add support-bot template ([9078c49](https://togithub.com/gulpjs/gulp/commit/9078c49))
Configuration
📅 Schedule: Branch creation - "before 3am on Friday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.