Skip to content

Commit 8951997

Browse files
author
Nick Frasser
committed
Update CHANGELOG.md
1 parent 9adf0d5 commit 8951997

File tree

1 file changed

+135
-122
lines changed

1 file changed

+135
-122
lines changed

CHANGELOG.md

Lines changed: 135 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,233 +1,246 @@
11
# Linkify Changelog
22

3+
## v4.1.0
4+
5+
- Drop support for Safari 10
6+
- Reduce core bundle file size by ~30%
7+
- Restore support for email address with scheme local part
8+
- Allow hashtags with emojis
9+
310
## v4.0.2
411

5-
* Fix email address detection with domains containing numbers
12+
- Fix email address detection with domains containing numbers
613

714
## v4.0.1
815

9-
* Restore nl2br option for linkify-html
10-
* Fixed duplicate key warning in linkify-react with multiple children
16+
- Restore nl2br option for linkify-html
17+
- Fixed duplicate key warning in linkify-react with multiple children
1118

1219
## v4.0.0
1320

1421
### BREAKING CHANGES
15-
* Removed deprecated `linkifyjs/string`, `linkifyjs/html`, `linkifyjs/plugins/*`
22+
23+
- Removed deprecated `linkifyjs/string`, `linkifyjs/html`, `linkifyjs/plugins/*`
1624
packages. Use `linkify-string`, `linkify-html` and `linkify-plugin-*` instead.
17-
* Refactored scanner internals break custom link plugins created with Linkify v3
18-
* Links that begin with `mailto:` now have type `url` instead of `email`
19-
* Drop official IE 11 support
25+
- Refactored scanner internals break custom link plugins created with Linkify v3
26+
- Links that begin with `mailto:` now have type `url` instead of `email`
27+
- Drop official IE 11 support
2028

2129
### Added
22-
* `linkify-plugin-ip` plugin for detecting IPv4 and IPv6 addresses
23-
* `linkify-plugin-keyword` plugin for detecting arbitrary keywords
24-
* `linkify.find()` function accepts an `options` argument for output formatting
25-
* New `render` option to override link rendering
26-
* Second `optionalSlashSlash` argument for `registerCustomProtocol` to allow links that don't require `//` after `scheme:`
27-
* Link token methods `toFormattedString(options)`, `toFormattedHref(options)` and `toFormattedObject(options)` that accept a `linkify.Options` object
28-
* More granular scanner tokens for improved plugin flexibility
29-
* `linkify-react`: New `as` property (alias for `tagName`)
30+
31+
- `linkify-plugin-ip` plugin for detecting IPv4 and IPv6 addresses
32+
- `linkify-plugin-keyword` plugin for detecting arbitrary keywords
33+
- `linkify.find()` function accepts an `options` argument for output formatting
34+
- New `render` option to override link rendering
35+
- Second `optionalSlashSlash` argument for `registerCustomProtocol` to allow links that don't require `//` after `scheme:`
36+
- Link token methods `toFormattedString(options)`, `toFormattedHref(options)` and `toFormattedObject(options)` that accept a `linkify.Options` object
37+
- More granular scanner tokens for improved plugin flexibility
38+
- `linkify-react`: New `as` property (alias for `tagName`)
3039

3140
### Fixed
32-
* Improved link detection with mixed languages
33-
* Consistent option availability across interfaces (including `truncate`)
34-
* `linkify-html`: Improved HTML entity parsing
41+
42+
- Improved link detection with mixed languages
43+
- Consistent option availability across interfaces (including `truncate`)
44+
- `linkify-html`: Improved HTML entity parsing
3545

3646
## v3.0.5
3747

38-
* Fix potential Cross-Site Scripting issue when using `linkify-html`
48+
- Fix potential Cross-Site Scripting issue when using `linkify-html`
3949

4050
## v3.0.4
4151

42-
* Expose ES6 modules with `"module"` field in `package.json`
52+
- Expose ES6 modules with `"module"` field in `package.json`
4353

4454
## v3.0.3
4555

46-
* Add linkifyjs ES6 module build
56+
- Add linkifyjs ES6 module build
4757

4858
## v3.0.2
4959

50-
* Correctly detect hashtags with underscores
51-
* Fix plugin import bug
52-
* Fix `linkify-string` and `linkify-html` type declarations
60+
- Correctly detect hashtags with underscores
61+
- Fix plugin import bug
62+
- Fix `linkify-string` and `linkify-html` type declarations
5363

5464
## v3.0.1
5565

56-
* Fix React component type declarations
57-
* Include LICENSE file in all published packages
66+
- Fix React component type declarations
67+
- Include LICENSE file in all published packages
5868

5969
## v3.0.0
6070

6171
### BREAKING CHANGES
62-
* React, jQuery and Element interfaces moved to dedicated packages at `linkify-react`,`linkify-jquery` and `linkify-element` respectively:
63-
* Remove default `class="linkified"` from all discovered links. Opt back in by setting the `className` option:
72+
73+
- React, jQuery and Element interfaces moved to dedicated packages at `linkify-react`,`linkify-jquery` and `linkify-element` respectively:
74+
- Remove default `class="linkified"` from all discovered links. Opt back in by setting the `className` option:
6475
```js
65-
linkifyStr(str, { className: 'linkified' })
76+
linkifyStr(str, { className: "linkified" });
6677
```
67-
* Remove default `target="_blank"` attribute for discovered URLs. Opt back in by setting the `target` option:
78+
- Remove default `target="_blank"` attribute for discovered URLs. Opt back in by setting the `target` option:
6879
```js
6980
linkifyHtml(str, {
70-
target: (href, type) => type === 'url' && '_blank'
71-
})
81+
target: (href, type) => type === "url" && "_blank",
82+
});
7283
```
73-
* React component: Remove outer `<span>` tag wrapper in favour of tag-less `React.Fragment` for React >=16. To opt back-in, set `tagName='span'`:
84+
- React component: Remove outer `<span>` tag wrapper in favour of tag-less `React.Fragment` for React >=16. To opt back-in, set `tagName='span'`:
7485
```jsx
75-
<Linkify tagName='span'>{content}</Linkify>
86+
<Linkify tagName="span">{content}</Linkify>
7687
```
77-
* AMD module interface is no longer provided. Use an ESM bundler instead.
78-
* Plugins imported after linkify is called on a string for the first time will not longer work. Import all plugins _before_ calling a linkify core or interface function.
79-
* Custom plugin API is not compatible with previous API in Linkify v2
80-
* Dropped support for Internet Explorer versions 9 and 10. IE11 is still supported
81-
* Dropped support for React versions <15
88+
- AMD module interface is no longer provided. Use an ESM bundler instead.
89+
- Plugins imported after linkify is called on a string for the first time will not longer work. Import all plugins _before_ calling a linkify core or interface function.
90+
- Custom plugin API is not compatible with previous API in Linkify v2
91+
- Dropped support for Internet Explorer versions 9 and 10. IE11 is still supported
92+
- Dropped support for React versions <15
8293

8394
### Deprecations
84-
* Use dedicated packages `linkify-string` and `linkify-html` instead of `linkifyjs/string` and `linkifyjs/html`. The embedded packages will be removed in v4.0
85-
* Use dedicated plugin packages `linkify-plugin-[PLUGIN]` instead of `linkifyjs/plugin/[PLUGIN]`. The embedded packages will be removed in v4.0
95+
96+
- Use dedicated packages `linkify-string` and `linkify-html` instead of `linkifyjs/string` and `linkifyjs/html`. The embedded packages will be removed in v4.0
97+
- Use dedicated plugin packages `linkify-plugin-[PLUGIN]` instead of `linkifyjs/plugin/[PLUGIN]`. The embedded packages will be removed in v4.0
8698

8799
### All Changes
88-
* Full Internationalized Domain (IDN) and Emoji domain support 🇺🇳🌍✈️🎉💃! Detect URLs, #hashtags and @mentions in any language
89-
* ~10x faster startup; ~4x faster combined startup + first run
90-
* Custom protocols with `linkify.registerCustomProtocol('protocol')`
91-
* Modernized codebase and build system
92-
* Add new `rel` option at top level as an alternate way of including it in `attributes`
93-
* New and improved plugin API
94-
* TypeScript definitions included in published packages
95-
* `linkify.find()` output includes start and end indexes for where in the string a link was found
96-
* Plugins no longer need to be called on linkify after import
100+
101+
- Full Internationalized Domain (IDN) and Emoji domain support 🇺🇳🌍✈️🎉💃! Detect URLs, #hashtags and @mentions in any language
102+
- ~10x faster startup; ~4x faster combined startup + first run
103+
- Custom protocols with `linkify.registerCustomProtocol('protocol')`
104+
- Modernized codebase and build system
105+
- Add new `rel` option at top level as an alternate way of including it in `attributes`
106+
- New and improved plugin API
107+
- TypeScript definitions included in published packages
108+
- `linkify.find()` output includes start and end indexes for where in the string a link was found
109+
- Plugins no longer need to be called on linkify after import
110+
97111
```js
98112
// Before
99-
import * as linkify from 'linkifyjs'
100-
import hashtag from 'linkifyjs/plugins/hashtag'
101-
hashtag(linkify)
113+
import * as linkify from "linkifyjs";
114+
import hashtag from "linkifyjs/plugins/hashtag";
115+
hashtag(linkify);
102116

103117
// After
104-
import * as linkify from 'linkifyjs'
105-
import 'linkifyjs/plugins/hashtag'
118+
import * as linkify from "linkifyjs";
119+
import "linkifyjs/plugins/hashtag";
106120
```
107121

108-
109122
## v2.1.9
110123

111-
* Move optional dependencies to peerdependencies (#282)
112-
* Fix `npm install` displays vulnerabilities. (#265)
113-
* Fix typo (#275)
124+
- Move optional dependencies to peerdependencies (#282)
125+
- Fix `npm install` displays vulnerabilities. (#265)
126+
- Fix typo (#275)
114127

115128
## v2.1.8
116129

117-
* Allow mentions with inner @ sign for federated mentions - thanks @juliushaertl!
118-
* Drop official support for Internet Explorer 8 and Node.js 6 (still supported unofficially but may break in future releases)
119-
* Update dev dependencies
130+
- Allow mentions with inner @ sign for federated mentions - thanks @juliushaertl!
131+
- Drop official support for Internet Explorer 8 and Node.js 6 (still supported unofficially but may break in future releases)
132+
- Update dev dependencies
120133

121134
## v2.1.7
122135

123-
* Update dependencies (#243)
124-
* Ignore .babelrc file (854e6fc)
136+
- Update dependencies (#243)
137+
- Ignore .babelrc file (854e6fc)
125138

126139
## v2.1.6
127140

128-
* Fix a bug where unique element IDs aren't unique (#215)
129-
* Update tlds.js (#213)
130-
* Automated browser test fixes (#224)
131-
* Add partialProtocolMailtoStates to domainStates (#210)
132-
* Use Object.defineProperty to extend String prototype so that 'linkify' function is not enumerable (#197)
133-
* Allow null overrides in options for target and className (#189)
141+
- Fix a bug where unique element IDs aren't unique (#215)
142+
- Update tlds.js (#213)
143+
- Automated browser test fixes (#224)
144+
- Add partialProtocolMailtoStates to domainStates (#210)
145+
- Use Object.defineProperty to extend String prototype so that 'linkify' function is not enumerable (#197)
146+
- Allow null overrides in options for target and className (#189)
134147

135148
## v2.1.5
136149

137-
* React plugin compatibility updates
150+
- React plugin compatibility updates
138151

139152
## v2.1.4
140153

141-
* Add explicit support for mailto: addresses (#186)
142-
* Add support for mentions containing dots (#185)
143-
* URL followed by `&nbsp;` now works as expected in linkify-html (#184)
144-
* Small dependency updates (#183)
145-
* Drop deprecated babel-preset-es2015-loose dependency (#172)
146-
* Web workers support (#168)
154+
- Add explicit support for mailto: addresses (#186)
155+
- Add support for mentions containing dots (#185)
156+
- URL followed by `&nbsp;` now works as expected in linkify-html (#184)
157+
- Small dependency updates (#183)
158+
- Drop deprecated babel-preset-es2015-loose dependency (#172)
159+
- Web workers support (#168)
147160

148161
## v2.1.3
149162

150-
* Links in angle brackets (#166)
163+
- Links in angle brackets (#166)
151164

152165
## v2.1.2
153166

154-
* Single quotes should be treated as punctuation (#165)
167+
- Single quotes should be treated as punctuation (#165)
155168

156169
## v2.1.1
157170

158-
* Detect additional whitespace characters (#163)
171+
- Detect additional whitespace characters (#163)
159172

160173
## v2.1.0
161174

162175
### BREAKING CHANGES
163176

164-
* The `dist/jquery.linkify.js` 1.x legacy browser files have been permanently
165-
removed from the release bundle.
166-
* Use `linkify.js` and `linkify-jquery.js` instead.
167-
* The deprecated `newLine` option from linkify 1.x has been completely removed.
168-
* Use the [`nl2br` option](https://linkify.js.org/docs/options.html#nl2br) instead.
177+
- The `dist/jquery.linkify.js` 1.x legacy browser files have been permanently
178+
removed from the release bundle.
179+
- Use `linkify.js` and `linkify-jquery.js` instead.
180+
- The deprecated `newLine` option from linkify 1.x has been completely removed.
181+
- Use the [`nl2br` option](https://linkify.js.org/docs/options.html#nl2br) instead.
169182

170183
### Features
171184

172-
* [New React.js interface](https://linkify.js.org/docs/linkify-react.html)
173-
* [@mention plugin](https://linkify.js.org/docs/plugin-mention.html)
174-
* [GitHub-style ticket/issue reference plugin](https://linkify.js.org/docs/plugin-ticket.html)
175-
* Improved option definitions
176-
* Options that take functions with value and type arguments can now be
185+
- [New React.js interface](https://linkify.js.org/docs/linkify-react.html)
186+
- [@mention plugin](https://linkify.js.org/docs/plugin-mention.html)
187+
- [GitHub-style ticket/issue reference plugin](https://linkify.js.org/docs/plugin-ticket.html)
188+
- Improved option definitions
189+
- Options that take functions with value and type arguments can now be
177190
specified as objects, where each key is the target link type.
178191

179192
### Deprecations
180193

181-
* The `linkAttributes` option is deprecated in favour of just **`attributes`**.
182-
* The `linkClass` option is deprecated in favour of **`className`**.
183-
* The default `.linkified` class is deprecated and will be fully removed
184-
in a future release.
194+
- The `linkAttributes` option is deprecated in favour of just **`attributes`**.
195+
- The `linkClass` option is deprecated in favour of **`className`**.
196+
- The default `.linkified` class is deprecated and will be fully removed
197+
in a future release.
185198

186199
To maintain compatibility with versions >= 2.1, make sure options objects
187200
include these properties instead of `linkAttributes` and `linkClass`
188201

189202
### All Changes
190203

191-
* Build optimizations to make compiled AMD payload smaller
192-
* Bugfix in quick-es3 task
193-
* Make better use of ES6 modules and rollup
194-
* Tickets plugin (#156)
195-
* Additional Mentions features, enhancements, and tests (#155)
196-
* Mentions plugin (#111)
197-
* Revamped options utility (#154)
198-
* Linkify React Interface (#150)
199-
* Development upgrades (#153)
204+
- Build optimizations to make compiled AMD payload smaller
205+
- Bugfix in quick-es3 task
206+
- Make better use of ES6 modules and rollup
207+
- Tickets plugin (#156)
208+
- Additional Mentions features, enhancements, and tests (#155)
209+
- Mentions plugin (#111)
210+
- Revamped options utility (#154)
211+
- Linkify React Interface (#150)
212+
- Development upgrades (#153)
200213

201214
## v2.0.5
202215

203-
* Correct trailing symbol parsing (#149)
204-
* Linkify element fixes (#148)
216+
- Correct trailing symbol parsing (#149)
217+
- Linkify element fixes (#148)
205218

206219
## v2.0.4
207220

208-
* Optimize class code to reduce file size (#147).
209-
* Update test and dev dependencies
210-
* Allow uglify to mangle properties, except for the specified ones (#146)
211-
* Updated tlds.js (#121)
221+
- Optimize class code to reduce file size (#147).
222+
- Update test and dev dependencies
223+
- Allow uglify to mangle properties, except for the specified ones (#146)
224+
- Updated tlds.js (#121)
212225

213226
## v2.0.3
214227

215-
* Fixing element interface invalid DOM node error (#141)
228+
- Fixing element interface invalid DOM node error (#141)
216229

217230
## v2.0.1
218231

219-
* Updated build system and development dependencies
220-
* IE8 Support
221-
* Internal API updates
232+
- Updated build system and development dependencies
233+
- IE8 Support
234+
- Internal API updates
222235

223236
## v2.0.0
224237

225-
* New link-detection technique based on lexicographical analysis via two-stage scanner - essentially regexp with more flexibility.
226-
* Faster, less destructive DOM manipulation.
227-
* Node.js API via `var linkify = require('linkifyjs');`
228-
* Internal plugin system so you can require only features you need. e.g., `require('linkifyjs/plugins/hashtag')(linkify);`
229-
* Browser modules (Browserify, AMD)
230-
* Mocha Unit tests
231-
* ES6 Implementation
232-
* Updated documentation
233-
* Repository name change
238+
- New link-detection technique based on lexicographical analysis via two-stage scanner - essentially regexp with more flexibility.
239+
- Faster, less destructive DOM manipulation.
240+
- Node.js API via `var linkify = require('linkifyjs');`
241+
- Internal plugin system so you can require only features you need. e.g., `require('linkifyjs/plugins/hashtag')(linkify);`
242+
- Browser modules (Browserify, AMD)
243+
- Mocha Unit tests
244+
- ES6 Implementation
245+
- Updated documentation
246+
- Repository name change

0 commit comments

Comments
 (0)