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.
|