UNPKG

71.8 kBMarkdownView Raw
1# Changelog
2
3All notable consumer-facing changes are documented in this file. For a concise guide to updating sewing-kit, see [the migration guide](./migration-guide.md).
4
5The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6and from `v0.7.0`, this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
8<!-- ## [Unreleased] -->
9
10## [0.77.0] - 2019-03-14
11
12### Added
13
14`sewing-kit type-check` now checks service-worker code using `service-worker/tsconfig.json` (when available) [[[#1175](https://github.com/Shopify/sewing-kit/pull/1175)]
15
16## [0.76.1] - 2019-03-12
17
18### Fixed
19
20- `graphql-typescript-definitions` upgraded to eliminate peer dependency warning on `graphql-typed@^0.2.0` [[#1173](https://github.com/Shopify/sewing-kit/pull/1173)]
21
22## [0.76.0] - 2019-03-11
23
24### Updated
25
26- `graphql` and GraphQL related utilities have been upgraded to version 14 [[#1171](https://github.com/Shopify/sewing-kit/pull/1171)]
27
28## [0.75.4] - 2019-03-08
29
30### Updated
31
32- Updated `graphql-tool-utilities`, `graphql-typescript-definitions`, and `graphql-validate-fixtures` to latest versions [[#1170](https://github.com/Shopify/sewing-kit/pull/1170)]
33
34## [0.75.3] - 2019-03-04
35
36### Added
37
38- Actionable feedback for build out of memory errors [[#1167](https://github.com/Shopify/sewing-kit/pull/1167)]
39
40## [0.75.2] - 2019-03-02
41
42### Fixed
43
44- Fixed race condition in GraphQL schema file writes (again) [[#1166](https://github.com/Shopify/sewing-kit/pull/1166)]
45
46### Updated
47
48- Updated the `@shopify/browserslist-config` dependency to the latest version
49
50## [0.75.1] - 2019-02-25
51
52### Updated
53
54- Upgraded to a more recent dependency on `graphql-typed`
55
56## [0.75.0] - 2019-02-25
57
58### Added
59
60- The `@shopify/async` Babel transform is now run when compiling tests, which allows modules using this package to be resolved synchronously for testing environments [[#1161](https://github.com/Shopify/sewing-kit/pull/1161)]
61
62## [0.74.2] - 2019-02-25
63
64### Fixed
65
66- Failed compilation always outputs errors [[#1160](https://github.com/Shopify/sewing-kit/pull/1160)]
67
68## [0.74.1] - 2019-02-22
69
70### Added
71
72- Build processes can be debugged via `--debug` [[#1151](https://github.com/Shopify/sewing-kit/pull/1151)]
73
74### Fixed
75
76- Fixed race condition in GraphQL schema file writes [[#1158](https://github.com/Shopify/sewing-kit/pull/1158)]
77
78## [0.74.0] - 2019-02-14
79
80### Changed
81
82- sewing-kit now uses an environment-specific `tsconfig.json`s if one is present in `/service-worker`.
83
84## [0.73.2] - 2019-02-11
85
86### Fixed
87
88- `vendor.js` no longer serves malformed JavaScript during recompile/browser refresh workflows [[#1147](https://github.com/Shopify/sewing-kit/pull/1147)]
89
90## [0.73.1] - 2019-02-10
91
92### Fixed
93
94- `@shopify/react-graphql` can now have the bundles it creates extracted, like `@shopify/react-async` does.
95
96## [0.73.0] - 2019-02-10
97
98### Added
99
100- The manifest created by sewing kit now includes details about bundles split with dynamic imports under the `asyncAssets` key [[#1140](https://github.com/Shopify/sewing-kit/pull/1140)]
101- Added the new `@shopify/async/babel` plugin to support the upcoming `@shopify/react-async` and `@shopify/react-graphql` packages [[#1143](https://github.com/Shopify/sewing-kit/pull/1143)]
102- The `sewing-kit type-check` command now accepts a `--heap` option for specifying the amount of heap space to give TypeScript [[#1142](https://github.com/Shopify/sewing-kit/pull/1142)]
103
104## [0.72.0] - 2019-02-06
105
106### Added
107
108- Service workers built using Sewing Kit can now import `@shopify/sewing-kit-asset-manifest` to get access to the paths of all of the built client assets. [#1139](https://github.com/Shopify/sewing-kit/pull/1139)
109
110### Fixed
111
112- The `externals` plugin no longer breaks service-worker builds that attempt to import libraries from `node_modules`. [[#1141](https://github.com/Shopify/sewing-kit/pull/1141)]
113
114## [0.71.0] - 2019-01-25
115
116### Added
117
118- The `graphql` plugin now accepts a `customScalars` option, which is passed directly to the [`graphql-typescript-definitions` option](https://github.com/Shopify/graphql-tools-web/tree/master/packages/graphql-typescript-definitions#--custom-scalars) responsible for generating custom type definitions for GraphQL custom scalars.
119
120### Changed
121
122- The generation of TypeScript types for union and intersection GraphQL fields was changed in cases where all implementing types are queried (the [`graphql-typescript-definitions` changelog](https://github.com/Shopify/graphql-tools-web/blob/master/packages/graphql-typescript-definitions/CHANGELOG.md#0150---2019-01-22) has more details)
123
124## [0.70.1] - 2019-01-22
125
126### Fixed
127
128- Fixed `sewing-kit playground` showing a blank screen [#1135](https://github.com/Shopify/sewing-kit/pull/1135)
129
130## [0.70.0] - 2019-01-22
131
132### Added
133
134- `sewing-kit dev` now sets a [`Timing-Allow-Origin` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Timing-Allow-Origin) on all assets
135- `sewing-kit start --asset-server-only` now sets a [`Timing-Allow-Origin` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Timing-Allow-Origin) on all assets
136
137### Fixed
138
139- `sewing-kit dev` no longer incorrectly appends `react-hot-loader` imports to `service-worker` bundles [[#1132](https://github.com/Shopify/sewing-kit/pull/1132)]
140- `sewing-kit start` once again runs the `service-worker` build as well as `client` and `server` [[#1132](https://github.com/Shopify/sewing-kit/pull/1132)]
141
142### Changed
143
144- Pass envName into rollup's babel plugin so logic based on environment gets triggered correctly [[#1128](https://github.com/Shopify/sewing-kit/pull/1128)]
145- Updated `babel-plugin-shopify` to `17.0.1` to fix cases where envName was not honored [[#1128](https://github.com/Shopify/sewing-kit/pull/1128)]
146
147## [0.69.1] - 2019-01-17
148
149### Fixed
150
151- Update `hard-source-webpack-plugin` to `0.13.1` to prevent errors with default exports [[#1121](https://github.com/Shopify/sewing-kit/issues/1121)]
152- Updated our PostCSS preset to prevent potentially dangerous CSS transformations in production environments.
153
154## [0.69.0] - 2019-01-09
155
156### Changed
157
158- Upgrade `stylelint-config-shopfiy` to `7.1.0` [[#1123](https://github.com/Shopify/sewing-kit/pull/1123)]
159- Updated `rollup` dependencies [[#1115](https://github.com/Shopify/sewing-kit/pull/1115)]:
160 - `rollup` is now at `1.0.2`
161 - `rollup-plugin-babel` is now at `4.2.0`
162 - `rollup-plugin-commonjs` is now at `9.2.0`
163 - `rollup-plugin-json` is now at `3.1.0`
164 - `rollup-plugin-node-resolve` is now at `4.0.0`
165
166### Fixed
167
168- Fixed an issue where the new build commands could hang in some environments [[#1124](https://github.com/Shopify/sewing-kit/pull/1124)]
169
170## [0.68.3] - 2019-01-07
171
172### Fixed
173
174- Tests with dynamic import statements now compile correctly [[#1120](https://github.com/Shopify/sewing-kit/pull/1120)]
175
176## [0.68.2] - 2019-01-04
177
178### Added
179
180- `sewing-kit build` now accepts a `--baseline-only` flag that builds only the "full" browser support version of the bundle for Node projects [[#1119](https://github.com/Shopify/sewing-kit/pull/1119)]
181
182### Fixed
183
184- `sewing-kit build --report` now correctly generates a report in the nested build directories for Node projects [[#1119](https://github.com/Shopify/sewing-kit/pull/1119)]
185
186## [0.68.1] - 2019-01-04
187
188### Fixed
189
190- Non-script/ style assets are now served correctly in development for node projects [[#1118](https://github.com/Shopify/sewing-kit/pull/1118)]
191
192## [0.68.0] - 2019-01-03
193
194### Changed
195
196- `sewing-kit build` now generates two different versions of client assets for Node projects: one targeting the "baseline" browser support for the project, and the other targeting only the latest version of evergreen browsers [[#1096](https://github.com/Shopify/sewing-kit/pull/1096)]
197- `sewing-kit build` no longer targets a hardcoded set of browsers for the client build, and instead uses your project’s [browserslist config](https://github.com/browserslist/browserslist) [[#1096](https://github.com/Shopify/sewing-kit/pull/1096)]
198- `sewing-kit dev` now defaults to a build that only targets the latest evergreen browsers [[#1096](https://github.com/Shopify/sewing-kit/pull/1096)]
199- `sewing-kit dev` and `sewing-kit playground` now support a `--browser` option to specify what target to use for the build. Valid options are `chrome`, `firefox`, `safari`, `edge` (will be the latest version of the specified browser), `evergreen` (same as default), or `supported` (full browser support for the project) [[#1096](https://github.com/Shopify/sewing-kit/pull/1096)]
200- Builds are now run in separate processes to prevent memory exhaustion [[#1096](https://github.com/Shopify/sewing-kit/pull/1096)]
201- `sewing-kit build` now supports a `--heap` option to set the amount of memory allocated to each spawned build process [[#1096](https://github.com/Shopify/sewing-kit/pull/1096)]
202
203### Updated
204
205- Updated to the latest version version of Babel, PostCSS, and related dependencies [[#1096](https://github.com/Shopify/sewing-kit/pull/1096)]
206
207### Removed
208
209- Removed the `build-parallel` command [[#1096](https://github.com/Shopify/sewing-kit/pull/1096)]
210
211## [0.67.4] - 2019-01-03
212
213### Added
214
215- `service-worker` builds now generate an asset manifest.
216
217## [0.67.3] - 2019-01-03
218
219### Fixed
220
221- Using the `--focus` flag now works better for projects using React Router 4 [[#1112](https://github.com/Shopify/sewing-kit/pull/1112)]
222- `sewing-kit lint` no longer crashes on unparsable files.
223
224### Added
225
226- Invalid `sewing-kit` commands now result in a recommended replacement command [[#1114](https://github.com/Shopify/sewing-kit/pull/1114)]
227
228## [0.67.2] - 2018-12-14
229
230### Fixed
231
232- `sewing-kit dev` now runs the server with `NODE_ENV=development` in node projects [[#1110](https://github.com/Shopify/sewing-kit/pull/1110)]
233
234## [0.67.1] - 2018-12-13
235
236### Fixed
237
238- `sewing-kit clean` is now better at cleaning out legacy generated GraphQL types files [[#1108]](https://github.com/Shopify/sewing-kit/pull/1108)
239
240### Added
241
242- A third type of build is now supported for projects with a top level `service-worker` folder. These will be built targetting `webworker` to the `build/service-worker` folder. [[#1106](https://github.com/Shopify/sewing-kit/pull/1106)]
243
244### Changed
245
246- `worker` is no longer a special-cased entry name [[#1106](https://github.com/Shopify/sewing-kit/pull/1106)]
247
248## [0.67.0] - 2018-12-04
249
250### Fixed
251
252- Forced `sewing-kit lint` to print all output in a case where it used to silently fail [[#1105](https://github.com/Shopify/sewing-kit/pull/1105)]
253
254### Changed
255
256- Non-icon image files smaller than 10KB are no longer embedded in JavaScript [[#1093](https://github.com/Shopify/sewing-kit/pull/1093)]
257
258## [0.66.0] - 2018-11-29
259
260### Changed
261
262- The latest `graphql-typescript-definitions` no longer accepts files for `schemaTypesPath`, but accepts directories instead. [[#1100](https://github.com/Shopify/sewing-kit/pull/1100)]
263
264## [0.65.1] - 2018-11-28
265
266### Fixed
267
268- `sewing-kit dev` displays compilation errors again [[#1103](https://github.com/Shopify/sewing-kit/pull/1103)]
269
270## [0.65.0] - 2018-11-27
271
272### Added
273
274- `worker` is now a special-cased entry name that will output a server worker file to `build/cient` [[#1098](https://github.com/Shopify/sewing-kit/pull/1098)]
275
276### Changed
277
278- `bugsnag` entries are no longer exempted from autoincluded globals [[#1098](https://github.com/Shopify/sewing-kit/pull/1098)]
279- Better cache identifiers [[#1053](https://github.com/Shopify/sewing-kit/pull/1053)]
280
281### Added
282
283- `sewing-kit test` now supports `--testNamePattern` to focus on a single test [[#1094](https://github.com/Shopify/sewing-kit/pull/1094)]
284
285### Fixed
286
287- adding multiple server entrypoints no longer hangs indefinitely in dev [[#1097](https://github.com/Shopify/sewing-kit/pull/1097)]
288
289## [0.64.4] - 2018-11-14
290
291### Changed
292
293- Typechecking is no longer performed during test runs [[#1082](https://github.com/Shopify/sewing-kit/pull/1082)]
294
295## [0.64.3] - 2018-11-14
296
297### Fixed
298
299- `sewing-kit build --watch` no longer hangs when a `graphql-config` project has no defined `includes` [[#1084](https://github.com/Shopify/sewing-kit/pull/1084)]
300
301## [0.64.2] - 2018-11-11
302
303### Fixed
304
305- Development cache should be fully warm after first compilation [[#1080](https://github.com/Shopify/sewing-kit/pull/1080)]
306
307## [0.64.1] - 2018-11-10
308
309### Fixed
310
311- Node app server restarts no longer fail on port conflicts when yarn>=1.11 is installed [[#1079](https://github.com/Shopify/sewing-kit/pull/1079)]
312
313## [0.64.0] - 2018-11-10
314
315### Added
316
317- `.mjs` files are now compiled
318
319### Changed
320
321- `sewing-kit test --coverage` now writes to `build/coverage` [[#1063](https://github.com/Shopify/sewing-kit/pull/1063)]
322- `sewing-kit test --coverage` defaults to creating text-summary, html and lcov reports [[#1063](https://github.com/Shopify/sewing-kit/pull/1063)]
323- Successful builds now report their maximum heap size on completion [[#1069](https://github.com/Shopify/sewing-kit/pull/1069)]
324- Dependency updates (`image-webpack-loader`, `node-sass`, `ts-loader`, `webpack`) [[#1068](https://github.com/Shopify/sewing-kit/pull/1068)]
325
326### Fixed
327
328- Avoid time-consuming `stats.toJson` calls & compiler memory leaks [[#1064](https://github.com/Shopify/sewing-kit/pull/1064)]
329
330## [0.63.0] - 2018-11-02
331
332### Updated
333
334- Removed the `--json` and `--markdown` option from `sewing-kit lint` and `sewing-kit format` and replaced them with a new `--others` option [[#1024](https://github.com/Shopify/sewing-kit/pull/1024)]
335- Updated Prettier to v1.14.3 and taught `sewing-kit lint` and `sewing-kit format` how to format YAML files [[#1024](https://github.com/Shopify/sewing-kit/pull/1024)]
336- Updated many dependencies (webpack, webpack plugins, webpack dev tools, node-sass, stylelint, svgo) [[#1060](https://github.com/Shopify/sewing-kit/pull/1060)]
337
338## [0.62.0] - 2018-10-31
339
340### Added
341
342- Better out-the-box library support for `sewing-kit test`. Setting `library:true` in your sewing-kit.config.ts shall configure jest's modulePaths to look in the `src` directory. [[#1027]](https://github.com/Shopify/sewing-kit/pull/1027)
343
344### Changed
345
346- Updated `ts-jest` dependency to `~23.10.4`. [[#974](https://github.com/Shopify/sewing-kit/pull/974)]
347- Upgrade `eslint-plugin-shopfiy` to `26.1.0` (adds `typescript@3.1.1` support) [[#1038](https://github.com/Shopify/sewing-kit/pull/1038)]
348
349## [0.61.0] - 2018-10-22
350
351### Added
352
353- full `graphql-config` support for all commands and operations requiring schema configuration [[#956]](https://github.com/Shopify/sewing-kit/pull/956)
354
355## [0.60.3] - 2018-10-22
356
357### Fixed
358
359- Properly set the `Content-Type` header of the empty vendor js script to `application/javascript` [[#1017](https://github.com/Shopify/sewing-kit/pull/1017)]
360
361## [0.60.2] - 2018-10-16
362
363### Fixed
364
365- The latest `mini-css-extract-plugin` no longer causes invalid string replacements in builds [[#1016](https://github.com/Shopify/sewing-kit/pull/1016)]
366
367## [0.60.1] - 2018-10-16
368
369### Added
370
371- `sewing-kit test --no-graphql` now omits GraphQL operations [[#1009](https://github.com/Shopify/sewing-kit/pull/1009)]
372- `sewing-kit refresh-graphql --mode production` will now refresh production GraphQL files [[#1012](https://github.com/Shopify/sewing-kit/pull/1012)]
373
374### Fixed
375
376- `jest` module resolver now prefers `.js` modules over `.ts` or `.tsx` [[#1007](https://github.com/Shopify/sewing-kit/pull/1007)]
377- `sewing-kit clean` no longer fails on TypeScript + GraphQL projects when cleaned paths are missing [[#1013](https://github.com/Shopify/sewing-kit/pull/1013)]
378
379## [0.60.0] - 2018-10-15
380
381### Changed
382
383- Updating `eslint-plugin-shopify` to add support for `typescript-eslint-parser@19.0.2` [[#989](https://github.com/Shopify/sewing-kit/pull/989)]
384- `sewing-kit dev` type checks only when using the `--type-check` flag [[#999](https://github.com/Shopify/sewing-kit/pull/999)]
385- `sewing-kit-manifest.json#assets` now lists all emitted assets for the project, not just chunks. The structure is the same, but the values will now be an object under an `all` key, where the keys are indexes and the values at the file paths [[#992](https://github.com/Shopify/sewing-kit/pull/992)]
386
387### Fixed
388
389- Dynamic imports no longer break in SSR [[#997](https://github.com/Shopify/sewing-kit/pull/997)]
390- `lint --graphql=false` no longer performs graphql operations. [[#985](https://github.com/Shopify/sewing-kit/pull/985)]
391- `react-loadable` no longer crashes on anonymous assets with no dependencies [[#986](https://github.com/Shopify/sewing-kit/pull/986)]
392- `clean` command now removes generated schema types files. [[#993](https://github.com/Shopify/sewing-kit/pull/993)]
393
394## [0.59.0] - 2018-09-27
395
396### Added
397
398- Fail compilation when Typescript is not installed and the project uses `.ts`/`.tsx` files. [[#910](https://github.com/Shopify/sewing-kit/issues/910)]
399- Fail compilation when React is not installed and the project uses `.jsx`/`.tsx` files. [[#955](https://github.com/Shopify/sewing-kit/issues/955)]
400- `type-check` supports the `--watch` flag [[#890](https://github.com/Shopify/sewing-kit/pull/890)]
401- `sewing-kit dev` runs type-check in a separate non-blocking process [[#890](https://github.com/Shopify/sewing-kit/pull/890)]
402- New `refresh-graphql` command to only fetch and process GraphQL files [[#964](https://github.com/Shopify/sewing-kit/pull/964)]
403
404### Changed
405
406- Development vendor bundle now contains unminified sources (including the development version of React) [[#962](https://github.com/Shopify/sewing-kit/pull/962)]
407- Version bump stylelint and stylelint-config-shopify to latest versions [[#961](https://github.com/Shopify/sewing-kit/pull/961)]
408- graphql plugin will emit an informative warning instead of crashing if the `graphql-config` file is missing [[#959](https://github.com/Shopify/sewing-kit/pull/959)]
409- Upgrade `eslint` to `5.6.0`, `eslint-plugin-shopify` to `25.0.1`. Remove `eslint-plugin-graphql`. [[#972](https://github.com/Shopify/sewing-kit/pull/972)]
410
411### Fixed
412
413- `CI=true sewing-kit test --debug` no longer throws Jest exceptions [[#969](https://github.com/Shopify/sewing-kit/pull/969)]
414
415## [0.58.1] - 2018-09-13
416
417### Changed
418
419Exactly the same as 0.58.0. Needed to fix a markdown formatting issue.
420
421## [0.58.0] - 2018-09-13
422
423### Changed
424
425- Breaking change - improve Polaris tree shaking by consuming minimally transpiled js/scss [[#717](https://github.com/Shopify/sewing-kit/pull/717)]
426
427## [0.57.0] - 2018-09-11
428
429### Added
430
431- Multiple graphql schema support using `.graphqlconfig` files ([Prisma graphql-config](https://github.com/prisma/graphql-config) format via [`graphql-typescript-definitions`](https://github.com/Shopify/graphql-tools-web) as of `0.11.0`). [[#949](https://github.com/Shopify/sewing-kit/pull/949)]
432
433### Fixed
434
435- Server tests are now run when performing `sewing-kit test` locally. [[#904](https://github.com/Shopify/sewing-kit/pull/904)]
436
437### Removed
438
439- Removed `--app-only` and `--server-only` arguments from `sewing-kit test`. This functionality can be provided by passing in path matches. [[#904](https://github.com/Shopify/sewing-kit/pull/904)]
440
441## [0.56.1] - 2018-08-28
442
443### Fixed
444
445- "Hang tight" redirect script no longer 404s [[#907](https://github.com/Shopify/sewing-kit/pull/907)]
446
447## [0.56.0] - 2018-08-27
448
449### Added
450
451- Dashboard page with asset / compilation information [[#838](https://github.com/Shopify/sewing-kit/pull/838/files)]
452- Rails projects now automatically gzip js/css/svg assets [[#879](https://github.com/Shopify/sewing-kit/pull/879)]
453- Type-safe configuration & autocomplete via `sewing-kit.config.ts` files [[#798](https://github.com/Shopify/sewing-kit/pull/798)]
454
455### Fixed
456
457- No more 404 errors for projects without a `plugins.vendor` configuration [[#898](https://github.com/Shopify/sewing-kit/pull/898)]
458
459## [0.55.0] - 2018-08-25
460
461### Added
462
463- Support `staging` mode [[#853](https://github.com/Shopify/sewing-kit/pull/853)]
464- Readable error for missing stylelint config [[#873](https://github.com/Shopify/sewing-kit/pull/873)]
465- `sewing-kit manifest` includes a `path` property which the `sewing_kit` gem uses to reload development manifests quickly [[#865](https://github.com/Shopify/sewing-kit/pull/865)]
466
467### Changed
468
469- Stack-traces from error logs no longer output at any verbosity level below `debug` [[#866](https://github.com/Shopify/sewing-kit/pull/866)]
470- Simpler downloads for GraphQL schemas in CI [[#892](https://github.com/Shopify/sewing-kit/pull/892/files)]
471- Reduce linting noise by hiding GraphQL fixture passes (via a `graphql-validate-fixtures` update) [[#871](https://github.com/Shopify/sewing-kit/pull/871)]
472
473### Fixed
474
475- Fail fast with a descriptive error message when `dev.yml` uses `type: ruby` [[#861](https://github.com/Shopify/sewing-kit/pull/861)]
476- Fail fast with a descriptive error message when `railgun.yml` and `dev.yml` ports are misconfigured [[#861](https://github.com/Shopify/sewing-kit/pull/861)]
477- Do not use `dev` hostname when there `railgun.yml` does not exist [[#876](https://github.com/Shopify/sewing-kit/pull/876)]
478- Fix config validation when Procfile has nonstandard file extensions [[#886](https://github.com/Shopify/sewing-kit/pull/886)]
479- Allow TypeScript projects to have non-TypeScript entrypoints [[#882](https://github.com/Shopify/sewing-kit/pull/882)]
480- Faster `sewing-kit test` startup time [[#895](https://github.com/Shopify/sewing-kit/pull/895)]
481
482### Removed
483
484- The `env` object passed to `sewing-kit.config.js`'s callback no longer provides `env.isProductionClient` / `env.isProductionServer`
485
486## [0.54.0] - 2018-08-20
487
488### Added
489
490- 404 responses now display a list of available assets [[#831](https://github.com/Shopify/sewing-kit/pull/831)]
491- 👨‍💻 Gracefully error when typescript is not installed but the app entrypoint uses a `.ts`/`.tsx` file [[#852](https://github.com/Shopify/sewing-kit/pull/852)]
492- Show meaningful error messages `tsconfig.json` does not exist [[#841](https://github.com/Shopify/sewing-kit/pull/841)]
493
494### Changed
495
496- Update required version of `webpack-dev-server` to `^3.1.5` [[#850](https://github.com/Shopify/sewing-kit/pull/850)]
497- Use `stylelint-prettier` to format our styles instead of `prettier-stylelint-formatter`. This is a stylelint plugin that exposes prettier errors as stylelint linting errors rather than using a wrapper to run `prettier`, then `stylelint`. This is similar to how we handle prettier and eslint integration for our js/ts files. [[#808](https://github.com/Shopify/sewing-kit/pull/808)]
498- Return a default manifest file that contains a redirection script for the 'Hang Tight!' page when loading the manifest fails in a Rails dev environment. [[#834](https://github.com/Shopify/sewing-kit/pull/834)]
499- Update `jest` to version `^23.0.0` including `jest-watch-typeahead` watch plugins [[#666](https://github.com/Shopify/sewing-kit/pull/666)]
500
501### Fixed
502
503- Dev mode 404 responses shouldn't cause oblique CSP errors [[#831](https://github.com/Shopify/sewing-kit/pull/831)]
504
505## [0.53.1] - 2018-08-01
506
507### Fixed
508
509- Vendor DLL now consumes transpiled sources [[#787](https://github.com/Shopify/sewing-kit/pull/787)]
510
511## [0.53.0] - 2018-07-31
512
513### Added
514
515- Display asset server hosts/ports on startup [[#767](https://github.com/Shopify/sewing-kit/pull/767)]
516- Vendor DLL can now be removed via `sewing-kit clean --vendor-dll` [[#769](https://github.com/Shopify/sewing-kit/pull/769)]
517- All commands accept user-provided log level via `--log-level` [[#722](https://github.com/Shopify/sewing-kit/pull/772)]
518
519### Changed
520
521- Update dependency `stylelint-config-shopify@5.1.2` [[#754](https://github.com/Shopify/sewing-kit/pull/754)]
522- Node apps with a `railgun.yml` host now serve development assets via `http://<railgun host>/webpack/assets` [[#763](https://github.com/Shopify/sewing-kit/pull/763)]
523- Rails only - all non-`development` environments now default to `/bundles` as a public path [[#764](https://github.com/Shopify/sewing-kit/pull/764)]
524- Consistent output message format [[#768](https://github.com/Shopify/sewing-kit/pull/768)]
525- GraphQL support is now activated using `plugins.graphql` [[#735](https://github.com/Shopify/sewing-kit/pull/735/files)]
526
527### Fixed
528
529- Remove `--fix` arg from lint/format suggestion [[#777](https://github.com/Shopify/sewing-kit/pull/777)]
530- Upgraded to latest version of GraphQL/ TypeScript dependencies, which fixes issues with TypeScript types of GraphQL unions [[#778](https://github.com/Shopify/sewing-kit/pull/778)]
531
532### Removed
533
534- Remove logic for long-deprecated `dev.yml#railgun.proxy` config [[#766](https://github.com/Shopify/sewing-kit/pull/766)]
535
536## [0.52.0] - 2018-07-18
537
538### Added
539
540- `sewing-kit lint` now accepts `--no-json`. Use `--no-json` to stop linting of JSON files in your project.
541
542### Changed
543
544- Breaking change - Upgraded to `eslint-plugin-shopify@23.0.0` [[#755](https://github.com/Shopify/sewing-kit/pull/755)]
545 - Please refer to the `eslint-plugin-shopify` [release notes](https://github.com/Shopify/eslint-plugin-shopify/releases/tag/v23.0.0) to understand why your `lint` is failing
546
547### Fixed
548
549- `lint` now passes the `--styles` value down to Prettier instead of assuming styles should be always be linted [[#752](https://github.com/Shopify/sewing-kit/pull/752)]
550
551## [0.51.1]
552
553### Fixed
554
555- Fix Rails integration tests by outputting to `public/bundles` again [[#750](https://github.com/Shopify/sewing-kit/pull/750)]
556
557## [0.51.0]
558
559### Changed
560
561- Prefer many small bundles over fewer large bundles [[#747](https://github.com/Shopify/sewing-kit/pull/747)]
562- Added integrity sha to react-loadable.json async chunk manifest for subresource integrity on CDN requests [[#739](https://github.com/Shopify/sewing-kit/pull/739)]
563
564### Fixed
565
566- Don't report erroneous module shaking information [[#746](https://github.com/Shopify/sewing-kit/pull/746)]
567
568## [0.50.1]
569
570### Changed
571
572- Update dependency `stylelint-config-shopify@5.1.1` [[#744](https://github.com/Shopify/sewing-kit/pull/744)]
573
574## [0.50.0]
575
576### Added
577
578- Cache SVG icons [[#722](https://github.com/Shopify/sewing-kit/pull/722)]
579- Fail on unexpected CSS side-effect module removal [[#728](https://github.com/Shopify/sewing-kit/pull/728/files)]
580- `--focus` option to only build selected sections for `sewing-kit dev` and `sewing-kit build` [[#734](https://github.com/Shopify/sewing-kit/pull/734)]
581
582### Changed
583
584- Update dependencies (`webpack@4.14.0`, `hard-source@0.9.0`, `yargs@12.0.1`) [[#730](https://github.com/Shopify/sewing-kit/pull/730)]
585- Update dependencies (`babel-loader@7.1.5`, `webpack@4.15.1`, `hard-source@0.10.1`, `node-sass@4.9.1`) [[#743](https://github.com/Shopify/sewing-kit/pull/743)]
586
587### Fixed
588
589- Don't overload CI servers with many parallel Uglify threads [[#721](https://github.com/Shopify/sewing-kit/pull/721)]
590- Fix webpack plugin deprecation warnings during compilation [[#738](https://github.com/Shopify/sewing-kit/pull/738/files)]
591- `sewing-kit playground` no longer exits with an error for Vim users [[#740](https://github.com/Shopify/sewing-kit/pull/740)]
592- Playgrounds now automatically open with the cursor positioned at the most likely line/column for editing content [[#740](https://github.com/Shopify/sewing-kit/pull/740)]
593
594## [0.49.1]
595
596### Fixed
597
598- Ignore TypeScript import/export errors in `test` mode builds [[#716](https://github.com/Shopify/sewing-kit/pull/716)]
599
600## [0.49.0]
601
602### Changed
603
604- Breaking: upgraded all GraphQL-related dependencies. All tools now rely on a minimum of `graphql@0.13.0`. Additionally, the upgraded version of `typescript-graphql-definitions` generates a different structure for type definitions in order to more accurately represent union and interface types. This may require updates to your type references. [[#671](https://github.com/Shopify/sewing-kit/pull/671)]
605
606## [0.48.2] - 2018-06-19
607
608### Changed
609
610- Upgrade `uglifyjs-webpack-plugin` [[#709](https://github.com/Shopify/sewing-kit/pull/709)]
611- Disable image/icon caching (while investigating issues with `.png` generation in `web`) [[#710](https://github.com/Shopify/sewing-kit/pull/710)]
612
613## [0.48.1] - 2018-06-19
614
615### Added
616
617- `sewing-kit start` now accepts `--client-heap-size` / `--server-heap-size` [[#707](https://github.com/Shopify/sewing-kit/pull/707)]
618- svg/image loader results are now cached [[#708](https://github.com/Shopify/sewing-kit/pull/708)]
619- Production CSS loader results are now cached [[#708](https://github.com/Shopify/sewing-kit/pull/708)]
620
621## [0.48.0] - 2018-06-19
622
623Do not use this release. This is an incorrectly published version of the 0.47.0 release.
624
625## [0.47.1] - 2018-06-18
626
627### Changed
628
629- Run `react-loadable/babel` on server code as well [[#685](https://github.com/Shopify/sewing-kit/pull/685)]
630
631## [0.47.0] - 2018-06-18
632
633### Added
634
635- Added markdown support to `sewing-kit {check,lint,format}` [[#680](https://github.com/Shopify/sewing-kit/pull/680)]
636- `sewing-kit start` now compiles client/server in parallel [[#688](https://github.com/Shopify/sewing-kit/pull/688)]
637- Faster cold TypeScript server compilation via shared cache [[#699](https://github.com/Shopify/sewing-kit/pull/699/files)]
638
639### Changed
640
641- Upgraded to `prettier@1.13.5` [[#679](https://github.com/Shopify/sewing-kit/pull/679)]
642- Upgraded patch dependencies (`sass-loader`, `source-map-support`, `stylelint`) [[#690](https://github.com/Shopify/sewing-kit/pull/690)]
643- Upgraded dependencies: major (`babel-jest`) and minor (`babel-plugin-lodash`, `hard-source-webpack-plugin`, `image-webpack-loader`, `ts-loader`, `webpack`) [[#603](https://buildkite.com/shopify/sewing-kit/builds/603)]
644- Upgraded `webpack-uglifyjs-plugin` fork [[#693](https://github.com/Shopify/sewing-kit/pull/693)]
645- webpack-related caches are now stored in `build/cache/webpack` [[#697](https://github.com/Shopify/sewing-kit/pull/697)]
646- Cache JavaScript transpilation results [[#698](https://github.com/Shopify/sewing-kit/pull/698)]
647- Cache TypeScript transpilation results separately from production Babel transform results [[#701](https://github.com/Shopify/sewing-kit/pull/701)]
648
649### Fixed
650
651- The message `start from scratch with 'yarn sewing-kit clean'` when using the [vendors plugin](https://github.com/Shopify/sewing-kit/blob/master/docs/plugins/vendors.md) has been amended to include `--cache` to ensure the cache will actually be cleaned [[#681](https://github.com/Shopify/sewing-kit/issues/681)]
652- `--source-maps off` should completely disable sourcemaps [[#687](https://github.com/Shopify/sewing-kit/pull/687)], [[#694](https://github.com/Shopify/sewing-kit/pull/694)]
653- Pass consistent `BABEL_ENV` to Babel transforms [[#702](https://github.com/Shopify/sewing-kit/pull/702)]
654- Fix Polaris quirks in development by reverting to `react-hot-loader@3.1.3` [[#703](https://github.com/Shopify/sewing-kit/pull/703)]
655
656## [0.46.0] - 2018-06-08
657
658### Added
659
660- Improves client/server React hydration of async routes via `plugins.experiments({reactLoadable: true})` [[#668](https://github.com/Shopify/sewing-kit/pull/668)]
661 - See [shopify/web](https://github.com/Shopify/web/pull/4513/files) for more details on enabling code splitting & SSR
662 - See [`react-loadable`](https://github.com/jamiebuilds/react-loadable) for additional documentation
663
664### Changed
665
666- Use 3 jest workers on shopify-build [[#678](https://github.com/Shopify/sewing-kit/pull/678)]
667
668### Fixed
669
670- Playgrounds now work with `@shopify/polaris@2.x` [[#677](https://github.com/Shopify/sewing-kit/pull/677)]
671
672## [0.45.6] - 2018-06-06
673
674### Changed
675
676- Allow custom build paths for production Rails apps [[#674](https://github.com/Shopify/sewing-kit/pull/674)]
677
678## [0.45.5] - 2018-05-31
679
680### Added
681
682- Added `asset-server-only` flag to `sewing-kit start` [[#665](https://github.com/Shopify/sewing-kit/pull/665)]
683
684### Changed
685
686- `sewing-kit type-check` and `sewing-kit check` now output concise, readdable errors upon failure [[#670](https://github.com/Shopify/sewing-kit/pull/670)]
687
688## [0.45.4] - 2018-05-24
689
690### Changed
691
692- `sewing-kit test` now uses 5 worker threads in `shopify-build` [[#663](https://github.com/Shopify/sewing-kit/pull/663)]
693
694## [0.45.3] - 2018-05-17
695
696### Added
697
698- If `package.json#sideEffects` is configured to eliminate dead code, production client builds will fail when modules are unexpectedly removed (exclusions can be added via `FailOnUnexpectedModuleShakingPlugin#exclude`)
699
700## [0.45.2] - 2018-05-14
701
702### Added
703
704- Retry production GraphQL schema download if it fails the first time [[#657](https://github.com/Shopify/sewing-kit/pull/657)]
705
706## [0.45.1] - 2018-05-10
707
708### Changed
709
710- TypeScript type/interface imports are now suppressed in development mode [[#655](https://github.com/Shopify/sewing-kit/pull/655)]
711
712## [0.45.0] - 2018-05-10
713
714### Changed
715
716- Breaking change - Upgraded to `webpack@4.8.1`, and latest `webpack-dev-server`, `webpack-hot-middleware`, etc [[#632](https://github.com/Shopify/sewing-kit/pull/632)]
717 - [`split-chunks-plugin`](https://webpack.js.org/plugins/split-chunks-plugin/) provides much better code splitting
718 - [`mini-css-extra-plugin`](https://github.com/webpack-contrib/mini-css-extract-plugin) allows CSS to be split by chunk (`extract-text-webpack-plugin` was removed)
719- Breaking change - Many dependency updates (including `node-sass`, `stylelint`, `react-hot-loader`) [[#650](https://github.com/Shopify/sewing-kit/pull/650)]
720- `graphql-loader` results are now cached [[#652](https://github.com/Shopify/sewing-kit/pull/652)]
721- `ParallelUglifyPlugin` is always used for production client builds [[#648](https://github.com/Shopify/sewing-kit/pull/648)]
722 - Note: the above `webpack@4` upgrade obsoletes this change
723
724### Removed
725
726- Removed `parallelUglify` experiment toggle [[#648](https://github.com/Shopify/sewing-kit/pull/648)]
727- `Happypack` now leaves a thread free for general processing [[#649](https://github.com/Shopify/sewing-kit/commit/51c3998a9afe742cfd156ad9a4e785dcb0649937)]
728
729## [0.44.0] - 2018-05-08
730
731### Removed
732
733- Removed `fastProductionBuild` experiment [[#643](https://github.com/Shopify/sewing-kit/pull/643)]
734
735## [0.43.0] - 2018-05-08
736
737### Changed
738
739- Breaking change - updated [`eslint-plugin-shopify`](https://github.com/Shopify/eslint-plugin-shopify) to version `^22.0.0`
740
741### Migration suggestions
742
743- Upgrade to `typescript` version `2.7.2` or later
744
745## [0.42.0] - 2018-05-06
746
747### Added
748
749- `sewing-kit build` now accepts `--no-graphql` [[#638](https://github.com/Shopify/sewing-kit/pull/638)]
750
751### Changed
752
753- Module concatenation is always enabled for production client builds [[#634](https://github.com/Shopify/sewing-kit/pull/634)]
754
755### Fixed
756
757- Only display total build duration in client + server builds [[#639](https://github.com/Shopify/sewing-kit/pull/639)]
758
759## [0.41.1] - 2018-05-02
760
761### Fixed
762
763- `AssetMetadataPlugin` now creates the destination directory before writing the manifest, if necessary [[#625](https://github.com/Shopify/sewing-kit/pull/625)]
764
765## [0.41.0] - 2018-05-01
766
767### Changed
768
769- Breaking change - `sewing-kit-manifest.json#assets` now contains `public`-relative paths [[#624](https://github.com/Shopify/sewing-kit/pull/624)]
770- Breaking change - `AssetMetadataPlugin` no longer accepts a `path` option; manifests are always written to the build directory [[#624](https://github.com/Shopify/sewing-kit/pull/624)]
771
772### Fixed
773
774- Make `sewing-kit-inspect` executable [[#620](https://github.com/Shopify/sewing-kit/pull/620)]
775
776## [0.40.0] - 2018-04-29
777
778### Added
779
780- Cache `.scss` compilation [[#613](https://github.com/Shopify/sewing-kit/pull/613)]
781
782### Changed
783
784- Do not type check TypeScript in development mode [[#612](https://github.com/Shopify/sewing-kit/pull/612)]
785- `sewing-kit dev` now transpiles using `ts-loader`, and caches transpilation results [[#614](https://github.com/Shopify/sewing-kit/pull/614)]
786
787### Migration suggestions
788
789- Use `sewing-kit type-check` to check for type violations previously reported by `sewing-kit dev`
790
791## [0.30.1] - 2018-04-16
792
793### Added
794
795- Log schema download times in CI [[#605](https://github.com/Shopify/sewing-kit/pull/605)]
796
797## [0.30.0] - 2018-04-15
798
799### Added
800
801- Better timing information for `sewing-kit dev` and `sewing-kit build` [[#600](https://github.com/Shopify/sewing-kit/pull/600)]
802
803### Changed
804
805- Breaking change - `fastStartup` is usable in test/production environments [[#596](https://github.com/Shopify/sewing-kit/pull/596)]
806- Breaking change - `sewing-kit build --report` no longer generates a `stats.json` file [[#604](https://github.com/Shopify/sewing-kit/pull/604)]
807- Do not limit jest's `maxWorker` count in BuildKite CI containers [[#602](https://github.com/Shopify/sewing-kit/pull/602/files)]
808
809### Fixed
810
811- `sewing-kit lint` no longer fails if Prettier is not configured [[#481](https://github.com/Shopify/sewing-kit/issues/481)]
812- React now generates readable stacktraces for errors thrown by dynamically imported chunks [[#598](https://github.com/Shopify/sewing-kit/pull/598)]
813
814### Removed
815
816- Breaking change - removed `sewing-kit check`'s `--build` option [[#599](https://github.com/Shopify/sewing-kit/pull/599)]
817
818### Migration suggestions
819
820- If `sewing-kit.config.js` enables `fastStartup`, use `env` conditions to limit its inclusion
821 - Rule of thumb: disable in `development` if HMR is essential to the development experience
822- If a project depends on a generated `build/client/bundle-analysis/stats.json` file, use `plugins.webpack` to set `BundleAnalyzerPlugin.generateStatsFile` to `true`
823
824## [0.29.17] - 2018-04-10
825
826### Fixed
827
828- `sewing-kit lint` now outputs parser exceptions, if necessary [[#588](https://github.com/Shopify/sewing-kit/pull/588)]
829- `codeframe` formatter is now used for lint output [[#566](https://github.com/Shopify/sewing-kit/pull/566)]
830
831## [0.29.16] - 2018-04-08
832
833### Changed
834
835- `sewing-kit dev --log-react-updates` to debug excess React rerenders [[#547](https://github.com/Shopify/sewing-kit/pull/547)]
836- `sewing-kit lint` no longer outputs stacktraces when stylelint fails [[#584](https://github.com/Shopify/sewing-kit/pull/584)]
837
838## [0.29.15] - 2018-03-25
839
840### Added
841
842- `playground --force` overwrites all existing playground files [[#577](https://github.com/Shopify/sewing-kit/pull/577)]
843
844### Changed
845
846- `playground` only writes files that don't exist yet [[#577](https://github.com/Shopify/sewing-kit/pull/577)]
847- `build --reports` should not throw memory exceptions in large projects [[#575](https://github.com/Shopify/sewing-kit/pull/575)]
848
849## [0.29.14] - 2018-03-12
850
851### Added
852
853- Allow debug without pausing on startup (via `sewing-kit-inspect`) [[#563](https://github.com/Shopify/sewing-kit/pull/563)]
854
855### Changed
856
857- Upgrade to `eslint-plugin-shopify@19.0.1` (fixes `shopify/jsx-no-hardcoded-content` rule) [[#562](https://github.com/Shopify/sewing-kit/pull/562)]
858
859### Migration suggestions
860
861- Enable `shopify/jsx-no-hardcoded-content` in your eslint config
862
863## [0.29.13] - 2018-03-06
864
865### Changed
866
867- `sewing-kit test --app-only` now includes tests in the `client` directory [[#552](https://github.com/Shopify/sewing-kit/pull/552)]
868
869## [0.29.12] - 2018-02-21
870
871### Added
872
873- Aliases for `sewing-kit` (`sk`) and `sewing-kit-debug` (`skd`) [[#539](https://github.com/Shopify/sewing-kit/pull/539)]
874
875## [0.29.11] - 2018-02-20
876
877### Changed
878
879- Update reference to webpack-parallel-uglify-plugin, preventing `npm install` from breaking [[#536](https://github.com/Shopify/sewing-kit/pull/536)]
880- Upgrade devDependencies [[#533](https://github.com/Shopify/sewing-kit/pull/533)]
881
882## [0.29.10] - 2018-02-19
883
884### Added
885
886- `lint --show-expected` option that displays the expected output for files failing Prettier checks [[#535](https://github.com/Shopify/sewing-kit/pull/535)]
887
888## [0.29.9] - 2018-02-16
889
890### Changed
891
892- Upgrade to eslint-plugin-shopify@19.0.0 [[#532](https://github.com/Shopify/sewing-kit/pull/532)]
893
894## [0.29.7] / [0.29.8] - 2018-02-16
895
896### Changed
897
898- Support for code coverage when running `sewing-kit test` [[#531](https://github.com/Shopify/sewing-kit/pull/531)]
899
900## [0.29.6] - 2018-02-15
901
902### Changed
903
904- Support for `csv` and `ico` files is now enabled by default with Jest transform and Webpack `file-loader` [[#508](https://github.com/Shopify/sewing-kit/pull/508)]
905
906## [0.29.5] - 2018-02-14
907
908### Changed
909
910- Problematic packages are now stripped from the `plugins.vendor` list [[#528](https://github.com/Shopify/sewing-kit/pull/528)]
911
912## [0.29.4] - 2018-02-13
913
914### Fixed
915
916- Vendor DLL is now served from the correct directory [[#527](https://github.com/Shopify/sewing-kit/pull/527)]
917
918## [0.29.3] - 2018-02-12
919
920### Changed
921
922- Vendor DLL is now cached and reused between server starts [[#526](https://github.com/Shopify/sewing-kit/pull/526)]
923
924## [0.29.2] - 2018-02-11
925
926### Changed
927
928- `sewing-kit test` now uses 3 Jest workers (previously 2) [[#524](https://github.com/Shopify/sewing-kit/pull/524)]
929
930## [0.29.1] - 2018-02-08
931
932### Fixed
933
934- `sewing-kit start` now displays logs [[#520](https://github.com/Shopify/sewing-kit/pull/520)]
935
936## [0.29.0] - 2018-02-07
937
938### Changed
939
940- `--source-maps` CLI option now acceps `accurate`, `fast`, `off` values [[#513](https://github.com/Shopify/sewing-kit/pull/513), [#515](https://github.com/Shopify/sewing-kit/pull/515)]
941
942### Fixed
943
944- Stop `shopify/web` performing concurrent HMR refreshes [[#514](https://github.com/Shopify/sewing-kit/pull/514)]
945
946### Migration suggestions
947
948- Search for `source-maps` references and:
949 - Replace `--source-maps` with `--source-maps accurate`
950 - Replace `--no-source-maps` wtih `--source-maps fast`
951
952## [0.28.1] - 2018-01-28
953
954### Added
955
956- "Hang tight" view now displays a tip about how to access sewing-kit logs [[#505](https://github.com/Shopify/sewing-kit/pull/505)]
957
958### Fixed
959
960- Fixed invalid `strip-ansi` call from version `0.28.0` [[#504](https://github.com/Shopify/sewing-kit/pull/504)]
961
962## [0.28.0] - 2018-01-28
963
964### Added
965
966- "Hang tight" view now displays progress messages [[#501](https://github.com/Shopify/sewing-kit/pull/501)]
967- "Hang tight" view now displays error dumps [[#501](https://github.com/Shopify/sewing-kit/pull/501)]
968- "Hang tight" view has less gender bias [[#502](https://github.com/Shopify/sewing-kit/pull/502)]
969- "Hang tight" view now refreshes the page on build completion [[#503](https://github.com/Shopify/sewing-kit/pull/503)]
970
971## [0.27.1] - 2018-01-24
972
973### Fixed
974
975- Allow cross-origin requests for vendor-dll [[#496](https://github.com/Shopify/sewing-kit/pull/496)]
976
977## [0.27.0] - 2018-01-21
978
979### Added
980
981- Breaking change - `asset.json`/`sewing-kit-manifest.json` now include asset integrity hashes (sha256, base64 encoded)
982 Before
983
984```json
985{
986 "entrypoints": {
987 "foo": {
988 "js": ["foo.js"]
989 }
990 }
991}
992```
993
994After
995
996```json
997{
998 "entrypoints": {
999 "foo": {
1000 "js": [
1001 {
1002 "path": "foo.js",
1003 "integrity": "4cd86c4a2c06dceff7d5ef1c381b1de1a8da9e8d36d51647dae249470a781f99.js"
1004 }
1005 ]
1006 }
1007 }
1008}
1009```
1010
1011### Fixed
1012
1013- Node only - `sewing-kit start` now starts up an assets server [[#492](https://github.com/Shopify/sewing-kit/pull/492)]
1014
1015### Migration Suggestions
1016
1017- Rails projects - upgrade to [`sewing_kit@0.27.0`](https://github.com/Shopify/sewing_kit/blob/master/CHANGELOG.md#0270---22-01-2018)
1018- Node projects - adjust `asset.json` entrypoint consumers to account for plain path strings becoming objects with `path`/`integrity` properties
1019
1020## [0.26.0] - 2018-01-14
1021
1022### Changed
1023
1024- Breaking change: Rollup's default emitted filepath is now `dist/index.js` to match the name of the default input file.
1025- Upgraded to `eslint-plugin-shopify@19.0.0-beta.4`
1026- Upgraded to `prettier@1.9.2`
1027
1028### Fixed
1029
1030- Consumers no longer need to provide rollup plugins since they are now included as regular dependencies (instead of dev dependencies)
1031
1032### Migration Suggestions
1033
1034- Update `eslintConfig` to include: `plugins: ["shopify/jest"]`
1035- Update `.prettierrc` to include: `arrowParens: "always"`
1036- For Polaris projects, update `eslintConfig` to include: `plugins: ["shopify/polaris"]`
1037- Consider adding new Shopify eslint rules:
1038 - [`shopify/jsx-no-complex-expressions`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/jsx-no-complex-expressions.md)
1039 - [`shopify/jsx-no-hardcoded-content`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/jsx-no-hardcoded-content.md)
1040 - [`shopify/react-initialize-state`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/react-initialize-state.md)
1041 - [`shopify/react-type-state`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/react-type-state.md)
1042
1043## [0.25.0] - 2018-01-12
1044
1045### Fixed
1046
1047- `dev --no-hot` mode now builds vendor DLLs [[#487](https://github.com/Shopify/sewing-kit/pull/487)]
1048
1049### Changed
1050
1051- Add svgs to prettierignore list on init command [[#484](https://github.com/Shopify/sewing-kit/pull/484)]
1052- Use eslint cache to improve ESLint speed for code and GraphQL files [[#485](https://github.com/Shopify/sewing-kit/pull/485)]
1053
1054## [0.24.0] - 2018-01-11
1055
1056### Added
1057
1058- Libraries can be bundled with rollup by including `plugins.rollup` in their config
1059
1060### Changed
1061
1062- Omit confusing stacktraces for lint errors [[https://github.com/Shopify/sewing-kit/pull/482](#482)]
1063
1064## [0.23.0] - 2018-01-09
1065
1066### Fixed
1067
1068- Vendor DLL changes will be picked up without a hard browser refresh [[https://github.com/Shopify/sewing-kit/pull/477](#477)]
1069
1070### Removed
1071
1072- Breaking change: removed `sewing-kit test`'s `--build` option [[https://github.com/Shopify/sewing-kit/pull/478](#478)]
1073
1074### Migration Suggestions
1075
1076- If your project depended on `sewing-kit test --build`, please ping in `#web-foundations-tech` for tips on writing isolated server tests
1077
1078## [0.22.3] - 2018-01-05
1079
1080### Changed
1081
1082- Fix eslint error for ruby projects on CircleCI, adding `vendor/bundle` to ignores [[#475](https://github.com/Shopify/sewing-kit/pull/475)]
1083
1084## [0.22.2] - 2018-01-05
1085
1086### Changed
1087
1088- Fix lint error for ruby projects on CircleCI, adding `vendor/bundle` to stylelint ignores [[#474](https://github.com/Shopify/sewing-kit/pull/474)]
1089
1090## [0.22.1] - 2018-01-04
1091
1092### Added
1093
1094- Support `test` mode builds [[#445](https://github.com/Shopify/sewing-kit/pull/445)]
1095
1096## [0.22.0] - 2017-12-18
1097
1098### Added
1099
1100- Allow graphql schema to be read from a local file [[#427](https://github.com/Shopify/sewing-kit/pull/427)]
1101
1102### Changed
1103
1104- Bump `eslint-plugin-shopify` to [`18.3.0`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/CHANGELOG.md#1830---2017-12-18) (shopify/no-debugger) [[464](https://github.com/Shopify/sewing-kit/pull/464/files)]
1105
1106## [0.21.0] - 2017-12-11
1107
1108- Allow compilation of a server bundle under the `railsWithNodeServer` experiment. By default Rails projects do not compile a server bundle. [[#444](https://github.com/Shopify/sewing-kit/pull/444)]
1109
1110## [0.20.0] - 2017-12-06
1111
1112### Added
1113
1114- Formatting support for `.ts` and `.tsx` files. Please see the Typescript formatting setup [docs](https://github.com/Shopify/sewing-kit/blob/master/docs/commands/format.md#setup) for more details. [[#440](https://github.com/Shopify/sewing-kit/pull/440)]
1115- An `init` command to create config files for common tools. Includes `--prettierignore` flag to create a preconfigured .prettierignore file. [[#417](https://github.com/Shopify/sewing-kit/pull/417)]
1116
1117```
1118yarn run sewing-kit init --prettierignore
1119```
1120
1121### Removed
1122
1123- Linting via `tslint` has been removed in favor of linting typescript via Shopify's [typescript](https://github.com/Shopify/eslint-plugin-shopify/blob/master/lib/config/typescript.js) or [typescript-react](https://github.com/Shopify/eslint-plugin-shopify/blob/master/lib/config/typescript-react.js) eslint configs. `tslint.json` can be removed from consuming projects. [[#440](https://github.com/Shopify/sewing-kit/pull/440)]
1124
1125```
1126{
1127 "extends": [
1128 "plugin:shopify/typescript-react"
1129 ]
1130}
1131```
1132
1133## [0.19.1] - 2017-11-23
1134
1135### Added
1136
1137- Added support to selectively include Polaris globals. See [[#423](https://github.com/Shopify/sewing-kit/pull/423)]
1138
1139## [0.19.0] - 2017-11-22
1140
1141- Added `format` support for `scss`/`css` files. See [here](https://github.com/Shopify/sewing-kit/blob/master/docs/commands/format.md#setup) for more details. [[#364](https://github.com/Shopify/sewing-kit/pull/364)]
1142
1143### Changed
1144
1145- Improve warmup devServer dev experience. [[#420](https://github.com/Shopify/sewing-kit/pull/420)]
1146- Upgraded node-sass from v4.6.0 to v4.7.2 [[#416](https://github.com/Shopify/sewing-kit/pull/416)]
1147- Dependency updates [[#412](https://github.com/Shopify/sewing-kit/pull/412)]
1148
1149## [0.18.0] - 2017-11-16
1150
1151### Added
1152
1153- A server is now immediately bound when running `sewing-kit dev`, and will hand off to your actual development server when it is fully compiled. You can customize the port and IP of the temporary server with the new `devServer` plugin. [[#390](https://github.com/Shopify/sewing-kit/pull/390)]
1154
1155### Changed
1156
1157- `react-hot-loader` is enabled only for React projects [[#392](https://github.com/Shopify/sewing-kit/pull/392)]
1158- `.jsx` files no longer throw exceptions on JSX elements [[#408](https://github.com/Shopify/sewing-kit/pull/408)]
1159- Dependency updates [[#391](https://github.com/Shopify/sewing-kit/pull/391)]
1160 - New eslint rules (see [updates between 17.2 - 18.0](https://github.com/Shopify/eslint-plugin-shopify/blob/master/CHANGELOG.md#1800---2017-10-31))
1161 - A working `react-hot-loader` is now provided
1162
1163### Migration Suggestions
1164
1165- If your project uses a custom `react-hot-loader` version, it should be removed
1166 - `yarn remove react-hot-loader`
1167
1168## [0.17.1] - 2017-11-09
1169
1170### Changed
1171
1172- `plugin.jest` now accepts a callback https://github.com/Shopify/sewing-kit/pull/329
1173
1174### Migration Suggestions
1175
1176- grep for `plugin.jest` calls, and replace the old hash parameter with a callback that overrides the default config's values
1177 - Property names are aligned with Jest's config names
1178 - e.g., `setupRun` => `setupFiles`, `setupTest` => `setupTestFrameworkScriptFile`
1179- `npm rebuild` fixes `bindings`/`node-sass` errors
1180
1181## [0.17.0] - 2017-11-08
1182
1183### Added
1184
1185- Added `railsWithNodeServer` experiment to enable bundling of a server target inside of a Rails project.[[#378](https://github.com/Shopify/sewing-kit/pull/378)]
1186- Added `format` support for `graphql` and `json` files. [[#377](https://github.com/Shopify/sewing-kit/pull/377)]
1187
1188### Changed
1189
1190- Improved nuke command [[#389](https://github.com/Shopify/sewing-kit/pull/389)]:
1191 - Make it run in dev mode such that it does not fail in a project that has production dependencies
1192 - Cleans out the correct assets folder in the appropriate places
1193- Upgrade node-sass to 4.6.0 [[#381](https://github.com/Shopify/sewing-kit/pull/381)]
1194- Lint will now fail if `.json` or `.graphql`/`.gql` is not formatted [[#377](https://github.com/Shopify/sewing-kit/pull/377)]
1195- Polaris is now correctly treated as an external for server bundles, so it always references the correct class names for the environment and will resolve all its dependencies natively [[#223](https://github.com/Shopify/sewing-kit/pull/223)]
1196- Improved startup speed by delaying the loading of many modules [[#338](https://github.com/Shopify/sewing-kit/pull/388)]
1197- Breaking change: manifests now contain `assets` and `entrypoints` keys [[#387](https://github.com/Shopify/sewing-kit/pull/387)]
1198 - `assets` contains the chunk=>js/css mappings that were previously at root level
1199
1200### Migration Suggestions
1201
1202- Any code reading from `assets.json`/`sewing-kit-manifest.json` should now dig into the `assets` map
1203- `sewing_kit` apps should remove explicit `sewing_kit_script_tag`/`sewing_kit_link_tag` calls to output `runtime`, `vendor`, etc
1204
1205## [0.16.1] - 2017-10-27
1206
1207### Added
1208
1209- Added `format` command to format JS files. [[#357](https://github.com/Shopify/sewing-kit/pull/357)]
1210
1211### Fixed
1212
1213- Uglify cache is not erroneously invalidated during builds [[#368](https://github.com/Shopify/sewing-kit/pull/368)]
1214
1215## [0.16.0] - 2017-10-25
1216
1217### Fixed
1218
1219- Breaking change: builds now raise exceptions on compiler warnings [[#363](https://github.com/Shopify/sewing-kit/pull/363/files)]
1220
1221## [0.15.0] - 2017-10-25
1222
1223### Fixed
1224
1225- Pinned to `webpack@3.5.3` to work around hard-source errors in later versions [[#360](https://github.com/Shopify/sewing-kit/pull/360)]
1226
1227## [0.14.4] - 2017-10-22
1228
1229- Move Jest's cache to sewing-kit's cache directory [[#350](https://github.com/Shopify/sewing-kit/pull/350)]
1230
1231## [0.14.3] - 2017-10-21
1232
1233### Updated
1234
1235- CI now uses 2 jest worker threads [[#349](https://github.com/Shopify/sewing-kit/pull/349)]
1236
1237## [0.14.2] - 2017-10-16
1238
1239### Updated
1240
1241- Use a `stylelint` version that's compatible with `stylelint-config-shopify`'s requirements [[#342](https://github.com/Shopify/sewing-kit/pull/342)]
1242
1243## [0.14.1] - 2017-10-16
1244
1245### Added
1246
1247- Parallel/cacheable minification via [parallel-webpack-uglify-plugin](https://github.com/gdborton/webpack-parallel-uglify-plugin) [[#341](https://github.com/Shopify/sewing-kit/pull/341)]
1248
1249### Migration Suggestions
1250
1251- Turn on the `parallelUglify` experiment
1252
1253## [0.14.0] - 2017-10-15
1254
1255### Fixed
1256
1257- `lint` now builds GraphQL type definitions before running script linters [[#340](https://github.com/Shopify/sewing-kit/pull/340)]
1258- `lint` now ignores `.scss` files in `node_modules` [[#338](https://github.com/Shopify/sewing-kit/pull/338)]
1259- GraphQL tests no longer add 6 minutes to CircleCI runs [[#339](https://github.com/Shopify/sewing-kit/pull/339)]
1260
1261### Updated
1262
1263- Breaking change: `stylelint`/`stylelint-config-shopify` version bumps
1264
1265### Removed
1266
1267- `conciseModuleNames` experiment [[#331](https://github.com/Shopify/sewing-kit/pull/331)]
1268
1269### Migration Suggestions
1270
1271- Remove `stylelint` and `stylelint-config-shopify` from `package.json` (`dependencies`/`devDependencies`)
1272
1273## [0.13.0] - 2017-10-12
1274
1275### Added
1276
1277- `conciseModuleNames` experiment to reduce bulk from long-term caching [[#326](https://github.com/Shopify/sewing-kit/pull/326)]
1278- `moduleConcatenation` experiment to make bundles smaller using [ModuleConcatenationPlugin](https://webpack.js.org/plugins/module-concatenation-plugin/) [(https://github.com/Shopify/sewing-kit/pull/328)]
1279- Breaking change: `productionChunks` experiment to enable/disable long-term caching plugins [[#330](https://github.com/Shopify/sewing-kit/pull/330)]
1280
1281### Changed
1282
1283- Breaking change: Long-term caching naming is enabled for all projects (a side-effect of [#330](https://github.com/Shopify/sewing-kit/pull/330))
1284
1285## [0.12.8] - 2017-10-11
1286
1287### Added
1288
1289- Suppress auto-import of Polaris CSS globals with `plugins.sass({autoImportPolaris: false})` [[#307](https://github.com/Shopify/sewing-kit/pull/307)]
1290- Toggle [`lodash-webpack-plugin`](https://github.com/lodash/lodash-webpack-plugin]) on/off via `plugins.experiments` [[#309](https://github.com/Shopify/sewing-kit/pull/309)]
1291 - Defaults to `false`
1292- `sewing-kit test` now updates Jest snapshots if `--update-snapshot` is an argument [[#318](https://github.com/Shopify/sewing-kit/pull/318)]
1293
1294### Changed
1295
1296- Enable `.ts`/`.tsx` compilation if `typescript` is a development dependency [[#308](https://github.com/Shopify/sewing-kit/pull/308)]
1297
1298## [0.12.7] - 2017-10-05
1299
1300### Added
1301
1302- Automatic `postcss` config for projects that don't have a `postcss.config.js` file [[#296](https://github.com/Shopify/sewing-kit/pull/296)]
1303
1304### Changed
1305
1306- More README details [[#256](https://github.com/Shopify/sewing-kit/pull/256)]
1307
1308### Fixed
1309
1310- Fix server debugging for node@8 [[#301](https://github.com/Shopify/sewing-kit/pull/301)]
1311
1312## [0.12.6] - 2017-10-02
1313
1314### Changed
1315
1316- Use `babel-preset-env` even in projects that use `sprockets-commoner` [[#284](https://github.com/Shopify/sewing-kit/pull/284)]
1317
1318### Fixed
1319
1320- Fixed an issue where adding a custom webpack resolver for `csv` files broke jest. [[#294](https://github.com/Shopify/sewing-kit/pull/294)]
1321
1322## [0.12.5] - 2017-09-19
1323
1324### Added
1325
1326- You can now pass a `url` option to the Jest config plugin in order to set the root URL for your tests (reflected in `window.location`) [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
1327
1328* In development mode, requesting a `vendor`/`js` path will return a link to a local vendor DLL [[#281](https://github.com/Shopify/sewing-kit/pull/281)]
1329
1330### Fixed
1331
1332- Fixed an issue where imports not beginning in `tests` were mapped to the tests directory [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
1333
1334### Changed
1335
1336- You no longer need to include a `.babelrc` at the root of your project for tests to work correctly [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
1337- Jest and its typings have been added as a dependency, so projects do not need to manually install them [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
1338
1339## [0.12.4] - 2017-09-18
1340
1341### Added
1342
1343- `sewing-kit playground` spins up a hot-reloading playground [[#255](https://github.com/Shopify/sewing-kit/pull/255)]
1344
1345### Fixed
1346
1347- `.scss` linter now skips all `node_modules` folders
1348- Vendor DLL libraries are no longer duplicated in other development bundles [[#279](https://github.com/Shopify/sewing-kit/pull/279)]
1349
1350## [0.12.3] - 2017-09-13
1351
1352### Added
1353
1354- `sewing-kit lint` now ignores JavaScript files generated by Rails (`tmp`, `public`) [[#267](https://github.com/Shopify/sewing-kit/pull/267)]
1355- The new `railgun.yml` file is used for the dev server hostname [[#275](https://github.com/Shopify/sewing-kit/pull/275)]
1356
1357## [0.12.2] - 2017-09-07
1358
1359### Fixed
1360
1361- Embedded app production builds no longer attempt to access non-existent esnext files [[#266](https://github.com/Shopify/sewing-kit/pull/266)]
1362
1363### Added
1364
1365- Optimize lodash builds using babel-plugin-lodash & lodash-webpack-plugin [[#257](https://github.com/Shopify/sewing-kit/pull/257)]
1366
1367## [0.12.1] - 2017-09-06
1368
1369### Added
1370
1371- Vendor bundle hash is no longer changed by dynamic imports [[#228](https://github.com/Shopify/sewing-kit/pull/228)]
1372
1373### Changed
1374
1375- Real world development/production defaults for `publicPath` in Rails projects [[#258](https://github.com/Shopify/sewing-kit/pull/258)]
1376- `packages` tests are now included in `--app-only` runs [[#251](https://github.com/Shopify/sewing-kit/pull/251)]
1377
1378## [0.12.0] - 2017-08-30
1379
1380### Added
1381
1382- CSS minification for production assets [[#236](https://github.com/Shopify/sewing-kit/pull/236)]
1383- Add offline GraphQL schema [[#239](https://github.com/Shopify/sewing-kit/pull/239)]
1384- Vendor caching support in production using `CommonsChunkPlugin` [[#248](https://github.com/Shopify/sewing-kit/pull/248)]
1385 - Creates a `vendor` and `runtime` chunk
1386 - Supports consistent vendor caching when app modules are added
1387 - Supports consistent vendor caching when new entries are added
1388
1389## [0.11.1] - 2017-08-23
1390
1391### Added
1392
1393- `sewing-kit test` now accepts a path pattern parameter that filters out non-matching tests from execution [[#222](https://github.com/Shopify/sewing-kit/pull/222)]
1394 - e.g., `sewing-kit test Card` will run only tests with `Card` in their file path
1395- TypeScript errors now use pretty formatting [[#224](https://github.com/Shopify/sewing-kit/pull/224)]
1396
1397## [0.11.0] - 2017-08-18
1398
1399### Changed
1400
1401- `fastProductionBuild` now enables `hard-source-plugin` in production builds [[#214](https://github.com/Shopify/sewing-kit/pull/214)]
1402- `.svg` files are now processed by [Shopify's icon-loader](https://github.com/Shopify/images/blob/3e92d7960c2bf6b9bdea1e96652b99885d0eca9f/icon-loader.js) [[#202](https://github.com/Shopify/sewing-kit/pull/202)]
1403 - This replaces `white` fills with `currentColor`, and exports the svg's body as an importable JS module
1404 - A wrapper component is required to display the stringified SVG (a la [Polaris' `Icon` UI component](https://github.com/Shopify/polaris/blob/fb244772173a91c307492e89f515d40363fb7a61/src/components/Icon/Icon.tsx#L115))
1405- App tests with GraphQL types no longer depend on a full build [[#216](https://github.com/Shopify/sewing-kit/pull/216)]
1406
1407## [0.10.1] - 2017-08-12
1408
1409### Changed
1410
1411- `env.isCI` returns true when `ENV['CI'] == '1'` [[#203](https://github.com/Shopify/sewing-kit/pull/203)]
1412
1413## [0.10.0] - 2017-08-11
1414
1415### Changed
1416
1417- Updated webpack@3 (just a version bump; no new plugin integration, yet) [[#187](https://github.com/Shopify/sewing-kit/pull/187)]
1418- Rails projects should build faster. Cacheable build resources are now stores in a directory that buildkite shares between all container builds. [[#198](https://github.com/Shopify/sewing-kit/pull/198)]
1419
1420### Fixed
1421
1422- When using `fastProductionBuild`, CSS asset hashes match their content hash again (disabled `cheap-source-maps`) [[#199](https://github.com/Shopify/sewing-kit/pull/199)]
1423
1424## [0.9.0] - 2017-08-10
1425
1426### Changed
1427
1428- Uses `@shopify/polaris@1.3.1` [[#164](https://github.com/Shopify/sewing-kit/pull/164)]
1429- `typescript` is no longer a mandatory dependency for consumers [[#164](https://github.com/Shopify/sewing-kit/pull/164)]
1430
1431## [0.8.0] - 2017-08-09
1432
1433### Changed
1434
1435- Uses `@shopify/polaris@1.2.1`
1436- Uses `typescript@2.3.3` (this version allows destructuring of potentially undefined arguments in `.d.ts` files)
1437- `sewing-kit.config.js` can now define custom paths (via `plugins.paths`)
1438
1439## [0.7.0] - 2017-08-03
1440
1441### Added
1442
1443- `graphql-typescript-definitions` now runs in watch mode [[#171](https://github.com/Shopify/sewing-kit/pull/171)]
1444- End to end test for Polaris development builds [[#178](https://github.com/Shopify/sewing-kit/pull/178)]
1445- `fastProductionBuild` experiment [[#178](https://github.com/Shopify/sewing-kit/pull/178), [#184](https://github.com/Shopify/sewing-kit/pull/184)]
1446 - Allows production builds to use a precompiled version of Polaris with fully namespaced CSS classes
1447 - Turns off typeschecking
1448 - Uses `check-source-maps` for faster compilation
1449- End to end test for more consistent chunk names [[#175](https://github.com/Shopify/sewing-kit/pull/175)]
1450
1451### Fixed
1452
1453- GraphQL lint now lints mutations [[#183](https://github.com/Shopify/sewing-kit/pull/183)]
1454- GraphQL no longer outputs meaningless pages of stack traces on error [[#183](https://github.com/Shopify/sewing-kit/pull/183)]
1455
1456### Removed
1457
1458- Redundant static asset middleware route in development mode [[#170](https://github.com/Shopify/sewing-kit/pull/170)]
1459
1460[0.12.4]: https://github.com/Shopify/sewing-kit/compare/v0.12.3...v0.12.4
1461[0.12.5]: https://github.com/Shopify/sewing-kit/compare/v0.12.4...v0.12.5
1462[0.12.6]: https://github.com/Shopify/sewing-kit/compare/v0.12.5...v0.12.6
1463[0.12.7]: https://github.com/Shopify/sewing-kit/compare/v0.12.6...v0.12.7
1464[0.12.8]: https://github.com/Shopify/sewing-kit/compare/v0.12.7...v0.12.8
1465[0.13.0]: https://github.com/Shopify/sewing-kit/compare/v0.12.8...v0.13.0
1466[0.14.0]: https://github.com/Shopify/sewing-kit/compare/v0.13.0...v0.14.0
1467[0.14.1]: https://github.com/Shopify/sewing-kit/compare/v0.14.0...v0.14.1
1468[0.14.2]: https://github.com/Shopify/sewing-kit/compare/v0.14.1...v0.14.2
1469[0.14.3]: https://github.com/Shopify/sewing-kit/compare/v0.14.2...v0.14.3
1470[0.14.4]: https://github.com/Shopify/sewing-kit/compare/v0.14.3...v0.14.4
1471[0.15.0]: https://github.com/Shopify/sewing-kit/compare/v0.14.4...v0.15.0
1472[0.16.0]: https://github.com/Shopify/sewing-kit/compare/v0.15.0...v0.16.0
1473[0.16.1]: https://github.com/Shopify/sewing-kit/compare/v0.16.0...v0.16.1
1474[0.17.0]: https://github.com/Shopify/sewing-kit/compare/v0.16.1...v0.17.0
1475[0.17.1]: https://github.com/Shopify/sewing-kit/compare/v0.17.0...v0.17.1
1476[0.18.0]: https://github.com/Shopify/sewing-kit/compare/v0.17.1...v0.18.0
1477[0.19.0]: https://github.com/Shopify/sewing-kit/compare/v0.18.0...v0.19.0
1478[0.19.1]: https://github.com/Shopify/sewing-kit/compare/v0.19.0...v0.19.1
1479[0.20.0]: https://github.com/Shopify/sewing-kit/compare/v0.19.1...v0.20.0
1480[0.21.0]: https://github.com/Shopify/sewing-kit/compare/v0.20.0...v0.21.0
1481[0.22.0]: https://github.com/Shopify/sewing-kit/compare/v0.21.0...v0.22.0
1482[0.22.1]: https://github.com/Shopify/sewing-kit/compare/v0.22.0...v0.22.1
1483[0.22.2]: https://github.com/Shopify/sewing-kit/compare/v0.22.1...v0.22.2
1484[0.22.3]: https://github.com/Shopify/sewing-kit/compare/v0.22.2...v0.22.3
1485[0.23.0]: https://github.com/Shopify/sewing-kit/compare/v0.22.3...v0.23.0
1486[0.24.0]: https://github.com/Shopify/sewing-kit/compare/v0.23.0...v0.24.0
1487[0.25.0]: https://github.com/Shopify/sewing-kit/compare/v0.24.0...v0.25.0
1488[0.26.0]: https://github.com/Shopify/sewing-kit/compare/v0.25.0...v0.26.0
1489[0.27.0]: https://github.com/Shopify/sewing-kit/compare/v0.26.0...v0.27.0
1490[0.27.1]: https://github.com/Shopify/sewing-kit/compare/v0.27.0...v0.27.1
1491[0.28.0]: https://github.com/Shopify/sewing-kit/compare/v0.27.1...v0.28.0
1492[0.28.1]: https://github.com/Shopify/sewing-kit/compare/v0.28.0...v0.28.1
1493[0.29.0]: https://github.com/Shopify/sewing-kit/compare/v0.28.1...v0.29.0
1494[0.29.1]: https://github.com/Shopify/sewing-kit/compare/v0.29.0...v0.29.1
1495[0.29.2]: https://github.com/Shopify/sewing-kit/compare/v0.29.1...v0.29.2
1496[0.29.3]: https://github.com/Shopify/sewing-kit/compare/v0.29.2...v0.29.3
1497[0.29.4]: https://github.com/Shopify/sewing-kit/compare/v0.29.3...v0.29.4
1498[0.29.5]: https://github.com/Shopify/sewing-kit/compare/v0.29.3...v0.29.5
1499[0.29.6]: https://github.com/Shopify/sewing-kit/compare/v0.29.5...v0.29.6
1500[0.29.7]: https://github.com/Shopify/sewing-kit/compare/v0.29.6...v0.29.7
1501[0.29.8]: https://github.com/Shopify/sewing-kit/compare/v0.29.7...v0.29.8
1502[0.29.9]: https://github.com/Shopify/sewing-kit/compare/v0.29.8...v0.29.9
1503[0.29.10]: https://github.com/Shopify/sewing-kit/compare/v0.29.9...v0.29.10
1504[0.29.11]: https://github.com/Shopify/sewing-kit/compare/v0.29.10...v0.29.11
1505[0.29.12]: https://github.com/Shopify/sewing-kit/compare/v0.29.11...v0.29.12
1506[0.29.13]: https://github.com/Shopify/sewing-kit/compare/v0.29.12...v0.29.13
1507[0.29.14]: https://github.com/Shopify/sewing-kit/compare/v0.29.13...v0.29.14
1508[0.29.15]: https://github.com/Shopify/sewing-kit/compare/v0.29.14...v0.29.15
1509[0.29.16]: https://github.com/Shopify/sewing-kit/compare/v0.29.15...v0.29.16
1510[0.29.17]: https://github.com/Shopify/sewing-kit/compare/v0.29.16...v0.29.17
1511[0.30.0]: https://github.com/Shopify/sewing-kit/compare/v0.29.17...v0.30.0
1512[0.30.1]: https://github.com/Shopify/sewing-kit/compare/v0.30.0...v0.30.1
1513[0.40.0]: https://github.com/Shopify/sewing-kit/compare/v0.30.1...v0.40.0
1514[0.41.0]: https://github.com/Shopify/sewing-kit/compare/v0.40.0...v0.41.0
1515[0.41.1]: https://github.com/Shopify/sewing-kit/compare/v0.41.0...v0.41.1
1516[0.42.0]: https://github.com/Shopify/sewing-kit/compare/v0.41.1...v0.42.0
1517[0.43.0]: https://github.com/Shopify/sewing-kit/compare/v0.42.0...v0.43.0
1518[0.44.0]: https://github.com/Shopify/sewing-kit/compare/v0.43.0...v0.44.0
1519[0.45.0]: https://github.com/Shopify/sewing-kit/compare/v0.44.0...v0.45.0
1520[0.45.1]: https://github.com/Shopify/sewing-kit/compare/v0.45.0...v0.45.1
1521[0.45.2]: https://github.com/Shopify/sewing-kit/compare/v0.45.1...v0.45.2
1522[0.45.3]: https://github.com/Shopify/sewing-kit/compare/v0.45.2...v0.45.3
1523[0.45.4]: https://github.com/Shopify/sewing-kit/compare/v0.45.3...v0.45.4
1524[0.45.5]: https://github.com/Shopify/sewing-kit/compare/v0.45.4...v0.45.5
1525[0.45.6]: https://github.com/Shopify/sewing-kit/compare/v0.45.5...v0.45.6
1526[0.46.0]: https://github.com/Shopify/sewing-kit/compare/v0.45.6...v0.46.0
1527[0.47.0]: https://github.com/Shopify/sewing-kit/compare/v0.46.0...v0.47.0
1528[0.47.1]: https://github.com/Shopify/sewing-kit/compare/v0.47.0...v0.47.1
1529[0.48.0]: https://github.com/Shopify/sewing-kit/compare/v0.47.1...v0.48.0
1530[0.48.1]: https://github.com/Shopify/sewing-kit/compare/v0.48.0...v0.48.1
1531[0.48.2]: https://github.com/Shopify/sewing-kit/compare/v0.48.1...v0.48.2
1532[0.49.0]: https://github.com/Shopify/sewing-kit/compare/v0.48.2...v0.49.0
1533[0.49.1]: https://github.com/Shopify/sewing-kit/compare/v0.49.0...v0.49.1
1534[0.50.0]: https://github.com/Shopify/sewing-kit/compare/v0.49.1...v0.50.0
1535[0.50.1]: https://github.com/Shopify/sewing-kit/compare/v0.50.0...v0.50.1
1536[0.51.0]: https://github.com/Shopify/sewing-kit/compare/v0.50.1...v0.51.0
1537[0.51.1]: https://github.com/Shopify/sewing-kit/compare/v0.51.0...v0.51.1
1538[0.52.0]: https://github.com/Shopify/sewing-kit/compare/v0.51.1...v0.52.0
1539[0.53.0]: https://github.com/Shopify/sewing-kit/compare/v0.52.0...v0.53.0
1540[0.53.1]: https://github.com/Shopify/sewing-kit/compare/v0.53.0...v0.53.1
1541[0.54.0]: https://github.com/Shopify/sewing-kit/compare/v0.53.1...v0.54.0
1542[0.55.0]: https://github.com/Shopify/sewing-kit/compare/v0.54.0...v0.55.0
1543[0.56.0]: https://github.com/Shopify/sewing-kit/compare/v0.55.0...v0.56.0
1544[0.56.1]: https://github.com/Shopify/sewing-kit/compare/v0.56.0...v0.56.1
1545[0.57.0]: https://github.com/Shopify/sewing-kit/compare/v0.56.1...v0.57.0
1546[0.58.0]: https://github.com/Shopify/sewing-kit/compare/v0.57.0...v0.58.0
1547[0.58.1]: https://github.com/Shopify/sewing-kit/compare/v0.58.0...v0.58.1
1548[0.59.0]: https://github.com/Shopify/sewing-kit/compare/v0.58.1...v0.59.0
1549[0.60.0]: https://github.com/Shopify/sewing-kit/compare/v0.59.0...v0.60.0
1550[0.60.1]: https://github.com/Shopify/sewing-kit/compare/v0.60.0...v0.60.1
1551[0.60.2]: https://github.com/Shopify/sewing-kit/compare/v0.60.1...v0.60.2
1552[0.60.3]: https://github.com/Shopify/sewing-kit/compare/v0.60.2...v0.60.3
1553[0.61.0]: https://github.com/Shopify/sewing-kit/compare/v0.60.3...v0.61.0
1554[0.62.0]: https://github.com/Shopify/sewing-kit/compare/v0.61.0...v0.62.0
1555[0.63.0]: https://github.com/Shopify/sewing-kit/compare/v0.62.0...v0.63.0
1556[0.64.0]: https://github.com/Shopify/sewing-kit/compare/v0.63.0...v0.64.0
1557[0.64.1]: https://github.com/Shopify/sewing-kit/compare/v0.64.0...v0.64.1
1558[0.64.2]: https://github.com/Shopify/sewing-kit/compare/v0.64.1...v0.64.2
1559[0.64.3]: https://github.com/Shopify/sewing-kit/compare/v0.64.2...v0.64.3
1560[0.64.4]: https://github.com/Shopify/sewing-kit/compare/v0.64.3...v0.64.4
1561[0.65.0]: https://github.com/Shopify/sewing-kit/compare/v0.64.4...v0.65.0
1562[0.65.1]: https://github.com/Shopify/sewing-kit/compare/v0.65.0...v0.65.1
1563[0.66.0]: https://github.com/Shopify/sewing-kit/compare/v0.65.1...v0.66.0
1564[0.67.0]: https://github.com/Shopify/sewing-kit/compare/v0.66.0...v0.67.0
1565[0.67.1]: https://github.com/Shopify/sewing-kit/compare/v0.67.0...v0.67.1
1566[0.67.2]: https://github.com/Shopify/sewing-kit/compare/v0.67.1...v0.67.2
1567[0.67.3]: https://github.com/Shopify/sewing-kit/compare/v0.67.2...v0.67.3
1568[0.67.4]: https://github.com/Shopify/sewing-kit/compare/v0.67.3...v0.67.4
1569[0.68.0]: https://github.com/Shopify/sewing-kit/compare/v0.67.4...v0.68.0
1570[0.68.1]: https://github.com/Shopify/sewing-kit/compare/v0.68.0...v0.68.1
1571[0.68.2]: https://github.com/Shopify/sewing-kit/compare/v0.68.1...v0.68.2
1572[0.68.3]: https://github.com/Shopify/sewing-kit/compare/v0.68.2...v0.68.3
1573[0.69.0]: https://github.com/Shopify/sewing-kit/compare/v0.68.3...v0.69.0
1574[0.69.1]: https://github.com/Shopify/sewing-kit/compare/v0.69.0...v0.69.1
1575[0.70.0]: https://github.com/Shopify/sewing-kit/compare/v0.69.1...v0.70.0
1576[0.70.1]: https://github.com/Shopify/sewing-kit/compare/v0.70.0...v0.70.1
1577[0.71.0]: https://github.com/Shopify/sewing-kit/compare/v0.70.1...v0.71.0
1578[0.72.0]: https://github.com/Shopify/sewing-kit/compare/v0.71.0...v0.72.0
1579[0.73.0]: https://github.com/Shopify/sewing-kit/compare/v0.72.0...v0.73.0
1580[0.73.1]: https://github.com/Shopify/sewing-kit/compare/v0.73.0...v0.73.1
1581[0.73.2]: https://github.com/Shopify/sewing-kit/compare/v0.73.1...v0.73.2
1582[0.74.0]: https://github.com/Shopify/sewing-kit/compare/v0.73.2...v0.74.0
1583[0.74.1]: https://github.com/Shopify/sewing-kit/compare/v0.74.0...v0.74.1
1584[0.74.2]: https://github.com/Shopify/sewing-kit/compare/v0.74.1...v0.74.2
1585[0.75.0]: https://github.com/Shopify/sewing-kit/compare/v0.74.2...v0.75.0
1586[0.75.1]: https://github.com/Shopify/sewing-kit/compare/v0.75.0...v0.75.1
1587[0.75.2]: https://github.com/Shopify/sewing-kit/compare/v0.75.1...v0.75.2
1588[0.75.3]: https://github.com/Shopify/sewing-kit/compare/v0.75.2...v0.75.3
1589[0.75.4]: https://github.com/Shopify/sewing-kit/compare/v0.75.3...v0.75.4
1590[0.76.0]: https://github.com/Shopify/sewing-kit/compare/v0.75.4...v0.76.0
1591[0.76.1]: https://github.com/Shopify/sewing-kit/compare/v0.76.0...v0.76.1
1592[0.77.0]: https://github.com/Shopify/sewing-kit/compare/v0.76.1...v0.77.0
1593[unreleased]: https://github.com/Shopify/sewing-kit/compare/v0.77.0...HEAD