Codebase list ruby-html-pipeline / e5df6a5
New upstream version 2.14.3 Vinay Keshava 1 year, 4 months ago
18 changed file(s) with 984 addition(s) and 396 deletion(s). Raw diff Collapse all Expand all
0 # CHANGELOG
1
2 ## 2.12.3
3
4 * Bug fix in `SyntaxHighlightFilter` [#325](https://github.com/jch/html-pipeline/pull/325)
5
6 ## 2.12.2
7
8 * Allow unsafe option for Custom Renderer of `MarkdownFilter` [#322](https://github.com/jch/html-pipeline/pull/322)
9 * Test with minitest-focus
10
11 ## 2.12.1
12
13 * Allow Custom Renderer for `MarkdownFilter` [#318](https://github.com/jch/html-pipeline/pull/318)
14 * Test against more Rails versions
15
16 ## 2.12.0
17
18 * Team mention filter [#314](https://github.com/jch/html-pipeline/pull/314)
19
20 ## 2.11.1
21
22 * Avoid YARD warning: Unknown tag @mention [#309](https://github.com/jch/html-pipeline/pull/309)
23 * Freeze string literals in Ruby 2.3 and beyond [#313](https://github.com/jch/html-pipeline/pull/313)
24
25 ## 2.11.0
26
27 * Test against Ruby 2.4 [#310](https://github.com/jch/html-pipeline/pull/310)
28 * CamoFilter: use String#unpack to hexencode URLs [#256](https://github.com/jch/html-pipeline/pull/256)
29
30 ## 2.10.0
31
32 * Add XMPP URI [#307](https://github.com/jch/html-pipeline/pull/307)
33 * Stop testing against Ruby 2.2
34
35 ## 2.9.2
36
37 * Whitelist various inline semantic/formatting tags [#306](https://github.com/jch/html-pipeline/pull/306)
38
39 ## 2.9.1
40
41 * Render irc and ircs URLs [#191](https://github.com/jch/html-pipeline/pull/191)
42
43 ## 2.9.0
44
45 * Fix one more missing freeze [#300](https://github.com/jch/html-pipeline/pull/300)
46 * Adds `UNSAFE` option to CommonMarker usage where needed [#304](https://github.com/jch/html-pipeline/pull/304)
47
48 ## 2.8.4
49
50 * Freeze all elements in HTML::Pipeline::SanitizationFilter [#299](https://github.com/jch/html-pipeline/pull/299)
51
52 ## 2.8.3
53
54 * Whitelist some accessibility properties [#298](https://github.com/jch/html-pipeline/pull/298)
55
56 ## 2.8.2
57
58 * Update ruby-sanitize (fixes CVE-2018-3740)
59
60 ## 2.8.1
61
62 * Fix XSS vulnerability on table of content generation [#296](https://github.com/jch/html-pipeline/pull/296)
63
64 ## 2.8.0
65
66 * Ensure `<pre>` nodes are not removed after syntax highlighting [#295](https://github.com/jch/html-pipeline/pull/295)
67
68 ## 2.7.2
69
70 * Apply mention filter & emoji filter on node text [#290](https://github.com/jch/html-pipeline/pull/290)
71 * Disable processing @mentions in `<script>` tag [#292](https://github.com/jch/html-pipeline/pull/292)
72 * Update dependencies [#291](https://github.com/jch/html-pipeline/pull/291)
73
74 ## 2.7.1
75
76 * Output underlying load error when wrapping [#284](https://github.com/jch/html-pipeline/pull/284)
77
78 ## 2.7.0
79
80 * Let users set the common marker extensions [#279](https://github.com/jch/html-pipeline/pull/279)
81
82 ## 2.6.0
83
84 * Switch from github-markdown to CommonMark [#274](https://github.com/jch/html-pipeline/pull/274)
85 * Fixed a few warnings
86
87 ## 2.5.0
88
89 * Ruby 2.4 support. Backwards compatible, but bumped minor version so projects can choose to lock at older version [#268](https://github.com/jch/html-pipeline/pull/268)
90
91 ## 2.4.2
92
93 * Make EmojiFilter generated img tag HTML attributes configurable [#258](https://github.com/jch/html-pipeline/pull/258)
94
95 ## 2.4.1
96
97 * Regression in EmailReplyPipeline: unfiltered content is being omitted [#253](https://github.com/jch/html-pipeline/pull/253)
98
99 ## 2.4.0
100
101 * Optionally filter email addresses [#247](https://github.com/jch/html-pipeline/pull/247)
102
103 ## 2.3.0
104
105 * Add option to pass in an anchor icon, instead of using octicons [#244](https://github.com/jch/html-pipeline/pull/244)
106
107 ## 2.2.4
108
109 * Use entire namespace so MissingDependencyError constant is resolved [#243](https://github.com/jch/html-pipeline/pull/243)
110
111 ## 2.2.3
112
113 * raise MissingDependencyError instead of aborting on missing dependency [#241](https://github.com/jch/html-pipeline/pull/241)
114 * Fix typo [#239](https://github.com/jch/html-pipeline/pull/239)
115 * Test against Ruby 2.3.0 on Travis CI [#238](https://github.com/jch/html-pipeline/pull/238)
116 * use travis containers [#237](https://github.com/jch/html-pipeline/pull/237)
117
118 ## 2.2.2
119
120 * Fix for calling mention_link_filter with only one argument [#230](https://github.com/jch/html-pipeline/pull/230)
121 * Add html-pipeline-linkify_github to 3rd Party Extensions in README [#228](https://github.com/jch/html-pipeline/pull/228)
122
123 ## 2.2.1
124
125 * Soften Nokogiri dependency to versions ">= 1.4" [#208](https://github.com/jch/html-pipeline/pull/208)
126
127 ## 2.2.0
128
129 * Only allow cite attribute on blockquote and restrict schemes [#223](https://github.com/jch/html-pipeline/pull/223)
130
131 ## 2.1.0
132
133 * Whitelist schemes for longdesc [#221](https://github.com/jch/html-pipeline/pull/221)
134 * Extract emoji image tag generation to own method [#195](https://github.com/jch/html-pipeline/pull/195)
135 * Update README.md [#211](https://github.com/jch/html-pipeline/pull/211)
136 * Add ImageFilter for image url to img tag conversion [#207](https://github.com/jch/html-pipeline/pull/207)
137
138 ## 2.0
139
140 **New**
141
142 * Implement new EmojiFilter context option: ignored_ancestor_tags to accept more ignored tags. [#170](https://github.com/jch/html-pipeline/pull/170) @JuanitoFatas
143 * Add GitHub flavor Markdown Task List extension [#162](https://github.com/jch/html-pipeline/pull/162) @simeonwillbanks
144 * @mention allow for custom regex to identify usernames. [#157](https://github.com/jch/html-pipeline/pull/157) @brittballard
145 * EmojiFilter now requires gemoji ~> 2. [#159](https://github.com/jch/html-pipeline/pull/159) @jch
146
147 **Changes**
148
149 * Restrict nokogiri to >= 1.4, <= 1.6.5 [#176](https://github.com/jch/html-pipeline/pull/176) @simeonwillbanks
150 * MentionFilter#link_to_mentioned_user: Replace String introspection with Regexp match [#172](https://github.com/jch/html-pipeline/pull/172) @simeonwillbanks
151 * Whitelist summary and details element. [#171](https://github.com/jch/html-pipeline/pull/171) @JuanitoFatas
152 * Support ~login for MentionFilter. [#167](https://github.com/jch/html-pipeline/pull/167) @JuanitoFatas
153 * Revert "Search for text nodes on DocumentFragments without root tags" [#158](https://github.com/jch/html-pipeline/pull/158) @jch
154 * Drop support for ruby ree, 1.9.2, 1.9.3 [#156](https://github.com/jch/html-pipeline/pull/156) @jch
155 * Skip EmojiFilter in `<tt>` tags [#147](https://github.com/jch/html-pipeline/pull/147) @moskvax
156 * Use Linguist lexers [#153](https://github.com/jch/html-pipeline/pull/153) @pchaigno
157 * Constrain Active Support >= 2, < 5 [#180](https://github.com/jch/html-pipeline/pull/180) @jch
158
159 ## 1.11.0
160
161 * Search for text nodes on DocumentFragments without root tags #146 Razer6
162 * Don't filter @mentions in `<style>` tags #145 jch
163 * Prefer `http_url` in HttpsFilter. `base_url` still works. #142 bkeepers
164 * Remove duplicate check in EmojiFilter #141 Razer6
165
166 ## 1.10.0
167
168 * Anchor TOCFilter with id's instead of name's #140 bkeepers
169 * Add `details` to sanitization whitelist #139 tansaku
170 * Fix README spelling #137 Razer6
171 * Remove ActiveSupport `try` dependency #132 simeonwillbanks
172
173 ## 1.9.0
174
175 * Generalize https filter with :base_url #124 #131 rymohr
176 * Clean up gemspec dependencies #130 mislav
177 * EmojiFilter compatibility with gemoji v2 #129 mislav
178 * Now using Minitest #126 simeonwillbanks
179
180 ## 1.8.0
181
182 * Add custom path support for EmojiFilter #122 bradly
183 * Reorganize README and add table of contents #118 simeonwillbanks
184
185 ## 1.7.0
186
187 * SanitizationFilter whitelists <s> and <strike> elements #120 charliesome
188 * ruby 2.1.1 support #119 simeonwillbanks
189
190 ## 1.6.0
191
192 * Doc update for syntax highlighting #108 simeonwillbanks
193 * Add missing dependency for EmailReplyFilter #110 foca
194 * Fix deprecation warning for Digest::Digest #103 chrishunt
195
196 ## 1.5.0
197
198 * More flexible whitelist configuration for SanitizationFilter #98 aroben
199
200 ## 1.4.0
201
202 * Fix CamoFilter double entity encoding. #101 josh
203
204 ## 1.3.0
205
206 1.2.0 didn't actually include the following changes. Yanked that release.
207
208 * CamoFilter now camos https images. #96 josh
209
210 ## 1.1.0
211
212 * escape emoji filenames in urls #92 jayroh
213
214 ## 1.0.0
215
216 To upgrade to this release, you will need to include separate gems for each of
217 the filters. See [this section of the README](/README.md#dependencies) for
218 details.
219
220 * filter dependencies are no longer included #80 from simeonwillbanks/simple-dependency-management
221 * Add link_attr option to Autolink filter #89 from excid3/master
222 * Add ActiveSupport back in as dependency for xml-mini #85 from mojavelinux/xml-mini
223
224 ## 0.3.1
225
226 * Guard against nil node replacement in SyntaxHighlightFilter #84 jbarnette
227
228 ## 0.3.0
229
230 * Add support for manually specified default language in SyntaxHighlightFilter #81 jbarnette
231
232 ## 0.2.1
233
234 * Moves ActiveSupport as a development dependency #79
235
236 ## 0.2.0
237
238 * Fix README typo #74 tricknotes
239 * TableOfContentsFilter generates list of sections #75 simeonwillbanks
240
241 ## 0.1.0
242
243 I realized I wasn't properly following [semver](http://semver.org) for interface
244 changes and new features. Starting from this release, semver will be followed.
245
246 * Whitelist table section elements in sanitization filter #55 mojavelinux
247 * Update readme typo #57 envygeeks
248 * TOC unicode characters and anchor names for Ruby > 1.9 #64 jakedouglas/non_english_anchors
249 * Add :skip_tags option for AutolinkFilter #65 pengwynn
250 * Fix CI dependency issues #67 jch
251 * Fix ignored test and add Ruby 2.0 to CI. #71, #72 tricknotes
252
253 ## 0.0.14
254
255 * Remove unused can_access_repo? method jch
256
257 ## 0.0.13
258
259 * Update icon class name (only affects TOC pipeline) cameronmcefee #52
260
261 ## 0.0.12
262
263 * add additional payload information for instrumentation mtodd #46
264 * generate and link to gem docs in README
265
266 ## 0.0.11
267
268 * add instrumentation support. readme cleanup mtodd #45
269
270 ## 0.0.10
271
272 * add bin/html-pipeline util indirect #44
273 * add result[:mentioned_usernames] for MentionFilter fachen #42
274
275 ## 0.0.9
276
277 * bump escape_utils ~> 0.3, github-linguist ~> 2.6.2 brianmario #41
278 * remove nokogiri monkey patch for ruby >= 1.9 defunkt #40
279
280 ## 0.0.8
281
282 * raise LoadError instead of printing to stderr if linguist is missing. gjtorikian #36
283
284 ## 0.0.7
285
286 * optionally require github-linguist chrislloyd #33
287
288 ## 0.0.6
289
290 * don't mutate markdown strings: jakedouglas #32
291
292 ## 0.0.5
293
294 * fix li xss vulnerability in sanitization filter: vmg #31
295 * gemspec cleanup: nbibler #23, jbarnette #24
296 * doc updates: jch #16, pborreli #17, wickedshimmy #18, benubois #19, blackerby #21
297 * loosen gemoji dependency: josh #15
298
299 ## 0.0.4
300
301 * initial public release
0 # Changelog
1
2 ## [Unreleased](https://github.com/gjtorikian/html-pipeline/tree/HEAD)
3
4 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.14.2...HEAD)
5
6 **Closed issues:**
7
8 - Allow vertical-align [\#366](https://github.com/gjtorikian/html-pipeline/issues/366)
9 - Since bump 2.14.2 builds are failing [\#363](https://github.com/gjtorikian/html-pipeline/issues/363)
10
11 **Merged pull requests:**
12
13 - Replace EscapeUtils.escape\_html with CGI.escape\_html [\#365](https://github.com/gjtorikian/html-pipeline/pull/365) ([ramhoj](https://github.com/ramhoj))
14
15 ## [v2.14.2](https://github.com/gjtorikian/html-pipeline/tree/v2.14.2) (2022-06-12)
16
17 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.14.1...v2.14.2)
18
19 **Merged pull requests:**
20
21 - handle invalid data urls in absolute source filter [\#361](https://github.com/gjtorikian/html-pipeline/pull/361) ([glaszig](https://github.com/glaszig))
22
23 ## [v2.14.1](https://github.com/gjtorikian/html-pipeline/tree/v2.14.1) (2022-03-31)
24
25 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.13.2...v2.14.1)
26
27 **Closed issues:**
28
29 - 2.14.0 is disconnected [\#358](https://github.com/gjtorikian/html-pipeline/issues/358)
30 - I would love to use the vscode codicon.ttf in my readme.md [\#356](https://github.com/gjtorikian/html-pipeline/issues/356)
31 - Html-pipeline [\#355](https://github.com/gjtorikian/html-pipeline/issues/355)
32 - Canalizacion de HTML [\#354](https://github.com/gjtorikian/html-pipeline/issues/354)
33 - Change branch name off of `master` [\#340](https://github.com/gjtorikian/html-pipeline/issues/340)
34 - New feature request: team mention filter [\#311](https://github.com/gjtorikian/html-pipeline/issues/311)
35 - code in header produce invalid anchor [\#308](https://github.com/gjtorikian/html-pipeline/issues/308)
36 - Stop "camo"ing "github.io" [\#305](https://github.com/gjtorikian/html-pipeline/issues/305)
37 - A filter to produce diffs with syntax highlighting in html, maybe. [\#270](https://github.com/gjtorikian/html-pipeline/issues/270)
38 - Require pygments.rb or remove Pygments references [\#235](https://github.com/gjtorikian/html-pipeline/issues/235)
39 - Allow ᴀʀɪᴀ attributes for blind people. [\#219](https://github.com/gjtorikian/html-pipeline/issues/219)
40 - 'lexer' is removed from github-linguist [\#217](https://github.com/gjtorikian/html-pipeline/issues/217)
41 - Please document how to use the html-pipeline binary without command‐line arguments! [\#213](https://github.com/gjtorikian/html-pipeline/issues/213)
42 - PHP syntax highlight [\#212](https://github.com/gjtorikian/html-pipeline/issues/212)
43
44 ## [v2.13.2](https://github.com/gjtorikian/html-pipeline/tree/v2.13.2) (2020-12-04)
45
46 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.13.1...v2.13.2)
47
48 **Merged pull requests:**
49
50 - Fix custom renderer with unsafe option missing pre lang [\#341](https://github.com/gjtorikian/html-pipeline/pull/341) ([kazk](https://github.com/kazk))
51
52 ## [v2.13.1](https://github.com/gjtorikian/html-pipeline/tree/v2.13.1) (2020-12-02)
53
54 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.14.0...v2.13.1)
55
56 **Merged pull requests:**
57
58 - Replace whitelist with more neutral language [\#339](https://github.com/gjtorikian/html-pipeline/pull/339) ([tancnle](https://github.com/tancnle))
59 - allows progress tags to be used [\#338](https://github.com/gjtorikian/html-pipeline/pull/338) ([pedrozath](https://github.com/pedrozath))
60 - Updated English [\#337](https://github.com/gjtorikian/html-pipeline/pull/337) ([BhuvnendraPratapSingh](https://github.com/BhuvnendraPratapSingh))
61 - Make AutolinkFilter configurable [\#335](https://github.com/gjtorikian/html-pipeline/pull/335) ([mnishiguchi](https://github.com/mnishiguchi))
62
63 ## [v2.14.0](https://github.com/gjtorikian/html-pipeline/tree/v2.14.0) (2020-08-11)
64
65 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.13.0...v2.14.0)
66
67 ## [v2.13.0](https://github.com/gjtorikian/html-pipeline/tree/v2.13.0) (2020-05-28)
68
69 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.12.3...v2.13.0)
70
71 **Closed issues:**
72
73 - Jch html-pipeline [\#330](https://github.com/gjtorikian/html-pipeline/issues/330)
74 - console rendering of slash continued multi-line commands [\#328](https://github.com/gjtorikian/html-pipeline/issues/328)
75 - Allow backslash-escape for @mention and emoji [\#232](https://github.com/gjtorikian/html-pipeline/issues/232)
76
77 **Merged pull requests:**
78
79 - Allow `role` attributes in html tags [\#332](https://github.com/gjtorikian/html-pipeline/pull/332) ([eric-wieser](https://github.com/eric-wieser))
80 - Update README.md [\#329](https://github.com/gjtorikian/html-pipeline/pull/329) ([Mihail354](https://github.com/Mihail354))
81 - Update CHANGELOG from 2.12.1 to 2.12.3 [\#326](https://github.com/gjtorikian/html-pipeline/pull/326) ([JuanitoFatas](https://github.com/JuanitoFatas))
82
83 ## [v2.12.3](https://github.com/gjtorikian/html-pipeline/tree/v2.12.3) (2019-12-19)
84
85 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.12.2...v2.12.3)
86
87 **Merged pull requests:**
88
89 - Improves syntax highlight filter [\#325](https://github.com/gjtorikian/html-pipeline/pull/325) ([JuanitoFatas](https://github.com/JuanitoFatas))
90 - Reuse found lexer in SyntaxHighlightFilter [\#324](https://github.com/gjtorikian/html-pipeline/pull/324) ([JuanitoFatas](https://github.com/JuanitoFatas))
91 - Fix link of Rouge CSS Theme [\#323](https://github.com/gjtorikian/html-pipeline/pull/323) ([JuanitoFatas](https://github.com/JuanitoFatas))
92
93 ## [v2.12.2](https://github.com/gjtorikian/html-pipeline/tree/v2.12.2) (2019-11-14)
94
95 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.12.1...v2.12.2)
96
97 **Closed issues:**
98
99 - Changing the list of commonmarker extensions with custom renderer is broken [\#321](https://github.com/gjtorikian/html-pipeline/issues/321)
100
101 **Merged pull requests:**
102
103 - Allow bad tags [\#322](https://github.com/gjtorikian/html-pipeline/pull/322) ([gjtorikian](https://github.com/gjtorikian))
104
105 ## [v2.12.1](https://github.com/gjtorikian/html-pipeline/tree/v2.12.1) (2019-11-13)
106
107 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.12.0...v2.12.1)
108
109 **Closed issues:**
110
111 - Where is this inserting the p tag? [\#317](https://github.com/gjtorikian/html-pipeline/issues/317)
112 - Update CHANGELOG [\#315](https://github.com/gjtorikian/html-pipeline/issues/315)
113
114 **Merged pull requests:**
115
116 - Make this list a const [\#320](https://github.com/gjtorikian/html-pipeline/pull/320) ([gjtorikian](https://github.com/gjtorikian))
117 - Add Rails 6.0 to appraisals [\#319](https://github.com/gjtorikian/html-pipeline/pull/319) ([smudge](https://github.com/smudge))
118 - Add ability to pass custom renderer to MarkdownFilter [\#318](https://github.com/gjtorikian/html-pipeline/pull/318) ([gjtorikian](https://github.com/gjtorikian))
119 - Update changelog [\#316](https://github.com/gjtorikian/html-pipeline/pull/316) ([sj26](https://github.com/sj26))
120
121 ## [v2.12.0](https://github.com/gjtorikian/html-pipeline/tree/v2.12.0) (2019-08-12)
122
123 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.11.1...v2.12.0)
124
125 **Merged pull requests:**
126
127 - Team mention filter [\#314](https://github.com/gjtorikian/html-pipeline/pull/314) ([indigok](https://github.com/indigok))
128
129 ## [v2.11.1](https://github.com/gjtorikian/html-pipeline/tree/v2.11.1) (2019-07-18)
130
131 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.11.0...v2.11.1)
132
133 **Merged pull requests:**
134
135 - Freeze string literals in Ruby 2.3 and beyond [\#313](https://github.com/gjtorikian/html-pipeline/pull/313) ([ashmaroli](https://github.com/ashmaroli))
136 - Avoid YARD warning: Unknown tag @mention [\#309](https://github.com/gjtorikian/html-pipeline/pull/309) ([olleolleolle](https://github.com/olleolleolle))
137
138 ## [v2.11.0](https://github.com/gjtorikian/html-pipeline/tree/v2.11.0) (2019-04-06)
139
140 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.10.0...v2.11.0)
141
142 **Merged pull requests:**
143
144 - CI: Use latest 2.4 [\#310](https://github.com/gjtorikian/html-pipeline/pull/310) ([olleolleolle](https://github.com/olleolleolle))
145 - CamoFilter: use String\#unpack to hexencode URLs [\#256](https://github.com/gjtorikian/html-pipeline/pull/256) ([glaszig](https://github.com/glaszig))
146
147 ## [v2.10.0](https://github.com/gjtorikian/html-pipeline/tree/v2.10.0) (2019-01-06)
148
149 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.9.2...v2.10.0)
150
151 **Closed issues:**
152
153 - RFC5122: XMPP URI [\#289](https://github.com/gjtorikian/html-pipeline/issues/289)
154
155 **Merged pull requests:**
156
157 - Add XMPP URI \#289 [\#307](https://github.com/gjtorikian/html-pipeline/pull/307) ([Neustradamus](https://github.com/Neustradamus))
158
159 ## [v2.9.2](https://github.com/gjtorikian/html-pipeline/tree/v2.9.2) (2019-01-04)
160
161 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.9.1...v2.9.2)
162
163 **Closed issues:**
164
165 - Why isn't \<span\> whitelisted by default? [\#183](https://github.com/gjtorikian/html-pipeline/issues/183)
166
167 **Merged pull requests:**
168
169 - Whitelist various inline semantic/formatting tags [\#306](https://github.com/gjtorikian/html-pipeline/pull/306) ([chris-morgan](https://github.com/chris-morgan))
170
171 ## [v2.9.1](https://github.com/gjtorikian/html-pipeline/tree/v2.9.1) (2018-11-13)
172
173 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.9.0...v2.9.1)
174
175 **Merged pull requests:**
176
177 - Render irc and ircs URLs [\#191](https://github.com/gjtorikian/html-pipeline/pull/191) ([frozencemetery](https://github.com/frozencemetery))
178
179 ## [v2.9.0](https://github.com/gjtorikian/html-pipeline/tree/v2.9.0) (2018-11-08)
180
181 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.4...v2.9.0)
182
183 **Closed issues:**
184
185 - New feature request for hashtags \# filter [\#301](https://github.com/gjtorikian/html-pipeline/issues/301)
186 - Whitelist srcset for responsive images [\#233](https://github.com/gjtorikian/html-pipeline/issues/233)
187
188 **Merged pull requests:**
189
190 - Adds `UNSAFE` option to CommonMarker usage where needed [\#304](https://github.com/gjtorikian/html-pipeline/pull/304) ([diachini](https://github.com/diachini))
191 - Fix one more missing freeze [\#300](https://github.com/gjtorikian/html-pipeline/pull/300) ([stanhu](https://github.com/stanhu))
192
193 ## [v2.8.4](https://github.com/gjtorikian/html-pipeline/tree/v2.8.4) (2018-07-24)
194
195 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.3...v2.8.4)
196
197 **Merged pull requests:**
198
199 - Freeze all elements in HTML::Pipeline::SanitizationFilter [\#299](https://github.com/gjtorikian/html-pipeline/pull/299) ([stanhu](https://github.com/stanhu))
200
201 ## [v2.8.3](https://github.com/gjtorikian/html-pipeline/tree/v2.8.3) (2018-06-29)
202
203 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.2...v2.8.3)
204
205 **Closed issues:**
206
207 - Accessibility-related HTML isn't whitelisted [\#215](https://github.com/gjtorikian/html-pipeline/issues/215)
208
209 **Merged pull requests:**
210
211 - Whitelist some accessibility properties [\#298](https://github.com/gjtorikian/html-pipeline/pull/298) ([gjtorikian](https://github.com/gjtorikian))
212
213 ## [v2.8.2](https://github.com/gjtorikian/html-pipeline/tree/v2.8.2) (2018-06-27)
214
215 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.1...v2.8.2)
216
217 ## [v2.8.1](https://github.com/gjtorikian/html-pipeline/tree/v2.8.1) (2018-06-26)
218
219 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.8.0...v2.8.1)
220
221 **Merged pull requests:**
222
223 - \[PATCH\] Fix XSS vulnerability on table of content generation [\#296](https://github.com/gjtorikian/html-pipeline/pull/296) ([gjtorikian](https://github.com/gjtorikian))
224
225 ## [v2.8.0](https://github.com/gjtorikian/html-pipeline/tree/v2.8.0) (2018-05-04)
226
227 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.7.2...v2.8.0)
228
229 **Merged pull requests:**
230
231 - Ensure \<pre\> nodes are not removed after syntax highlighting [\#295](https://github.com/gjtorikian/html-pipeline/pull/295) ([ianks](https://github.com/ianks))
232
233 ## [v2.7.2](https://github.com/gjtorikian/html-pipeline/tree/v2.7.2) (2018-04-25)
234
235 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.7.1...v2.7.2)
236
237 **Closed issues:**
238
239 - emoji autocomplet/suggestion [\#294](https://github.com/gjtorikian/html-pipeline/issues/294)
240 - Bug in allowed attributes [\#287](https://github.com/gjtorikian/html-pipeline/issues/287)
241 - Github Flavoured Markdown table support [\#269](https://github.com/gjtorikian/html-pipeline/issues/269)
242 - Allow embedding of JSON-LD [\#250](https://github.com/gjtorikian/html-pipeline/issues/250)
243
244 **Merged pull requests:**
245
246 - Update README.md \[ci skip\] [\#293](https://github.com/gjtorikian/html-pipeline/pull/293) ([JuanitoFatas](https://github.com/JuanitoFatas))
247 - Disable processing @mentions in \<script\> tag [\#292](https://github.com/gjtorikian/html-pipeline/pull/292) ([ashmaroli](https://github.com/ashmaroli))
248 - Update dependencies [\#291](https://github.com/gjtorikian/html-pipeline/pull/291) ([gjtorikian](https://github.com/gjtorikian))
249 - Apply mention filter & emoji filter on node text [\#290](https://github.com/gjtorikian/html-pipeline/pull/290) ([ashmaroli](https://github.com/ashmaroli))
250
251 ## [v2.7.1](https://github.com/gjtorikian/html-pipeline/tree/v2.7.1) (2017-09-21)
252
253 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.7.0...v2.7.1)
254
255 **Closed issues:**
256
257 - Eating LoadErrors can mask different problems [\#282](https://github.com/gjtorikian/html-pipeline/issues/282)
258
259 **Merged pull requests:**
260
261 - Reduce travis errors and move to trusty [\#285](https://github.com/gjtorikian/html-pipeline/pull/285) ([timdiggins](https://github.com/timdiggins))
262 - Output underlying load error when wrapping [\#284](https://github.com/gjtorikian/html-pipeline/pull/284) ([timdiggins](https://github.com/timdiggins))
263 - correct spelling mistake [\#281](https://github.com/gjtorikian/html-pipeline/pull/281) ([EdwardBetts](https://github.com/EdwardBetts))
264
265 ## [v2.7.0](https://github.com/gjtorikian/html-pipeline/tree/v2.7.0) (2017-08-16)
266
267 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.6.0...v2.7.0)
268
269 **Closed issues:**
270
271 - github-markdown is abandonware. Lose it or resurrect+support it? [\#246](https://github.com/gjtorikian/html-pipeline/issues/246)
272
273 **Merged pull requests:**
274
275 - Fix CI~ [\#280](https://github.com/gjtorikian/html-pipeline/pull/280) ([kivikakk](https://github.com/kivikakk))
276 - Let users set the common marker extensions [\#279](https://github.com/gjtorikian/html-pipeline/pull/279) ([gwincr11](https://github.com/gwincr11))
277 - Update CHANGELOG for 2.6.0 [\#277](https://github.com/gjtorikian/html-pipeline/pull/277) ([carpodaster](https://github.com/carpodaster))
278 - Fix hyperlink in README [\#276](https://github.com/gjtorikian/html-pipeline/pull/276) ([jwilk](https://github.com/jwilk))
279
280 ## [v2.6.0](https://github.com/gjtorikian/html-pipeline/tree/v2.6.0) (2017-05-23)
281
282 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.5.0...v2.6.0)
283
284 **Merged pull requests:**
285
286 - Set instrumentation name [\#275](https://github.com/gjtorikian/html-pipeline/pull/275) ([gjtorikian](https://github.com/gjtorikian))
287 - Switch to CommonMark [\#274](https://github.com/gjtorikian/html-pipeline/pull/274) ([kivikakk](https://github.com/kivikakk))
288 - add korgi to 3rd party extensions \[ci skip\] [\#271](https://github.com/gjtorikian/html-pipeline/pull/271) ([jodeci](https://github.com/jodeci))
289
290 ## [v2.5.0](https://github.com/gjtorikian/html-pipeline/tree/v2.5.0) (2017-01-13)
291
292 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.4.2...v2.5.0)
293
294 **Closed issues:**
295
296 - Add `<wbr>` to whitelist [\#265](https://github.com/gjtorikian/html-pipeline/issues/265)
297 - Missing context keys for HTML::Pipeline::EmojiFilter: :asset\_root [\#262](https://github.com/gjtorikian/html-pipeline/issues/262)
298 - Emoji \<img\> tags does not pass W3C validationg [\#234](https://github.com/gjtorikian/html-pipeline/issues/234)
299 - Incompatible character encodings: ASCII-8BIT and UTF-8 in EmailReplyFilter [\#229](https://github.com/gjtorikian/html-pipeline/issues/229)
300
301 **Merged pull requests:**
302
303 - Ruby 2.4 [\#268](https://github.com/gjtorikian/html-pipeline/pull/268) ([haileys](https://github.com/haileys))
304
305 ## [v2.4.2](https://github.com/gjtorikian/html-pipeline/tree/v2.4.2) (2016-07-11)
306
307 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.4.1...v2.4.2)
308
309 **Closed issues:**
310
311 - Rails 5 support [\#252](https://github.com/gjtorikian/html-pipeline/issues/252)
312
313 **Merged pull requests:**
314
315 - Release v2.4.2 [\#260](https://github.com/gjtorikian/html-pipeline/pull/260) ([JuanitoFatas](https://github.com/JuanitoFatas))
316 - Bump Active Support dependency to version \>= 2 [\#257](https://github.com/gjtorikian/html-pipeline/pull/257) ([JuanitoFatas](https://github.com/JuanitoFatas))
317
318 ## [v2.4.1](https://github.com/gjtorikian/html-pipeline/tree/v2.4.1) (2016-05-11)
319
320 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.4.0...v2.4.1)
321
322 **Merged pull requests:**
323
324 - Bump gem to 2.4.1 [\#255](https://github.com/gjtorikian/html-pipeline/pull/255) ([jch](https://github.com/jch))
325 - Regression in EmailReplyPipeline: unfiltered content is being ommitted [\#253](https://github.com/gjtorikian/html-pipeline/pull/253) ([oreoshake](https://github.com/oreoshake))
326
327 ## [v2.4.0](https://github.com/gjtorikian/html-pipeline/tree/v2.4.0) (2016-04-11)
328
329 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.3.0...v2.4.0)
330
331 **Merged pull requests:**
332
333 - Release 2.4.0 [\#248](https://github.com/gjtorikian/html-pipeline/pull/248) ([jch](https://github.com/jch))
334 - Optionally filter email addresses [\#247](https://github.com/gjtorikian/html-pipeline/pull/247) ([oreoshake](https://github.com/oreoshake))
335
336 ## [v2.3.0](https://github.com/gjtorikian/html-pipeline/tree/v2.3.0) (2016-01-20)
337
338 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.4...v2.3.0)
339
340 **Merged pull requests:**
341
342 - Release 2.3.0 [\#245](https://github.com/gjtorikian/html-pipeline/pull/245) ([jch](https://github.com/jch))
343 - Creating the option to pass in an anchor icon, instead of using octicons [\#244](https://github.com/gjtorikian/html-pipeline/pull/244) ([jonrohan](https://github.com/jonrohan))
344
345 ## [v2.2.4](https://github.com/gjtorikian/html-pipeline/tree/v2.2.4) (2016-01-17)
346
347 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.3...v2.2.4)
348
349 **Merged pull requests:**
350
351 - Use entire namespace so exception constant is resolved [\#243](https://github.com/gjtorikian/html-pipeline/pull/243) ([simeonwillbanks](https://github.com/simeonwillbanks))
352
353 ## [v2.2.3](https://github.com/gjtorikian/html-pipeline/tree/v2.2.3) (2016-01-14)
354
355 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.2...v2.2.3)
356
357 **Closed issues:**
358
359 - `rescue LoadError; abort` flow for missing dependencies breaks client applications [\#240](https://github.com/gjtorikian/html-pipeline/issues/240)
360
361 **Merged pull requests:**
362
363 - Release 2.2.3 [\#242](https://github.com/gjtorikian/html-pipeline/pull/242) ([jch](https://github.com/jch))
364 - raise MissingDependencyError instead of aborting on missing dependency [\#241](https://github.com/gjtorikian/html-pipeline/pull/241) ([parkr](https://github.com/parkr))
365 - Fix typo [\#239](https://github.com/gjtorikian/html-pipeline/pull/239) ([rimenes](https://github.com/rimenes))
366 - Test against Ruby 2.3.0 on Travis CI [\#238](https://github.com/gjtorikian/html-pipeline/pull/238) ([tricknotes](https://github.com/tricknotes))
367 - use travis containers [\#237](https://github.com/gjtorikian/html-pipeline/pull/237) ([kbrock](https://github.com/kbrock))
368
369 ## [v2.2.2](https://github.com/gjtorikian/html-pipeline/tree/v2.2.2) (2015-10-27)
370
371 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.1...v2.2.2)
372
373 **Closed issues:**
374
375 - 2.2.1 release [\#225](https://github.com/gjtorikian/html-pipeline/issues/225)
376
377 **Merged pull requests:**
378
379 - Release 2.2.2 [\#231](https://github.com/gjtorikian/html-pipeline/pull/231) ([jch](https://github.com/jch))
380 - Fix for calling mention\_link\_filter with only one argument [\#230](https://github.com/gjtorikian/html-pipeline/pull/230) ([benbalter](https://github.com/benbalter))
381 - Add html-pipeline-linkify\_github to 3rd Party Extensions \[ci skip\] [\#228](https://github.com/gjtorikian/html-pipeline/pull/228) ([JuanitoFatas](https://github.com/JuanitoFatas))
382
383 ## [v2.2.1](https://github.com/gjtorikian/html-pipeline/tree/v2.2.1) (2015-10-01)
384
385 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.2.0...v2.2.1)
386
387 **Merged pull requests:**
388
389 - Soften Nokogiri dependency to versions "\>= 1.4" [\#208](https://github.com/gjtorikian/html-pipeline/pull/208) ([JuanitoFatas](https://github.com/JuanitoFatas))
390
391 ## [v2.2.0](https://github.com/gjtorikian/html-pipeline/tree/v2.2.0) (2015-09-28)
392
393 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.1.0...v2.2.0)
394
395 **Merged pull requests:**
396
397 - Release 2.2.0 [\#224](https://github.com/gjtorikian/html-pipeline/pull/224) ([jch](https://github.com/jch))
398 - Only allow cite attribute on blockquote and restrict schemes [\#223](https://github.com/gjtorikian/html-pipeline/pull/223) ([btoews](https://github.com/btoews))
399
400 ## [v2.1.0](https://github.com/gjtorikian/html-pipeline/tree/v2.1.0) (2015-09-22)
401
402 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v2.0...v2.1.0)
403
404 **Closed issues:**
405
406 - Add SmartQuotes filter [\#220](https://github.com/gjtorikian/html-pipeline/issues/220)
407 - Need help fixing a non-security issue… [\#214](https://github.com/gjtorikian/html-pipeline/issues/214)
408 - List GitHub-deployed versions somewhere? [\#201](https://github.com/gjtorikian/html-pipeline/issues/201)
409 - Support limited use of the HTML 'style' attribute [\#192](https://github.com/gjtorikian/html-pipeline/issues/192)
410 - Separate gems for versioning external dependencies [\#182](https://github.com/gjtorikian/html-pipeline/issues/182)
411
412 **Merged pull requests:**
413
414 - Release 2.1.0 [\#222](https://github.com/gjtorikian/html-pipeline/pull/222) ([jch](https://github.com/jch))
415 - Whitelist schemes for longdesc [\#221](https://github.com/gjtorikian/html-pipeline/pull/221) ([btoews](https://github.com/btoews))
416 - Update README.md [\#211](https://github.com/gjtorikian/html-pipeline/pull/211) ([st0012](https://github.com/st0012))
417 - Add ImageFilter for image url to img tag conversion [\#207](https://github.com/gjtorikian/html-pipeline/pull/207) ([st0012](https://github.com/st0012))
418 - Extract emoji image tag generation to own method [\#195](https://github.com/gjtorikian/html-pipeline/pull/195) ([kbrock](https://github.com/kbrock))
419
420 ## [v2.0](https://github.com/gjtorikian/html-pipeline/tree/v2.0) (2015-07-20)
421
422 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.11.0...v2.0)
423
424 **Closed issues:**
425
426 - Feature request: Strikethrough if issue is closed [\#202](https://github.com/gjtorikian/html-pipeline/issues/202)
427 - how can i read this code? [\#198](https://github.com/gjtorikian/html-pipeline/issues/198)
428 - how can i read this code? [\#197](https://github.com/gjtorikian/html-pipeline/issues/197)
429 - Change github-markdown dependency to a free licensed parser [\#196](https://github.com/gjtorikian/html-pipeline/issues/196)
430 - possible bug? [\#193](https://github.com/gjtorikian/html-pipeline/issues/193)
431 - Support ftp scheme for markdown URLs [\#187](https://github.com/gjtorikian/html-pipeline/issues/187)
432 - Syntax highlighting example in Readme not working [\#186](https://github.com/gjtorikian/html-pipeline/issues/186)
433 - OSX HTML::Pipeline::MarkdownFilter Fails on Right Double Quotation Mark around email address [\#173](https://github.com/gjtorikian/html-pipeline/issues/173)
434 - Question - Can this work with Rouge? [\#166](https://github.com/gjtorikian/html-pipeline/issues/166)
435 - Question about github markdown filter \(low priority!\) [\#165](https://github.com/gjtorikian/html-pipeline/issues/165)
436 - Do not mention or emojify in a codeblock [\#163](https://github.com/gjtorikian/html-pipeline/issues/163)
437 - MentionFilter base\_url config question [\#161](https://github.com/gjtorikian/html-pipeline/issues/161)
438 - Feature Request: Add "details" tag to whitelist [\#138](https://github.com/gjtorikian/html-pipeline/issues/138)
439
440 **Merged pull requests:**
441
442 - Add three 3rd party filters. \[ci skip\] [\#185](https://github.com/gjtorikian/html-pipeline/pull/185) ([JuanitoFatas](https://github.com/JuanitoFatas))
443 - \[MentionFilter\] Dup string before modifying [\#181](https://github.com/gjtorikian/html-pipeline/pull/181) ([jch](https://github.com/jch))
444 - Constrain active support \>= 2, \< 5 [\#180](https://github.com/gjtorikian/html-pipeline/pull/180) ([jch](https://github.com/jch))
445 - Release 2.0 [\#179](https://github.com/gjtorikian/html-pipeline/pull/179) ([jch](https://github.com/jch))
446 - \[ci skip\] Fix CHANGELOG.md rendering. [\#177](https://github.com/gjtorikian/html-pipeline/pull/177) ([JuanitoFatas](https://github.com/JuanitoFatas))
447 - Restrict nokogiri to specific versions [\#176](https://github.com/gjtorikian/html-pipeline/pull/176) ([simeonwillbanks](https://github.com/simeonwillbanks))
448 - Use svg build badge. \[ci skip\] [\#175](https://github.com/gjtorikian/html-pipeline/pull/175) ([JuanitoFatas](https://github.com/JuanitoFatas))
449 - Add 3rd party gem: html-pipeline-rouge\_filter. [\#174](https://github.com/gjtorikian/html-pipeline/pull/174) ([JuanitoFatas](https://github.com/JuanitoFatas))
450 - MentionFilter\#link\_to\_mentioned\_user: Replace String introspection with Regexp match [\#172](https://github.com/gjtorikian/html-pipeline/pull/172) ([simeonwillbanks](https://github.com/simeonwillbanks))
451 - Whitelist summary and details element. [\#171](https://github.com/gjtorikian/html-pipeline/pull/171) ([JuanitoFatas](https://github.com/JuanitoFatas))
452 - Implement new context option: ignored\_ancestor\_tags to accept more ignored tags. [\#170](https://github.com/gjtorikian/html-pipeline/pull/170) ([JuanitoFatas](https://github.com/JuanitoFatas))
453 - Support ~login for MentionFilter. [\#167](https://github.com/gjtorikian/html-pipeline/pull/167) ([JuanitoFatas](https://github.com/JuanitoFatas))
454 - Add GitHub flavor Markdown Task List extension [\#162](https://github.com/gjtorikian/html-pipeline/pull/162) ([simeonwillbanks](https://github.com/simeonwillbanks))
455 - Drop support for gemoji ~\> 1.0 [\#159](https://github.com/gjtorikian/html-pipeline/pull/159) ([jch](https://github.com/jch))
456 - Revert "Search for text nodes on DocumentFragments without root tags" [\#158](https://github.com/gjtorikian/html-pipeline/pull/158) ([jch](https://github.com/jch))
457 - @mention allow for custom regex to identify usernames. [\#157](https://github.com/gjtorikian/html-pipeline/pull/157) ([brittballard](https://github.com/brittballard))
458 - Drop support for ruby ree, 1.9.2 [\#156](https://github.com/gjtorikian/html-pipeline/pull/156) ([jch](https://github.com/jch))
459 - Use Linguist lexers [\#153](https://github.com/gjtorikian/html-pipeline/pull/153) ([pchaigno](https://github.com/pchaigno))
460 - Readme tweaks: add FAQ section, refresh 3rd party extensions [\#150](https://github.com/gjtorikian/html-pipeline/pull/150) ([jch](https://github.com/jch))
461 - \<tt\> tags are not skipped by EmojiFilter [\#147](https://github.com/gjtorikian/html-pipeline/pull/147) ([moskvax](https://github.com/moskvax))
462
463 ## [v1.11.0](https://github.com/gjtorikian/html-pipeline/tree/v1.11.0) (2014-09-15)
464
465 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.10.0...v1.11.0)
466
467 **Closed issues:**
468
469 - @mention\_filter should not replace mentions in style blocks. [\#143](https://github.com/gjtorikian/html-pipeline/issues/143)
470 - EmojiFilter doesn't work on strings that don't contain HTML [\#133](https://github.com/gjtorikian/html-pipeline/issues/133)
471
472 **Merged pull requests:**
473
474 - Search for text nodes on DocumentFragments without root tags [\#146](https://github.com/gjtorikian/html-pipeline/pull/146) ([Razer6](https://github.com/Razer6))
475 - Don't filter @mentions in \<style\> tags [\#145](https://github.com/gjtorikian/html-pipeline/pull/145) ([jch](https://github.com/jch))
476 - Prefer http\_url in HttpsFilter [\#142](https://github.com/gjtorikian/html-pipeline/pull/142) ([bkeepers](https://github.com/bkeepers))
477 - Don't check twice if there is a ':' in content \(EmojiFilter\) [\#141](https://github.com/gjtorikian/html-pipeline/pull/141) ([Razer6](https://github.com/Razer6))
478
479 ## [v1.10.0](https://github.com/gjtorikian/html-pipeline/tree/v1.10.0) (2014-09-05)
480
481 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.9.0...v1.10.0)
482
483 **Closed issues:**
484
485 - header tags are html-rendered with name="" instead of id="" [\#135](https://github.com/gjtorikian/html-pipeline/issues/135)
486 - Enable syntax highlighting for inline code [\#134](https://github.com/gjtorikian/html-pipeline/issues/134)
487
488 **Merged pull requests:**
489
490 - Use id instead of name for TableOfContentsFilter [\#140](https://github.com/gjtorikian/html-pipeline/pull/140) ([bkeepers](https://github.com/bkeepers))
491 - adding "details" to tag whitelist [\#139](https://github.com/gjtorikian/html-pipeline/pull/139) ([tansaku](https://github.com/tansaku))
492 - Fix spelling in readme [\#137](https://github.com/gjtorikian/html-pipeline/pull/137) ([Razer6](https://github.com/Razer6))
493 - Remove ActiveSupport try\(\) dependency [\#132](https://github.com/gjtorikian/html-pipeline/pull/132) ([simeonwillbanks](https://github.com/simeonwillbanks))
494
495 ## [v1.9.0](https://github.com/gjtorikian/html-pipeline/tree/v1.9.0) (2014-07-07)
496
497 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.8.0...v1.9.0)
498
499 **Closed issues:**
500
501 - Medico [\#128](https://github.com/gjtorikian/html-pipeline/issues/128)
502 - Support ActiveSupport 4.1 [\#125](https://github.com/gjtorikian/html-pipeline/issues/125)
503 - De-github https filter [\#123](https://github.com/gjtorikian/html-pipeline/issues/123)
504
505 **Merged pull requests:**
506
507 - Generalize https filter take 2 [\#131](https://github.com/gjtorikian/html-pipeline/pull/131) ([simeonwillbanks](https://github.com/simeonwillbanks))
508 - Remove RUBY\_VERSION conditionals from gemspec [\#130](https://github.com/gjtorikian/html-pipeline/pull/130) ([mislav](https://github.com/mislav))
509 - Add compatibility with gemoji v2 [\#129](https://github.com/gjtorikian/html-pipeline/pull/129) ([mislav](https://github.com/mislav))
510
511 ## [v1.8.0](https://github.com/gjtorikian/html-pipeline/tree/v1.8.0) (2014-04-04)
512
513 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.7.0...v1.8.0)
514
515 **Implemented enhancements:**
516
517 - Getting Started Guide [\#112](https://github.com/gjtorikian/html-pipeline/issues/112)
518
519 **Merged pull requests:**
520
521 - Adding support to supply the path to the emoji sprite in the emoji pipeline [\#122](https://github.com/gjtorikian/html-pipeline/pull/122) ([bradly](https://github.com/bradly))
522 - Initial Better README [\#118](https://github.com/gjtorikian/html-pipeline/pull/118) ([simeonwillbanks](https://github.com/simeonwillbanks))
523
524 ## [v1.7.0](https://github.com/gjtorikian/html-pipeline/tree/v1.7.0) (2014-03-11)
525
526 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.6.0...v1.7.0)
527
528 **Implemented enhancements:**
529
530 - Contributing Guidelines [\#113](https://github.com/gjtorikian/html-pipeline/issues/113)
531
532 **Closed issues:**
533
534 - cut a 1.6.0 release [\#116](https://github.com/gjtorikian/html-pipeline/issues/116)
535 - AutolinkFilter link\_attr doesn't seem to work [\#114](https://github.com/gjtorikian/html-pipeline/issues/114)
536 - Spaces inserted into code [\#109](https://github.com/gjtorikian/html-pipeline/issues/109)
537
538 **Merged pull requests:**
539
540 - Allow \<s\> and \<strike\> [\#120](https://github.com/gjtorikian/html-pipeline/pull/120) ([haileys](https://github.com/haileys))
541 - Ruby 2.1.1 [\#119](https://github.com/gjtorikian/html-pipeline/pull/119) ([simeonwillbanks](https://github.com/simeonwillbanks))
542 - Notes on how to release a new gem version [\#117](https://github.com/gjtorikian/html-pipeline/pull/117) ([jch](https://github.com/jch))
543 - Initial Contributing Guidelines [\#115](https://github.com/gjtorikian/html-pipeline/pull/115) ([simeonwillbanks](https://github.com/simeonwillbanks))
544
545 ## [v1.6.0](https://github.com/gjtorikian/html-pipeline/tree/v1.6.0) (2014-02-14)
546
547 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.5.0...v1.6.0)
548
549 **Closed issues:**
550
551 - EmailReplyParser is undefined [\#107](https://github.com/gjtorikian/html-pipeline/issues/107)
552 - No stylesheets for SyntaxHighlightFilter [\#106](https://github.com/gjtorikian/html-pipeline/issues/106)
553 - Camo Filter doesn't return doc when disabled [\#102](https://github.com/gjtorikian/html-pipeline/issues/102)
554 - Passed content must be valid XML to be filtered [\#100](https://github.com/gjtorikian/html-pipeline/issues/100)
555 - Emoji syntax gravatars [\#56](https://github.com/gjtorikian/html-pipeline/issues/56)
556
557 **Merged pull requests:**
558
559 - EmailReplyFilter depends on EmailReplyParser [\#110](https://github.com/gjtorikian/html-pipeline/pull/110) ([foca](https://github.com/foca))
560 - Document generating CSS for HTML formatted code [\#108](https://github.com/gjtorikian/html-pipeline/pull/108) ([simeonwillbanks](https://github.com/simeonwillbanks))
561 - Stop using deprecated OpenSSL::Digest::Digest [\#103](https://github.com/gjtorikian/html-pipeline/pull/103) ([chrishunt](https://github.com/chrishunt))
562
563 ## [v1.5.0](https://github.com/gjtorikian/html-pipeline/tree/v1.5.0) (2014-01-22)
564
565 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.4.0...v1.5.0)
566
567 **Merged pull requests:**
568
569 - Allow customization of allowed \<a href\> URL schemes [\#98](https://github.com/gjtorikian/html-pipeline/pull/98) ([aroben](https://github.com/aroben))
570
571 ## [v1.4.0](https://github.com/gjtorikian/html-pipeline/tree/v1.4.0) (2014-01-21)
572
573 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.3.0...v1.4.0)
574
575 **Merged pull requests:**
576
577 - Don't URI parse src before passing to camo [\#101](https://github.com/gjtorikian/html-pipeline/pull/101) ([josh](https://github.com/josh))
578
579 ## [v1.3.0](https://github.com/gjtorikian/html-pipeline/tree/v1.3.0) (2014-01-14)
580
581 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.2.0...v1.3.0)
582
583 **Merged pull requests:**
584
585 - Remove 1.8 from Travis build [\#99](https://github.com/gjtorikian/html-pipeline/pull/99) ([josh](https://github.com/josh))
586
587 ## [v1.2.0](https://github.com/gjtorikian/html-pipeline/tree/v1.2.0) (2014-01-09)
588
589 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.1.0...v1.2.0)
590
591 **Closed issues:**
592
593 - Allow SSH protocol links [\#95](https://github.com/gjtorikian/html-pipeline/issues/95)
594 - Straight quote → unicode curly quotes filter [\#94](https://github.com/gjtorikian/html-pipeline/issues/94)
595
596 **Merged pull requests:**
597
598 - Bump version 1.2.0 [\#97](https://github.com/gjtorikian/html-pipeline/pull/97) ([jch](https://github.com/jch))
599 - Camo Everything [\#96](https://github.com/gjtorikian/html-pipeline/pull/96) ([josh](https://github.com/josh))
600
601 ## [v1.1.0](https://github.com/gjtorikian/html-pipeline/tree/v1.1.0) (2013-11-20)
602
603 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v1.0.0...v1.1.0)
604
605 **Merged pull requests:**
606
607 - Bump version 1.1.0 [\#93](https://github.com/gjtorikian/html-pipeline/pull/93) ([jch](https://github.com/jch))
608 - CGI.escape emoji name [\#92](https://github.com/gjtorikian/html-pipeline/pull/92) ([jayroh](https://github.com/jayroh))
609
610 ## [v1.0.0](https://github.com/gjtorikian/html-pipeline/tree/v1.0.0) (2013-10-29)
611
612 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.3.1...v1.0.0)
613
614 **Closed issues:**
615
616 - Tagged releases for 0.3.0 and 0.3.1 [\#91](https://github.com/gjtorikian/html-pipeline/issues/91)
617 - Potential class loading conflict with add-on filters [\#88](https://github.com/gjtorikian/html-pipeline/issues/88)
618 - Place Dependency Management On Filters [\#77](https://github.com/gjtorikian/html-pipeline/issues/77)
619 - Decrease number of dependencies [\#48](https://github.com/gjtorikian/html-pipeline/issues/48)
620
621 **Merged pull requests:**
622
623 - Add link\_attr option to Autolink filter [\#89](https://github.com/gjtorikian/html-pipeline/pull/89) ([excid3](https://github.com/excid3))
624 - Update readme with link to asciidoc filter [\#87](https://github.com/gjtorikian/html-pipeline/pull/87) ([jch](https://github.com/jch))
625 - use xml\_mini extracted from activesupport [\#85](https://github.com/gjtorikian/html-pipeline/pull/85) ([mojavelinux](https://github.com/mojavelinux))
626 - Filters Manage Dependencies [\#80](https://github.com/gjtorikian/html-pipeline/pull/80) ([simeonwillbanks](https://github.com/simeonwillbanks))
627
628 ## [v0.3.1](https://github.com/gjtorikian/html-pipeline/tree/v0.3.1) (2013-09-16)
629
630 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.3.0...v0.3.1)
631
632 **Closed issues:**
633
634 - Tweaks to the email reply filter [\#82](https://github.com/gjtorikian/html-pipeline/issues/82)
635
636 **Merged pull requests:**
637
638 - Guard against nil node replacement results [\#84](https://github.com/gjtorikian/html-pipeline/pull/84) ([jbarnette](https://github.com/jbarnette))
639
640 ## [v0.3.0](https://github.com/gjtorikian/html-pipeline/tree/v0.3.0) (2013-08-30)
641
642 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.2.1...v0.3.0)
643
644 **Closed issues:**
645
646 - Support for ActiveSupport 4 [\#76](https://github.com/gjtorikian/html-pipeline/issues/76)
647
648 **Merged pull requests:**
649
650 - Teach SyntaxHighlightFilter about default highlights [\#81](https://github.com/gjtorikian/html-pipeline/pull/81) ([jbarnette](https://github.com/jbarnette))
651
652 ## [v0.2.1](https://github.com/gjtorikian/html-pipeline/tree/v0.2.1) (2013-08-20)
653
654 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.2.0...v0.2.1)
655
656 **Closed issues:**
657
658 - Implement an AsciiDoc filter based on Asciidoctor [\#59](https://github.com/gjtorikian/html-pipeline/issues/59)
659
660 **Merged pull requests:**
661
662 - Move activesupport to a development dependency [\#79](https://github.com/gjtorikian/html-pipeline/pull/79) ([jch](https://github.com/jch))
663
664 ## [v0.2.0](https://github.com/gjtorikian/html-pipeline/tree/v0.2.0) (2013-07-31)
665
666 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.1.0...v0.2.0)
667
668 **Merged pull requests:**
669
670 - Generate Table of Contents [\#75](https://github.com/gjtorikian/html-pipeline/pull/75) ([simeonwillbanks](https://github.com/simeonwillbanks))
671 - Fix wrong class name at README.md [\#74](https://github.com/gjtorikian/html-pipeline/pull/74) ([tricknotes](https://github.com/tricknotes))
672
673 ## [v0.1.0](https://github.com/gjtorikian/html-pipeline/tree/v0.1.0) (2013-07-16)
674
675 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.14...v0.1.0)
676
677 **Closed issues:**
678
679 - Fix travis-ci build [\#63](https://github.com/gjtorikian/html-pipeline/issues/63)
680 - Loosen Markdown Dependency. [\#62](https://github.com/gjtorikian/html-pipeline/issues/62)
681 - TocFilter: non-English characters in headers don't get proper anchor names [\#58](https://github.com/gjtorikian/html-pipeline/issues/58)
682 - Whitelist table sections \(thead, tbody, tfoot\) [\#54](https://github.com/gjtorikian/html-pipeline/issues/54)
683 - Warn if "pipelines" are out of order. [\#47](https://github.com/gjtorikian/html-pipeline/issues/47)
684
685 **Merged pull requests:**
686
687 - TocFilter: keep using the old punctuation stripping on 1.8.7 [\#73](https://github.com/gjtorikian/html-pipeline/pull/73) ([jakedouglas](https://github.com/jakedouglas))
688 - Add ruby 2.0.0 to .travis.yml [\#72](https://github.com/gjtorikian/html-pipeline/pull/72) ([tricknotes](https://github.com/tricknotes))
689 - Fix ignored test [\#71](https://github.com/gjtorikian/html-pipeline/pull/71) ([tricknotes](https://github.com/tricknotes))
690 - Improve to describe gem 'github-linguist' [\#69](https://github.com/gjtorikian/html-pipeline/pull/69) ([tricknotes](https://github.com/tricknotes))
691 - Bump version to 0.1.0. Follow semver. [\#68](https://github.com/gjtorikian/html-pipeline/pull/68) ([jch](https://github.com/jch))
692 - Scope gem versions for Travis CI [\#67](https://github.com/gjtorikian/html-pipeline/pull/67) ([jch](https://github.com/jch))
693 - Allow passing skip\_tags in autolink filter context [\#65](https://github.com/gjtorikian/html-pipeline/pull/65) ([pengwynn](https://github.com/pengwynn))
694 - Support non-English characters in anchor names [\#64](https://github.com/gjtorikian/html-pipeline/pull/64) ([jakedouglas](https://github.com/jakedouglas))
695 - Fix the `AutolinkFilter` constant name. [\#57](https://github.com/gjtorikian/html-pipeline/pull/57) ([envygeeks](https://github.com/envygeeks))
696 - resolves \#54 allow table section elements \(thead, tfoot, tbody\) [\#55](https://github.com/gjtorikian/html-pipeline/pull/55) ([mojavelinux](https://github.com/mojavelinux))
697
698 ## [v0.0.14](https://github.com/gjtorikian/html-pipeline/tree/v0.0.14) (2013-05-22)
699
700 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.13...v0.0.14)
701
702 **Closed issues:**
703
704 - Give rsanheim rights to pushing gems [\#53](https://github.com/gjtorikian/html-pipeline/issues/53)
705
706 ## [v0.0.13](https://github.com/gjtorikian/html-pipeline/tree/v0.0.13) (2013-05-13)
707
708 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.12...v0.0.13)
709
710 **Closed issues:**
711
712 - Can I use MentionFilter without MarkdownFilter [\#51](https://github.com/gjtorikian/html-pipeline/issues/51)
713
714 **Merged pull requests:**
715
716 - New octicon class names [\#52](https://github.com/gjtorikian/html-pipeline/pull/52) ([cameronmcefee](https://github.com/cameronmcefee))
717 - Strip contents of \<script\> tags. [\#50](https://github.com/gjtorikian/html-pipeline/pull/50) ([benubois](https://github.com/benubois))
718
719 ## [v0.0.12](https://github.com/gjtorikian/html-pipeline/tree/v0.0.12) (2013-04-01)
720
721 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.11...v0.0.12)
722
723 **Merged pull requests:**
724
725 - Include output and results to filter, pipeline event payload [\#46](https://github.com/gjtorikian/html-pipeline/pull/46) ([mtodd](https://github.com/mtodd))
726
727 ## [v0.0.11](https://github.com/gjtorikian/html-pipeline/tree/v0.0.11) (2013-03-29)
728
729 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.10...v0.0.11)
730
731 **Merged pull requests:**
732
733 - Instrument filters in the pipeline [\#45](https://github.com/gjtorikian/html-pipeline/pull/45) ([mtodd](https://github.com/mtodd))
734
735 ## [v0.0.10](https://github.com/gjtorikian/html-pipeline/tree/v0.0.10) (2013-03-21)
736
737 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.8.1...v0.0.10)
738
739 **Closed issues:**
740
741 - Executable for previewing [\#43](https://github.com/gjtorikian/html-pipeline/issues/43)
742
743 **Merged pull requests:**
744
745 - Add an html-pipeline executable to the gem [\#44](https://github.com/gjtorikian/html-pipeline/pull/44) ([indirect](https://github.com/indirect))
746 - add result\[:mentioned\_usernames\] for MentionFilter [\#42](https://github.com/gjtorikian/html-pipeline/pull/42) ([fahchen](https://github.com/fahchen))
747
748 ## [v0.0.8.1](https://github.com/gjtorikian/html-pipeline/tree/v0.0.8.1) (2013-03-03)
749
750 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.9...v0.0.8.1)
751
752 ## [v0.0.9](https://github.com/gjtorikian/html-pipeline/tree/v0.0.9) (2013-02-27)
753
754 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.8...v0.0.9)
755
756 **Closed issues:**
757
758 - Better error notification on missing linguist dependency? [\#36](https://github.com/gjtorikian/html-pipeline/issues/36)
759
760 **Merged pull requests:**
761
762 - Bump escape\_utils [\#41](https://github.com/gjtorikian/html-pipeline/pull/41) ([brianmario](https://github.com/brianmario))
763 - Don't monkeypatch Nokogiri in 1.9 [\#40](https://github.com/gjtorikian/html-pipeline/pull/40) ([defunkt](https://github.com/defunkt))
764
765 ## [v0.0.8](https://github.com/gjtorikian/html-pipeline/tree/v0.0.8) (2013-02-07)
766
767 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.7...v0.0.8)
768
769 **Closed issues:**
770
771 - Optionally require github-linguist [\#33](https://github.com/gjtorikian/html-pipeline/issues/33)
772
773 **Merged pull requests:**
774
775 - Raise the roof---I mean, error [\#37](https://github.com/gjtorikian/html-pipeline/pull/37) ([gjtorikian](https://github.com/gjtorikian))
776
777 ## [v0.0.7](https://github.com/gjtorikian/html-pipeline/tree/v0.0.7) (2013-01-30)
778
779 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.6...v0.0.7)
780
781 **Closed issues:**
782
783 - Where to report custom filters? [\#30](https://github.com/gjtorikian/html-pipeline/issues/30)
784
785 **Merged pull requests:**
786
787 - Remove github-linguist dependency [\#35](https://github.com/gjtorikian/html-pipeline/pull/35) ([jch](https://github.com/jch))
788 - Delete erroneous trailing {}s from README [\#34](https://github.com/gjtorikian/html-pipeline/pull/34) ([mrb](https://github.com/mrb))
789
790 ## [v0.0.6](https://github.com/gjtorikian/html-pipeline/tree/v0.0.6) (2012-12-11)
791
792 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.5...v0.0.6)
793
794 **Merged pull requests:**
795
796 - use \#gsub instead of \#gsub! in MarkdownFilter\#initialize [\#32](https://github.com/gjtorikian/html-pipeline/pull/32) ([jakedouglas](https://github.com/jakedouglas))
797
798 ## [v0.0.5](https://github.com/gjtorikian/html-pipeline/tree/v0.0.5) (2012-12-10)
799
800 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.4...v0.0.5)
801
802 **Merged pull requests:**
803
804 - Fix XSS vulnerability in sanitization filter [\#31](https://github.com/gjtorikian/html-pipeline/pull/31) ([jch](https://github.com/jch))
805 - Fix typo on readme in "AutolinkFilter" doc [\#29](https://github.com/gjtorikian/html-pipeline/pull/29) ([dmarcotte](https://github.com/dmarcotte))
806 - fix syntax highlighting example in Readme [\#27](https://github.com/gjtorikian/html-pipeline/pull/27) ([mislav](https://github.com/mislav))
807 - remove github-linguist dependency [\#26](https://github.com/gjtorikian/html-pipeline/pull/26) ([mislav](https://github.com/mislav))
808 - Retrigger Travis build for debugging [\#25](https://github.com/gjtorikian/html-pipeline/pull/25) ([jch](https://github.com/jch))
809 - Use consistent quotes in gemspec [\#24](https://github.com/gjtorikian/html-pipeline/pull/24) ([jbarnette](https://github.com/jbarnette))
810 - Add MIT license indicator to the gemspec. [\#23](https://github.com/gjtorikian/html-pipeline/pull/23) ([nbibler](https://github.com/nbibler))
811 - Context validation [\#22](https://github.com/gjtorikian/html-pipeline/pull/22) ([benubois](https://github.com/benubois))
812 - Corrected a little typo [\#21](https://github.com/gjtorikian/html-pipeline/pull/21) ([blackerby](https://github.com/blackerby))
813 - Added an example of a custom filter. [\#19](https://github.com/gjtorikian/html-pipeline/pull/19) ([benubois](https://github.com/benubois))
814 - Use correct OSS Manifesto link. [\#18](https://github.com/gjtorikian/html-pipeline/pull/18) ([wickedshimmy](https://github.com/wickedshimmy))
815 - Fixed typos [\#17](https://github.com/gjtorikian/html-pipeline/pull/17) ([pborreli](https://github.com/pborreli))
816 - What is the github filter chain? [\#16](https://github.com/gjtorikian/html-pipeline/pull/16) ([geemus](https://github.com/geemus))
817 - Loosen Gemoji restriction [\#15](https://github.com/gjtorikian/html-pipeline/pull/15) ([josh](https://github.com/josh))
818
819 ## [v0.0.4](https://github.com/gjtorikian/html-pipeline/tree/v0.0.4) (2012-11-06)
820
821 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/v0.0.3...v0.0.4)
822
823 **Implemented enhancements:**
824
825 - Detect asset pipeline availability [\#1](https://github.com/gjtorikian/html-pipeline/issues/1)
826
827 **Fixed bugs:**
828
829 - @mention at end of parenthetical sentence doesn't get linked [\#11](https://github.com/gjtorikian/html-pipeline/issues/11)
830
831 **Closed issues:**
832
833 - Open source, transferring repo ownership [\#12](https://github.com/gjtorikian/html-pipeline/issues/12)
834 - Ensure we get the latest from github/github [\#10](https://github.com/gjtorikian/html-pipeline/issues/10)
835 - Rename repository to html-pipeline [\#7](https://github.com/gjtorikian/html-pipeline/issues/7)
836
837 **Merged pull requests:**
838
839 - HTML::Pipeline::Pipeline [\#13](https://github.com/gjtorikian/html-pipeline/pull/13) ([jbarnette](https://github.com/jbarnette))
840
841 ## [v0.0.3](https://github.com/gjtorikian/html-pipeline/tree/v0.0.3) (2012-10-03)
842
843 [Full Changelog](https://github.com/gjtorikian/html-pipeline/compare/a08f65df81dba0004c2de429848cd9a202917d04...v0.0.3)
844
845 **Closed issues:**
846
847 - History [\#3](https://github.com/gjtorikian/html-pipeline/issues/3)
848
849 **Merged pull requests:**
850
851 - Ensure required context values are present [\#9](https://github.com/gjtorikian/html-pipeline/pull/9) ([juliamae](https://github.com/juliamae))
852 - emoji filter requires the emoji gem [\#8](https://github.com/gjtorikian/html-pipeline/pull/8) ([atmos](https://github.com/atmos))
853 - De-Github and opensource [\#6](https://github.com/gjtorikian/html-pipeline/pull/6) ([jch](https://github.com/jch))
854
855
856
857 \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
3232 $ bundle
3333 ```
3434
35 Or install it yourself as:
35 Or install it by yourself as:
3636
3737 ```sh
3838 $ gem install html-pipeline
163163 * `ImageMaxWidthFilter` - link to full size image for large images
164164 * `MarkdownFilter` - convert markdown to html
165165 * `PlainTextInputFilter` - html escape text and wrap the result in a div
166 * `SanitizationFilter` - whitelist sanitize user markup
166 * `SanitizationFilter` - allow sanitize user markup
167167 * `SyntaxHighlightFilter` - code syntax highlighter
168168 * `TextileFilter` - convert textile to html
169169 * `TableOfContentsFilter` - anchor headings with name attributes and generate Table of Contents html unordered list linking headings
329329 EmojiPipeline.call("<div>#{html_fragment}</div>") # <- Wrap your own html fragments to avoid escaping
330330 ```
331331
332 ### 2. How do I customize a whitelist for `SanitizationFilter`s?
333
334 `SanitizationFilter::WHITELIST` is the default whitelist used if no `:whitelist`
332 ### 2. How do I customize an allowlist for `SanitizationFilter`s?
333
334 `SanitizationFilter::ALLOWLIST` is the default allowlist used if no `:allowlist`
335335 argument is given in the context. The default is a good starting template for
336336 you to add additional elements. You can either modify the constant's value, or
337337 re-define your own constant and pass that in via the context.
2727 else
2828 image_subpage_url
2929 end
30 element['src'] = URI.join(base, src).to_s
30
31 begin
32 element['src'] = URI.join(base, src).to_s
33 rescue Exception
34 next
35 end
3136 end
3237 doc
3338 end
1515 # Context options:
1616 # :asset_proxy (required) - Base URL for constructed asset proxy URLs.
1717 # :asset_proxy_secret_key (required) - The shared secret used to encode URLs.
18 # :asset_proxy_whitelist - Array of host Strings or Regexps to skip
18 # :asset_proxy_allowlist - Array of host Strings or Regexps to skip
1919 # src rewriting.
2020 #
2121 # This filter does not write additional information to the context.
3636 end
3737
3838 next if uri.host.nil?
39 next if asset_host_whitelisted?(uri.host)
39 next if asset_host_allowed?(uri.host)
4040
4141 element['src'] = asset_proxy_url(original_src)
4242 element['data-canonical-src'] = original_src
7575 end
7676
7777 def asset_proxy_whitelist
78 context[:asset_proxy_whitelist] || []
78 warn "[DEPRECATION] 'asset_proxy_whitelist' is deprecated. Please use 'asset_proxy_allowlist' instead."
79 asset_proxy_allowlist
80 end
81
82 def asset_proxy_allowlist
83 context[:asset_proxy_allowlist] || context[:asset_proxy_whitelist] || []
7984 end
8085
8186 def asset_host_whitelisted?(host)
82 asset_proxy_whitelist.any? do |test|
87 warn "[DEPRECATION] 'asset_host_whitelisted?' is deprecated. Please use 'asset_host_allowed?' instead."
88 asset_host_allowed?(host)
89 end
90
91 def asset_host_allowed?(host)
92 asset_proxy_allowlist.any? do |test|
8393 test.is_a?(String) ? host == test : test.match(host)
8494 end
8595 end
3737 def call
3838 found_hidden = nil
3939 paragraphs = EmailReplyParser.read(text.dup).fragments.map do |fragment|
40 pieces = [escape_html(fragment.to_s.strip).gsub(/^\s*(>|&gt;)/, '')]
40 pieces = [CGI.escapeHTML(fragment.to_s.strip).gsub(/^\s*(>|&gt;)/, '')]
41
4142 if fragment.quoted?
4243 if context[:hide_quoted_email_addresses]
4344 pieces.map! do |piece|
3737
3838 render_options = [:GITHUB_PRE_LANG]
3939 render_options << :HARDBREAKS if context[:gfm] != false
40 render_options = [:UNSAFE] if context[:unsafe]
40 render_options << :UNSAFE if context[:unsafe]
4141
4242 doc = CommonMarker.render_doc(@text, parse_options, extensions)
4343 renderer.new(options: render_options, extensions: extensions).render(doc)
77 # in a div.
88 class PlainTextInputFilter < TextFilter
99 def call
10 "<div>#{EscapeUtils.escape_html(@text, false)}</div>"
10 "<div>#{CGI.escape_html(@text)}</div>"
1111 end
1212 end
1313 end
33
44 module HTML
55 class Pipeline
6 # HTML filter with sanization routines and whitelists. This module defines
6 # HTML filter with sanization routines and allowlists. This module defines
77 # what HTML is allowed in user provided content and fixes up issues with
88 # unbalanced tags and whatnot.
99 #
1212 # https://github.com/rgrove/sanitize/#readme
1313 #
1414 # Context options:
15 # :whitelist - The sanitizer whitelist configuration to use. This
15 # :allowlist - The sanitizer allowlist configuration to use. This
1616 # can be one of the options constants defined in this
1717 # class or a custom sanitize options hash.
1818 # :anchor_schemes - The URL schemes to allow in <a href> attributes. The
1919 # default set is provided in the ANCHOR_SCHEMES
2020 # constant in this class. If passed, this overrides any
21 # schemes specified in the whitelist configuration.
21 # schemes specified in the allowlist configuration.
2222 #
2323 # This filter does not write additional information to the context.
2424 class SanitizationFilter < Filter
3636 # These schemes are the only ones allowed in <a href> attributes by default.
3737 ANCHOR_SCHEMES = ['http', 'https', 'mailto', 'xmpp', :relative, 'github-windows', 'github-mac', 'irc', 'ircs'].freeze
3838
39 # The main sanitization whitelist. Only these elements and attributes are
39 # The main sanitization allowlist. Only these elements and attributes are
4040 # allowed through by default.
41 WHITELIST = {
41 ALLOWLIST = {
4242 elements: %w[
4343 h1 h2 h3 h4 h5 h6 h7 h8 br b i strong em a pre code img tt
4444 div ins del sup sub p ol ul table thead tbody tfoot blockquote
6767 hspace ismap label lang
6868 maxlength media method
6969 multiple name nohref noshade
70 nowrap open prompt readonly rel rev
70 nowrap open progress prompt readonly rel rev
7171 role rows rowspan rules scope
7272 selected shape size span
7373 start summary tabindex target
107107 ].freeze
108108 }.freeze
109109
110 # A more limited sanitization whitelist. This includes all attributes,
111 # protocols, and transformers from WHITELIST but with a more locked down
110 # A more limited sanitization allowlist. This includes all attributes,
111 # protocols, and transformers from ALLOWLIST but with a more locked down
112112 # set of allowed elements.
113 LIMITED = WHITELIST.merge(
113 LIMITED = ALLOWLIST.merge(
114114 elements: %w[b i strong em a pre code img ins del sup sub mark abbr p ol ul li]
115115 )
116116
119119
120120 # Sanitize markup using the Sanitize library.
121121 def call
122 Sanitize.clean_node!(doc, whitelist)
122 Sanitize.clean_node!(doc, allowlist)
123123 end
124124
125 # The whitelist to use when sanitizing. This can be passed in the context
126 # hash to the filter but defaults to WHITELIST constant value above.
127125 def whitelist
128 whitelist = context[:whitelist] || WHITELIST
126 warn "[DEPRECATION] 'whitelist' is deprecated. Please use 'allowlist' instead."
127 allowlist
128 end
129
130 # The allowlist to use when sanitizing. This can be passed in the context
131 # hash to the filter but defaults to ALLOWLIST constant value above.
132 def allowlist
133 allowlist = context[:allowlist] || context[:whitelist] || ALLOWLIST
129134 anchor_schemes = context[:anchor_schemes]
130 return whitelist unless anchor_schemes
131 whitelist = whitelist.dup
132 whitelist[:protocols] = (whitelist[:protocols] || {}).dup
133 whitelist[:protocols]['a'] = (whitelist[:protocols]['a'] || {}).merge('href' => anchor_schemes)
134 whitelist
135 return allowlist unless anchor_schemes
136 allowlist = allowlist.dup
137 allowlist[:protocols] = (allowlist[:protocols] || {}).dup
138 allowlist[:protocols]['a'] = (allowlist[:protocols]['a'] || {}).merge('href' => anchor_schemes)
139 allowlist
135140 end
136141 end
137142 end
4646 uniq = headers[id] > 0 ? "-#{headers[id]}" : ''
4747 headers[id] += 1
4848 if header_content = node.children.first
49 result[:toc] << %(<li><a href="##{id}#{uniq}">#{EscapeUtils.escape_html(text)}</a></li>\n)
49 result[:toc] << %(<li><a href="##{id}#{uniq}">#{CGI.escape_html(text)}</a></li>\n)
5050 header_content.add_previous_sibling(%(<a id="#{id}#{uniq}" class="anchor" href="##{id}#{uniq}" aria-hidden="true">#{anchor_icon}</a>))
5151 end
5252 end
11
22 module HTML
33 class Pipeline
4 VERSION = '2.14.0'
4 VERSION = '2.14.3'
55 end
66 end
+0
-47
script/changelog less more
0 #!/bin/bash
1 # Usage: script/changelog [-r <repo>] [-b <base>] [-h <head>]
2 #
3 # repo: base string of GitHub repository url. e.g. "user_or_org/repository". Defaults to git remote url.
4 # base: git ref to compare from. e.g. "v1.3.1". Defaults to latest git tag.
5 # head: git ref to compare to. Defaults to "HEAD".
6 #
7 # Generate a changelog preview from pull requests merged between `base` and
8 # `head`.
9 #
10 # https://github.com/jch/release-scripts/blob/master/changelog
11 set -e
12
13 [ $# -eq 0 ] && set -- --help
14 while [[ $# > 1 ]]
15 do
16 key="$1"
17 case $key in
18 -r|--repo)
19 repo="$2"
20 shift
21 ;;
22 -b|--base)
23 base="$2"
24 shift
25 ;;
26 -h|--head)
27 head="$2"
28 shift
29 ;;
30 *)
31 ;;
32 esac
33 shift
34 done
35
36 repo="${repo:-$(git remote -v | grep push | awk '{print $2}' | cut -d'/' -f4- | sed 's/\.git//')}"
37 base="${base:-$(git tag -l | sort -t. -k 1,1n -k 2,2n -k 3,3n | tail -n 1)}"
38 head="${head:-HEAD}"
39 api_url="https://api.github.com"
40
41 # get merged PR's. Better way is to query the API for these, but this is easier
42 for pr in $(git log --oneline $base..$head | grep "Merge pull request" | awk '{gsub("#",""); print $5}')
43 do
44 # frustrated with trying to pull out the right values, fell back to ruby
45 curl -s "$api_url/repos/$repo/pulls/$pr" | ruby -rjson -e 'pr=JSON.parse(STDIN.read); puts "* #{pr[%q(title)]} [##{pr[%q(number)]}](#{pr[%q(html_url)]})"'
46 done
0 #!/bin/sh
1
2 CHANGELOG_GITHUB_TOKEN="$GITHUB_CHANGELOG_TOKEN" github_changelog_generator -u gjtorikian -p html-pipeline
5252 end
5353 assert_match 'HTML::Pipeline::AbsoluteSourceFilter', exception.message
5454 end
55
56 def test_ignores_data_urls
57 orig = %(<p><img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"></p>)
58 result = AbsoluteSourceFilter.call(orig, @options).to_s
59
60 expected = %(<p><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20696%20391'%3E%3Crect%20x='0'%20y='0'%20width='696'%20height='391'%20fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"></p>)
61 assert_equal expected, result
62 end
5563 end
1010 @options = {
1111 asset_proxy: @asset_proxy_url,
1212 asset_proxy_secret_key: @asset_proxy_secret_key,
13 asset_proxy_whitelist: [/(^|\.)github\.com$/]
13 asset_proxy_allowlist: [/(^|\.)github\.com$/]
1414 }
1515 end
1616
7575 assert_match /:asset_proxy[^_]/, exception.message
7676 assert_match /:asset_proxy_secret_key/, exception.message
7777 end
78
79 def test_deprecated_asset_proxy_whitelist_context
80 orig = %(<p><img></p>)
81 deprecated_options = {
82 asset_proxy: @asset_proxy_url,
83 asset_proxy_secret_key: @asset_proxy_secret_key,
84 asset_proxy_whitelist: [/(^|\.)github\.com$/]
85 }
86 assert_equal [/(^|\.)github\.com$/], CamoFilter.new(orig, deprecated_options).asset_proxy_allowlist
87 end
88
89 def test_deprecation_warning_asset_proxy_whitelist
90 orig = %(<p><img></p>)
91 _stdout, stderror = capture_io do
92 CamoFilter.new(orig, @options).asset_proxy_whitelist
93 end
94 assert_match "[DEPRECATION] 'asset_proxy_whitelist' is deprecated. Please use 'asset_proxy_allowlist' instead.", stderror
95 end
96
97 def test_deprecation_warning_asset_host_whitelisted
98 orig = %(<p><img></p>)
99 host = 'https://facebook.com'
100 _stdout, stderror = capture_io do
101 CamoFilter.new(orig, @options).asset_host_whitelisted?(host)
102 end
103 assert_match "[DEPRECATION] 'asset_host_whitelisted?' is deprecated. Please use 'asset_host_allowed?' instead.", stderror
104 end
78105 end
5858 <div class="email-quoted-reply"> * Do you need -DCMAKE_SYSTEM_PROCESSOR=x86?</div>
5959 <div class="email-fragment">Yes, this is a bit dumb, but vc checks for that (or amd) to determine that it&#39;s not being built on ARM.</div>
6060 <span class="email-hidden-toggle"><a href="#">&hellip;</a></span><div class="email-hidden-reply" style="display:none"><div class="email-signature-reply">--
61 Boaty McBoatface | http:&#47;&#47;example.org</div>
61 Boaty McBoatface | http://example.org</div>
6262 </div>
6363 EXPECTED
6464
118118
119119 assert_equal results, script
120120 end
121
122 def test_unsafe_custom_renderer_fenced_code_blocks_with_language
123 doc = MarkdownFilter.to_document(@code.sub('```', '``` ruby'), unsafe: true, commonmarker_renderer: CustomRenderer)
124 assert_equal 'ruby', doc.search('pre').first['lang']
125 end
121126 end
122127
123128 class GFMTest < Minitest::Test
5252 assert_equal '<a>Wat</a> is this', html
5353 end
5454
55 def test_whitelisted_longdesc_schemes_are_allowed
55 def test_allowlisted_longdesc_schemes_are_allowed
5656 stuff = '<img src="./foo.jpg" longdesc="http://longdesc.com">'
5757 html = SanitizationFilter.call(stuff).to_s
5858 assert_equal '<img src="./foo.jpg" longdesc="http://longdesc.com">', html
8080
8181 def test_anchor_schemes_are_merged_with_other_anchor_restrictions
8282 stuff = '<a href="something-weird://heyyy" ping="more-weird://hiii">Wat</a> is this'
83 whitelist = {
83 allowlist = {
8484 elements: ['a'],
8585 attributes: { 'a' => %w[href ping] },
8686 protocols: { 'a' => { 'ping' => ['http'] } }
8787 }
88 filter = SanitizationFilter.new(stuff, whitelist: whitelist, anchor_schemes: ['something-weird'])
88 filter = SanitizationFilter.new(stuff, allowlist: allowlist, anchor_schemes: ['something-weird'])
8989 html = filter.call.to_s
9090 assert_equal '<a href="something-weird://heyyy">Wat</a> is this', html
9191 end
9292
93 def test_uses_anchor_schemes_from_whitelist_when_not_separately_specified
93 def test_uses_anchor_schemes_from_allowlist_when_not_separately_specified
9494 stuff = '<a href="something-weird://heyyy">Wat</a> is this'
95 whitelist = {
95 allowlist = {
9696 elements: ['a'],
9797 attributes: { 'a' => ['href'] },
9898 protocols: { 'a' => { 'href' => ['something-weird'] } }
9999 }
100 filter = SanitizationFilter.new(stuff, whitelist: whitelist)
100 filter = SanitizationFilter.new(stuff, allowlist: allowlist)
101101 html = filter.call.to_s
102102 assert_equal stuff, html
103103 end
104104
105 def test_whitelist_contains_default_anchor_schemes
106 assert_equal SanitizationFilter::WHITELIST[:protocols]['a']['href'], ['http', 'https', 'mailto', 'xmpp', :relative, 'github-windows', 'github-mac', 'irc', 'ircs']
105 def test_allowlist_contains_default_anchor_schemes
106 assert_equal SanitizationFilter::ALLOWLIST[:protocols]['a']['href'], ['http', 'https', 'mailto', 'xmpp', :relative, 'github-windows', 'github-mac', 'irc', 'ircs']
107107 end
108108
109 def test_whitelist_from_full_constant
109 def test_allowlist_from_full_constant
110110 stuff = '<a href="something-weird://heyyy" ping="more-weird://hiii">Wat</a> is this'
111 filter = SanitizationFilter.new(stuff, whitelist: SanitizationFilter::FULL)
111 filter = SanitizationFilter.new(stuff, allowlist: SanitizationFilter::FULL)
112112 html = filter.call.to_s
113113 assert_equal 'Wat is this', html
114114 end
164164 NESTED
165165 assert_equal orig, SanitizationFilter.call(orig).to_s
166166 end
167
168 def test_deprecated_whitelist_context
169 orig = %(<p><style>hey now</style></p>)
170 context = { whitelist: ['table'] }
171
172 assert_equal ['table'], SanitizationFilter.new(orig, context).allowlist
173 end
174
175 def test_deprecation_warning_whitelist
176 orig = %(<p><style>hey now</style></p>)
177 _stdout, stderror = capture_io do
178 SanitizationFilter.new(orig).whitelist
179 end
180 assert_match "[DEPRECATION] 'whitelist' is deprecated. Please use 'allowlist' instead.", stderror
181 end
167182 end
5252
5353 def test_highlight_handles_nested_pre_tags
5454 inner_code = "<pre>console.log('i am nested!')</pre>"
55 escaped = EscapeUtils.escape_html(inner_code)
55 escaped = CGI.escape_html(inner_code)
5656 html = "<pre lang='html'>#{escaped}</pre>"
5757 filter = SyntaxHighlightFilter.new html, highlight: 'html'
5858
5959 doc = filter.call
6060
6161 assert_equal 2, doc.css('span[class=nt]').length
62 assert_equal EscapeUtils.unescape_html(escaped), doc.inner_text
62 assert_equal CGI.unescape_html(escaped), doc.inner_text
6363 end
6464 end