]> git.ipfire.org Git - thirdparty/Font-Awesome.git/blame - UPGRADING.md
Merge pull request #16911 from FortAwesome/bugfix/fix-changelog-and-upgrading-guide
[thirdparty/Font-Awesome.git] / UPGRADING.md
CommitLineData
ad8a3004 1# Upgrading Guide
2
3See the [CHANGELOG.md](./CHANGELOG.md) for detailed information about what has changed between versions.
4
5This guide is useful to figure out what you need to do between breaking changes.
6
7As always, [submit issues](https://github.com/FortAwesome/Font-Awesome/issues/new) that you run into with this guide or with these upgrades to us.
8
1147d199
RM
9---
10
c38da7f6
RM
11## 5.12.x/5.13.x to 5.14.0
12
13In version 5.12.0 and 5.13.0 some of the icons were assigned unicode values
14that were outside the Private Unicode Area (PUA). This caused problems with
15some desktop software and caused the icons to show up as Chinese, Japanese, or
16Korean (CJK) ideographs.
17
18The unicode values have been re-assigned to values within the PUA range.
19
20If you were using any of the following icons with pseudo-elements you will need
21to change the CSS `content` value to the new unicode value.
22
23| Icon name | Old | New |
24| ---------------------- | ---- | ---- |
25| bacteria | f959 | e059 |
26| bacterium | f95a | e05a |
27| box-tissue | f95b | e05b |
c38da7f6
RM
28| caravan-alt | f900 | e000 |
29| cat-space | f901 | e001 |
30| coffee-pot | f902 | e002 |
31| coffin-cross | f951 | e051 |
32| comet | f903 | e003 |
33| dailymotion | f952 | e052 |
34| deezer | f977 | e077 |
35| edge-legacy | f978 | e078 |
36| fan-table | f904 | e004 |
37| faucet | f905 | e005 |
38| faucet-drip | f906 | e006 |
39| firefox-browser | f907 | e007 |
40| folder-download | f953 | e053 |
41| folder-upload | f954 | e054 |
42| galaxy | f908 | e008 |
43| garage | f909 | e009 |
44| garage-car | f90a | e00a |
45| garage-open | f90b | e00b |
46| google-pay | f979 | e079 |
47| hand-holding-medical | f95c | e05c |
48| hand-sparkles | f95d | e05d |
49| hands-wash | f95e | e05e |
50| handshake-alt-slash | f95f | e05f |
51| handshake-slash | f960 | e060 |
52| head-side-cough | f961 | e061 |
53| head-side-cough-slash | f962 | e062 |
54| head-side-mask | f963 | e063 |
55| head-side-virus | f964 | e064 |
56| heat | f90c | e00c |
57| house | f90d | e00d |
58| house-day | f90e | e00e |
59| house-leave | f90f | e00f |
60| house-night | f910 | e010 |
61| house-return | f911 | e011 |
62| house-signal | f912 | e012 |
63| house-user | f965 | e065 |
64| ideal | f913 | e013 |
65| instagram-square | f955 | e055 |
66| lamp-desk | f914 | e014 |
67| lamp-floor | f915 | e015 |
68| laptop-house | f966 | e066 |
69| light-ceiling | f916 | e016 |
70| light-switch | f917 | e017 |
71| light-switch-off | f918 | e018 |
72| light-switch-on | f919 | e019 |
73| lungs-virus | f967 | e067 |
74| microblog | f91a | e01a |
75| microwave | f91b | e01b |
76| mixer | f956 | e056 |
77| outlet | f91c | e01c |
78| oven | f91d | e01d |
79| people-arrows | f968 | e068 |
80| pied-piper-square | f91e | e01e |
81| plane-slash | f969 | e069 |
82| planet-moon | f91f | e01f |
83| planet-ringed | f920 | e020 |
84| police-box | f921 | e021 |
85| portal-enter | f922 | e022 |
86| portal-exit | f923 | e023 |
87| pump-medical | f96a | e06a |
88| pump-soap | f96b | e06b |
89| radar | f924 | e024 |
90| raygun | f925 | e025 |
91| refrigerator | f926 | e026 |
92| rocket-launch | f927 | e027 |
93| rust | f97a | e07a |
94| sensor | f928 | e028 |
95| sensor-alert | f929 | e029 |
96| sensor-fire | f92a | e02a |
97| sensor-on | f92b | e02b |
98| sensor-smoke | f92c | e02c |
99| shield-virus | f96c | e06c |
100| shopify | f957 | e057 |
101| sink | f96d | e06d |
102| siren | f92d | e02d |
103| siren-on | f92e | e02e |
104| soap | f96e | e06e |
105| solar-system | f92f | e02f |
106| sort-circle | f930 | e030 |
107| sort-circle-down | f931 | e031 |
108| sort-circle-up | f932 | e032 |
109| space-station-moon | f933 | e033 |
110| space-station-moon-alt | f934 | e034 |
111| sprinkler | f935 | e035 |
112| star-shooting | f936 | e036 |
113| starfighter | f937 | e037 |
114| starfighter-alt | f938 | e038 |
115| starship | f939 | e039 |
116| starship-freighter | f93a | e03a |
117| stopwatch-20 | f96f | e06f |
118| store-alt-slash | f970 | e070 |
119| store-slash | f971 | e071 |
120| sword-laser | f93b | e03b |
121| sword-laser-alt | f93c | e03c |
122| swords-laser | f93d | e03d |
123| telescope | f93e | e03e |
124| temperature-down | f93f | e03f |
125| temperature-up | f940 | e040 |
126| tiktok | f97b | e07b |
127| toilet-paper-slash | f972 | e072 |
128| trailer | f941 | e041 |
129| transporter | f942 | e042 |
130| transporter-1 | f943 | e043 |
131| transporter-2 | f944 | e044 |
132| transporter-3 | f945 | e045 |
133| transporter-empty | f946 | e046 |
134| ufo | f947 | e047 |
135| ufo-beam | f948 | e048 |
136| unity | f949 | e049 |
137| unsplash | f97c | e07c |
138| user-alien | f94a | e04a |
139| user-robot | f94b | e04b |
140| user-unlock | f958 | e058 |
141| user-visor | f94c | e04c |
142| users-slash | f973 | e073 |
143| vacuum | f94d | e04d |
144| vacuum-robot | f94e | e04e |
145| virus | f974 | e074 |
146| virus-slash | f975 | e075 |
147| viruses | f976 | e076 |
148| window-frame | f94f | e04f |
149| window-frame-open | f950 | e050 |
150
151---
152
1147d199
RM
153## 5.13.0 to 5.13.1
154
155There are no breaking changes in this version upgrade.
156
157---
158
4e640244
RM
159## 5.12.1 to 5.13.0
160
161There are no breaking changes in this version upgrade.
162
163---
164
0d1f27ef
RM
165## 5.12.0 to 5.12.1
166
167There are no breaking changes in this version upgrade.
168
4f4cb7c2
RM
169---
170
d8db3d03
RM
171## 5.11.2 to 5.12.0
172
173The 9-pointed icon named "haykal" was renamed to "bahai" to better match the
174symbol. If you were previously using the misnamed icon rename to "bahai" when
175upgrading.
176
177---
178
1c1b102b
RM
179## 5.11.1 to 5.11.2
180
181The scanner-image icon was previously using the same unicode value as the scanner icon.
182
183This has now been fixed and the scanner-image icon has a unique unicode value.
184
185The film-canister icon was misspelled as "film-cannister". This has been fixed.
186
187---
188
189## 5.11.0 to 5.11.1
190
191There are no breaking changes in this version upgrade.
192
193---
194
57451ba7
RM
195## 5.10.2 to 5.11.0
196
197There are no breaking changes in this version upgrade.
198
199---
200
090e6148
RM
201## 5.10.1 to 5.10.2
202
203There are no breaking changes in this version upgrade.
204
205---
206
538a5bc4
RM
207## 5.10.0 to 5.10.1
208
209The Sass function `fa-content-secondary` which was part of the `duotone.scss`
210file has been removed due to its inconsistent behavior in different versions of
211Sass pre-processors. Specifically [`node-sass`](https://github.com/sass/node-sass) and
212[`sass`](https://github.com/sass/dart-sass) didn't produce the same output.
213
214---
215
5c06ed07
RM
216## 5.9.0 to 5.10.0
217
218The following icon shims have been changed to better match the original version 4 icon:
219
220* sort-alpha-desc
221* sort-amount-desc
222* sort-numeric-desc
223
224---
225
ba907eae
RM
226## 5.8.2 to 5.9.0
227
228The nintendo-switch icon has been removed by legal request of Nintendo of America Inc.
229
230Font Awesome is no longer able to provide icons related to Nintendo, their
231gaming consoles, accessories, or games.
232
233---
234
e05a1219
RM
235## 5.8.1 to 5.8.2
236
237There are no breaking changes in this version upgrade.
238
239---
240
299abb1f
RM
241## 5.8.0 to 5.8.1
242
243There are no breaking changes in this version upgrade.
244
245---
246
e0994360
RM
247## 5.7.x to 5.8.0
248
249### Removing title elements from SVG sprites
250
251Since the initial release of version 5, all the way back to 5.0.0 actually,
252we've included `<title>` elements in the SVG sprites.
253
254In https://github.com/FortAwesome/Font-Awesome/issues/14595 a discussion
255outlines that this practice actually prevents normal efforts to make these
256sprites accessible according to web accessibility standards.
257
258If you are using sprites please refer to [our documentation on accessibility with Font Awesome](https://fontawesome.com/how-to-use/on-the-web/other-topics/accessibility).
259
260### Removing vertical-align from the .fa-icon Sass mixin
261
262Font Awesome has supported Sass and Less CSS pre-processors for a long time.
263
264The version 5 `.fa-icon` mixin which is present in `scss/_mixins.scss`
265previously included `vertical-align` which was incorrectly shifting icons.
266
267If you have used this mixin in your own Sass files you will need to check the
268alignment of those icons after upgrading to 5.8.0.
269
270---
271
1cf1062e
RM
272## 5.7.1 to 5.7.2
273
274There are no breaking changes in this version upgrade.
275
276---
277
def7d5bd
RM
278## 5.7.0 to 5.7.1
279
2a7e86d8 280The cheeseburger icon incorrectly placed the cheese _under_ the patty. This is unacceptable and we've fixed it.
def7d5bd
RM
281
282---
283
63f8fd9c
RM
284## 5.6.x to 5.7.0
285
cd0029e8
RM
286### OTF and TTF files
287
288The PostScript name has been changed from `FontAwesome5ProSolid` to `FontAwesome5Pro-Solid`. This was done to be more compatible with tooling such as XCode.
289
290We've also update the `Version` specifier. Font files only support a MAJOR and MINOR version number so we have modifed our schema. For example, version 5.7.0 of Font Awesome is reflected as 329.472 in the individual font files.
291
292### Icon changes
293
63f8fd9c
RM
294The calendar-alt icon has been reverted back to the previous design in versions <= 5.6.0.
295
296---
297
34dff972
RM
298## 5.6.x to 5.6.3
299
300The fire icon has been reverted back to the previous design in versions <= 5.5.0.
301
302We have moved the redesigned icon to fire-alt.
303
304---
305
1975bba5
RM
306## 5.6.0 to 5.6.1
307
308There are no breaking changes in this version upgrade.
309
310---
311
ce084cb3
RM
312## 5.5.0 to 5.6.0
313
314In this release we've taken time to re-organize the directory structure to
315prevent redundancy and improve findability.
316
317### Directory structure changes
318
319| Old path | New path |
320|-----------------------------------|-------------|
321| advanced-options/metadata | metadata |
322| advanced-options/raw-svg | svgs |
323| advanced-options/svg-sprites | sprites |
324| advanced-options/use-with-node-js | js-packages |
325| svg-with-js/js | js |
326| svg-with-js/css | css |
327| use-on-desktop | otfs |
328| web-fonts-with-css/css | css |
329| web-fonts-with-css/less | less |
330| web-fonts-with-css/scss | scss |
331| web-fonts-with-css/webfonts | webfonts |
332
333---
334
4f4cb7c2
RM
335## 5.4.x to 5.5.0
336
337There are no breaking changes in this version upgrade.
338
339---
340
559a780f
RM
341## 5.4.0 to 5.4.1
342
343Categories were renamed from:
344
345* Holiday to Halloween
346* Seasonal to Autumn
347
348The "wand" icon in version 5.4.0 matched the "wand-magic" icon. The magical
349sparkles have been removed for "wand". If you were relying on this decoration
350in your design switch to "wand-magic" to bring the magic back.
351
352---
353
53629944
RM
354## 5.3.x to 5.4.0
355
356There are no breaking changes in this version upgrade.
357
358---
359
ff2853ac
RM
360## 5.3.0 to 5.3.1
361
dafc5f5d
RM
362The following Pro-only icons were removed from Font Awesome Free as of 5.3.1:
363
364* abacus
365* calculator-alt
366* empty-set
367* function
368* integral
369* intersection
370* lambda
371* omega
372* pi
373* sigma
374* signal-alt
375* signal-alt-slash
376* signal-slash
377* square-root
378* tally
379* theta
380* tilde
381* union
382* value-absolute
383* volume
384* volume-down
385* volume-slash
386* wifi-slash
387
388These icons were unintentionally included in 5.3.0.
ff2853ac
RM
389
390---
391
9fc64f70
RM
392## 5.x.x to 5.3.0
393
394Sass mixin syntax has been updated to address a bug.
395
396Use `@extend %fa-icon` to correctly maintain CSS order in output files.
397
398~~Old way:~~
399
400```
401.twitter {
402 @include fa-icon; /* incorrect */
403 @extend .fab;
404
405 &:before {
406 content: fa-content($fa-var-twitter);
407 }
408}
409```
410
411New way:
412
413```
414.twitter {
415 @extend %fa-icon; /* correct */
416 @extend .fab;
417
418 &:before {
419 content: fa-content($fa-var-twitter);
420 }
421}
422```
423
424---
425
03bcd4dc
RM
426## 5.1.x to 5.2.x
427
428There are no breaking changes in this version upgrade.
429
430---
431
9339b98d
RM
432## 5.1.0 to 5.1.1
433
434Less and Sass files incorrectly contained the "fa-" prefix for style files.
435These files have been renamed to be consistent with other files in the
436packages.
437
438If you are using the Less or Sass file styles individually you will need to
439correct the names in your builds.
440
441| Old filename | New filename |
442| --------------------------- | ------------------------ |
443| less/fa-solid.less | less/solid.less |
444| less/fa-regular.less | less/regular.less |
445| less/fa-light.less | less/light.less |
446| less/fa-brands.less | less/brands.less |
447| scss/fa-solid.scss | scss/solid.scss |
448| scss/fa-regular.scss | scss/regular.scss |
449| scss/fa-light.scss | scss/light.scss |
450| scss/fa-brands.scss | scss/brands.scss |
451
03bcd4dc
RM
452---
453
731953d9
RM
454## 5.0.x to 5.1.0
455
456### New packages available for browser-only integration
457
458**If you were previously using @fortawesome/fontawesome you need to switch to one of the new packages.**
459
460Our Free and Pro CDN provide access to JS, CSS, sprites, and separate SVG files.
461
462We've now made these files conveniently available through NPM.
463
464* [@fortawesome/fontawesome-free](https://www.npmjs.com/package/@fortawesome/fontawesome-free)
465* @fortawesome/fontawesome-pro (private package, requires Pro subscription)
466
467If you are familiar with the paths and options available with the CDN these
468packages should be familiar.
469
470Information about [Font Awesome Pro subscriptions](https://fontawesome.com/pro)
471can be found in your [Font Awesome awesome
472account](https://fontawesome.com/account/services).
473
474### Renamed packages
475
476The following packages have been renamed as part of 5.1.0 of Font Awesome.
477
bab41b27 478_All packages are in the [@fortawesome NPM scope](https://www.npmjs.com/search?q=scope:fortawesome&ranking=optimal)_
731953d9
RM
479
480| Old package(1) | New package |
481|---------------------------|------------------------|
482| fontawesome-free-webfonts | fontawesome-free |
483| fontawesome-pro-webfonts | fontawesome-pro |
28d2f62b
RM
484| fontawesome-free-solid   | free-solid-svg-icons |
485| fontawesome-free-regular | free-regular-svg-icons |
486| fontawesome-free-brands   | free-brands-svg-icons |
487| fontawesome-pro-solid   | pro-solid-svg-icons |
488| fontawesome-pro-regular   | pro-regular-svg-icons |
489| fontawesome-pro-light   | pro-light-svg-icons |
731953d9
RM
490
491(1) Old packages have now been deprecated. They are still available but will only receive high priority patch release fixes.
492
493**You'll need to update your package.json file with the renamed packages and new versions.**
494
495### No more default imports
496
497Recently we spent a good deal of time supporting TypeScript to enable us to
498create the Angular Font Awesome component. During that adventure we
499[were](https://basarat.gitbooks.io/typescript/docs/tips/defaultIsBad.html)
500[convinced](https://blog.neufund.org/why-we-have-banned-default-exports-and-you-should-do-the-same-d51fdc2cf2ad)
501that we were going to remove default exports from all of our components,
502libraries, and packages. This is complete with the umbrella release of `5.1.0` of Font Awesome.
503
504What does that mean?
505
506~~Old way:~~
507
508```javascript
0c218a3e 509import fontawesome from '@fortawesome/fontawesome'
731953d9
RM
510import solid from '@fortawesome/fontawesome-free-solid'
511import faTwitter from '@fortawesome/fontawesome-free-brands/faTwitter'
512import FontAwesomeIcon from '@fortawesome/vue-fontawesome'
513
e1458ba7 514library.add(solid, faTwitter)
731953d9
RM
515```
516
517New way:
518
519```javascript
0c218a3e 520import { library, dom } from '@fortawesome/fontawesome-svg-core'
8a28c657 521import { fas } from '@fortawesome/free-solid-svg-icons'
731953d9
RM
522import { faTwitter } from '@fortawesome/free-brands-svg-icons'
523import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
524
e1458ba7 525library.add(fas, faTwitter)
6560d892 526
e1458ba7 527// Kicks off the process of finding <i> tags and replacing with <svg>
6560d892 528dom.watch()
731953d9
RM
529```
530
531This is also a valid way to import icons that works if your tool does not support tree shaking:
532
533```javascript
534import { faTwitter } from '@fortawesome/free-brands-svg-icons/faTwitter'
535```
536
537### Improved support for tree shaking
538
539Tree shaking is now functional by default and no additional configuration is required to make it work.
540
541The `shakable.es.js` module has been removed and is no longer needed.
542
543If you've previously configured tree shaking by modifying your webpack or rollup you can safely remove these.
544
545**We recommend that you check your bundle size after upgrading an ensure that file sizes are as you would expect.**
546
547```javascript
548module.exports = {
549 // ...
550 resolve: {
551 alias: {
552 '@fortawesome/fontawesome-free-solid$': '@fortawesome/fontawesome-free-solid/shakable.es.js'
553 }
554 }
555}
556```
557
558```javascript
559const alias = require('rollup-plugin-alias')
560
561rollup({
562 // ...
563 plugins: [
564 alias({
565 '@fortawesome/fontawesome-free-solid': 'node_modules/@fortawesome/fontawesome-free-solid/shakable.es.js'
566 })
567 ]
568})
569```
570
03bcd4dc
RM
571---
572
4092d1e1
RM
573## 5.0.11 to 5.0.12
574
575Due to a collision with the "r" glyph the R Project brand icon has been renamed to `r-project`.
576
03bcd4dc
RM
577---
578
ad8a3004 579## 5.0.x to 5.0.6
580
581### SVG Attribute was changed from data-fa-processed to data-fa-i2svg
582
583As part of a bug fix for the release of 5.0.6 we renamed an attribute that was found on `<svg>` elements from
584`data-fa-processed` to `data-fa-i2svg`. We feel this more accurately reflects the intent and purpose.
585
586This attribute is added to any icon that has been generated using `fontawesome.dom.i2svg()`.
587
588Be aware that `data-fa-i2svg` (or `data-fa-processed`) will no longer be present on icons that are created using
589`fontawesome.icon()`.
590
591If you've written and DOM queries that rely on `data-fa-processed` you should get things working again by doing a
592simple find and replace.