UNPKG

12.7 kBMarkdownView Raw
1# Changelog
2
3## 1.9.6
4
5- **Deprecate:** Add a deprecation warning when using the `spa` mode.
6
7## 1.9.5
8
9- **Fix:** Remove `^` from `assets-webpack-plugin` dependency to avoid regression.
10
11## 1.9.4
12
13- **Fix:** Use `webpackPlugins` in static HTML build as well as client-side bundle build, as plugins like `DefinePlugin` can provide information that is depended on for building the HTML. *If this breaks a build for you, please open an issue about your use case.*
14
15## 1.9.3
16
17- **Fix:** Add `electron` to list of libraries that Webpack should *not* try to bundle during the HTML build.
18
19## 1.9.2
20
21- **Fix:** Remove production usage of Prettier. Generated files will not be as pretty, but it's worth removing the large dependency and complications it can introduce.
22
23## 1.9.1
24
25- **Fix:** Fix custom 404 pages on sites with a `siteBasePath`.
26
27## 1.9.0
28
29- **Feature:** Added a helpful message if the provided port is not available.
30- **Feature:** Files reference as URLs in CSS then copied into the output directory (via postcss-url) now include the file's original basename as well as the hash.
31- **Feature:** Expose Batfish's version of Webpack on `require('@mapbox/batfish').webpack`, so it can be used for custom plugin configuration.
32- **Fix:** Prevent batfish from entering an unpredictable state if provided port is unavailable.
33
34## 1.8.2
35
36- **Fix** Change the CLI parameter `-p/--port` to accept number data type.
37
38## 1.8.1
39
40- Update jsxtreme-markdown packages, which use a new processing pipeline.
41
42## 1.8.0
43
44- **Add:** Automatically add data about headings to front matter of Markdown pages and `id` attributes to the heading elements.
45 The headings data can be used to generate a table of contents in the Markdown page wrapper component, as illustrated in the table-of-contents example.
46 (This feature was added to jsxtreme-markdown.)
47- Chore: Unobtrusive dependency updates.
48
49## 1.7.5
50
51- **Fix:** Prevent new default 404 page from breaking SPA mode.
52
53## 1.7.4
54
55- **Fix:** Add `babel-core` to `dependencies`, since it's a peer dependency of `babel-loader`.
56
57## 1.7.3
58
59- **Fix:** Replace code that caused Webpack warning about `Chunk.modules` being deprecated.
60
61## 1.7.2
62
63- **Add:** Improve logging by adding approximate times for build phases.
64- **Add:** Helpful default 404 page (in development mode only).
65- **Fix:** If you provide an `applicationWrapper` in `spa` mode, it will be included in the static HTML build.
66- **Fix:** Update postcss-html-filter for CSS-inlining bug fix.
67
68## 1.6.2
69
70- **Fix:** Add several packages to `dependencies` which were mistakingly added to `devDependencies`.
71
72## 1.6.1
73
74- Chore: Swap out development servers. This should reduce dependency weight and complexity and fix an infrequent bug where `start` crashed when it tried to print the local URL.
75
76## 1.6.0
77
78- **Add:** Add `sitemap` option, allowing user to turn off sitemap generation.
79- **Fix:** Improve error messages when front matter parsing fails.
80
81## 1.5.1
82
83- Remove webpack-chunk-hash dependency. Recent versions of Webpack do not require this module for deterministic filename hashing.
84
85## 1.5.0
86
87- **Add:** Add `staticHtmlInlineDeferCss` option.
88
89## 1.4.0
90
91- **Add:** Add `webpackStaticStubReactComponent` option.
92- **Add:** Use Webpack's `node` option in the client config to stub core Node libraries, resulting in fewer errors buried in users' dependencies.
93
94## 1.3.0
95
96- **Add:** Add `devBrowserslist` option. **This will change the browser support of your development (not production) build.**
97- **Add:** Add `-b, --browsers` option for `batfish start`.
98- **Add:** `browserslist` and `devBrowserslist` affect babel-preset-env, not just Autoprefixer.
99
100## 1.2.0
101
102- **Add:** Include `babel-plugin-transform-object-rest-spread` by default.
103- **Add:** Add `manageScrollRestoration` option.
104- **Add:** Add **experimental** `spa` option.
105 This option might suffer breaking changes on any release until it's no longer "experimental".
106
107## 1.1.0
108
109- **Add:** `-i, --include` option to `batfish start` command, and corresponding `includePages` configuration option, which allows you to speed up your development build by only building the specified pages.
110- **Add:** `batfish write-bablerc` command (`batfish.writeBabelrc` in Node API), which writes a `.babelrc` file that you can use to tell other process, like a test runner, how to interpret your source files.
111- **Add:** Add `babelInclude` option.
112- **Fix:** Fix bug that could cause builds with unnamed dynamic imports to fail with a cryptic error about a hash-based filename that is too long.
113- **Fix:** Actually exclude `node_modules` from Babel compilation, as intended and documented.
114 **Warning:** this fix makes the functionality fit the documented public API, but if you were accidentally relying on a `node_module` being accidentally compiled, this could break your build.
115 You'll want to use the new `babelInclude` option to indicate those `node_modules` that need to be compiled.
116- **Fix:** Tweak default `babelExclude` value to ensure it excludes nested `node_modules` directories.
117- **Chore:** Remove json-loader, which Webpack no longer needs to import JSON.
118- **Chore:** Allow babel-loader to use its default cache location (`node_modules/.cache/babel-loader`).
119
120## 1.0.4
121
122- **Fix:** Fix bug causing build to fail if you used `npm link` (or `yarn link`), with a message about failing to find Babel plugins.
123
124## 1.0.3
125
126- Upgrade dependencies. There should not be any user-faces changes, just behind-the-scenes improvements.
127
128## 1.0.2
129
130- **Fix:** Fix bug where changes to recent versions of BrowserSync broke server initialization logging.
131
132## 1.0.1
133
134- **Fix:** Upgrade `@mapbox/jsxtreme-markdown-loader` to get bug fix related to determining Markdown wrappers with a `getWrapper` function.
135
136## 1.0.0
137
138- No changes. Releasing 1.0 because the library has been stable enough that 1.0 will be good for semver.
139
140## 0.13.4
141
142- **Fix:** Use `NamedChunksPlugin` to improve long-term caching.
143
144## 0.13.3
145
146- **Fix:** Do not copy files specified by `unprocessedPageFiles` option if they are also ignored by `ignoreWithinPagesDirectory`.
147- **Fix:** Fix bug that caused the static build's Webpack config to look for certain dependencies, like `uglify-js`, in the wrong place.
148- **Fix:** Better errors for obscure parse errors from compiled `static-render-pages.js`.
149
150## 0.13.2
151
152- **Fix:** `outputDirectory` and `temporaryDirectory` do not have to exist as part of config validation.
153
154## 0.13.1
155
156- **Fix:** Add Prettier to `dependencies`, not just `devDependencies`.
157- **Fix:** Provide more clear error messages by checking for the existing of files or directories while validating configuration for the following options: `applicationWrapperPath`, `pagesDirectory`, `outputDirectory`, `temporaryDirectory`, `inlineJs`.
158- **Fix:** Fix buggy validation of `inlineJs` configuration property.
159
160## 0.13.0
161
162- **Add:** Add `ignoreWithinPagesDirectory` option.
163
164## 0.12.1
165
166- **Fix:** Update jsxtreme-markdown dependencies to get bug fix.
167
168## 0.12.0
169
170- **Add:** Add `publicAssetsPath` option.
171- **Fix:** Slight improvement to filename hashing for long-term caching.
172- **Fix:** Remove `strip-color` from `vendorModules`, as it's no longer being used.
173- **Chore:** Allow for React 16 as peer dependency.
174- **Chore:** Update all other dependencies.
175
176## 0.11.4
177
178- **Fix:** Fragments in the URL take precedence over scrolling to the top of pages on dynamic route changes.
179
180## 0.11.3
181
182- **Fix:** Fragments in the URL take precedence over saved scroll positions in the history.
183
184## 0.11.2
185
186- **Fix:** Development server does not quit the process when there are Webpack compilation errors.
187 Instead, you can just fix them and rebuild.
188
189## 0.11.1
190
191- **Fix:** Remove imports of `batfish-internal/context` from public modules.
192 These break unit tests, or any other reference to the file outside of Batfish's builds.
193
194## 0.11.0
195
196- **Add:** Add `babelPresetEnvOptions` option.
197- **Add:** Enable page-specific CSS.
198 See ["Page-specific CSS" documentation](docs/advanced-usage.md#page-specific-css).
199- **Fix:** Prevent two simultaneous Webpack compilations from messing with each other when a page file changes.
200
201## 0.10.4
202
203- **Fix:** Restructure directories to be more friendly for Flow-using consumers.
204
205## 0.10.3
206
207- **Fix:** Don't hijack links that aren't to Batfish routes.
208 Refactoring in 0.10.0 introduced this bug.
209
210## 0.10.2
211
212- **Fix:** Include more files in npm package ...
213
214## 0.10.1
215
216- **Fix:** Include `dist/` in npm package. Oops.
217
218## 0.10.0
219
220- 🚨 **Breaking change:** Require Node 6. (Drop support for Node 4.)
221- 🚨 **Breaking change:** Remove `staticDirectory` option.
222 The same effect can be accomplished by putting static files in the pages directory.
223- 🚨 **Breaking change:** `with-location` now provides the original component at WrappedComponent instead of WrapperComponent.
224- 🚨 **Breaking change:** change `data-no-hijack` attribute name to `data-batfish-no-hijack`.
225 Also, this attribute now blocks link hijacking on the element itself *and all its children*.
226- 🚨 **Breaking change:** (maybe, maybe not) Links with fragment URLs (e.g. `href="#foo"`) are not hijacked, just left to their default behavior.
227- **Add:** Much improved logging!
228- **Add:** Much improved configuration validation!
229- **Add:** Much improved error handling!
230- **Add:** `hijackLinks` configuration option, defaulting to `true`.
231- **Add:** Improve `prefixUrl` to work with already-prefixed URLs and absolute URLs.
232- **Add:** Add `unprocessedPageFiles` option.
233- **Add:** Include `babel-plugin-transform-class-properties` by default.
234- **Add:** `start` now rebuilds when you change a page's front matter, create a new page, or delete a page.
235- **Fix:** Update postcss-html-filter to fix bugs inlining CSS with certain pseudo selectors.
236
237## 0.9.4
238
239- **Fix:** Do not rebase URLs in CSS that have protocols.
240
241## 0.9.2
242
243- **Fix:** Fix the url-referenced assets in CSS are copied and rebased for the static build.
244- **Fix:** Ensure that the user's versions of react, react-dom, and react-helmet are used.
245
246## 0.9.1
247
248- **Fix:** Assets referenced by `url()` in CSS you include with the `stylesheets` option are copied into the `outputDirectory`.
249
250## 0.9.0
251
252- 🚨 **Breaking change:** Revised `dataSelectors` system.
253 Values returned by `dataSelectors` can now be used by `import`ing modules from `@mapbox/batfish/data/[data-selector-name]`, instead of using the special `injectedData` front matter property.
254 For example, the return value from the `dataSelectors.watchOutForBees` is available with `import beeData from '@mapbox/batfish/data/watch-out-for-bees';`.
255
256## 0.8.0
257
258- **Addition:** `includePromisePolyfill` configuration option.
259- **Fix:** Batfish will inject its specified version of `es6-promise` even if something about your dependency resolution ends up putting an older version of that polyfill at `node_modules/es6-promise`.
260
261## 0.7.0
262
263- 🚨 **Breaking change:** Renamed `externalStylesheets` option to `stylesheets`.
264- 🚨 **Breaking change:** CSS is no longer `import`ed or `require`d via Webpack.
265 All stylesheets should be listed in the `stylesheets` configuration array.
266- 🚨 **Breaking change:** Renamed `wrapperPath` option to `applicationWrapperPath`.
267- 🚨 **Breaking change:** Removed `notFoundPath` option.
268 Instead, 404 pages always live as `404.(js|md)` in the `pagesDirectory`.
269- 🚨 **Breaking change:** 404 pages are no longer `index.html` files inside directories, e.g. `404/index.html`.
270 They are just HTML pages, e.g. `404.html`.
271- 🚨 **Breaking change:** Changed default `outputDirectory` from `_site` to `_batfish_site`.
272- 🚨 **Breaking change:** Changed default `temporaryDirectory` from `_tmp` to `_batfish_tmp`.
273- 🚨 **Breaking change:** Upgrade jsxtreme-markdown, which changed `modules` front matter property in Markdown pages to `prependJs`.
274
275## 0.6.0
276
277- **Addition:** `webpackStaticIgnore` configuration option.
278- **Fix:** Links with fragment identifiers.
279 Only scroll to the top of the page after the URL changes if the location's pathname changes and if there is no fragment identifier in the URL.
280- **Fix:** Use ES2015 named imports for default `modules` values in `jsxtreme-markdown` documents.
281
282## 0.5.0
283
284- Changed `batfish/md` path, for Babel-compiled Markdown in JS pages, to `@mapbox/batfish/modules/md`.
285- Switched ES2015 module compilation from Webpack's system to Babel's ES2015 preset.
286- Use [worker-farm](https://github.com/rvagg/node-worker-farm) for inlining CSS in static HTML files.
287- Upgrade Webpack to v3.
288- Use external [@mapbox/link-to-location](https://github.com/mapbox/link-to-location) package, delete local version.
289- Put BrowserSync in `offline` mode.
290- Upgrade jsxtreme-markdown to get some bug fixes.
291
292## 0.4.0
293
294- It begins.