Releases: html2rss/html2rss
v0.15.0
What's Changed
- feat(scraper): add a "generic" html scraper by @gildesmarais in #215
- chore(deps): bump rexml from 3.3.6 to 3.3.9 by @dependabot in #214
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
- chore(deps): bump rexml from 3.3.5 to 3.3.6 by @dependabot in #211
- feat(auto_source): enable integration with html2rss-web by @gildesmarais in #202
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
html2rss gained the ability to scrape any website and generate an RSS feed from it with its new auto_source
feature. 🎉😎
The effectiveness of the results depends largely on the website's use of semantic HTML tags. While auto_source
typically delivers solid results, some sites may not be scrapable automatically. In those cases, creating a custom feed config remains the best approach. For more details, check out the README or dive into the code. Enjoy!
✨ New Features
- feat(auto_source): add automatic scraping feature by @gildesmarais in #193
- feat: show more details of used selector hash in error messages by @gildesmarais in #192
- feat(logging): introduce
Html2rss::Log
by @gildesmarais in #195 - feat(logging): allow setting of level via env
LOG_LEVEL
by @gildesmarais in #198 - feat(item): ensure categories are uniq by @gildesmarais in #191
🐛 Bug Fixes
- fix(config): params regexp contains duplicate character class by @gildesmarais in #194
🔧✨ Various Improvements
- refactor(utils): return
Addressable::URI
in.sanitize_url
by @gildesmarais in #196 - chore(deps): update ruby deps and bundler by @gildesmarais in #201
- dev: setup
guard
to improve DX during development by @gildesmarais in #197 - dev: comply with common spec file path convention by @gildesmarais in #200
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's Changed
- feat: provide helpful error messages and validate config by @gildesmarais in #189
- chore: bump gem version to 0.12.0 by @gildesmarais in #190
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
- feat: introduce a base Html2rss::Error class by @gildesmarais in 654ca4e
- refactor: change from reject to an select approach in gemspec.files by @gildesmarais in 83f86ca
- style(rubocop): enable Layout/ClassStructure cop by @gildesmarais in 303536b
- docs: more specify gem changelog url and update readme & copy by @gildesmarais in 865da29
- chore(deps): bump rexml from 3.3.2 to 3.3.3 by @dependabot in #187
- chore(deps): update bundler by @gildesmarais in #186
- chore(deps): update ruby deps by @gildesmarais in d03b137
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
A loooong overdue release.
The Changelog file has been moved to Github Releases page.
Retrieve the last version of the Changelog file via this commit: https://github.com/html2rss/html2rss/blob/bb3af97c6414529acd0c2d179a5f5f9310b0bcd3/CHANGELOG.md
Features
- feat: add support for xml-stylesheets by @gildesmarais in #105
- feat: allow custom guid by @gildesmarais in #127
- feat: drop support for ruby <3.1 by @gildesmarais in #156
- feat: drop support for Ruby 2.6 by @gildesmarais in #133
- feat: ignore params when guessing content_type by @gildesmarais in #176
- feat: raise ChannelMissing error instead of silently returning by @gildesmarais in #116
- feat: remove dependency on activesupport by @gildesmarais in #136
- feat: replace to_regexp dependency with regexp_parser by @gildesmarais in #142
- feat(cli): add command line interface by @gildesmarais in #88
- feat(config): support dynamic params by @gildesmarais in #99
- feat(deps): relax version range on activesupport to allow v7 by @gildesmarais in #129
- feat(item_extractors): declare required options as REQUIRED_OPTIONS by @gildesmarais in #101
- feat(item_extractors): remove current_time by @gildesmarais in #108
- feat(parse_uri): return absolute url if given one is relative by @gildesmarais in #140
Bugfixes
- fix: can't scrape from non-ascii urls by @gildesmarais in #155
- fix: generating an item without title is not possible by @gildesmarais in #98
- fix: handle active support <7 requires by @gildesmarais in #135
- fix: JSON not loaded by @gildesmarais in #121
- fix: ruby example from readme doesn't work by @gildesmarais in #117
- fix(cli): inconsistent wording in description by @gildesmarais in #115
- fix(extractor): static is unknown to Selector by @gildesmarais in #158
- fix(post_processors): incorrect name used for html_to_markdown by @gildesmarais in #124
- fix(utils): change env var only of it has been changed by @gildesmarais in #141
Refactorings
- refactor: better builder class interface + concern separation by @gildesmarais in #147
- refactor: do not use URI directly by @gildesmarais in #143
- refactor: general code improvements and improve documentation by @gildesmarais in #181
- refactor: make code nicer by @gildesmarais in #100
- refactor: split config to specific configuration classes by @gildesmarais in #137
- refactor: use "typed" objects instead of hashes by @gildesmarais in #128
- refactor: visibility of methods, improve code style and documentation by @gildesmarais in #107
Chores
- chore: drop support for EOL'ed ruby 2.5 by @gildesmarais in #131
- chore: move dev-deps to Gemfile by @gildesmarais in #173
- chore: move repo to html2rss organization by @gildesmarais in #94
- chore: use rubocop-md and autofix README's code blocks by @gildesmarais in #144
- chore(ci): add ruby 3.2 to version matrix by @gildesmarais in #163
- chore(ci): lint yard documentation by @gildesmarais in #110
- chore(ci): migrate from travis to github actions by @gildesmarais in #93
- chore(ci): test with ruby 3.0.0-preview2 by @gildesmarais in #92
- chore(ci): test with ruby 3.1 by @gildesmarais in #130
- chore(deps-dev): bump yard from 0.9.28 to 0.9.35 by @dependabot in #171
- chore(deps-dev): bump yard from 0.9.35 to 0.9.36 by @dependabot in #172
- chore(deps): [security] bump kramdown from 2.2.1 to 2.3.0 by @dependabot-preview in #87
- chore(deps): [security] bump kramdown from 2.3.0 to 2.3.1 by @dependabot-preview in #102
- chore(deps): [security] bump nokogiri from 1.10.10 to 1.11.0 by @dependabot-preview in #97
- chore(deps): [security] bump nokogiri from 1.11.1 to 1.11.4 by @dependabot-preview in #113
- chore(deps): [security] bump rexml from 3.2.4 to 3.2.5 by @dependabot-preview in #109
- chore(deps): bump addressable from 2.7.0 to 2.8.0 by @dependabot in #118
- chore(deps): bump nokogiri from 1.12.2 to 1.12.5 by @dependabot in #123
- chore(deps): bump nokogiri from 1.13.1 to 1.13.3 by @dependabot in #146
- chore(deps): bump nokogiri from 1.13.3 to 1.13.4 by @dependabot in #148
- chore(deps): bump nokogiri from 1.13.4 to 1.13.6 by @dependabot in #149
- chore(deps): bump nokogiri from 1.13.6 to 1.13.9 by @dependabot in #160
- chore(deps): bump nokogiri from 1.13.9 to 1.13.10 by @dependabot in #162
- chore(deps): bump nokogiri from 1.14.0 to 1.14.3 by @dependabot in #165
- chore(deps): bump nokogiri from 1.16.0 to 1.16.2 by @dependabot in #170
- chore(deps): bump nokogiri from 1.16.4 to 1.16.5 by @dependabot in #178
- chore(deps): bump rexml from 3.2.6 to 3.2.8 by @dependabot in #179
- chore(deps): bump rexml from 3.2.8 to 3.3.2 by @dependabot in #182
- chore(deps): bump sanitize from 6.0.0 to 6.0.1 by @dependabot in #164
- chore(deps): bump sanitize from 6.0.1 to 6.0.2 by @dependabot in #166
- chore(deps): update deps by @gildesmarais in #174
- chore(deps): update ruby deps + apply style corrections by @gildesmarais in #150
- chore(deps): upgrade deps to remove nokogumbo dependency by @gildesmarais in #120
- chore(deps): use faraday v2 by @gildesmarais in #153
- chore(dev-deps): update rubocop and its cop friends by @gildesmarais in #95
CI/CD
- ci: add ruby 3.3 to matrix by @gildesmarais in #167
- ci: add workflow to publish gem when creating a release on GitHub by @gildesmarais in #184
- ci: prevent unnecessary/duplicate runs of jobs by @gildesmarais in #177
- Mergify: configuration update by @gildesmarais in #111
- Mergify: configuration update by @gildesmarais in #112
Developer
- dev: move specs to a better place by @gildesmarais in #159
- dev: setup simplecov by @gildesmarais in #175
- dev(rubocop): remove non-standard config and fix warnings by @gildesmarais in #183
Documentation
- docs: update methods yard-documentation to contain param and return type by @gildesmarais in #96
- docs(readme): Fix typo in the selectors mapping table by @admksh in #122
Specs
- spec: refactor to make more use of :aggregate_failures by @gildesmarais in #126
- style: correct rubocop complaints by @gildesmarais in #86
- style(rubocop): move towards a default rubocop config by @gildesmarais in #91
New Contributors
- @dependabot-preview made their first contribution in #87
- @admksh made their first contribution in #122
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
-
feat: add option to reverse order of channel items by @gildesmarais in #82
-
feat: require at least ruby version 2.5 by @gildesmarais in #85
-
feat: support ruby 2.7 by @gildesmarais in #75
-
docs: use new template syntax by @gildesmarais in #73
-
docs(readme): add liberapay link and badge by @gildesmarais in #78
-
style(rubocop): enable more rubocop style cops by @gildesmarais in #74
-
chore: update deps by @gildesmarais in #77
-
chore(deps): bump nokogiri from 1.10.7 to 1.10.8 by @dependabot in #76
-
chore(deps): bump sanitize from 5.1.0 to 5.2.1 by @dependabot in #81
-
chore(deps): update activesupport requirement from ~> 5.0 to >= 5, < 7 by @dependabot in #79
-
chore(deps): update deps by @gildesmarais in #84
-
chore(travis): test current rubies by @gildesmarais in #83
Full Changelog: v0.8.2...v0.9.0