feedtools 0.2.26 → 0.2.27

Sign up to get free protection for your applications and to get access to all the features.
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