forked from kamelkev/CSS-Inliner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
248 lines (213 loc) · 13.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
2304 2009-10-08 Kevin Kamel <[email protected]>
* Initial release to world.
2307 2009-10-08 Kevin Kamel <[email protected]>
* Tweaks to do correct release to CPAN
2534 2010-01-26 Kevin Kamel <[email protected]>
* Updates by Vivek Khera ([email protected])
- Remove comment stripping of HTML passed through the Inliner
2536 2010-04-26 Kevin Kamel <[email protected]>
* Suggested update by Vivek Khera ([email protected])
- adjust TreeParser to override skippable end tags
* Adjust TreeParser to allow html comments to persist through
processing
2540 2010-04-27 Kevin Kamel <[email protected]>
* Include a number of updates as suggested by Michael Peters <[email protected]>
- do not skip over style blocks with undefined media types
- add feature to take previously defined HTML::TreeParser so
users can modify the parameters the TreeParser has
- skip css psuedo attributes that cannot be inlined
2544 2010-04-27 Kevin Kamel <[email protected]>
* Update the regex for skipping over non-inlineable psuedo attributes
* In addition to skipping psuedo attributes, skip over @, like @import
2669 2010-08-19 Kevin Kamel <[email protected]>
* Include a number of contributions from Michael Peters <[email protected]>
- do not die if there is no style container within passed document
- do not die if comments are encountered within <style> blocks
- contribution of tests to ensure described functionality matches up
- respect order of CSS rules for better style cascade
* Added option to selectively strip out class and id attributes via constructor param
* Added automatic collapsing of overridden attributes, assisted by Vivek Khera <[email protected]>
* Restructured parts of code and added some get methods to ease future testing
* Adjusted some variable names to be more correct
2852 2010-10-27 Kevin Kamel <[email protected]>
* Manifest updated to represent all project files
* Rework module hierarchy, adjust all project files to match
* Include contributions from Michael Peters <[email protected]>
- Add support for specificity calculations
- Add support for style application that closely approximates what a browser does
- Included tests to validate above behaviour
* Added extensive tests added to validate described cascade behaviour
- Fixed all discovered and known bugs
* Include contribution from David Stevenson <[email protected]>
- allow for proper parsing of background urls, previously broken
- include test for validating fix
* Update CSS storage module to CSS::Simple
* Add code to fetch remote stylesheets
* Include contribution from Vivek Khera <[email protected]>
- Add support for adusting all relative references to absolute reference
* Add test to remotely fetch an entire document
* Simplify some recursive methods
* Allow parsing of multiple stylesheets - stacking functionality from CSS::Simple
seems to allow this feature to just work
3042 2011-03-10 Kevin Kamel <[email protected]>
* Add new flag to "leave_style" blocks while reading and parsing the stylesheets
* Include contributions from Michael Stevens ([email protected])
- Fix podchecker complaints on Inliner.pm
- Add a .gitignore for perl module cruft.
- Add pod tests
* Path fixes from contributor Michael Stevens
- Beef up error reporting so you can tell which files are missing
- Resolve dumb problem with tests whereby if a username had "t" in it the test failed
3213 2011-05-16 Kevin Kamel <[email protected]>
* Add new flag "warns_as_errors" which converts content warnings to errors if set
* Add public method content_warnings to return content warnings to end user
* Add getter/setter autogenerator for private data members
* Add method _report_warning through which content warnings are aggregated or thrown
* Add test linebreaktest.t to test for proper handling of linebreaks within inline styles
3219 2011-05-18 Vivek Khera <[email protected]>
* MANIFEST was missing some entries
* Makefile.PL dependency on CSS::Simple updated, ensure README is included in dist file
3275 2011-06-19 Kevin Kamel <[email protected]>
* Include post_fetch_filter constructor parameter. Allows users to protect mailmerge tags
* Include example for new feature under t/fetch-filter.t
* Update MANIFEST with example
3283 2011-06-23 Kevin Kamel <[email protected]>
* Include test contribution from Ron Straight ([email protected])
- replace regex for test directory with proper mechanism for determining path
* Alter the user-agent used for remote fetching
- follow "curl" recommendation to use Mozilla/4.0 for maximim compatability
3286 2011-06-30 Kevin Kamel <[email protected]>
* Replace CSS::Simple CPAN module with a new CSS encapsulation module specific for inlining.
- CSS::Inliner::Parser drops the Tie::IxHash in favor of a an array of hashes which
lends itself very nicely to rules that are repeated - something that the previous version
of the module could not handle properly due to the data structure.
- Create tests through which to test out CSS::Inliner::Parser
- Update MANIFEST with new module and associated tests
* Update Inliner code to utilize new Parser submodule
- Add test "basic-redeclare" to ensure that the repeated rule bug is solved
3295 2011-07-08 Vick Khera <[email protected]>
* Makefile.PL remove dependency on CSS::Simple missed in prior
release
3362 2011-09-22 Kevin Kamel <[email protected]>
* Fix a typo in the inlined warning array
* Attempt to resolve agent fetching issue
- Update agent to prefix "Mozilla/4.0" to work with older cgis
3385 2011-10-13 Kevin Kamel <[email protected]>
* Fix up Makefile to include dependency for TreeBuilder version 4.2
* Update copyright in Inliner.pm
3471 2011-12-14 Kevin Kamel <[email protected]>
* Attempt to resolve agent fetching issue
- Update agent to be solely string "Mozilla/4.0"
3671 2012-03-09 Kevin Kamel <[email protected]>
* Add in support for character encodings for content to be inlined
- fixes bugs whereby foreign content types (utf8) produced bad inlined documents
* Fix errors in output of some test files
3674 2012-03-12 Kevin Kamel <[email protected]>
* Skip processing of link tags without an href, no reason to process them
3901 2013-07-27 Kevin Kamel <[email protected]>
* Remove "post_fetch_filter", I know of nobody using this feature and I personally do not need it anymore
* Added patch from Sebastian Paaske Torholm <[email protected]>
- Update psuedo class support to reject rules without leading content before :psuedo
- Update psuedo class support to allow :first-child and :last-child to propogate to HTML::Query
* Update documentation where appropriate
* Transition versioning to a new model
3913 2013-10-01 Kevin Kamel <[email protected]>
* Accept pull request from Vivek Khera (http://github.com/khera)
- Resolve issue whereby html comments were lost
- Resolve issue whereby url() references within local <style> css were not absolutized
- Add test for url() fix
* Add explicit test to confirm that pull request patch does in fact retain comments
* Fix versioning issues
3932 2013-12-02 Kevin Kamel <[email protected]>
* Introduce CSS::Inliner::TreeBuilder, subclass of HTML::TreeBuilder
- enables "relaxed" parsing through unconventional implicit_tag disabling
* Introduce "relaxed" mode flag
- allows parsing of non-standards compliant documents
- allows parsing of HTML5 documents
- add tests to ensure described functionality matches up
* Add new _validate_html method, which will add warnings to the report representing gross document problems
* Add support for media queries, this is automatic and requires no flags
* Address issues with indentation of outputted code
- NOTE: indentation within relaxed mode does not work as expected, limited by underlying libraries
* Address concerns raised by CPAN RT84513
- ensure that both relaxed and standard parsing always allow link tags within html
* Update POD within Inliner.pm such that it generates more consistent documentation for CPAN/GitHub
* Manifest updated to represent all project files
* Fix some silly issues within tests that hadn't been noticed before
3933 2013-12-02 Kevin Kamel <[email protected]>
* Fix formatting of Changelog
* Tick up the HTML::TreeBuilder version to 5.03 - 4.2 apparently no longer exists?
3934 2013-12-17 Kevin Kamel <[email protected]>
* Work around pod bug that was causing some problems for users
* Fix issue whereby <link> references that were not inlined weren't generating a content warning
3935 2013-12-19 Kevin Kamel <[email protected]>
* Fix problem with stylesheet fingerprint in link tags - regex was not correct
* Fix issue whereby I used modern perl // (defined test) doesn't work in perl 5.8.9
3936 2013-01-13 Kevin Kamel <[email protected]>
* Fix issue whereby malformed @media rules could cause an infinite loop within the Parser
* Attempt to fix issue whereby moder perl // defined test still not working perl
* Attempt to fix issue whereby Makefile will not properly generate the latest README file
3944 2013-03-24 Kevin Kamel <[email protected]>
* Add generalized at-rule support to CSS::Inliner::Parser, @media support is reimplemented
* Provide granularity for retrieving rules by rule name, exa qualified, @import, @media, etc
* Attempt to improve whitespace handling when printing out a stylesheet from CSS::Inliner::Parser
* Abandon using tabs in written out css, update tests to reflect the change
* Add support for including at-rule when printing out a stylesheet from CSS::Inliner::Parser
* Add tests for ensuring that at-rule are working
* Fix up code style whitespace issues, add associated tests for checking it
3945 2013-04-25 Kevin Kamel <[email protected]>
* Updated embedded test, which references a remote uri that was no longer accessible
3948 2014-09-02 Kevin Kamel <[email protected]>
* Updated handling of pseudo-classes
- correct issue raised in CPAN RT96413, errors incorrectly bubbling from HTML::Query
- update regex to properly target all unsupported pseudo-selectors
- update regex to skip over CSS3 style pseudo-selectors as well as CSS2
- update tests to properly exercise associated changes
* Rename test psuedo.t to pseudo.t (spelling)
* Bump up HTML::Query requirement to 0.09
3957 2015-05-15 Kevin Kamel <[email protected]>
* Add support for an argument to the Inliner constructor to override the default set of entities
- resolve feature request raised in CPAN RT100857
- add test to validate basic behavior
* Fix issues within pod documentation
* Added patch provided by [email protected] within CPAN RT99934
- Resolves improper !important rule handling
- Adds test for validating proper !important rule handling
* Update copyright to 2015 throughout project
3958 2015-05-29 Kevin Kamel <[email protected]>
* Add support for an agent string argument for the remote fetching of documents
* Add patch provided by Dave Gray ([email protected])
- Adds proper headers for remote fetching of files
* Fix issues within pod documentation
4002 2015-11-23 Kevin Kamel <[email protected]>
* Update POD within Inliner.pm such that it generates more consistent documentation for CPAN/GitHub
* Set URI flag allowing urls containing leading dots to be handled correctly
* Extend support for foreign character sets
- implement charset detection algorithm, roughly based off of HTML5 W3C specification
- implement character encoding/decoding based upon detected charset
- implement fallback mode for when no charset is detected, leverage Encoding::FixLatin if available
- add tests for exercising new charset related features
- update documentation regarding new methods to support foreign charsets
* Add reference to contributor Dave Gray ([email protected]) to contributors section
* Add reference to contributor Chelsea Rio ([email protected]) to contributors section
* Add new TreeBuilder configuration method, which ensures all instances are configured identically
* Remove all entity handling intentionally or unintentionally done, retain original state of all read chars
- Modify configuration of all TreeBuilder instances, remove all entity decoding done during parsing
- Modify configuration of TreeBuilder output, skip calls for entity encoding
- strip all documentation and argument handling related to entity encoding
- All entity encoding is now the responsibility of the caller
* Update MANIFEST to reference all added tests/assets
* Fix minor formatting issues within some tests/assets
* Address concerns raised by CPAN RT96414, conditionally test for connectivity instead of outright failing
4003 2015-12-16 Kevin Kamel <[email protected]>
* Resolve charset sniffing issue
- invalid charset present within the document would cause charset sniffing to end prematurely
- invalid charset present within the document would cause Inliner to die during the decode phase
* Resolve issue whereby a TreeBuilder instance was not configured as expected
4008 2017-07-16 Kevin Kamel <[email protected]>
* Update description indicating that development is currently suspended due to the MailerMailer LLC sale
* Apply patch from Nigel Metheringham which silences warnings under Perl 5.26
* Apply patch from Father Chrysostomos which avoids install issues with Perl 5.10
4014 2019-12-31 Kevin Kamel <[email protected]>
* Apply patch from Graham Ollis related to listing in module indexes
* Apply patch from Christian Walde related to tests passing