feedtools 0.2.26 → 0.2.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. data/CHANGELOG +232 -216
  2. data/db/migration.rb +2 -0
  3. data/db/schema.mysql.sql +2 -0
  4. data/db/schema.postgresql.sql +3 -1
  5. data/db/schema.sqlite.sql +3 -1
  6. data/lib/feed_tools.rb +37 -14
  7. data/lib/feed_tools/database_feed_cache.rb +13 -2
  8. data/lib/feed_tools/feed.rb +430 -104
  9. data/lib/feed_tools/feed_item.rb +533 -268
  10. data/lib/feed_tools/helpers/generic_helper.rb +1 -1
  11. data/lib/feed_tools/helpers/html_helper.rb +78 -116
  12. data/lib/feed_tools/helpers/retrieval_helper.rb +33 -3
  13. data/lib/feed_tools/helpers/uri_helper.rb +46 -54
  14. data/lib/feed_tools/monkey_patch.rb +27 -1
  15. data/lib/feed_tools/vendor/html5/History.txt +10 -0
  16. data/lib/feed_tools/vendor/html5/Manifest.txt +117 -0
  17. data/lib/feed_tools/vendor/html5/README +45 -0
  18. data/lib/feed_tools/vendor/html5/Rakefile.rb +33 -0
  19. data/lib/feed_tools/vendor/html5/bin/html5 +217 -0
  20. data/lib/feed_tools/vendor/html5/lib/core_ext/string.rb +17 -0
  21. data/lib/feed_tools/vendor/html5/lib/html5.rb +13 -0
  22. data/lib/feed_tools/vendor/html5/lib/html5/constants.rb +1046 -0
  23. data/lib/feed_tools/vendor/html5/lib/html5/filters/base.rb +10 -0
  24. data/lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb +82 -0
  25. data/lib/feed_tools/vendor/html5/lib/html5/filters/iso639codes.rb +752 -0
  26. data/lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb +198 -0
  27. data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc2046.rb +30 -0
  28. data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc3987.rb +89 -0
  29. data/lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb +15 -0
  30. data/lib/feed_tools/vendor/html5/lib/html5/filters/validator.rb +830 -0
  31. data/lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb +36 -0
  32. data/lib/feed_tools/vendor/html5/lib/html5/html5parser.rb +248 -0
  33. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb +46 -0
  34. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb +33 -0
  35. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb +50 -0
  36. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb +41 -0
  37. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb +613 -0
  38. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb +69 -0
  39. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb +78 -0
  40. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb +55 -0
  41. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb +57 -0
  42. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb +138 -0
  43. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb +89 -0
  44. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb +85 -0
  45. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb +86 -0
  46. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb +115 -0
  47. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb +133 -0
  48. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb +154 -0
  49. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb +41 -0
  50. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb +35 -0
  51. data/lib/feed_tools/vendor/html5/lib/html5/inputstream.rb +648 -0
  52. data/lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb +158 -0
  53. data/lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb +188 -0
  54. data/lib/feed_tools/vendor/html5/lib/html5/serializer.rb +2 -0
  55. data/lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb +179 -0
  56. data/lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb +20 -0
  57. data/lib/feed_tools/vendor/html5/lib/html5/sniffer.rb +45 -0
  58. data/lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb +966 -0
  59. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders.rb +24 -0
  60. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb +334 -0
  61. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb +231 -0
  62. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb +209 -0
  63. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb +185 -0
  64. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers.rb +26 -0
  65. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb +162 -0
  66. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb +48 -0
  67. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb +48 -0
  68. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb +48 -0
  69. data/lib/feed_tools/vendor/html5/lib/html5/version.rb +3 -0
  70. data/lib/feed_tools/vendor/html5/testdata/encoding/chardet/test_big5.txt +51 -0
  71. data/lib/feed_tools/vendor/html5/testdata/encoding/test-yahoo-jp.dat +10 -0
  72. data/lib/feed_tools/vendor/html5/testdata/encoding/tests1.dat +394 -0
  73. data/lib/feed_tools/vendor/html5/testdata/encoding/tests2.dat +81 -0
  74. data/lib/feed_tools/vendor/html5/testdata/sanitizer/tests1.dat +416 -0
  75. data/lib/feed_tools/vendor/html5/testdata/serializer/core.test +104 -0
  76. data/lib/feed_tools/vendor/html5/testdata/serializer/injectmeta.test +65 -0
  77. data/lib/feed_tools/vendor/html5/testdata/serializer/optionaltags.test +900 -0
  78. data/lib/feed_tools/vendor/html5/testdata/serializer/options.test +60 -0
  79. data/lib/feed_tools/vendor/html5/testdata/serializer/whitespace.test +51 -0
  80. data/lib/feed_tools/vendor/html5/testdata/sites/google-results.htm +1 -0
  81. data/lib/feed_tools/vendor/html5/testdata/sites/python-ref-import.htm +1 -0
  82. data/lib/feed_tools/vendor/html5/testdata/sites/web-apps-old.htm +1 -0
  83. data/lib/feed_tools/vendor/html5/testdata/sites/web-apps.htm +34275 -0
  84. data/lib/feed_tools/vendor/html5/testdata/sniffer/htmlOrFeed.json +43 -0
  85. data/lib/feed_tools/vendor/html5/testdata/tokenizer/contentModelFlags.test +48 -0
  86. data/lib/feed_tools/vendor/html5/testdata/tokenizer/entities.test +2339 -0
  87. data/lib/feed_tools/vendor/html5/testdata/tokenizer/escapeFlag.test +21 -0
  88. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test1.test +172 -0
  89. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test2.test +129 -0
  90. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test3.test +367 -0
  91. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test4.test +198 -0
  92. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests1.dat +1950 -0
  93. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests2.dat +773 -0
  94. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests3.dat +270 -0
  95. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests4.dat +60 -0
  96. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests5.dat +175 -0
  97. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests6.dat +196 -0
  98. data/lib/feed_tools/vendor/html5/testdata/validator/attributes.test +1035 -0
  99. data/lib/feed_tools/vendor/html5/testdata/validator/base-href-attribute.test +787 -0
  100. data/lib/feed_tools/vendor/html5/testdata/validator/base-target-attribute.test +35 -0
  101. data/lib/feed_tools/vendor/html5/testdata/validator/blockquote-cite-attribute.test +7 -0
  102. data/lib/feed_tools/vendor/html5/testdata/validator/classattribute.test +152 -0
  103. data/lib/feed_tools/vendor/html5/testdata/validator/contenteditableattribute.test +59 -0
  104. data/lib/feed_tools/vendor/html5/testdata/validator/contextmenuattribute.test +115 -0
  105. data/lib/feed_tools/vendor/html5/testdata/validator/dirattribute.test +59 -0
  106. data/lib/feed_tools/vendor/html5/testdata/validator/draggableattribute.test +63 -0
  107. data/lib/feed_tools/vendor/html5/testdata/validator/html-xmlns-attribute.test +23 -0
  108. data/lib/feed_tools/vendor/html5/testdata/validator/idattribute.test +115 -0
  109. data/lib/feed_tools/vendor/html5/testdata/validator/inputattributes.test +2795 -0
  110. data/lib/feed_tools/vendor/html5/testdata/validator/irrelevantattribute.test +63 -0
  111. data/lib/feed_tools/vendor/html5/testdata/validator/langattribute.test +5579 -0
  112. data/lib/feed_tools/vendor/html5/testdata/validator/li-value-attribute.test +7 -0
  113. data/lib/feed_tools/vendor/html5/testdata/validator/link-href-attribute.test +7 -0
  114. data/lib/feed_tools/vendor/html5/testdata/validator/link-hreflang-attribute.test +7 -0
  115. data/lib/feed_tools/vendor/html5/testdata/validator/link-rel-attribute.test +271 -0
  116. data/lib/feed_tools/vendor/html5/testdata/validator/ol-start-attribute.test +7 -0
  117. data/lib/feed_tools/vendor/html5/testdata/validator/starttags.test +375 -0
  118. data/lib/feed_tools/vendor/html5/testdata/validator/style-scoped-attribute.test +7 -0
  119. data/lib/feed_tools/vendor/html5/testdata/validator/tabindexattribute.test +79 -0
  120. data/lib/feed_tools/vendor/html5/tests/preamble.rb +72 -0
  121. data/lib/feed_tools/vendor/html5/tests/test_encoding.rb +35 -0
  122. data/lib/feed_tools/vendor/html5/tests/test_lxp.rb +279 -0
  123. data/lib/feed_tools/vendor/html5/tests/test_parser.rb +68 -0
  124. data/lib/feed_tools/vendor/html5/tests/test_sanitizer.rb +142 -0
  125. data/lib/feed_tools/vendor/html5/tests/test_serializer.rb +68 -0
  126. data/lib/feed_tools/vendor/html5/tests/test_sniffer.rb +27 -0
  127. data/lib/feed_tools/vendor/html5/tests/test_stream.rb +62 -0
  128. data/lib/feed_tools/vendor/html5/tests/test_tokenizer.rb +94 -0
  129. data/lib/feed_tools/vendor/html5/tests/test_treewalkers.rb +135 -0
  130. data/lib/feed_tools/vendor/html5/tests/test_validator.rb +31 -0
  131. data/lib/feed_tools/vendor/html5/tests/tokenizer_test_parser.rb +63 -0
  132. data/lib/feed_tools/vendor/uri.rb +781 -0
  133. data/lib/feed_tools/version.rb +1 -1
  134. data/rakefile +27 -6
  135. data/test/unit/atom_test.rb +298 -210
  136. data/test/unit/helper_test.rb +7 -12
  137. data/test/unit/rdf_test.rb +51 -1
  138. data/test/unit/rss_test.rb +13 -3
  139. metadata +239 -116
  140. data/lib/feed_tools/vendor/htree.rb +0 -97
  141. data/lib/feed_tools/vendor/htree/container.rb +0 -10
  142. data/lib/feed_tools/vendor/htree/context.rb +0 -67
  143. data/lib/feed_tools/vendor/htree/display.rb +0 -27
  144. data/lib/feed_tools/vendor/htree/doc.rb +0 -149
  145. data/lib/feed_tools/vendor/htree/elem.rb +0 -262
  146. data/lib/feed_tools/vendor/htree/encoder.rb +0 -163
  147. data/lib/feed_tools/vendor/htree/equality.rb +0 -218
  148. data/lib/feed_tools/vendor/htree/extract_text.rb +0 -37
  149. data/lib/feed_tools/vendor/htree/fstr.rb +0 -33
  150. data/lib/feed_tools/vendor/htree/gencode.rb +0 -97
  151. data/lib/feed_tools/vendor/htree/htmlinfo.rb +0 -672
  152. data/lib/feed_tools/vendor/htree/inspect.rb +0 -108
  153. data/lib/feed_tools/vendor/htree/leaf.rb +0 -94
  154. data/lib/feed_tools/vendor/htree/loc.rb +0 -367
  155. data/lib/feed_tools/vendor/htree/modules.rb +0 -48
  156. data/lib/feed_tools/vendor/htree/name.rb +0 -124
  157. data/lib/feed_tools/vendor/htree/output.rb +0 -207
  158. data/lib/feed_tools/vendor/htree/parse.rb +0 -409
  159. data/lib/feed_tools/vendor/htree/raw_string.rb +0 -124
  160. data/lib/feed_tools/vendor/htree/regexp-util.rb +0 -15
  161. data/lib/feed_tools/vendor/htree/rexml.rb +0 -130
  162. data/lib/feed_tools/vendor/htree/scan.rb +0 -166
  163. data/lib/feed_tools/vendor/htree/tag.rb +0 -111
  164. data/lib/feed_tools/vendor/htree/template.rb +0 -909
  165. data/lib/feed_tools/vendor/htree/text.rb +0 -115
  166. data/lib/feed_tools/vendor/htree/traverse.rb +0 -465
data/CHANGELOG CHANGED
@@ -1,216 +1,232 @@
1
- == FeedTools 0.2.26
2
- * added support for retarded, ugly Radio redirects
3
- * improved autodiscovery support
4
- * fixed lazy evaluation issue
5
- == FeedTools 0.2.25
6
- * fixed self reference href bug
7
- * fixed primary link assignment heuristic
8
- * link rel's now default to 'alternate' for atom feeds
9
- * better handling of language attributes
10
- * better support for threaded applications
11
- * generated rss 2.0 now includes author, managingEditor, webMaster elements
12
- * improved handling of author elements
13
- * improved handling of http timeouts
14
- * fixed issue with relative paths in the location header for http redirection
15
- * monkey patches now work with Ruby 1.8.4's version of REXML
16
- * REXML monkey patches moved into their own file
17
- == FeedTools 0.2.24
18
- * fixed autodiscovery bugs
19
- * updated autodiscovery to handle relative uris
20
- * added per feed configuration
21
- * rewrote http retrieval code
22
- * supports authenticated http proxies
23
- * supports basic http auth
24
- * fixed relative url resolution issues
25
- * corrected db schema files to match migration file
26
- * fixed bug in the save method
27
- * fixed some major http bugs
28
- * updated dependancies
29
- * no longer causes problems with frozen rails
30
- == FeedTools 0.2.23
31
- * autodiscovery implemented
32
- * now knows a title from a hole in the ground
33
- * now resolves relative urls when possible
34
- * changed default table name to "cached_feeds" to avoid name collisions
35
- * schema now uses "href" instead of "url"
36
- * feed cache is set to nil by default now
37
- * both summary and content elements are generated now
38
- * now supports proxies
39
- * now supports internationalized domain names if libidn is installed
40
- * fixed bug with feed merging referencing a method that was refactored
41
- * no longer dies if uuidtools gem is missing but the UUID class is defined
42
- * updated timestamp handling and generation
43
- * added support for entry sorting on any feed item field
44
- * added support for disabling entry sorting entirely
45
- * fixed issue with itunes categories
46
- * fixed itunes subtitle/summary
47
- * fixed entry assignment bug
48
- * fixed issued/published variable name mix-up
49
- * added support for the payload module
50
- * added support for xhtml:div elements
51
- * dc:date now preempts pubDate
52
- * added better support for the scriptingNews format
53
- * now correctly strips out wrapper div elements from text constructs
54
- * fixed issue with some atom links being incorrectly identified as images
55
- * reorganized some of the helper modules
56
- * made some portions of url normalization case insensitive
57
- * fixed issue with filename handling on Windows
58
- == FeedTools 0.2.22
59
- * fixed another atom generation error
60
- == FeedTools 0.2.21
61
- * fixed atom generation error
62
- * added summary element to generated atom xml
63
- * added warning message for improperly set up database tables
64
- == FeedTools 0.2.20
65
- * fixed some atom namespace bugs
66
- * added a summary method to feed items
67
- * added some support for the apple-wallpapers elements
68
- == FeedTools 0.2.19
69
- * lousy encoding support (as opposed to none at all)
70
- * xml processing instruction now correctly prefixes generated feeds
71
- * attributes are escaped properly when generating feeds
72
- * uppercase html is no longer sanitized for not being in the whitelist
73
- * added alias method for assigning to entries
74
- * changed the xpath querying to be much, much more DRY
75
- * find_node and find_all_nodes are actually useful now
76
- * full case-insensitivity implemented for the xpath helper methods
77
- * fixed bug in tests where some assertion failures could affect other tests
78
- * fixed bug where the feed item author would sometimes be parsed incorrectly
79
- * fixed bug where the convertLineBreaks element would break feed entries
80
- * default (i.e. preferred) methods will be Atom-style instead of RSS-style
81
- * default feed output format changed to Atom 1.0
82
- * itunes namespace corrected
83
- * fixed images property when dealing with atom
84
- * fixed atom link property
85
- * improved timestamp handling
86
- * whitespace nodes now ignored by REXML
87
- * added option to disable timestamp estimation
88
- * added option to limit time-to-live to some upper maximum
89
- * enclosures included in feed generation
90
- * no longer uses the cache at all for file:/// urls
91
- * changed itunes:keywords to use commas
92
- * testing now excludes cache testing by default, use "test_all" to include it
93
- * more tests
94
- == FeedTools 0.2.18
95
- * no longer ever polls more often than once every 30 minutes
96
- * fixed overlooked improperly refactored enclosure code
97
- * fixed issue with inner_xml incorrectly handling xml comments
98
- * added helper modules
99
- * test cases now implemented using helpers
100
- * fixed issue with timeouts
101
- * fixed stack overflow while estimating timestamps
102
- * fixed some namespace issue with atom
103
- * added base64 decoding support
104
- == FeedTools 0.2.17
105
- * more fixes for timestamping of feed items
106
- * fixed nil bug in root_node, feed_type, feed_version, build_xml
107
- * build_xml method is now properly unit tested
108
- * fixed issue with setting the Host http header
109
- * namespaces are no longer hard-coded for feed generation
110
- * better url normalization for file: style urls
111
- * generated timestamps are now in UTC
112
- == FeedTools 0.2.16
113
- * atom feed generation now defaults to atom 1.0
114
- * removed erroneous published element at atom feed-level
115
- * fixed some incompatibilities with ruby 1.8.3
116
- * better support for universal subscription mechanism within feeds
117
- * now handles both atom 0.3 and 1.0 namespaces
118
- * fixed timestamping of feed items
119
- == FeedTools 0.2.15
120
- * changed so that tidied elements no longer handle entities differently
121
- * tidy now assumes utf-8 encoding instead of ascii
122
- * began the first bit of work on namespace support
123
- * better support for cdatas
124
- * removed "bozo bit" - no need for a parser to moonlight as a validator
125
- == FeedTools 0.2.14
126
- * fixed bug with feeds not expiring properly
127
- == FeedTools 0.2.13
128
- * fixed issued with missing namespace parameter for uuid creation
129
- == FeedTools 0.2.12
130
- * schema change!
131
- * fixed missing cache connection breaking redirects
132
- * fixed redirects creating duplicate cache entry
133
- * exception now raised if cache_only option is set but the cache is disabled
134
- * additional unit tests to verify that the cache works with redirects
135
- * fixed feed expiration bugs with expire!
136
- * xml_data renamed to feed_data
137
- * feed_data_type method added
138
- == FeedTools 0.2.11
139
- * ruby -w shouldn't produce nearly as many warnings for feed_tools.rb anymore
140
- * you can now force the open method to only pull from the cache
141
- * the global cache_only option has been removed
142
- * nows queries the cache after each redirection
143
- * attribute dictionary stuff removed for being unnecessary and pythonic
144
- * better file structure -- no more 5000 line files
145
- * schema files are formatted better to keep them from looking wierd in rdoc
146
- == FeedTools 0.2.10
147
- * http error messages now sport a list of redirections to simplify debugging
148
- * automatic table creation removed
149
- * database schema information included in rdoc and package files
150
- * deals with servers returning 404 if passed a User-Agent http header
151
- == FeedTools 0.2.9
152
- * changed ordering of elements checked for the item content
153
- * added dependancy on uuidtools, uuids used in feed generation
154
- * database feed cache implementation factored out into its own file
155
- * http_fetch changed to use lambda
156
- * fixed invalid rss 1.0/2.0 generation (missing some namespaces)
157
- == FeedTools 0.2.8
158
- * fixed bug with http headers being loaded from invalid YAML
159
- * fixed uninitialized constant bug (you shouldn't have RUBYOPT set)
160
- * cleaned up inspect methods
161
- == FeedTools 0.2.7
162
- * added support for Atom 1.0 output
163
- * improved support for Atom parsing and handling
164
- * added no content string option to keep the feed validator happy
165
- * greatly improved handling of timestamps and feed item sorting
166
- * added aliases for the Atom 1.0 elements that were renamed
167
- * feed merging is now threaded
168
- == FeedTools 0.2.6
169
- * added support for merging feeds
170
- * vastly improved handling of feed creation
171
- == FeedTools 0.2.5
172
- * fixed multiple rows being created in the cache after a 301 redirection
173
- * fixed broken table creation for postgresql and sqlite
174
- * testing against non-standard feeds
175
- * removed the 'comment_link' method in favor of the 'comments' method
176
- == FeedTools 0.2.4
177
- * fixed bug in the sqlite table creation query
178
- * greatly improved image support
179
- * improved cdf support (still needs way more work)
180
- * support for text input elements
181
- * now possible to force retrieval from the cache only
182
- * increased the flexibility of the database caching implementation
183
- * feed attributes accessible through the keys and values collections
184
- * minor coding style changes
185
- * fixed really dumb typo in the podcast? and vidlog? methods
186
- * fixed exception from missing titles and descriptions
187
- * now passes all of mark pilgrim's well-formed rss tests
188
- == FeedTools 0.2.3
189
- * fixed omission of get parameters from http requests
190
- == FeedTools 0.2.2
191
- * fixed http redirection bug
192
- * fixed several documentation typos
193
- * still more unit tests
194
- * improved support for atom
195
- * minor improvements to the database caching mechanism
196
- * more complete support for rss elements
197
- * major improvements to the handling of tags containing html content
198
- == FeedTools 0.2.1
199
- * fixed incorrect dependancy on ActiveRecord 1.10.1
200
- * more unit tests
201
- * preliminary support for "bozo-detection"
202
- == FeedTools 0.2.0
203
- * more complete support for rss, atom, cdf
204
- * modular caching mechanism
205
- * lazy parsing
206
- * HTML sanitization of possibly dangerous fields
207
- * HTML tidy support
208
- * support for podcasts and vidlogs
209
- * corrected handling of http redirection
210
- * made http header information available
211
- * file: protocol support
212
- * custom parsing can be done using the find_node and find_all_nodes methods
213
- == FeedTools 0.1.0
214
- * basic support for rss, atom, cdf
215
- * basic caching using active record
216
- * support for etags
1
+ === FeedTools 0.2.27
2
+ * now uses a new URI class
3
+ * full support for IRIs
4
+ * uses html5lib instead of HTree
5
+ * schema changed to allow additional functionality
6
+ * added better support for license information
7
+ * added method to allow feeds and feed items to override lazy parsing
8
+ * added configuration setting to override lazy parsing
9
+ * added serialization feature to allow preparsing with FeedUpdater
10
+ * added support for HTTP Basic authentication
11
+ * fixed some issues with identifying the correct base uri
12
+ * added config path method to the database feed cache
13
+ * added default time to live configuration variable
14
+ * fixed autodiscovery redirect loops
15
+ * improved handling of entities
16
+ * no longer causes problems with Mongrel's monkey patch
17
+ === FeedTools 0.2.26
18
+ * added support for retarded, ugly Radio redirects
19
+ * improved autodiscovery support
20
+ * fixed lazy evaluation issue
21
+ === FeedTools 0.2.25
22
+ * fixed self reference href bug
23
+ * fixed primary link assignment heuristic
24
+ * link rel's now default to 'alternate' for atom feeds
25
+ * better handling of language attributes
26
+ * better support for threaded applications
27
+ * generated rss 2.0 now includes author, managingEditor, webMaster elements
28
+ * improved handling of author elements
29
+ * improved handling of http timeouts
30
+ * fixed issue with relative paths in the location header on http redirection
31
+ * monkey patches now work with Ruby 1.8.4's version of REXML
32
+ * REXML monkey patches moved into their own file
33
+ === FeedTools 0.2.24
34
+ * fixed autodiscovery bugs
35
+ * updated autodiscovery to handle relative uris
36
+ * added per feed configuration
37
+ * rewrote http retrieval code
38
+ * supports authenticated http proxies
39
+ * supports basic http auth
40
+ * fixed relative url resolution issues
41
+ * corrected db schema files to match migration file
42
+ * fixed bug in the save method
43
+ * fixed some major http bugs
44
+ * updated dependancies
45
+ * no longer causes problems with frozen rails
46
+ === FeedTools 0.2.23
47
+ * autodiscovery implemented
48
+ * now knows a title from a hole in the ground
49
+ * now resolves relative urls when possible
50
+ * changed default table name to "cached_feeds" to avoid name collisions
51
+ * schema now uses "href" instead of "url"
52
+ * feed cache is set to nil by default now
53
+ * both summary and content elements are generated now
54
+ * now supports proxies
55
+ * now supports internationalized domain names if libidn is installed
56
+ * fixed bug with feed merging referencing a method that was refactored
57
+ * no longer dies if uuidtools gem is missing but the UUID class is defined
58
+ * updated timestamp handling and generation
59
+ * added support for entry sorting on any feed item field
60
+ * added support for disabling entry sorting entirely
61
+ * fixed issue with itunes categories
62
+ * fixed itunes subtitle/summary
63
+ * fixed entry assignment bug
64
+ * fixed issued/published variable name mix-up
65
+ * added support for the payload module
66
+ * added support for xhtml:div elements
67
+ * dc:date now preempts pubDate
68
+ * added better support for the scriptingNews format
69
+ * now correctly strips out wrapper div elements from text constructs
70
+ * fixed issue with some atom links being incorrectly identified as images
71
+ * reorganized some of the helper modules
72
+ * made some portions of url normalization case insensitive
73
+ * fixed issue with filename handling on Windows
74
+ === FeedTools 0.2.22
75
+ * fixed another atom generation error
76
+ === FeedTools 0.2.21
77
+ * fixed atom generation error
78
+ * added summary element to generated atom xml
79
+ * added warning message for improperly set up database tables
80
+ === FeedTools 0.2.20
81
+ * fixed some atom namespace bugs
82
+ * added a summary method to feed items
83
+ * added some support for the apple-wallpapers elements
84
+ === FeedTools 0.2.19
85
+ * lousy encoding support (as opposed to none at all)
86
+ * xml processing instruction now correctly prefixes generated feeds
87
+ * attributes are escaped properly when generating feeds
88
+ * uppercase html is no longer sanitized for not being in the whitelist
89
+ * added alias method for assigning to entries
90
+ * changed the xpath querying to be much, much more DRY
91
+ * find_node and find_all_nodes are actually useful now
92
+ * full case-insensitivity implemented for the xpath helper methods
93
+ * fixed bug in tests where some assertion failures could affect other tests
94
+ * fixed bug where the feed item author would sometimes be parsed incorrectly
95
+ * fixed bug where the convertLineBreaks element would break feed entries
96
+ * default (i.e. preferred) methods will be Atom-style instead of RSS-style
97
+ * default feed output format changed to Atom 1.0
98
+ * itunes namespace corrected
99
+ * fixed images property when dealing with atom
100
+ * fixed atom link property
101
+ * improved timestamp handling
102
+ * whitespace nodes now ignored by REXML
103
+ * added option to disable timestamp estimation
104
+ * added option to limit time-to-live to some upper maximum
105
+ * enclosures included in feed generation
106
+ * no longer uses the cache at all for file:/// urls
107
+ * changed itunes:keywords to use commas
108
+ * testing now excludes cache testing by default
109
+ * more tests
110
+ === FeedTools 0.2.18
111
+ * no longer ever polls more often than once every 30 minutes
112
+ * fixed overlooked improperly refactored enclosure code
113
+ * fixed issue with inner_xml incorrectly handling xml comments
114
+ * added helper modules
115
+ * test cases now implemented using helpers
116
+ * fixed issue with timeouts
117
+ * fixed stack overflow while estimating timestamps
118
+ * fixed some namespace issue with atom
119
+ * added base64 decoding support
120
+ === FeedTools 0.2.17
121
+ * more fixes for timestamping of feed items
122
+ * fixed nil bug in root_node, feed_type, feed_version, build_xml
123
+ * build_xml method is now properly unit tested
124
+ * fixed issue with setting the Host http header
125
+ * namespaces are no longer hard-coded for feed generation
126
+ * better url normalization for file: style urls
127
+ * generated timestamps are now in UTC
128
+ === FeedTools 0.2.16
129
+ * atom feed generation now defaults to atom 1.0
130
+ * removed erroneous published element at atom feed-level
131
+ * fixed some incompatibilities with ruby 1.8.3
132
+ * better support for universal subscription mechanism within feeds
133
+ * now handles both atom 0.3 and 1.0 namespaces
134
+ * fixed timestamping of feed items
135
+ === FeedTools 0.2.15
136
+ * changed so that tidied elements no longer handle entities differently
137
+ * tidy now assumes utf-8 encoding instead of ascii
138
+ * began the first bit of work on namespace support
139
+ * better support for cdatas
140
+ * removed "bozo bit" - no need for a parser to moonlight as a validator
141
+ === FeedTools 0.2.14
142
+ * fixed bug with feeds not expiring properly
143
+ === FeedTools 0.2.13
144
+ * fixed issued with missing namespace parameter for uuid creation
145
+ === FeedTools 0.2.12
146
+ * schema change!
147
+ * fixed missing cache connection breaking redirects
148
+ * fixed redirects creating duplicate cache entry
149
+ * exception now raised if cache_only option is set but the cache is disabled
150
+ * additional unit tests to verify that the cache works with redirects
151
+ * fixed feed expiration bugs with expire!
152
+ * xml_data renamed to feed_data
153
+ * feed_data_type method added
154
+ === FeedTools 0.2.11
155
+ * ruby -w shouldn't produce nearly as many warnings
156
+ * you can now force the open method to only pull from the cache
157
+ * the global cache_only option has been removed
158
+ * nows queries the cache after each redirection
159
+ * attribute dictionary stuff removed for being unnecessary and pythonic
160
+ * better file structure -- no more 5000 line files
161
+ * schema files are formatted better to keep them from looking wierd in rdoc
162
+ === FeedTools 0.2.10
163
+ * http error messages now sport a list of redirections to simplify debugging
164
+ * automatic table creation removed
165
+ * database schema information included in rdoc and package files
166
+ * deals with servers returning 404 if passed a User-Agent http header
167
+ === FeedTools 0.2.9
168
+ * changed ordering of elements checked for the item content
169
+ * added dependancy on uuidtools, uuids used in feed generation
170
+ * database feed cache implementation factored out into its own file
171
+ * http_fetch changed to use lambda
172
+ * fixed invalid rss 1.0/2.0 generation (missing some namespaces)
173
+ === FeedTools 0.2.8
174
+ * fixed bug with http headers being loaded from invalid YAML
175
+ * fixed uninitialized constant bug (you shouldn't have RUBYOPT set)
176
+ * cleaned up inspect methods
177
+ === FeedTools 0.2.7
178
+ * added support for Atom 1.0 output
179
+ * improved support for Atom parsing and handling
180
+ * added no content string option to keep the feed validator happy
181
+ * greatly improved handling of timestamps and feed item sorting
182
+ * added aliases for the Atom 1.0 elements that were renamed
183
+ * feed merging is now threaded
184
+ === FeedTools 0.2.6
185
+ * added support for merging feeds
186
+ * vastly improved handling of feed creation
187
+ === FeedTools 0.2.5
188
+ * fixed multiple rows being created in the cache after a 301 redirection
189
+ * fixed broken table creation for postgresql and sqlite
190
+ * testing against non-standard feeds
191
+ * removed the 'comment_link' method in favor of the 'comments' method
192
+ === FeedTools 0.2.4
193
+ * fixed bug in the sqlite table creation query
194
+ * greatly improved image support
195
+ * improved cdf support (still needs way more work)
196
+ * support for text input elements
197
+ * now possible to force retrieval from the cache only
198
+ * increased the flexibility of the database caching implementation
199
+ * feed attributes accessible through the keys and values collections
200
+ * minor coding style changes
201
+ * fixed really dumb typo in the podcast? and vidlog? methods
202
+ * fixed exception from missing titles and descriptions
203
+ * now passes all of mark pilgrim's well-formed rss tests
204
+ === FeedTools 0.2.3
205
+ * fixed omission of get parameters from http requests
206
+ === FeedTools 0.2.2
207
+ * fixed http redirection bug
208
+ * fixed several documentation typos
209
+ * still more unit tests
210
+ * improved support for atom
211
+ * minor improvements to the database caching mechanism
212
+ * more complete support for rss elements
213
+ * major improvements to the handling of tags containing html content
214
+ === FeedTools 0.2.1
215
+ * fixed incorrect dependancy on ActiveRecord 1.10.1
216
+ * more unit tests
217
+ * preliminary support for "bozo-detection"
218
+ === FeedTools 0.2.0
219
+ * more complete support for rss, atom, cdf
220
+ * modular caching mechanism
221
+ * lazy parsing
222
+ * HTML sanitization of possibly dangerous fields
223
+ * HTML tidy support
224
+ * support for podcasts and vidlogs
225
+ * corrected handling of http redirection
226
+ * made http header information available
227
+ * file: protocol support
228
+ * custom parsing can be done using the find_node and find_all_nodes methods
229
+ === FeedTools 0.1.0
230
+ * basic support for rss, atom, cdf
231
+ * basic caching using active record
232
+ * support for etags
@@ -9,6 +9,8 @@ class AddFeedToolsTables < ActiveRecord::Migration
9
9
  t.column :feed_data_type, :string
10
10
  t.column :http_headers, :text
11
11
  t.column :last_retrieved, :datetime
12
+ t.column :time_to_live, :integer
13
+ t.column :serialized, :text
12
14
  end
13
15
  end
14
16