UNPKG

45.3 kBMarkdownView Raw
1# Changelog
2
3All notable changes to this project will be documented in this file.
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### Added
11
12- `sewing-kit lint` now accepts `--no-json`. Use `--no-json` to stop linting of JSON files in your project.
13
14### Fixed
15
16- `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)]
17
18## [0.51.1]
19
20### Fixed
21
22- Fix Rails integration tests by outputting to `public/bundles` again [[#750](https://github.com/Shopify/sewing-kit/pull/750)]
23
24## [0.51.0]
25
26### Changed
27
28- Prefer many small bundles over fewer large bundles [[#747](https://github.com/Shopify/sewing-kit/pull/747)]
29- 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)]
30
31### Fixed
32
33- Don't report erroneous module shaking information [[#746](https://github.com/Shopify/sewing-kit/pull/746)]
34
35## [0.50.1]
36
37### Changed
38
39- Update dependency `stylelint-config-shopify@5.1.1` [[#744](https://github.com/Shopify/sewing-kit/pull/744)]
40
41## [0.50.0]
42
43### Added
44
45- Cache SVG icons [[#722](https://github.com/Shopify/sewing-kit/pull/722)]
46- Fail on unexpected CSS side-effect module removal [[#728](https://github.com/Shopify/sewing-kit/pull/728/files)]
47- `--focus` option to only build selected sections for `sewing-kit dev` and `sewing-kit build` [[#734](https://github.com/Shopify/sewing-kit/pull/734)]
48
49### Changed
50
51- Update dependencies (`webpack@4.14.0`, `hard-source@0.9.0`, `yargs@12.0.1`) [[#730](https://github.com/Shopify/sewing-kit/pull/730)]
52- 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)]
53
54### Fixed
55
56- Don't overload CI servers with many parallel Uglify threads [[#721](https://github.com/Shopify/sewing-kit/pull/721)]
57- Fix webpack plugin deprecation warnings during compilation [[#738](https://github.com/Shopify/sewing-kit/pull/738/files)]
58- `sewing-kit playground` no longer exits with an error for Vim users [[#740](https://github.com/Shopify/sewing-kit/pull/740)]
59- 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)]
60
61## [0.49.1]
62
63### Fixed
64
65- Ignore TypeScript import/export errors in `test` mode builds [[#716](https://github.com/Shopify/sewing-kit/pull/716)]
66
67## [0.49.0]
68
69### Changed
70
71- 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)]
72
73### Migration suggestions
74
75- Some projects may see issues with multiple versions of `graphql`/ `@types/graphql` as a result of conflicts between sewing-kit and other packages, like apollo-client. We recommend using a `resolution` field in your package.json to force a version that conforms to sewing-kit’s dependency (`^0.13.0).
76- Run `sewing-kit type-check` to see new type errors introduced by changing GraphQL types. You will primarily see issues with referencing types detailing deeply nested fields in your query; these need to be updated to be the pascal case version of the keypath to that field:
77
78 ```graphql
79 query MyQuery {
80 self {
81 brother {
82 sister {
83 name
84 }
85 }
86 }
87 }
88 ```
89
90 ```typescript
91 // Assuming we want the type for `sister`, we now need to update our type reference:
92
93 import {MyQueryData} from './MyQuery.graphql';
94
95 type Sister = MyQueryData.SelfBrotherSister;
96 ```
97
98- If you were previously hand-writing `enum`s for GraphQL `enum` types, update your code to import them from the schema type definition file instead (note that, in accordance with our TypeScript styleguide, all `enum` cases are in pascal case):
99
100 ```typescript
101 // Before:
102 enum Format {
103 Pdf = "PDF"
104 Csv = "CSV"
105 }
106
107 // After:
108 import {Format} from 'types/graphql';
109 ```
110
111## [0.48.2] - 2018-06-19
112
113### Changed
114
115- Upgrade `uglifyjs-webpack-plugin` [[#709](https://github.com/Shopify/sewing-kit/pull/709)]
116- Disable image/icon caching (while investigating issues with `.png` generation in `web`) [[#710](https://github.com/Shopify/sewing-kit/pull/710)]
117
118## [0.48.1] - 2018-06-19
119
120### Added
121
122- `sewing-kit start` now accepts `--client-heap-size` / `--server-heap-size` [[#707](https://github.com/Shopify/sewing-kit/pull/707)]
123- svg/image loader results are now cached [[#708](https://github.com/Shopify/sewing-kit/pull/708)]
124- Production CSS loader results are now cached [[#708](https://github.com/Shopify/sewing-kit/pull/708)]
125
126### Migration suggestions
127
128- Larger app caches may require additional Node heap
129 - If builds are slow, try `node --max-old-space-size=2000 node_modules/.bin/sewing-kit build`
130
131## [0.48.0] - 2018-06-19
132
133Do not use this release. This is an incorrectly published version of the 0.47.0 release.
134
135## [0.47.1] - 2018-06-18
136
137### Changed
138
139- Run `react-loadable/babel` on server code as well [[#685](https://github.com/Shopify/sewing-kit/pull/685)]
140
141## [0.47.0] - 2018-06-18
142
143### Added
144
145- Added markdown support to `sewing-kit {check,lint,format}` [[#680](https://github.com/Shopify/sewing-kit/pull/680)]
146- `sewing-kit start` now compiles client/server in parallel [[#688](https://github.com/Shopify/sewing-kit/pull/688)]
147- Faster cold TypeScript server compilation via shared cache [[#699](https://github.com/Shopify/sewing-kit/pull/699/files)]
148
149### Changed
150
151- Upgraded to `prettier@1.13.5` [[#679](https://github.com/Shopify/sewing-kit/pull/679)]
152- Upgraded patch dependencies (`sass-loader`, `source-map-support`, `stylelint`) [[#690](https://github.com/Shopify/sewing-kit/pull/690)]
153- 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)]
154- Upgraded `webpack-uglifyjs-plugin` fork [[#693](https://github.com/Shopify/sewing-kit/pull/693)]
155- webpack-related caches are now stored in `build/cache/webpack` [[#697](https://github.com/Shopify/sewing-kit/pull/697)]
156- Cache JavaScript transpilation results [[#698](https://github.com/Shopify/sewing-kit/pull/698)]
157- Cache TypeScript transpilation results separately from production Babel transform results [[#701](https://github.com/Shopify/sewing-kit/pull/701)]
158
159### Fixed
160
161- 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)]
162- `--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)]
163- Pass consistent `BABEL_ENV` to Babel transforms [[#702](https://github.com/Shopify/sewing-kit/pull/702)]
164- Fix Polaris quirks in development by reverting to `react-hot-loader@3.1.3` [[#703](https://github.com/Shopify/sewing-kit/pull/703)]
165
166### Migration suggestions
167
168- Vet async imports for accidental `Module` assignments
169 - e.g., if `foo` is an ES Module
170 - `const foo = await import('./foo');` should be converted to
171 - `const {default: foo} = await import('./foo');`
172 - This behaviour was changed in `webpack@4.10`
173- If Prettier/stylelint fail on `.scss` files, look for value lists without a trailing comma, and use `// prettier-ignore` to suppress their warnings
174
175## [0.46.0] - 2018-06-08
176
177### Added
178
179- Improves client/server React hydration of async routes via `plugins.experiments({reactLoadable: true})` [[#668](https://github.com/Shopify/sewing-kit/pull/668)]
180 - See [shopify/web](https://github.com/Shopify/web/pull/4513/files) for more details on enabling code splitting & SSR
181 - See [`react-loadable`](https://github.com/jamiebuilds/react-loadable) for additional documentation
182
183### Changed
184
185- Use 3 jest workers on shopify-build [[#678](https://github.com/Shopify/sewing-kit/pull/678)]
186
187### Fixed
188
189- Playgrounds now work with `@shopify/polaris@2.x` [[#677](https://github.com/Shopify/sewing-kit/pull/677)]
190
191## [0.45.6] - 2018-06-06
192
193### Changed
194
195- Allow custom build paths for production Rails apps [[#674](https://github.com/Shopify/sewing-kit/pull/674)]
196
197## [0.45.5] - 2018-05-31
198
199### Added
200
201- Added `asset-server-only` flag to `sewing-kit start` [[#665](https://github.com/Shopify/sewing-kit/pull/665)]
202
203### Changed
204
205- `sewing-kit type-check` and `sewing-kit check` now output concise, readdable errors upon failure [[#670](https://github.com/Shopify/sewing-kit/pull/670)]
206
207## [0.45.4] - 2018-05-24
208
209### Changed
210
211- `sewing-kit test` now uses 5 worker threads in `shopify-build` [[#663](https://github.com/Shopify/sewing-kit/pull/663)]
212
213## [0.45.3] - 2018-05-17
214
215### Added
216
217- 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`)
218
219## [0.45.2] - 2018-05-14
220
221### Added
222
223- Retry production GraphQL schema download if it fails the first time [[#657](https://github.com/Shopify/sewing-kit/pull/657)]
224
225## [0.45.1] - 2018-05-10
226
227### Changed
228
229- TypeScript type/interface imports are now suppressed in development mode [[#655](https://github.com/Shopify/sewing-kit/pull/655)]
230
231## [0.45.0] - 2018-05-10
232
233### Changed
234
235- 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)]
236 - [`split-chunks-plugin`](https://webpack.js.org/plugins/split-chunks-plugin/) provides much better code splitting
237 - [`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)
238- Breaking change - Many dependency updates (including `node-sass`, `stylelint`, `react-hot-loader`) [[#650](https://github.com/Shopify/sewing-kit/pull/650)]
239- `graphql-loader` results are now cached [[#652](https://github.com/Shopify/sewing-kit/pull/652)]
240- `ParallelUglifyPlugin` is always used for production client builds [[#648](https://github.com/Shopify/sewing-kit/pull/648)]
241 - Note: the above `webpack@4` upgrade obsoletes this change
242
243### Removed
244
245- Removed `parallelUglify` experiment toggle [[#648](https://github.com/Shopify/sewing-kit/pull/648)]
246- `Happypack` now leaves a thread free for general processing [[#649](https://github.com/Shopify/sewing-kit/commit/51c3998a9afe742cfd156ad9a4e785dcb0649937)]
247
248### Migration suggestions
249
250- 🎩 your app in development and production modes
251- Verify that gzipped size of your production assets has not increased
252- Verify that your development startup / incremental compile speed has not regressed
253
254## [0.44.0] - 2018-05-08
255
256### Removed
257
258- Removed `fastProductionBuild` experiment [[#643](https://github.com/Shopify/sewing-kit/pull/643)]
259
260## [0.43.0] - 2018-05-08
261
262### Changed
263
264- Breaking change - updated [`eslint-plugin-shopify`](https://github.com/Shopify/eslint-plugin-shopify) to version `^22.0.0`
265
266### Migration suggestions
267
268- Upgrade to `typescript` version `2.7.2` or later
269
270## [0.42.0] - 2018-05-06
271
272### Added
273
274- `sewing-kit build` now accepts `--no-graphql` [[#638](https://github.com/Shopify/sewing-kit/pull/638)]
275
276### Changed
277
278- Module concatenation is always enabled for production client builds [[#634](https://github.com/Shopify/sewing-kit/pull/634)]
279
280### Fixed
281
282- Only display total build duration in client + server builds [[#639](https://github.com/Shopify/sewing-kit/pull/639)]
283
284## [0.41.1] - 2018-05-02
285
286### Fixed
287
288- `AssetMetadataPlugin` now creates the destination directory before writing the manifest, if necessary [[#625](https://github.com/Shopify/sewing-kit/pull/625)]
289
290## [0.41.0] - 2018-05-01
291
292### Changed
293
294- Breaking change - `sewing-kit-manifest.json#assets` now contains `public`-relative paths [[#624](https://github.com/Shopify/sewing-kit/pull/624)]
295- 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)]
296
297### Fixed
298
299- Make `sewing-kit-inspect` executable [[#620](https://github.com/Shopify/sewing-kit/pull/620)]
300
301## [0.40.0] - 2018-04-29
302
303### Added
304
305- Cache `.scss` compilation [[#613](https://github.com/Shopify/sewing-kit/pull/613)]
306
307### Changed
308
309- Do not type check TypeScript in development mode [[#612](https://github.com/Shopify/sewing-kit/pull/612)]
310- `sewing-kit dev` now transpiles using `ts-loader`, and caches transpilation results [[#614](https://github.com/Shopify/sewing-kit/pull/614)]
311
312### Migration suggestions
313
314- Use `sewing-kit type-check` to check for type violations previously reported by `sewing-kit dev`
315
316## [0.30.1] - 2018-04-16
317
318### Added
319
320- Log schema download times in CI [[#605](https://github.com/Shopify/sewing-kit/pull/605)]
321
322## [0.30.0] - 2018-04-15
323
324### Added
325
326- Better timing information for `sewing-kit dev` and `sewing-kit build` [[#600](https://github.com/Shopify/sewing-kit/pull/600)]
327
328### Changed
329
330- Breaking change - `fastStartup` is usable in test/production environments [[#596](https://github.com/Shopify/sewing-kit/pull/596)]
331- Breaking change - `sewing-kit build --report` no longer generates a `stats.json` file [[#604](https://github.com/Shopify/sewing-kit/pull/604)]
332- Do not limit jest's `maxWorker` count in BuildKite CI containers [[#602](https://github.com/Shopify/sewing-kit/pull/602/files)]
333
334### Fixed
335
336- `sewing-kit lint` no longer fails if Prettier is not configured [[#481](https://github.com/Shopify/sewing-kit/issues/481)]
337- React now generates readable stacktraces for errors thrown by dynamically imported chunks [[#598](https://github.com/Shopify/sewing-kit/pull/598)]
338
339### Removed
340
341- Breaking change - removed `sewing-kit check`'s `--build` option [[#599](https://github.com/Shopify/sewing-kit/pull/599)]
342
343### Migration suggestions
344
345- If `sewing-kit.config.js` enables `fastStartup`, use `env` conditions to limit its inclusion
346 - Rule of thumb: disable in `development` if HMR is essential to the development experience
347- If a project depends on a generated `build/client/bundle-analysis/stats.json` file, use `plugins.webpack` to set `BundleAnalyzerPlugin.generateStatsFile` to `true`
348
349## [0.29.17] - 2018-04-10
350
351### Fixed
352
353- `sewing-kit lint` now outputs parser exceptions, if necessary [[#588](https://github.com/Shopify/sewing-kit/pull/588)]
354- `codeframe` formatter is now used for lint output [[#566](https://github.com/Shopify/sewing-kit/pull/566)]
355
356## [0.29.16] - 2018-04-08
357
358### Changed
359
360- `sewing-kit dev --log-react-updates` to debug excess React rerenders [[#547](https://github.com/Shopify/sewing-kit/pull/547)]
361- `sewing-kit lint` no longer outputs stacktraces when stylelint fails [[#584](https://github.com/Shopify/sewing-kit/pull/584)]
362
363## [0.29.15] - 2018-03-25
364
365### Added
366
367- `playground --force` overwrites all existing playground files [[#577](https://github.com/Shopify/sewing-kit/pull/577)]
368
369### Changed
370
371- `playground` only writes files that don't exist yet [[#577](https://github.com/Shopify/sewing-kit/pull/577)]
372- `build --reports` should not throw memory exceptions in large projects [[#575](https://github.com/Shopify/sewing-kit/pull/575)]
373
374## [0.29.14] - 2018-03-12
375
376### Added
377
378- Allow debug without pausing on startup (via `sewing-kit-inspect`) [[#563](https://github.com/Shopify/sewing-kit/pull/563)]
379
380### Changed
381
382- Upgrade to `eslint-plugin-shopify@19.0.1` (fixes `shopify/jsx-no-hardcoded-content` rule) [[#562](https://github.com/Shopify/sewing-kit/pull/562)]
383
384### Migration suggestions
385
386- Enable `shopify/jsx-no-hardcoded-content` in your eslint config
387
388## [0.29.13] - 2018-03-06
389
390### Changed
391
392- `sewing-kit test --app-only` now includes tests in the `client` directory [[#552](https://github.com/Shopify/sewing-kit/pull/552)]
393
394## [0.29.12] - 2018-02-21
395
396### Added
397
398- Aliases for `sewing-kit` (`sk`) and `sewing-kit-debug` (`skd`) [[#539](https://github.com/Shopify/sewing-kit/pull/539)]
399
400## [0.29.11] - 2018-02-20
401
402### Changed
403
404- Update reference to webpack-parallel-uglify-plugin, preventing `npm install` from breaking [[#536](https://github.com/Shopify/sewing-kit/pull/536)]
405- Upgrade devDependencies [[#533](https://github.com/Shopify/sewing-kit/pull/533)]
406
407## [0.29.10] - 2018-02-19
408
409### Added
410
411- `lint --show-expected` option that displays the expected output for files failing Prettier checks [[#535](https://github.com/Shopify/sewing-kit/pull/535)]
412
413## [0.29.9] - 2018-02-16
414
415### Changed
416
417- Upgrade to eslint-plugin-shopify@19.0.0 [[#532](https://github.com/Shopify/sewing-kit/pull/532)]
418
419## [0.29.7] / [0.29.8] - 2018-02-16
420
421### Changed
422
423- Support for code coverage when running `sewing-kit test` [[#531](https://github.com/Shopify/sewing-kit/pull/531)]
424
425## [0.29.6] - 2018-02-15
426
427### Changed
428
429- 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)]
430
431## [0.29.5] - 2018-02-14
432
433### Changed
434
435- Problematic packages are now stripped from the `plugins.vendor` list [[#528](https://github.com/Shopify/sewing-kit/pull/528)]
436
437## [0.29.4] - 2018-02-13
438
439### Fixed
440
441- Vendor DLL is now served from the correct directory [[#527](https://github.com/Shopify/sewing-kit/pull/527)]
442
443## [0.29.3] - 2018-02-12
444
445### Changed
446
447- Vendor DLL is now cached and reused between server starts [[#526](https://github.com/Shopify/sewing-kit/pull/526)]
448
449## [0.29.2] - 2018-02-11
450
451### Changed
452
453- `sewing-kit test` now uses 3 Jest workers (previously 2) [[#524](https://github.com/Shopify/sewing-kit/pull/524)]
454
455## [0.29.1] - 2018-02-08
456
457### Fixed
458
459- `sewing-kit start` now displays logs [[#520](https://github.com/Shopify/sewing-kit/pull/520)]
460
461## [0.29.0] - 2018-02-07
462
463### Changed
464
465- `--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)]
466
467### Fixed
468
469- Stop `shopify/web` performing concurrent HMR refreshes [[#514](https://github.com/Shopify/sewing-kit/pull/514)]
470
471### Migration suggestions
472
473- Search for `source-maps` references and:
474 - Replace `--source-maps` with `--source-maps accurate`
475 - Replace `--no-source-maps` wtih `--source-maps fast`
476
477## [0.28.1] - 2018-01-28
478
479### Added
480
481- "Hang tight" view now displays a tip about how to access sewing-kit logs [[#505](https://github.com/Shopify/sewing-kit/pull/505)]
482
483### Fixed
484
485- Fixed invalid `strip-ansi` call from version `0.28.0` [[#504](https://github.com/Shopify/sewing-kit/pull/504)]
486
487## [0.28.0] - 2018-01-28
488
489### Added
490
491- "Hang tight" view now displays progress messages [[#501](https://github.com/Shopify/sewing-kit/pull/501)]
492- "Hang tight" view now displays error dumps [[#501](https://github.com/Shopify/sewing-kit/pull/501)]
493- "Hang tight" view has less gender bias [[#502](https://github.com/Shopify/sewing-kit/pull/502)]
494- "Hang tight" view now refreshes the page on build completion [[#503](https://github.com/Shopify/sewing-kit/pull/503)]
495
496## [0.27.1] - 2018-01-24
497
498### Fixed
499
500- Allow cross-origin requests for vendor-dll [[#496](https://github.com/Shopify/sewing-kit/pull/496)]
501
502## [0.27.0] - 2018-01-21
503
504### Added
505
506- Breaking change - `asset.json`/`sewing-kit-manifest.json` now include asset integrity hashes (sha256, base64 encoded)
507 Before
508
509```json
510{
511 "entrypoints": {
512 "foo": {
513 "js": ["foo.js"]
514 }
515 }
516}
517```
518
519After
520
521```json
522{
523 "entrypoints": {
524 "foo": {
525 "js": [
526 {
527 "path": "foo.js",
528 "integrity":
529 "4cd86c4a2c06dceff7d5ef1c381b1de1a8da9e8d36d51647dae249470a781f99.js"
530 }
531 ]
532 }
533 }
534}
535```
536
537### Fixed
538
539- Node only - `sewing-kit start` now starts up an assets server [[#492](https://github.com/Shopify/sewing-kit/pull/492)]
540
541### Migration Suggestions
542
543- Rails projects - upgrade to [`sewing_kit@0.27.0`](https://github.com/Shopify/sewing_kit/blob/master/CHANGELOG.md#0270---22-01-2018)
544- Node projects - adjust `asset.json` entrypoint consumers to account for plain path strings becoming objects with `path`/`integrity` properties
545
546## [0.26.0] - 2018-01-14
547
548### Changed
549
550- Breaking change: Rollup's default emitted filepath is now `dist/index.js` to match the name of the default input file.
551- Upgraded to `eslint-plugin-shopify@19.0.0-beta.4`
552- Upgraded to `prettier@1.9.2`
553
554### Fixed
555
556- Consumers no longer need to provide rollup plugins since they are now included as regular dependencies (instead of dev dependencies)
557
558### Migration Suggestions
559
560- Update `eslintConfig` to include: `plugins: ["shopify/jest"]`
561- Update `.prettierrc` to include: `arrowParens: "always"`
562- For Polaris projects, update `eslintConfig` to include: `plugins: ["shopify/polaris"]`
563- Consider adding new Shopify eslint rules:
564 - [`shopify/jsx-no-complex-expressions`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/jsx-no-complex-expressions.md)
565 - [`shopify/jsx-no-hardcoded-content`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/jsx-no-hardcoded-content.md)
566 - [`shopify/react-initialize-state`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/react-initialize-state.md)
567 - [`shopify/react-type-state`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/react-type-state.md)
568
569## [0.25.0] - 2018-01-12
570
571### Fixed
572
573- `dev --no-hot` mode now builds vendor DLLs [[#487](https://github.com/Shopify/sewing-kit/pull/487)]
574
575### Changed
576
577- Add svgs to prettierignore list on init command [[#484](https://github.com/Shopify/sewing-kit/pull/484)]
578- Use eslint cache to improve ESLint speed for code and GraphQL files [[#485](https://github.com/Shopify/sewing-kit/pull/485)]
579
580## [0.24.0] - 2018-01-11
581
582### Added
583
584- Libraries can be bundled with rollup by including `plugins.rollup` in their config
585
586### Changed
587
588- Omit confusing stacktraces for lint errors [[https://github.com/Shopify/sewing-kit/pull/482](#482)]
589
590## [0.23.0] - 2018-01-09
591
592### Fixed
593
594- Vendor DLL changes will be picked up without a hard browser refresh [[https://github.com/Shopify/sewing-kit/pull/477](#477)]
595
596### Removed
597
598- Breaking change: removed `sewing-kit test`'s `--build` option [[https://github.com/Shopify/sewing-kit/pull/478](#478)]
599
600### Migration Suggestions
601
602- If your project depended on `sewing-kit test --build`, please ping #web-foundations for tips on writing isolated server tests
603
604## [0.22.3] - 2018-01-05
605
606### Changed
607
608- Fix eslint error for ruby projects on CircleCI, adding `vendor/bundle` to ignores [[#475](https://github.com/Shopify/sewing-kit/pull/475)]
609
610## [0.22.2] - 2018-01-05
611
612### Changed
613
614- Fix lint error for ruby projects on CircleCI, adding `vendor/bundle` to stylelint ignores [[#474](https://github.com/Shopify/sewing-kit/pull/474)]
615
616## [0.22.1] - 2018-01-04
617
618### Added
619
620- Support `test` mode builds [[#445](https://github.com/Shopify/sewing-kit/pull/445)]
621
622## [0.22.0] - 2017-12-18
623
624### Added
625
626- Allow graphql schema to be read from a local file [[#427](https://github.com/Shopify/sewing-kit/pull/427)]
627
628### Changed
629
630- 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)]
631
632## [0.21.0] - 2017-12-11
633
634- 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)]
635
636## [0.20.0] - 2017-12-06
637
638### Added
639
640- 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)]
641- 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)]
642
643```
644yarn run sewing-kit init --prettierignore
645```
646
647### Removed
648
649- 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)]
650
651```
652{
653 "extends": [
654 "plugin:shopify/typescript-react"
655 ]
656}
657```
658
659## [0.19.1] - 2017-11-23
660
661### Added
662
663- Added support to selectively include Polaris globals. See [[#423](https://github.com/Shopify/sewing-kit/pull/423)]
664
665## [0.19.0] - 2017-11-22
666
667- 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)]
668
669### Changed
670
671- Improve warmup devServer dev experience. [[#420](https://github.com/Shopify/sewing-kit/pull/420)]
672- Upgraded node-sass from v4.6.0 to v4.7.2 [[#416](https://github.com/Shopify/sewing-kit/pull/416)]
673- Dependency updates [[#412](https://github.com/Shopify/sewing-kit/pull/412)]
674
675## [0.18.0] - 2017-11-16
676
677### Added
678
679- 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)]
680
681### Changed
682
683- `react-hot-loader` is enabled only for React projects [[#392](https://github.com/Shopify/sewing-kit/pull/392)]
684- `.jsx` files no longer throw exceptions on JSX elements [[#408](https://github.com/Shopify/sewing-kit/pull/408)]
685- Dependency updates [[#391](https://github.com/Shopify/sewing-kit/pull/391)]
686 - 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))
687 - A working `react-hot-loader` is now provided
688
689### Migration Suggestions
690
691- If your project uses a custom `react-hot-loader` version, it should be removed
692 - `yarn remove react-hot-loader`
693
694## [0.17.1] - 2017-11-09
695
696### Changed
697
698- `plugin.jest` now accepts a callback https://github.com/Shopify/sewing-kit/pull/329
699
700### Migration Suggestions
701
702- grep for `plugin.jest` calls, and replace the old hash parameter with a callback that overrides the default config's values
703 - Property names are aligned with Jest's config names
704 - e.g., `setupRun` => `setupFiles`, `setupTest` => `setupTestFrameworkScriptFile`
705- `npm rebuild` fixes `bindings`/`node-sass` errors
706
707## [0.17.0] - 2017-11-08
708
709### Added
710
711- Added `railsWithNodeServer` experiment to enable bundling of a server target inside of a Rails project.[[#378](https://github.com/Shopify/sewing-kit/pull/378)]
712- Added `format` support for `graphql` and `json` files. [[#377](https://github.com/Shopify/sewing-kit/pull/377)]
713
714### Changed
715
716- Improved nuke command [[#389](https://github.com/Shopify/sewing-kit/pull/389)]:
717 - Make it run in dev mode such that it does not fail in a project that has production dependencies
718 - Cleans out the correct assets folder in the appropriate places
719- Upgrade node-sass to 4.6.0 [[#381](https://github.com/Shopify/sewing-kit/pull/381)]
720- Lint will now fail if `.json` or `.graphql`/`.gql` is not formatted [[#377](https://github.com/Shopify/sewing-kit/pull/377)]
721- 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)]
722- Improved startup speed by delaying the loading of many modules [[#338](https://github.com/Shopify/sewing-kit/pull/388)]
723- Breaking change: manifests now contain `assets` and `entrypoints` keys [[#387](https://github.com/Shopify/sewing-kit/pull/387)]
724 - `assets` contains the chunk=>js/css mappings that were previously at root level
725
726### Migration Suggestions
727
728- Any code reading from `assets.json`/`sewing-kit-manifest.json` should now dig into the `assets` map
729- `sewing_kit` apps should remove explicit `sewing_kit_script_tag`/`sewing_kit_link_tag` calls to output `runtime`, `vendor`, etc
730
731## [0.16.1] - 2017-10-27
732
733### Added
734
735- Added `format` command to format JS files. [[#357](https://github.com/Shopify/sewing-kit/pull/357)]
736
737### Fixed
738
739- Uglify cache is not erroneously invalidated during builds [[#368](https://github.com/Shopify/sewing-kit/pull/368)]
740
741## [0.16.0] - 2017-10-25
742
743### Fixed
744
745- Breaking change: builds now raise exceptions on compiler warnings [[#363](https://github.com/Shopify/sewing-kit/pull/363/files)]
746
747## [0.15.0] - 2017-10-25
748
749### Fixed
750
751- Pinned to `webpack@3.5.3` to work around hard-source errors in later versions [[#360](https://github.com/Shopify/sewing-kit/pull/360)]
752
753## [0.14.4] - 2017-10-22
754
755- Move Jest's cache to sewing-kit's cache directory [[#350](https://github.com/Shopify/sewing-kit/pull/350)]
756
757## [0.14.3] - 2017-10-21
758
759### Updated
760
761- CI now uses 2 jest worker threads [[#349](https://github.com/Shopify/sewing-kit/pull/349)]
762
763## [0.14.2] - 2017-10-16
764
765### Updated
766
767- Use a `stylelint` version that's compatible with `stylelint-config-shopify`'s requirements [[#342](https://github.com/Shopify/sewing-kit/pull/342)]
768
769## [0.14.1] - 2017-10-16
770
771### Added
772
773- 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)]
774
775### Migration Suggestions
776
777- Turn on the `parallelUglify` experiment
778
779## [0.14.0] - 2017-10-15
780
781### Fixed
782
783- `lint` now builds GraphQL type definitions before running script linters [[#340](https://github.com/Shopify/sewing-kit/pull/340)]
784- `lint` now ignores `.scss` files in `node_modules` [[#338](https://github.com/Shopify/sewing-kit/pull/338)]
785- GraphQL tests no longer add 6 minutes to CircleCI runs [[#339](https://github.com/Shopify/sewing-kit/pull/339)]
786
787### Updated
788
789- Breaking change: `stylelint`/`stylelint-config-shopify` version bumps
790
791### Removed
792
793- `conciseModuleNames` experiment [[#331](https://github.com/Shopify/sewing-kit/pull/331)]
794
795### Migration Suggestions
796
797- Remove `stylelint` and `stylelint-config-shopify` from `package.json` (`dependencies`/`devDependencies`)
798
799## [0.13.0] - 2017-10-12
800
801### Added
802
803- `conciseModuleNames` experiment to reduce bulk from long-term caching [[#326](https://github.com/Shopify/sewing-kit/pull/326)]
804- `moduleConcatenation` experiment to make bundles smaller using [ModuleConcatenationPlugin](https://webpack.js.org/plugins/module-concatenation-plugin/) [(https://github.com/Shopify/sewing-kit/pull/328)]
805- Breaking change: `productionChunks` experiment to enable/disable long-term caching plugins [[#330](https://github.com/Shopify/sewing-kit/pull/330)]
806
807### Changed
808
809- Breaking change: Long-term caching naming is enabled for all projects (a side-effect of [#330](https://github.com/Shopify/sewing-kit/pull/330))
810
811## [0.12.8] - 2017-10-11
812
813### Added
814
815- Suppress auto-import of Polaris CSS globals with `plugins.sass({autoImportPolaris: false})` [[#307](https://github.com/Shopify/sewing-kit/pull/307)]
816- 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)]
817 - Defaults to `false`
818- `sewing-kit test` now updates Jest snapshots if `--update-snapshot` is an argument [[#318](https://github.com/Shopify/sewing-kit/pull/318)]
819
820### Changed
821
822- Enable `.ts`/`.tsx` compilation if `typescript` is a development dependency [[#308](https://github.com/Shopify/sewing-kit/pull/308)]
823
824## [0.12.7] - 2017-10-05
825
826### Added
827
828- Automatic `postcss` config for projects that don't have a `postcss.config.js` file [[#296](https://github.com/Shopify/sewing-kit/pull/296)]
829
830### Changed
831
832- More README details [[#256](https://github.com/Shopify/sewing-kit/pull/256)]
833
834### Fixed
835
836- Fix server debugging for node@8 [[#301](https://github.com/Shopify/sewing-kit/pull/301)]
837
838## [0.12.6] - 2017-10-02
839
840### Changed
841
842- Use `babel-preset-env` even in projects that use `sprockets-commoner` [[#284](https://github.com/Shopify/sewing-kit/pull/284)]
843
844### Fixed
845
846- Fixed an issue where adding a custom webpack resolver for `csv` files broke jest. [[#294](https://github.com/Shopify/sewing-kit/pull/294)]
847
848## [0.12.5] - 2017-09-19
849
850### Added
851
852- 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)]
853
854* 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)]
855
856### Fixed
857
858- Fixed an issue where imports not beginning in `tests` were mapped to the tests directory [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
859
860### Changed
861
862- 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)]
863- 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)]
864
865## [0.12.4] - 2017-09-18
866
867### Added
868
869- `sewing-kit playground` spins up a hot-reloading playground [[#255](https://github.com/Shopify/sewing-kit/pull/255)]
870
871### Fixed
872
873- `.scss` linter now skips all `node_modules` folders
874- Vendor DLL libraries are no longer duplicated in other development bundles [[#279](https://github.com/Shopify/sewing-kit/pull/279)]
875
876## [0.12.3] - 2017-09-13
877
878### Added
879
880- `sewing-kit lint` now ignores JavaScript files generated by Rails (`tmp`, `public`) [[#267](https://github.com/Shopify/sewing-kit/pull/267)]
881- The new `railgun.yml` file is used for the dev server hostname [[#275](https://github.com/Shopify/sewing-kit/pull/275)]
882
883## [0.12.2] - 2017-09-07
884
885### Fixed
886
887- Embedded app production builds no longer attempt to access non-existent esnext files [[#266](https://github.com/Shopify/sewing-kit/pull/266)]
888
889### Added
890
891- Optimize lodash builds using babel-plugin-lodash & lodash-webpack-plugin [[#257](https://github.com/Shopify/sewing-kit/pull/257)]
892
893## [0.12.1] - 2017-09-06
894
895### Added
896
897- Vendor bundle hash is no longer changed by dynamic imports [[#228](https://github.com/Shopify/sewing-kit/pull/228)]
898
899### Changed
900
901- Real world development/production defaults for `publicPath` in Rails projects [[#258](https://github.com/Shopify/sewing-kit/pull/258)]
902- `packages` tests are now included in `--app-only` runs [[#251](https://github.com/Shopify/sewing-kit/pull/251)]
903
904## [0.12.0] - 2017-08-30
905
906### Added
907
908- CSS minification for production assets [[#236](https://github.com/Shopify/sewing-kit/pull/236)]
909- Add offline GraphQL schema [[#239](https://github.com/Shopify/sewing-kit/pull/239)]
910- Vendor caching support in production using `CommonsChunkPlugin` [[#248](https://github.com/Shopify/sewing-kit/pull/248)]
911 - Creates a `vendor` and `runtime` chunk
912 - Supports consistent vendor caching when app modules are added
913 - Supports consistent vendor caching when new entries are added
914
915## [0.11.1] - 2017-08-23
916
917### Added
918
919- `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)]
920 - e.g., `sewing-kit test Card` will run only tests with `Card` in their file path
921- TypeScript errors now use pretty formatting [[#224](https://github.com/Shopify/sewing-kit/pull/224)]
922
923## [0.11.0] - 2017-08-18
924
925### Changed
926
927- `fastProductionBuild` now enables `hard-source-plugin` in production builds [[#214](https://github.com/Shopify/sewing-kit/pull/214)]
928- `.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)]
929 - This replaces `white` fills with `currentColor`, and exports the svg's body as an importable JS module
930 - 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))
931- App tests with GraphQL types no longer depend on a full build [[#216](https://github.com/Shopify/sewing-kit/pull/216)]
932
933## [0.10.1] - 2017-08-12
934
935### Changed
936
937- `env.isCI` returns true when `ENV['CI'] == '1'` [[#203](https://github.com/Shopify/sewing-kit/pull/203)]
938
939## [0.10.0] - 2017-08-11
940
941### Changed
942
943- Updated webpack@3 (just a version bump; no new plugin integration, yet) [[#187](https://github.com/Shopify/sewing-kit/pull/187)]
944- 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)]
945
946### Fixed
947
948- When using `fastProductionBuild`, CSS asset hashes match their content hash again (disabled `cheap-source-maps`) [[#199](https://github.com/Shopify/sewing-kit/pull/199)]
949
950## [0.9.0] - 2017-08-10
951
952### Changed
953
954- Uses `@shopify/polaris@1.3.1` [[#164](https://github.com/Shopify/sewing-kit/pull/164)]
955- `typescript` is no longer a mandatory dependency for consumers [[#164](https://github.com/Shopify/sewing-kit/pull/164)]
956
957## [0.8.0] - 2017-08-09
958
959### Changed
960
961- Uses `@shopify/polaris@1.2.1`
962- Uses `typescript@2.3.3` (this version allows destructuring of potentially undefined arguments in `.d.ts` files)
963- `sewing-kit.config.js` can now define custom paths (via `plugins.paths`)
964
965## [0.7.0] - 2017-08-03
966
967### Added
968
969- `graphql-typescript-definitions` now runs in watch mode [[#171](https://github.com/Shopify/sewing-kit/pull/171)]
970- End to end test for Polaris development builds [[#178](https://github.com/Shopify/sewing-kit/pull/178)]
971- `fastProductionBuild` experiment [[#178](https://github.com/Shopify/sewing-kit/pull/178), [#184](https://github.com/Shopify/sewing-kit/pull/184)]
972 - Allows production builds to use a precompiled version of Polaris with fully namespaced CSS classes
973 - Turns off typeschecking
974 - Uses `check-source-maps` for faster compilation
975- End to end test for more consistent chunk names [[#175](https://github.com/Shopify/sewing-kit/pull/175)]
976
977### Fixed
978
979- GraphQL lint now lints mutations [[#183](https://github.com/Shopify/sewing-kit/pull/183)]
980- GraphQL no longer outputs meaningless pages of stack traces on error [[#183](https://github.com/Shopify/sewing-kit/pull/183)]
981
982### Removed
983
984- Redundant static asset middleware route in development mode [[#170](https://github.com/Shopify/sewing-kit/pull/170)]
985
986[unreleased]: https://github.com/Shopify/sewing-kit/compare/v0.51.1...HEAD
987[0.51.1]: https://github.com/Shopify/sewing-kit/compare/v0.51.0...v0.51.1
988[0.51.0]: https://github.com/Shopify/sewing-kit/compare/v0.50.1...v0.51.0
989[0.50.1]: https://github.com/Shopify/sewing-kit/compare/v0.50.0...v0.50.1
990[0.50.0]: https://github.com/Shopify/sewing-kit/compare/v0.49.1...v0.50.0
991[0.49.1]: https://github.com/Shopify/sewing-kit/compare/v0.49.0...v0.49.1
992[0.49.0]: https://github.com/Shopify/sewing-kit/compare/v0.48.2...v0.49.0
993[0.48.2]: https://github.com/Shopify/sewing-kit/compare/v0.48.1...v0.48.2
994[0.48.1]: https://github.com/Shopify/sewing-kit/compare/v0.48.0...v0.48.1
995[0.48.0]: https://github.com/Shopify/sewing-kit/compare/v0.47.1...v0.48.0
996[0.47.1]: https://github.com/Shopify/sewing-kit/compare/v0.47.0...v0.47.1
997[0.47.0]: https://github.com/Shopify/sewing-kit/compare/v0.46.0...v0.47.0
998[0.46.0]: https://github.com/Shopify/sewing-kit/compare/v0.45.6...v0.46.0
999[0.45.6]: https://github.com/Shopify/sewing-kit/compare/v0.45.5...v0.45.6
1000[0.45.5]: https://github.com/Shopify/sewing-kit/compare/v0.45.4...v0.45.5
1001[0.45.4]: https://github.com/Shopify/sewing-kit/compare/v0.45.3...v0.45.4
1002[0.45.3]: https://github.com/Shopify/sewing-kit/compare/v0.45.2...v0.45.3
1003[0.45.2]: https://github.com/Shopify/sewing-kit/compare/v0.45.1...v0.45.2
1004[0.45.1]: https://github.com/Shopify/sewing-kit/compare/v0.45.0...v0.45.1
1005[0.45.0]: https://github.com/Shopify/sewing-kit/compare/v0.44.0...v0.45.0
1006[0.44.0]: https://github.com/Shopify/sewing-kit/compare/v0.43.0...v0.44.0
1007[0.43.0]: https://github.com/Shopify/sewing-kit/compare/v0.42.0...v0.43.0
1008[0.42.0]: https://github.com/Shopify/sewing-kit/compare/v0.41.1...v0.42.0
1009[0.41.1]: https://github.com/Shopify/sewing-kit/compare/v0.41.0...v0.41.1
1010[0.41.0]: https://github.com/Shopify/sewing-kit/compare/v0.40.0...v0.41.0
1011[0.40.0]: https://github.com/Shopify/sewing-kit/compare/v0.30.1...v0.40.0
1012[0.30.1]: https://github.com/Shopify/sewing-kit/compare/v0.30.0...v0.30.1
1013[0.30.0]: https://github.com/Shopify/sewing-kit/compare/v0.29.17...v0.30.0
1014[0.29.17]: https://github.com/Shopify/sewing-kit/compare/v0.29.16...v0.29.17
1015[0.29.16]: https://github.com/Shopify/sewing-kit/compare/v0.29.15...v0.29.16
1016[0.29.15]: https://github.com/Shopify/sewing-kit/compare/v0.29.14...v0.29.15
1017[0.29.14]: https://github.com/Shopify/sewing-kit/compare/v0.29.13...v0.29.14
1018[0.29.13]: https://github.com/Shopify/sewing-kit/compare/v0.29.12...v0.29.13
1019[0.29.12]: https://github.com/Shopify/sewing-kit/compare/v0.29.11...v0.29.12
1020[0.29.11]: https://github.com/Shopify/sewing-kit/compare/v0.29.10...v0.29.11
1021[0.29.10]: https://github.com/Shopify/sewing-kit/compare/v0.29.9...v0.29.10
1022[0.29.9]: https://github.com/Shopify/sewing-kit/compare/v0.29.8...v0.29.9
1023[0.29.8]: https://github.com/Shopify/sewing-kit/compare/v0.29.7...v0.29.8
1024[0.29.7]: https://github.com/Shopify/sewing-kit/compare/v0.29.6...v0.29.7
1025[0.29.6]: https://github.com/Shopify/sewing-kit/compare/v0.29.5...v0.29.6
1026[0.29.5]: https://github.com/Shopify/sewing-kit/compare/v0.29.3...v0.29.5
1027[0.29.4]: https://github.com/Shopify/sewing-kit/compare/v0.29.3...v0.29.4
1028[0.29.3]: https://github.com/Shopify/sewing-kit/compare/v0.29.2...v0.29.3
1029[0.29.2]: https://github.com/Shopify/sewing-kit/compare/v0.29.1...v0.29.2
1030[0.29.1]: https://github.com/Shopify/sewing-kit/compare/v0.29.0...v0.29.1
1031[0.29.0]: https://github.com/Shopify/sewing-kit/compare/v0.28.1...v0.29.0
1032[0.28.1]: https://github.com/Shopify/sewing-kit/compare/v0.28.0...v0.28.1
1033[0.28.0]: https://github.com/Shopify/sewing-kit/compare/v0.27.1...v0.28.0
1034[0.27.1]: https://github.com/Shopify/sewing-kit/compare/v0.27.0...v0.27.1
1035[0.27.0]: https://github.com/Shopify/sewing-kit/compare/v0.26.0...v0.27.0
1036[0.26.0]: https://github.com/Shopify/sewing-kit/compare/v0.25.0...v0.26.0
1037[0.25.0]: https://github.com/Shopify/sewing-kit/compare/v0.24.0...v0.25.0
1038[0.24.0]: https://github.com/Shopify/sewing-kit/compare/v0.23.0...v0.24.0
1039[0.23.0]: https://github.com/Shopify/sewing-kit/compare/v0.22.3...v0.23.0
1040[0.22.3]: https://github.com/Shopify/sewing-kit/compare/v0.22.2...v0.22.3
1041[0.22.2]: https://github.com/Shopify/sewing-kit/compare/v0.22.1...v0.22.2
1042[0.22.1]: https://github.com/Shopify/sewing-kit/compare/v0.22.0...v0.22.1
1043[0.22.0]: https://github.com/Shopify/sewing-kit/compare/v0.21.0...v0.22.0
1044[0.21.0]: https://github.com/Shopify/sewing-kit/compare/v0.20.0...v0.21.0
1045[0.20.0]: https://github.com/Shopify/sewing-kit/compare/v0.19.1...v0.20.0
1046[0.19.1]: https://github.com/Shopify/sewing-kit/compare/v0.19.0...v0.19.1
1047[0.19.0]: https://github.com/Shopify/sewing-kit/compare/v0.18.0...v0.19.0
1048[0.18.0]: https://github.com/Shopify/sewing-kit/compare/v0.17.1...v0.18.0
1049[0.17.1]: https://github.com/Shopify/sewing-kit/compare/v0.17.0...v0.17.1
1050[0.17.0]: https://github.com/Shopify/sewing-kit/compare/v0.16.1...v0.17.0
1051[0.16.1]: https://github.com/Shopify/sewing-kit/compare/v0.16.0...v0.16.1
1052[0.16.0]: https://github.com/Shopify/sewing-kit/compare/v0.15.0...v0.16.0
1053[0.15.0]: https://github.com/Shopify/sewing-kit/compare/v0.14.4...v0.15.0
1054[0.14.4]: https://github.com/Shopify/sewing-kit/compare/v0.14.3...v0.14.4
1055[0.14.3]: https://github.com/Shopify/sewing-kit/compare/v0.14.2...v0.14.3
1056[0.14.2]: https://github.com/Shopify/sewing-kit/compare/v0.14.1...v0.14.2
1057[0.14.1]: https://github.com/Shopify/sewing-kit/compare/v0.14.0...v0.14.1
1058[0.14.0]: https://github.com/Shopify/sewing-kit/compare/v0.13.0...v0.14.0
1059[0.13.0]: https://github.com/Shopify/sewing-kit/compare/v0.12.8...v0.13.0
1060[0.12.8]: https://github.com/Shopify/sewing-kit/compare/v0.12.7...v0.12.8
1061[0.12.7]: https://github.com/Shopify/sewing-kit/compare/v0.12.6...v0.12.7
1062[0.12.6]: https://github.com/Shopify/sewing-kit/compare/v0.12.5...v0.12.6
1063[0.12.5]: https://github.com/Shopify/sewing-kit/compare/v0.12.4...v0.12.5
1064[0.12.4]: https://github.com/Shopify/sewing-kit/compare/v0.12.3...v0.12.4