luismayta / example-django-sales

GNU Lesser General Public License v3.0
1 stars 0 forks source link

ci(deps): Update dependency browser-sync to ^2.27.5 #22

Closed renovate[bot] closed 3 years ago

renovate[bot] commented 3 years ago

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
browser-sync (source) ^2.8.0 -> ^2.27.5 age adoption passing confidence

Release Notes

BrowserSync/browser-sync ### [`v2.27.5`](https://togithub.com/BrowserSync/browser-sync/compare/v2.27.4...v2.27.5) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.27.4...v2.27.5) ### [`v2.27.4`](https://togithub.com/BrowserSync/browser-sync/compare/v2.27.3...v2.27.4) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.27.3...v2.27.4) ### [`v2.27.3`](https://togithub.com/BrowserSync/browser-sync/compare/v2.27.1...v2.27.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.27.1...v2.27.3) ### [`v2.27.1`](https://togithub.com/BrowserSync/browser-sync/releases/v2.27.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.14...v2.27.1) This release adds a feature to address https://github.com/BrowserSync/browser-sync/issues/1882 Sometimes you don't want Browsersync to auto-inject it's connection snippet into your HTML - now you can disable it globally via either a CLI param or the new `snippet` option :) ```shell browser-sync . --no-snippet ``` or in any Browsersync configuration ```js const config = { snippet: false, }; ``` the original request was related to Eleventy usage, so here's how that would look ```js eleventyConfig.setBrowserSyncConfig({ snippet: false, }); ``` ### [`v2.26.14`](https://togithub.com/BrowserSync/browser-sync/releases/v2.26.14) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.13...v2.26.14) This is a maintenance release to address 2 security related issues (socket.io & axios) Happy Browsersync'in :) ### [`v2.26.13`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.12...v2.26.13) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.12...v2.26.13) ### [`v2.26.12`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.10...v2.26.12) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.10...v2.26.12) ### [`v2.26.10`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.9...v2.26.10) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.9...v2.26.10) ### [`v2.26.9`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.7...v2.26.9) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.7...v2.26.9) ### [`v2.26.7`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.6...v2.26.7) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.6...v2.26.7) ### [`v2.26.6`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.5...v2.26.6) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.5...v2.26.6) ### [`v2.26.5`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.4...v2.26.5) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.4...v2.26.5) ### [`v2.26.4`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.3...v2.26.4) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.3...v2.26.4) ### [`v2.26.3`](https://togithub.com/BrowserSync/browser-sync/releases/v2.26.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.2...v2.26.3) **fixes** - application/wasm support - fixes [#​1598](https://togithub.com/BrowserSync/browser-sync/issues/1598) [`d60cd91`](https://togithub.com/BrowserSync/browser-sync/commit/d60cd916ff1c64a69fddaa5cd2ca1061f066266e) - deps - ensure previous users of browser-sync-client are not affected by new structure - fixes [#​1615](https://togithub.com/BrowserSync/browser-sync/issues/1615) [`0a2ff5a`](https://togithub.com/BrowserSync/browser-sync/commit/0a2ff5a25d9e5ca7df7b1ec63a235f76a220ada6) - npm audit fixes across all packages - fixes [#​1618](https://togithub.com/BrowserSync/browser-sync/issues/1618) [`9f3fea4`](https://togithub.com/BrowserSync/browser-sync/commit/9f3fea4d0bef39b31c45e14cba669483f6e65448) ### [`v2.26.2`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.1...v2.26.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.1...v2.26.2) ### [`v2.26.1`](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.0...v2.26.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.26.0...v2.26.1) ### [`v2.26.0`](https://togithub.com/BrowserSync/browser-sync/releases/v2.26.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.25.0...v2.26.0) these notes describe the change from 2.24.6 -> 2.26.0 **fixes** - Removing default logger prefix \[BS] - fixes [#​1607](https://togithub.com/BrowserSync/browser-sync/issues/1607) [`257fba6`](https://togithub.com/BrowserSync/browser-sync/commit/257fba6d3fa3b4e77f526912a395625efcdebcb3) - case-insensitive matching on `domain` key in proxy responses [`dacfc8b`](https://togithub.com/BrowserSync/browser-sync/commit/dacfc8bcedbd1f8e27a3ad4944aee44ff7f73533) - bump chokidar fixing fsevents build - closes [#​1613](https://togithub.com/BrowserSync/browser-sync/issues/1613) [`11729cc`](https://togithub.com/BrowserSync/browser-sync/commit/11729cc0a398d276a66d1883d1273f2fd3c1d36e) - Unexpected Page Reload after Pausing in Debugger - fixes [#​1591](https://togithub.com/BrowserSync/browser-sync/issues/1591) [`06ee1b7`](https://togithub.com/BrowserSync/browser-sync/commit/06ee1b7db8d3090f693dc8ba0650f3e7022463ae) - scroll - add missing init method for window.name method of scroll restoring - fixes [#​1586](https://togithub.com/BrowserSync/browser-sync/issues/1586) [#​1457](https://togithub.com/BrowserSync/browser-sync/issues/1457) [#​1457](https://togithub.com/BrowserSync/browser-sync/issues/1457) [`9e96603`](https://togithub.com/BrowserSync/browser-sync/commit/9e96603e2f8e859a5ae6fe921c7380787c706896) - proxy Port gets unnecesarily rewritten in Proxy - fixes [#​1577](https://togithub.com/BrowserSync/browser-sync/issues/1577) [`48286e0`](https://togithub.com/BrowserSync/browser-sync/commit/48286e0d09e35b06b5736be674ffe52105ba0a86) **chore** - move cypress to top-level dep [`0d4ab81`](https://togithub.com/BrowserSync/browser-sync/commit/0d4ab8156b30bbdafbb202ee0f597d4ea5dc4d0b) - package-lock files [`900e23e`](https://togithub.com/BrowserSync/browser-sync/commit/900e23e321ffe2110068e3194b9d00d988ffb721) - change API of option transforms [`ef12e9a`](https://togithub.com/BrowserSync/browser-sync/commit/ef12e9aa576d4395db9353d80761487ff4f82206) **lerna** - initial version [`7c0ad4e`](https://togithub.com/BrowserSync/browser-sync/commit/7c0ad4eaffbd1e1b9760277cce193692f0577bcd) - more path updates [`c108af8`](https://togithub.com/BrowserSync/browser-sync/commit/c108af8ed973c74cdfecbf3cfb104e6b6c5e9bde) - updated more stuff since the move to lerna [`4ac3a49`](https://togithub.com/BrowserSync/browser-sync/commit/4ac3a49ce92b8eef8e6898962ae6aca1f48537c4) - bring in server/client/ui [`d6198f9`](https://togithub.com/BrowserSync/browser-sync/commit/d6198f92cccbb1945b5a0cff1a1a3328d3f505ce) - add browser-sync-ui [`325c775`](https://togithub.com/BrowserSync/browser-sync/commit/325c7751cb583272fb69c56846dede9cf22c2d53) **feature** - adding 'listen' option to restrict binding of interfaces [`d641916`](https://togithub.com/BrowserSync/browser-sync/commit/d6419160382fc45c739cac20679b9d7bbbcfee5b) **docs** - emphasize a couple of points - fixes [#​1461](https://togithub.com/BrowserSync/browser-sync/issues/1461) [`cf0febd`](https://togithub.com/BrowserSync/browser-sync/commit/cf0febd978b20e9c8b9bc0a8aa262e3b54972b98) - added additional note about httpModule option - fixes [#​1485](https://togithub.com/BrowserSync/browser-sync/issues/1485) [`16487ad`](https://togithub.com/BrowserSync/browser-sync/commit/16487adbc282f13b774d597ee729c57eec377cd1) **deps** - npm audit for localtunnel - fixes [#​1587](https://togithub.com/BrowserSync/browser-sync/issues/1587) [`27f2173`](https://togithub.com/BrowserSync/browser-sync/commit/27f21731874fa4ec56aa4b3039086317aa5584dd) - easy-extender@2.3.4 cypress@3.1.0 supertest@3.1.0 [`a6578a3`](https://togithub.com/BrowserSync/browser-sync/commit/a6578a3adcc310386c10957e5dd3fdcd8d3b9a21) ### [`v2.25.0`](https://togithub.com/BrowserSync/browser-sync/releases/v2.25.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.7...v2.25.0) Browsersync can now be used in more restrictive areas, ones where you cannot simply bind to all addresses on the host (such as schools or universities) - this is enabled via the `listen` option. For backwards compatibility reasons, we actually cannot use the `host` option to acheive this (even though that would make the most sense), as it would break some people's existing setups. This is mainly because in the past, `host` was not used to determine an address to bind to, but rather just as a way of changing the urls Browsersync displays to the user. :( :( :( It was a big mistake, but now with the sheer size of the user base we have, every tiny change to any existing option causes some kind of breakage. I'm not prepared to do that again with `host`. So, instead we're back to the old method of instead adding a *new* option, that I've called `listen`. It's the only way we can acheive the goal without breaking existing users who are using `host` for other reasons. The idea is that you'd only ever use the `listen` option if you want to restrict the address being bound to. For example, the following will serve files from the current directory, but behind the scenes Browsersync will only bind to `localhost` (this does mean that other features such as `external urls` will not work any more, but if you need this `listen` option in the first place, that will not be a concern for you) ```sh npm i -g browser-sync@2.25.0 browser-sync . --listen localhost ``` ### [`v2.24.7`](https://togithub.com/BrowserSync/browser-sync/releases/v2.24.7) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.6...v2.24.7) **fix** - Update opn to latest release [`b6ba0dd`](https://togithub.com/BrowserSync/browser-sync/commit/b6ba0ddced02f746536042571d0b311185a50e63) - scroll - add missing init method for window.name method of scroll restoring - fixes [#​1586](https://togithub.com/BrowserSync/browser-sync/issues/1586) [#​1457](https://togithub.com/BrowserSync/browser-sync/issues/1457) [#​1457](https://togithub.com/BrowserSync/browser-sync/issues/1457) [`9e96603`](https://togithub.com/BrowserSync/browser-sync/commit/9e96603e2f8e859a5ae6fe921c7380787c706896) - proxy Port gets unnecesarily rewritten in Proxy - fixes [#​1577](https://togithub.com/BrowserSync/browser-sync/issues/1577) [`48286e0`](https://togithub.com/BrowserSync/browser-sync/commit/48286e0d09e35b06b5736be674ffe52105ba0a86) **deps** - easy-extender@2.3.4 cypress@3.1.0 supertest@3.1.0 [`a6578a3`](https://togithub.com/BrowserSync/browser-sync/commit/a6578a3adcc310386c10957e5dd3fdcd8d3b9a21) ### [`v2.24.6`](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.5...v2.24.6) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.5...v2.24.6) ### [`v2.24.5`](https://togithub.com/BrowserSync/browser-sync/releases/v2.24.5) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.4...v2.24.5) **fix** - update following npm audit - fixes [#​1559](https://togithub.com/BrowserSync/browser-sync/issues/1559) [`dd70eba`](https://togithub.com/BrowserSync/browser-sync/commit/dd70eba92b61f99bf9d67a6fcd825ee1d6e91964) - TypeError when watchOptions.ignored is not an array - fixes [#​1563](https://togithub.com/BrowserSync/browser-sync/issues/1563) [`90e7306`](https://togithub.com/BrowserSync/browser-sync/commit/90e7306a13a17a4624fe1e4817445e75a9d4bfae) ### [`v2.24.4`](https://togithub.com/BrowserSync/browser-sync/releases/v2.24.4) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.3...v2.24.4) **fix** - Remote Debug tools do not work - fixes [#​1556](https://togithub.com/BrowserSync/browser-sync/issues/1556) [`a6d39e6`](https://togithub.com/BrowserSync/browser-sync/commit/a6d39e6e89f6a12e9a16e08b3bc71d76cc30f344) ### [`v2.24.3`](https://togithub.com/BrowserSync/browser-sync/releases/v2.24.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.2...v2.24.3) 2.24.0 was a very large release - and with that, a handful of patch releases inevitably follow. Please move straight to 2.24.3 :) **fixes** - Don’t always add "defaultIgnorePatterns" - fixes [#​1543](https://togithub.com/BrowserSync/browser-sync/issues/1543) [`cc5118c`](https://togithub.com/BrowserSync/browser-sync/commit/cc5118cf5382761f85bb34e3b40563046a3fdeb9) - handle windows-style paths on the client - fixes [#​1553](https://togithub.com/BrowserSync/browser-sync/issues/1553) [`1153845`](https://togithub.com/BrowserSync/browser-sync/commit/11538454ff545fe8e540ddedc020c818736a828b) - remove source-maps from client - fixes [#​1551](https://togithub.com/BrowserSync/browser-sync/issues/1551) [`9cef9c1`](https://togithub.com/BrowserSync/browser-sync/commit/9cef9c11d008bee60b54f7219f53fa54d49a5eb1) - support bs.reload('\*.css') - fixes [#​1550](https://togithub.com/BrowserSync/browser-sync/issues/1550) [`568e64e`](https://togithub.com/BrowserSync/browser-sync/commit/568e64e3f936c66ebee63a1f45832c42d742d232) - (client) use correct npm lifecycle hook for prepublish - fixes [#​1549](https://togithub.com/BrowserSync/browser-sync/issues/1549) [`b37e11c`](https://togithub.com/BrowserSync/browser-sync/commit/b37e11ce6b60a05ef8c6064d69df069f56e9ebec) ### [`v2.24.2`](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.1...v2.24.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.1...v2.24.2) ### [`v2.24.1`](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.0...v2.24.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.24.0...v2.24.1) ### [`v2.24.0`](https://togithub.com/BrowserSync/browser-sync/releases/v2.24.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.7...v2.24.0) **Features** - (client) rewrite to Typescript + RxJS [`99a69ce`](https://togithub.com/BrowserSync/browser-sync/commit/99a69ce9303ebf7a8077f18872705f2150e3353d) - (client) make initial options available in initial payload [`9d9dfb1`](https://togithub.com/BrowserSync/browser-sync/commit/9d9dfb143e235b2d06af3a38d9097b8d98c9dbaf) - (client) added `injectNotification` option & defaulted to false [`06608fb`](https://togithub.com/BrowserSync/browser-sync/commit/06608fbe8d7e01fba19987f7de745af62535b57b) - (client-js) allow functions in client:js hook [`4803786`](https://togithub.com/BrowserSync/browser-sync/commit/480378649db2b87b4c627ddc6ef772d0307115e5) - (http-protocol) support POST requests over HTTP Protocol [`e4754c9`](https://togithub.com/BrowserSync/browser-sync/commit/e4754c94a922263bf7f8c7e498a8214c3a33d66a) **Fixes** - (client, rxjs) fix imports to avoid the entire library being bundled [`b8685bc`](https://togithub.com/BrowserSync/browser-sync/commit/b8685bcf5bcd4add21208eee4e6a6492437667b5) - (cli) remove `watch` boolean when false [`b41f602`](https://togithub.com/BrowserSync/browser-sync/commit/b41f602bdae17db9ed4f5418719c4003646c0335) **Dependencies** - upgrade ua-parser-js@0.7.17 [`0ad5f3a`](https://togithub.com/BrowserSync/browser-sync/commit/0ad5f3a5738dc59182691d2e5212184fa452eea9) - upgrade serve-static@1.13.2 [`f6ac69f`](https://togithub.com/BrowserSync/browser-sync/commit/f6ac69f2792fbd3e30e48fa6475a6e2f14e0a788) - upgrade qs@6.2.3 - fixes [#​1512](https://togithub.com/BrowserSync/browser-sync/issues/1512) [`0e1dd37`](https://togithub.com/BrowserSync/browser-sync/commit/0e1dd37d0c524df92adc920e3a9da39ffecc0e54) - typescript@2.8 [`679fbbc`](https://togithub.com/BrowserSync/browser-sync/commit/679fbbce686f036c81951113656c7b85578ef6d1) **Tests** - add cypress for integration tests [`31bace2`](https://togithub.com/BrowserSync/browser-sync/commit/31bace2977a6489580d45e16dd0fe5a3ffa3ec87) **misc** - Resolved warning in tsconfig. [`1c9ae43`](https://togithub.com/BrowserSync/browser-sync/commit/1c9ae4302debcfb63c9e93999c6c1ad60aff8972) - Merge pull request [#​1547](https://togithub.com/BrowserSync/browser-sync/issues/1547) from jgravois/patchbump localtunnel to resolve security vuln nag [`8a957e9`](https://togithub.com/BrowserSync/browser-sync/commit/8a957e9d954e500ffa35b2f3c2757cd449a12f86) - bump localtunnel to resolve security vuln nag [`31956ab`](https://togithub.com/BrowserSync/browser-sync/commit/31956ab67f919fa2c2787305ccce1d3e6cc9d1dd) - Merge pull request [#​1544](https://togithub.com/BrowserSync/browser-sync/issues/1544) from SergiuNegara/fix/steam-docs-spellingFix stream docs spelling [`78c3854`](https://togithub.com/BrowserSync/browser-sync/commit/78c3854330a4cf58a97fee6cd0f41b81c476b531) - Fix stream docs spellingChange `teh` to `the` [`4ce533c`](https://togithub.com/BrowserSync/browser-sync/commit/4ce533cec469c8ca45c9c6bca3bcfa8e52041369) ### [`v2.23.7`](https://togithub.com/BrowserSync/browser-sync/releases/v2.23.7) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.6...v2.23.7) - fix(client): CSS injection broken in older browsers due to use of Array.from - fixes [#​1539](https://togithub.com/BrowserSync/browser-sync/issues/1539) [`66dd19c`](https://togithub.com/BrowserSync/browser-sync/commit/66dd19cd4f75a54d42e8c36711a06b9f7066052c) ### [`v2.23.6`](https://togithub.com/BrowserSync/browser-sync/releases/v2.23.6) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.5...v2.23.6) - fix(client): remove sourcemaps - fixes [#​1498](https://togithub.com/BrowserSync/browser-sync/issues/1498), https://github.com/BrowserSync/browser-sync-client/issues/45 - fix(watcher): remove greedy regexes - fixes [#​1490](https://togithub.com/BrowserSync/browser-sync/issues/1490) - fix(css-injection): enable smoother CSS file for none-css files - re: [#​1488](https://togithub.com/BrowserSync/browser-sync/issues/1488) ### [`v2.23.5`](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.4...v2.23.5) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.4...v2.23.5) ### [`v2.23.4`](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.3...v2.23.4) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.3...v2.23.4) ### [`v2.23.3`](https://togithub.com/BrowserSync/browser-sync/releases/v2.23.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.2...v2.23.3) **misc** - Revert "Fix the missing `type: array` in server field of startOpts" - fixes [#​1483](https://togithub.com/BrowserSync/browser-sync/issues/1483) (This reverts commit [`b24514b`](https://togithub.com/BrowserSync/browser-sync/commit/b24514b)) [`31150d6`](https://togithub.com/BrowserSync/browser-sync/commit/31150d62eeb3a9d176eba075045d57b5bbb2e97d) - fix(server-middleware): allow res.end -> next() in middeware flow when no serveStatic exists - fixes [#​1481](https://togithub.com/BrowserSync/browser-sync/issues/1481) [`620e9ae`](https://togithub.com/BrowserSync/browser-sync/commit/620e9ae3f3a00624315c6c5d1c121cac3fd6bfde) ### [`v2.23.2`](https://togithub.com/BrowserSync/browser-sync/releases/v2.23.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.1...v2.23.2) **CLI** - Fix the missing `type: array` in server field of startOpts [`b24514b`](https://togithub.com/BrowserSync/browser-sync/commit/b24514b8818f3646944835288df6f9c5e241f20e) ### [`v2.23.1`](https://togithub.com/BrowserSync/browser-sync/blob/master/CHANGELOG.md#​2231-2018-01-01) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.23.0...v2.23.1) ##### 2.23.1 (2018-01-01) ### [`v2.23.0`](https://togithub.com/BrowserSync/browser-sync/releases/v2.23.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.22.0...v2.23.0) - **Fixed**: removed weinre from the UI - it was using deprecated packages, and is un-maintained. [`e6be4e9`](https://togithub.com/BrowserSync/browser-sync/commit/e6be4e9058f862425264b689b807f42575c9ba6a) - **Fixed**: Updated socket.io to the latest version (security advisory) - **Fixed**: Allow `notify` command over HTTP protocol [`ac86665`](https://togithub.com/BrowserSync/browser-sync/commit/ac86665bbde182ff1c033bf915cbeb06e8103c61) (closes [#​1467](https://togithub.com/BrowserSync/browser-sync/issues/1467)) - **New**: CI: build on node 8 (latest lts) [`3b7e8cb`](https://togithub.com/BrowserSync/browser-sync/commit/3b7e8cbe8b3b5cc3fb1f8891318a0c22df60e21b) - **New**: Easier CLI commands for common flows. (see below) [`91b7e89`](https://togithub.com/BrowserSync/browser-sync/commit/91b7e89155bc6b3bfd3860f3105b7e76396acf86) - **New**: `watch` option - (see below) - **New**: Supports CSS `@imports` - thanks to Live Reload [`fb26e82`](https://togithub.com/BrowserSync/browser-sync/commit/fb26e82aa69a851bc5db46381420f5c3fc5d1a8b) (closes [#​10](https://togithub.com/BrowserSync/browser-sync/issues/10)) - **New**: Fall back to a directory listing if a request gives a 404 [`b5cc56e`](https://togithub.com/BrowserSync/browser-sync/commit/b5cc56e64d906eaddc897bf34bb07dc5b4bf3c9c) - **New**: `single` option - adds a middleware to help with SPAs (serves index.html for all non-matching routes) [`91480aa`](https://togithub.com/BrowserSync/browser-sync/commit/91480aa692779825aef0791b79d79139e56030f4) - **New**: `ignore` option - shortcut for adding to `watchOptions.ignored` - added because of the new `watch` option - **Improved**: Perf: Always group file-changes into flexible 500ms buffers - this will help things such as `git checkout` without any configuration [`fd3d074`](https://togithub.com/BrowserSync/browser-sync/commit/fd3d074b80da14b99027018de0f1ea8da4ef9ce5) - **Improved**: Perf: Adding adding cwd + ignore defaults to all watcher options [`dbb1267`](https://togithub.com/BrowserSync/browser-sync/commit/dbb1267af51a6e27df4657fb487ec887a7bd8baa) - **Changed**: Log CSS file injections into the console (rather than the overlay, which always gets in the way) [`cb5b44c`](https://togithub.com/BrowserSync/browser-sync/commit/cb5b44c0e7393b6f083b1000848bba8fce602d9f) #### Highlights ##### Easier CLI commands In an attempt to streamline the common use-cases, Browsersync will now attempt to 'do the right thing' when no command is provided, for example: To run a static server, serving from the current directory ```bash ### before browser-sync start --server ### after browser-sync . ``` To run a static server, serving from 2 directories: ```bash ### before browser-sync start --server app/src app/tmp ### after browser-sync app/src app/tmp ``` If the directory contains a 'index.html' file, you can omit any input and just run: ```bash ### after browser-sync ``` You can run the proxy in this manner too ```bash ### after browser-sync https://example.com ``` To run a proxy, whilst also serving static files ```bash ### after browser-sync https://example.com htdocs/themes/example ``` ##### New `watch` option Because we now have the shorthand ways of launching servers/proxies, eg: `browser-sync .` - it also made sense to automatically watch files too. So, if `watch: true` - then Browsersync will make a best-guess at which files to automatically watch. Here's a comparison to the old way (which will still work, of course) ```bash ### before browser-sync start --server ./app --files ./app ### after browser-sync ./app -w ``` Behind the scenes, Browsersync is just looking at served directories (in this case, `app`) and adding it to the regular `files` option as normal. It means the following the 2 configurations are identical, but the latter is better since there's no repetition. ```json { "server": {"baseDir": ["app"]}, "files": ["app"] } ``` ```json { "server": {"baseDir": ["app"]}, "watch": "true" } ``` ##### New `ignore` option Added as a convenience since we have simpler watching via the `watch` flag. Use it to ignore any patterns that should not cause Browsersync reloads/injections Example: \- Serve files from the 'app' directory \- Watch all files \- But, exclude `**/*.js` (if using Webpack, etc) CLI: ```bash browser-sync app -w --ignore '**/*.js' ``` Config: ```json { "server": "app", "watch": true, "ignore": "**/*.js" } ``` ##### New `single` option, easy SPA development This option will add the `connect-history-api-fallback` middleware automatically for you, meaning that developing with client-side routers can be done without configuring this middleware manually Example: \- Serve files from the `app` directory \- Watch all files \- Serve `index.html` for all none matching routes ```bash browser-sync app -w --single ``` #### Fall back to a directory listing if a request gives a 404 No more `Cannot Get /' messages`. If you run Browsersync in a directory where there's no `index.html`, a directory listing will be shown instead. ### [`v2.22.0`](https://togithub.com/BrowserSync/browser-sync/compare/v2.21.0...v2.22.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.21.0...v2.22.0) ### [`v2.21.0`](https://togithub.com/BrowserSync/browser-sync/compare/v2.20.1...v2.21.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.20.1...v2.21.0) ### [`v2.20.1`](https://togithub.com/BrowserSync/browser-sync/compare/v2.20.0...v2.20.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.20.0...v2.20.1) ### [`v2.20.0`](https://togithub.com/BrowserSync/browser-sync/compare/v2.19.0...v2.20.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.19.0...v2.20.0) ### [`v2.19.0`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.13...v2.19.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.13...v2.19.0) ### [`v2.18.13`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.12...v2.18.13) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.12...v2.18.13) ### [`v2.18.12`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.11...v2.18.12) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.11...v2.18.12) ### [`v2.18.11`](https://togithub.com/BrowserSync/browser-sync/releases/v2.18.11) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.10...v2.18.11) **FIXED** Source map files are now ignored by default. [`c990ea2`](https://togithub.com/BrowserSync/browser-sync/commit/c990ea223b5792e6d9b9c8fea34efb7f634a84c9) https://github.com/BrowserSync/browser-sync-client/commit/24de0ec6f2d50f4d7dbc352d3511e0b8ee4fe3bc Previously, if you were watching a directory into which source maps were being written (alongside your CSS/JS etc) then Browsersync would instruct all browsers to actually RELOAD as it wouldn't know how to handle the 'map' files. This was particularly frustrating for `gulp` users - take this following example (where we compile sass-> css) ```js gulp.task('styles', function() { return gulp.src('app/core.scss') .pipe(sourcemaps.init()) .pipe(sass()) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('dist')) .pipe(browserSync.stream()) }); ``` With this, each time a file is saved, there would be *2 output files* `core.css` & `core.css.map` and Browsersync would be informed of both. With the CSS file, it would update any references to that file in all connected browsers, but for the `map` file, it would perform a full page reload instead... This is *never* what a user expects, so I've fixed it. *** **FIXED** default `ghostMode.location: true` https://github.com/BrowserSync/browser-sync/commit/1a0505ca562cb2239ef233b3eca77e29aaad7084 A recent change stopped a module being loaded on the client-side that handled UI events such as 'SYNC ALL' etc. Issue: https://github.com/BrowserSync/browser-sync/issues/1363 *** **FIXED** Added pointer-events: none to notification https://github.com/BrowserSync/browser-sync-client/pull/36 *** **FIXED** Page blinking on styles reload is fixed https://github.com/BrowserSync/browser-sync-client/pull/39 ### [`v2.18.10`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.9...v2.18.10) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.9...v2.18.10) ### [`v2.18.9`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.8...v2.18.9) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.8...v2.18.9) ### [`v2.18.8`](https://togithub.com/BrowserSync/browser-sync/releases/v2.18.8) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.7...v2.18.8) **FIXED**: re-implemented `reloadDebounce` to better suit the Browsersync use-case. Now we debounce *and* buffer events to allow multiple files to be injected following the specified window of event silence. - https://github.com/BrowserSync/browser-sync/issues/1192 - https://github.com/BrowserSync/browser-sync/issues/203 *** **FIXED**: [`de2e2fa`](https://togithub.com/BrowserSync/browser-sync/commit/de2e2fa) added `watchEvents` option to solve https://github.com/BrowserSync/browser-sync/issues/1291 - now you can override which file-watching events Browsersync will respond to. For example, if you wanted to respond to the `add` event, along with the default `change` event, you could provide the following browser-sync start --server --files "app/src" --watchEvents change add or ```js const bs = require('browser-sync').create(); bs.init({ server: 'app', files: ['app/src'], watchEvents: ['add', 'change'] }); ``` *** **FIXED**: [`c6d7d16`](https://togithub.com/BrowserSync/browser-sync/commit/c6d7d16) always send `override: true` on public notify method to fix https://github.com/BrowserSync/browser-sync/issues/538 This means you can now silence the default notify messages, whilst still using your own. ```js const bs = require('browser-sync').create(); bs.init({ server: 'app', notify: false }); setInterval(function() { bs.notify('5 seconds have passed!') }, 5000); ``` ### [`v2.18.7`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.6...v2.18.7) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.6...v2.18.7) ### [`v2.18.6`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.5...v2.18.6) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.5...v2.18.6) ### [`v2.18.5`](https://togithub.com/BrowserSync/browser-sync/releases/v2.18.5) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.4...v2.18.5) - \[x] **FIXED - white-screen in UI** Removed cache headers from run-time generated JS file that was causing a 'white screen' in the UI when switching between protocols. https://github.com/BrowserSync/browser-sync/commit/069927a99e7a9ace2ea008162a16410d6228c340 - Issue https://github.com/BrowserSync/browser-sync/issues/1152 - UI fix https://github.com/BrowserSync/UI/commit/b09c5941140ba54796ed9f84ebde982388d9e7a3 - \[x] **FIXED - accept `port` option as a string** There was a regression from a [dependency](https://togithub.com/baalexander/node-portscanner/commit/ed4682bd3c4a9c31cc7b246148175d514abca7a3). I've now pinned the version to the latest that works :) https://github.com/BrowserSync/browser-sync/commit/348597eee66262d5ea15085aa12614ba3ea638e4 - Issue https://github.com/BrowserSync/browser-sync/issues/1254 - \[x] **FIXED - don't register event handlers when ghostMode disabled** Previously Browsersync would always *register* things such as click/scroll on every page load, but if you had set `ghostMode: false` we just wouldn't attempt to replicate those actions across devices. This was intentional as it allows the user to re-enable these options within the UI without requiring a full page reload, but on reflection that is very much 'unexpected' behaviour, so following this release no listeners will be registered if you explicitly opt-out of them via your configuration. ### [`v2.18.4`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.3...v2.18.4) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.3...v2.18.4) ### [`v2.18.3`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.2...v2.18.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.2...v2.18.3) ### [`v2.18.2`](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.1...v2.18.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.1...v2.18.2) ### [`v2.18.1`](https://togithub.com/BrowserSync/browser-sync/releases/v2.18.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.18.0...v2.18.1) This release brings a small but important change, the ability to provide a different HTTP module to be used in place of the default ones that ship with node. This is only really interesting when you realise this effectively enables anyone to try out things such *HTTP2*. We may well switch to an HTTP2 as standard in the near future (if I can figure out how to get the proxy working with it) - but for now this small change allows you to drop any old module into the place of the defaults. API example with `http2` (note that you need to install the module along with Browsersync, for now) ```js // First, install both browser-sync & http2 locally // npm i browser-sync http2 // or // yarn add browser-sync http2 const bs = require("browser-sync").create(); bs.init({ files: ["app/css/*.css"], server: "./app", https: true, httpModule: "http2" }); ``` CLI example (as above) ```shell ### note: this needs to be run in a directory that has the http2 module installed browser-sync start --server 'app' --httpModule 'http2' --https ``` #### Browsersync Proxy + custom httpModule ? Nope, not just yet I'm afraid - if someone out there can make [http-proxy](https://togithub.com/nodejitsu/node-http-proxy) play nicely with something like [http2](https://togithub.com/molnarg/node-http2) - then please share the knowledge :) #### Thanks to [@​itslenny](https://togithub.com/itslenny) for kick-starting it :) ### [`v2.18.0`](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.6...v2.18.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.6...v2.18.0) ### [`v2.17.6`](https://togithub.com/BrowserSync/browser-sync/releases/v2.17.6) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.5...v2.17.6) - \[x] **FIXED** - stop localtunnel errors from crashing the process [`80120dc`](https://togithub.com/BrowserSync/browser-sync/commit/80120dc7f25a0c397ab6f85f613e74469ff53aaa) - \[x] **FIXED** - allow the `reload` command to work with https urls [`3bb5b8d`](https://togithub.com/BrowserSync/browser-sync/commit/3bb5b8d52afca512abca5a4435f63eda43e6ff76) eg: If you have a Browsersync instance running at `https://localhost:3000`, you can instruct all browsers to reload by executing the command `browser-sync reload --url https://localhost:3000`. This previously failed since Browersync uses self-signed SSL certs. - \[x] **UPDATED** bumped `bs-recipes` to include a new minimalist [preact](https://preactjs.com) starter with hot-reloading. To try it out, just run the following command and follow the instructions :) ```sh browser-sync recipe webpack.preact-hot-loader ``` ### [`v2.17.5`](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.4...v2.17.5) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.4...v2.17.5) ### [`v2.17.4`](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.3...v2.17.4) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.3...v2.17.4) ### [`v2.17.3`](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.2...v2.17.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.2...v2.17.3) ### [`v2.17.2`](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.1...v2.17.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.1...v2.17.2) ### [`v2.17.1`](https://togithub.com/BrowserSync/browser-sync/releases/v2.17.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.17.0...v2.17.1) - \[x] **FIXED** update socket.io client to fix IE9 issues [#​1198](https://togithub.com/BrowserSync/browser-sync/issues/1198) - \[x] **FIXED** maintain order of internal options/middlewares to stop plugins from clobbering defaults https://github.com/BrowserSync/browser-sync/issues/1223 ### [`v2.17.0`](https://togithub.com/BrowserSync/browser-sync/releases/v2.17.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.16.1...v2.17.0) - \[x] **FIXED `https` option is no longer clobbered when running from the CLI** https://github.com/BrowserSync/browser-sync/commit/27a08c2aad477922ab01aa979100f56cfe89c10c *** - \[x] **ADDED - better support for per-route static file serving** https://github.com/BrowserSync/browser-sync/commit/97dd9071cadf6f753563e5f69ea5e8efa9b6cbd9 For example, let's say you have a deployed Wordpress website at `http://example.com` where the assets live inside `wp-content/themes/awesome/`. Now lets imagine you need to make small CSS tweaks in `style.css`, but you don't want the hassle of running PHP + MySQL on your local machine... With Browsersync you can now easily map remote paths to local ones. So if you have the file `wp-content/themes/awesome/style.css` on your machine, you could run the following and have your changes update the live website. ```js /** * This example will proxy an EXISTING website * whilst serving assets from your local directory. * This is crazy-powerful, especially when you consider * it works across all devices. */ const bs = require('browser-sync').create(); bs.init({ proxy: 'http://example.com', files: ['htdocs/wp-content/themes/awesome'], // watch files serveStatic: [ { route: '/wp-content/themes/awesome', // remote path dir: 'htdocs/wp-content/themes/awesome' // local path } ] }); ``` This kind of magic was always possible with Browsersync, but it required more complicated setup that we're happy to see the back of. The best bit is that the proxy will kick in if a file is **not** found locally. So in our Wordpress example, you could have nothing but a CSS file and everything would still work. A knock-on effect of this feature is that now you can map multiple remote paths to multiple local directories... I know, it's magical **and** amazing. ```js // map 2 remote paths to 1 local directory serveStatic: [ { route: ['/wp-content/themes/theme1', '/wp-content/themes/theme2'], dir: './my-local' // local path } ] ``` ```js // map 1 remote path to 2 local directories serveStatic: [ { route: '/wp-content/themes/theme1', dir: ['./my-local', './tmp'] // local path } ] ``` *** - \[x] **ADDED** support for opening browsers with flags\*\* https://github.com/BrowserSync/browser-sync/pull/1179 For example, if you wanted to open Chrome with certain flags when Browsersync starts, you can do ```js const bs = require('browser-sync').create(); bs.init({ server: './app', browser: [ { app: [ 'chromium-browser', '--app=http://localhost:8080', '--proxy-server=localhost:8080', '--user-data-dir=.tmp/chomium' ] } ] }); ``` This can also be combined with the string-only versions too - so to open chrome *with* flags, but safari + firefox as normal: ```js const bs = require('browser-sync').create(); bs.init({ server: './app', browser: [ { app: [ 'chromium-browser', '--app=http://localhost:8080', '--proxy-server=localhost:8080', '--user-data-dir=.tmp/chomium' ] }, 'safari', 'firefox' ] }); ``` ### [`v2.16.1`](https://togithub.com/BrowserSync/browser-sync/compare/v2.16.0...v2.16.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.16.0...v2.16.1) ### [`v2.16.0`](https://togithub.com/BrowserSync/browser-sync/releases/v2.16.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.15.0...v2.16.0) 2 fixes & a really useful new option. *** - \[x] **FIXED** - current connections will show once again in the UI - https://github.com/BrowserSync/UI/commit/00af3dac9ae4f5ea2fab456687063a87c50e9bf1 *** - \[x] **FIXED** - the version number of the Browsersync client script is now added as a query param instead of within the file path. This is a massive help for users that have the snippet saved in a file. Fun fact: other than a sanity check to show which release of Browsersync you're using, the version number actually serves no purpose, and that's why: 1. it should've never been part of the the path in the first place as it caused problems for people upgrading 2. you've always been able to access the JS file *without* the version number at the end, but this wasn't the default... so no one did it... so I've fixed it now instead πŸ‘ *** - \[x] **ADDED** - new option `cors: true` - setting this will ensure that **all assets** served by Browsersync (including the script file itself) in **all** modes will have HTTP access control headers added. This allows any domain to access your files, which can lead to some creative workflows - for example, you could create a chrome extension that added some files you have locally into a live site & have Browsersync auto-update them when they change. *** enjoy :) ### [`v2.15.0`](https://togithub.com/BrowserSync/browser-sync/releases/v2.15.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.14.3...v2.15.0) Updates from 2.14 -> 2.15 - \[x] **Added:** `proxy.proxyReqWs` to allow users to intercept/alter proxied web sockets (this is an api mirror to the underlying http-proxy lib) https://github.com/BrowserSync/browser-sync/commit/277c17cfc0b61fdf3c559370d35d701db43e78b2 - \[x] **Fixed:** protocol-relative URL rewriting now works as expected, which solves issues faced by WooCommerce users https://github.com/BrowserSync/browser-sync/commit/42059dfbf2c97a2a4c22cfd8cc54c250f1ec5fab - so that now this... ```html My Link ``` is correctly re-written to something like... ```html My Link ``` - \[x] **Fixed:** attempting to use `--https` with a `non-https` target no longer fails, and allows some pretty nice workflows https://github.com/BrowserSync/browser-sync/commit/80c091d694d4c943693bd03ad120eb5208b62825 eg: ```bash $ browser-sync start --proxy 'localhost:8000' --https ``` ### [`v2.14.3`](https://togithub.com/BrowserSync/browser-sync/compare/v2.14.2...v2.14.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.14.2...v2.14.3) ### [`v2.14.2`](https://togithub.com/BrowserSync/browser-sync/compare/v2.14.1...v2.14.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.14.1...v2.14.2) ### [`v2.14.1`](https://togithub.com/BrowserSync/browser-sync/compare/v2.14.0...v2.14.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.14.0...v2.14.1) ### [`v2.14.0`](https://togithub.com/BrowserSync/browser-sync/releases/v2.14.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.13.0...v2.14.0) This release includes the addition of a few new options. - `script.domain` for situations where you want full control over the domain used to serve the client JS - `localOnly` for situations where you need to opt-out of Browsersync's dynamic host rewriting. See the previous [discussion](https://togithub.com/BrowserSync/browser-sync/issues/1128) for details, but here's the tl;dr: Browsersync goes out of it's way to 'just work' in most use-cases - but this requires some dynamic aspects that are OTT for something as simple as an Electron workflow, where you probably just want to reload files when they change. #### Electron users To have Browsersync watch over your files and reload your app when they change, just use the `localOnly` flag & then copy/paste the snippet into your footer. **cli** ```shell browser-sync start --localOnly --files './app' ``` **api** ```js const bs = require('browser-sync').create(); bs.init({ localOnly: true, files: './app' }); ``` Adding `localOnly` will remove any attempts to set the domain automagically in script tags or WebSocket addresses and instead will hard-code the correct `localhost` address. This is exactly what is needed for use in electron. ### [`v2.13.0`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.12...v2.13.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.12...v2.13.0) ### [`v2.12.12`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.11...v2.12.12) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.11...v2.12.12) ### [`v2.12.11`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.10...v2.12.11) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.10...v2.12.11) ### [`v2.12.10`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.9...v2.12.10) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.9...v2.12.10) ### [`v2.12.9`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.8...v2.12.9) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.8...v2.12.9) ### [`v2.12.8`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.7...v2.12.8) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.7...v2.12.8) ### [`v2.12.7`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.6...v2.12.7) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.6...v2.12.7) ### [`v2.12.6`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.5...v2.12.6) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.5...v2.12.6) ### [`v2.12.5`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.4...v2.12.5) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.4...v2.12.5) ### [`v2.12.4`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.3...v2.12.4) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.3...v2.12.4) ### [`v2.12.3`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.2...v2.12.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.2...v2.12.3) ### [`v2.12.2`](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.1...v2.12.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.12.1...v2.12.2) ### [`v2.12.1`](https://togithub.com/BrowserSync/browser-sync/releases/v2.12.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.11.2...v2.12.1) As work continues on Browsersync V3, I've decided to take some time to back-port some improvements that have been discovered during the re-write. Many new features are not compatible with the architecture of this 2.x master branch, but those that are have made it into this `2.12` release. #### Proxy - **Add `proxyReq` & `proxyRes` to better align with [http-proxy API](https://togithub.com/nodejitsu/node-http-proxy)** - this allows you to modify the request before and after it hits the target. - **Remove foxy module, bring proxy code into core**. There was too much duplication & glue-code caused by having the proxy module separate and given they are intrinsically linked, it made sense to keep all of the logic together. #### Middleware - **Allow middleware to be registered per-route**. Previously, if you wanted to only apply a middleware based on a route, you had to check the url manually, now you can mix & match 'global' middleware that affect every request with more targeted ones that only act when a particular route is hit. (see below for examples) #### CLI - **Switch from `meow` to `yargs`** - for more features re: processing CLI input - **Allow dot notation** - to enable nested properties (eg: `--proxy.ws`) - **Allow multiple items per option** (eg: `--files "*.html" "*.css"`) - **Allow per-command help** (eg: `browser-sync start --help`, `browser-sync recipe --help` etc) - **Add short-hand alias for common options** (eg: `-s` for server, `-p` for proxy etc) - **Accept config from `browser-sync` key in package.json** [#​1040](https://togithub.com/BrowserSync/browser-sync/issues/1040) - **Allow flags to override all other forms of config** #### Plugins - **Allow options in query strings** - a big help when using the cli + plugins - (eg: `browser-sync start -s --plugins bs-html-injector?files[]=*.html`) #### Snippet - **Append snippet to end of document** - by far the most commonly reported bug is a result of the deliberately simple regex used to insert the script tag directly after the first `` tag. During testing for V3 I discovered that every single browser that we support is more than happy to accept a JS file that is loaded as the final thing on the page (even after the body/html tags) - this discovery alone should solve the countless hours that have been consumed reporting & replying to issues related to this. #### Bug fixes - **Always show 'codeSync' option - in sync-option in UI** - [#​931](https://togithub.com/BrowserSync/browser-sync/issues/931) [#​802](https://togithub.com/BrowserSync/browser-sync/issues/802) - **Don't clobber existing url params on injected files** - part of [#​687](https://togithub.com/BrowserSync/browser-sync/issues/687) ### Examples Below are a few examples showing what is now possible in 2.12.0 #### Proxy - `proxyReq` & `proxyRes` ```js proxy: { target: "http://www.bbc.co.uk", /** * Functions given here will be called with the proxy * request object *before* it hits your application */ proxyReq: [ function (proxyReq) { proxyReq.setHeader('X-Special-Proxy-Header', 'foobar'); } ], /** * Functions given here will be called with the response * object *before* it hits the browser */ proxyRes: [ /** * Here you have access to the raw response from your * application *before* it hits the browser */ function (res) { res.headers['some-other-header'] = 'value'; } ] } ``` ##### Middleware - applied on a per-route basis **Before** - you needed to check the url manually ```js middleware: [function (req, res, next) { if (req.url.match(/^\/api/)) { // some middleware logic } else { next(); } }] ``` **After** - define the route up front ```js middleware: [ { route: "/api", handle: function (req, res, next) { // some middleware logic } } ] ``` **Mix and match** - some middleware are global, some per-route. No problem. Here's an example where 2 global middleware apply to every route, and one applies to `/api` only ```js middleware: [ require("compression")(), // global gzip middleware function (req, res, next) { // some other generic middleware next(); }, { route: "/api", // per-route handle: function (req, res, next) { // some middleware logic // like handing the request off to a proxy etc } } ] ``` ##### CLI improvements **new short hand examples** - `-p` = `--proxy` - `-s` = `--server` - `-f` = `--files` - `-b` = `--browser` - `-c` = `--config` - `--ss` = `--serveStatic` ```shell ### Start a server from the `app` directory, watching all files $ browser-sync start -s 'app' -f 'app' ### Proxy a PHP app + serve static files & watch them $ browser-sync start -p 'mylocal.dev' --ss 'public' -f 'public' ### Start Browsersync from a config file $ browser-sync start -c conf/browser-sync.js ### Start Browsersync from a config file with overriding flags $ browser-sync start -c conf/browser-sync.js --port 4000 ``` **inline plugin options** ```shell ### 1. Start a server from the `app` directory ### 2. Register the bs-html-injector plugin with files: ['*.html'] option browser-sync start -s 'app' --plugins bs-html-injector?files[]=*.html ``` ### Have fun! This is meant to be a non-breaking-change release, so please inform me if you encounter any issues. :) ### [`v2.11.2`](https://togithub.com/BrowserSync/browser-sync/compare/v2.11.1...v2.11.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.11.1...v2.11.2) ### [`v2.11.1`](https://togithub.com/BrowserSync/browser-sync/compare/v2.11.0...v2.11.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.11.0...v2.11.1) ### [`v2.11.0`](https://togithub.com/BrowserSync/browser-sync/compare/v2.10.1...v2.11.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.10.1...v2.11.0) ### [`v2.10.1`](https://togithub.com/BrowserSync/browser-sync/releases/v2.10.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.10.0...v2.10.1) This is an important bug-fix release related to gulp-style workflows. The `stream()` method accepts a 'match' option to exclude things such as `.map` files - this was broken for directories beginning with a `.` (dot) - this is now fixed in this release, so the following will work as you expect ```js gulp.task('styles', function () { return gulp.src('.tmp/scss/**') .pipe(sourcemaps.init()) .pipe(sass().on('error', x => console.log(x))) .pipe(sourcemaps.write('./')) .pipe(gulp.dest('.tmp/css')) .pipe(browserSync.stream({match: '**/*.css'})); }); ``` ### [`v2.10.0`](https://togithub.com/BrowserSync/browser-sync/compare/2.9.12...v2.10.0) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/2.9.12...v2.10.0) ### [`v2.9.12`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.11...2.9.12) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.11...2.9.12) ### [`v2.9.11`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.10...v2.9.11) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.10...v2.9.11) ### [`v2.9.10`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.9...v2.9.10) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.9...v2.9.10) ### [`v2.9.9`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.8...v2.9.9) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.8...v2.9.9) ### [`v2.9.8`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.7...v2.9.8) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.7...v2.9.8) ### [`v2.9.7`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.6...v2.9.7) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.6...v2.9.7) ### [`v2.9.6`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.5...v2.9.6) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.5...v2.9.6) ### [`v2.9.5`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.4...v2.9.5) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.4...v2.9.5) ### [`v2.9.4`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.3...v2.9.4) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.3...v2.9.4) ### [`v2.9.3`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.2...v2.9.3) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.2...v2.9.3) ### [`v2.9.2`](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.1...v2.9.2) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.1...v2.9.2) ### [`v2.9.1`](https://togithub.com/BrowserSync/browser-sync/releases/v2.9.1) [Compare Source](https://togithub.com/BrowserSync/browser-sync/compare/v2.9.0...v2.9.1) ##### Updates since 2.8.1 (the last release notes). - \[x] **Https** - The self-signed ssl certs that Browsersync ships with for local development have been updated (twice...... don't ask) - they had previously expired after the first year, so this time I set it to 10 years to be safe :p [`45104a7`](https://togithub.com/BrowserSync/browser-sync/commit/45104a75) [`a2f4767`](https://togithub.com/BrowserSync/browser-sync/commit/a2f4767316ca0877eba31aeb1f433e9cf0679ea8) - \[x] **File Watching** - [@​Plou](https://togithub.com/Plou) sent a fix that stops `../../css` style paths from being ignored. For those of you that don't have tooling configs in the project root - this is your lucky day. [`33d49d2`](https://togithub.com/BrowserSync/browser-sync/commit/33d49d29dc668474d9dd42d4cb174a3213a37979) - \[x] **New Feature - Scroll syncing across elements** - two new, opt-in options now enabled scroll sync in situations where it aint the window doing the scrolling. See [https://github.com/google/web-starter-kit/pull/750](https://togithub.com/google/web-starter-kit/pull/750) for a back-story and [the docs](http://localhost:3000/docs/options/#option-scrollElements) for examples. Update asap & enjoy ### [`v2.9.0`](https://togithub.c

Configuration

πŸ“… Schedule: "after 10:30 before 18:00 every weekday except after 13:00 before 14:00" in timezone America/Lima.

🚦 Automerge: Enabled.

β™» 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 has been generated by WhiteSource Renovate. View repository job log here.