UNPKG

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