ChangeLog 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831
  1. Version 2.0.34 (December 16, 2021)
  2. ----------------------------------
  3. * Add rewrite rule for comics website http://monkeyuser.com
  4. * Add `<head>` tag to OPML export
  5. * Tighten Systemd sandboxing and update comments in `miniflux.service`
  6. * Add `RuntimeDirectory` to Systemd service
  7. * Order disabled feeds at the end of the list
  8. * Add support for theme color based on preferred color scheme of OS
  9. * Bump `github.com/lib/pq` from 1.10.3 to 1.10.4
  10. * Bump `github.com/PuerkitoBio/goquery` from 1.7.1 to 1.8.0
  11. * Fix typos in `model/icon.go`
  12. * Add `data-srcset` support to `add_dynamic_image rewrite` rewrite rule
  13. * Fix Docker Compose example files compatibility to v3
  14. * Added the `role="article"` to `<article>` elements for better accessibility with screen readers
  15. * Redact secrets shown on the about page
  16. * Handle `srcset` images with no space after comma
  17. * Hide the logout link when using auth proxy
  18. * Fix wrong CSS variable
  19. * Change `-config-dump` command to use `KEY=VALUE` format
  20. Version 2.0.33 (September 25, 2021)
  21. -----------------------------------
  22. * Build RPM and Debian package with PIE mode enabled
  23. * Add CSS rule to hide `<template>` tag in old browsers
  24. * Bump `github.com/tdewolff/minify/v2 from 2.9.21 to 2.9.22`
  25. * Bump `github.com/lib/pq from 1.10.2 to 1.10.3`
  26. * Remove `RequestURI()` hack
  27. * Improve `zh_CN` translation
  28. * Add ability to change entry sort order in the UI
  29. * Add minor improvements in integration package
  30. * Add Telegram integration
  31. * Add rewrite rule to remove DOM elements
  32. * Add proxy argument to `scraper.Fetch()`
  33. * Add mime type `application/feed+json` to discover JSON Feed v1.1
  34. * Update scraper rule for `theregister.com`
  35. * Add Go 1.17 to GitHub Actions
  36. * Display option to hide feed only when category is not already hidden
  37. * Add option to hide feeds from the global Unread list
  38. Version 2.0.32 (August 14, 2021)
  39. --------------------------------
  40. * Bump `github.com/tdewolff/minify/v2` from 2.9.17 to 2.9.21
  41. * Bump `mvdan.cc/xurls/v2` from 2.2.0 to 2.3.0
  42. * Bump `github.com/PuerkitoBio/goquery` from 1.6.1 to 1.7.1
  43. * Bump `github.com/prometheus/client_golang` from 1.10.0 to 1.11.0
  44. * Add `/rss/` to the list of well known URLs during feed discovery
  45. * Use `authors` entry for JSON 1.1 feeds
  46. * Added Greek translation
  47. * Added the ability to mark an entire category as read in the web ui
  48. * Added "in" in "logged in" for en_US `tooltip.logged_user`
  49. * Added option to hide categories from the global unread list
  50. * Show "saving" labels for entry status button
  51. * Golang client: Try to parse response body on `InternalServerError` errors
  52. * contrib: Add support for a $MINIFLUX_IMAGE env var in docker-compose
  53. * contrib: Bump docker-compose version to 3.4
  54. Version 2.0.31 (June 6, 2021)
  55. -----------------------------
  56. * Expose comments_url entry field in Golang API client
  57. * Use unique file names for cache busting instead of query string
  58. * Highlight and sort feeds with unread entries in feeds list
  59. * Mark items as read on click/middle click of external links
  60. * Fix: Firefox on Windows does not show the active link as bold
  61. * Avoid extra HTTP request for fetching custom stylesheet
  62. * Remove invalid CSRF HTML meta tag
  63. * Add lang attribute to root HTML tag
  64. * Use runes instead of bytes to truncate JSON feed titles (avoid breaking Unicode strings)
  65. * Expose changed_at time through the API
  66. * Add new config option CLEANUP_ARCHIVE_BATCH_SIZE
  67. * Add new option DATABASE_CONNECTION_LIFETIME
  68. * Add database stats to Prometheus exporter
  69. * Add Systemd watchdog
  70. * Avoid custom stylesheet to be cached by third-party CDN
  71. * Update a shared entry label translation in zh_CN
  72. * Bump github.com/tdewolff/minify/v2 from 2.9.16 to 2.9.17
  73. * Bump github.com/lib/pq from 1.10.1 to 1.10.2
  74. Version 2.0.30 (May 7, 2021)
  75. ----------------------------
  76. * Security fix: any user can delete any feed (Regression introduced in commit 51fb949)
  77. * Fix password reset via CLI
  78. * Increase default batch size value
  79. * Handle RSS feed title with encoded Unicode entities
  80. * Show number of unread per category in category list instead of number of feeds
  81. * Bump github.com/lib/pq from 1.10.0 to 1.10.1
  82. * Filtering doesn't work when selecting from multiple found feeds
  83. * Bump github.com/tdewolff/minify/v2 from 2.9.15 to 2.9.16
  84. * Use an appropriate color for visited links on dark theme
  85. * Fix typo in reader/json/doc.go
  86. * Create SECURITY.md
  87. * Setup golangci-lint Github Action
  88. * Add per feed cookies option
  89. * Bump github.com/prometheus/client_golang from 1.9.0 to 1.10.0
  90. * Bump github.com/tdewolff/minify/v2 from 2.9.13 to 2.9.15
  91. Version 2.0.29 (Mar 21, 2021)
  92. -----------------------------
  93. * Miniflux requires at least Go 1.16 now
  94. * Improved support of Atom text constructs
  95. - Improve handling of CDATA in text elements
  96. - Omit XHTML root element because it should not be part of the content
  97. - Fix incorrect parsing of HTML elements
  98. * Handle RDF feed with HTML encoded entry title
  99. * Add Turkish language
  100. * Improve deletion of feeds with lots of entries
  101. * Add support of Systemd readiness notification using the sd_notify protocol
  102. * Remove feed_icons service worker cache because it's causing more problems than it solves (and HTTP cache seems faster)
  103. * Add basic PWA offline page
  104. - Add basic offline mode when using the service worker
  105. - Starting in Chrome 93, offline mode is going to be a requirement to install the PWA
  106. * Replace icon for "Add to home screen" button
  107. * Use SVG icons for "toast" notifications
  108. * Use SVG sprite for icons instead of inline elements
  109. * Reset scroll position on mark page as read
  110. * Add link to mark all feed entries as read
  111. * Make web app display mode configurable (The change is visible after reinstalling the web app)
  112. * Handle RSS feeds with CDATA in author item element
  113. * Add read time on the article page
  114. * Avoid showing a broken image when there is no feed icon
  115. * Add option to allow self-signed or invalid certificates
  116. * Add new config option to scrape YouTube's website to get video duration as read time (disabled by default)
  117. * Send full article content to Wallabag
  118. * Add more extensive health check support
  119. - Improve endpoint to test database connection
  120. - Add new cli argument: -healthcheck
  121. - Update Docker Compose examples
  122. * Update iframe "allow list" to support Bilibili videos
  123. * Remove completely generated files and use embed package to bundle JS/CSS/Images/Translations files into the final binary
  124. * Remove deprecated io/ioutil package
  125. * Show Postgres version in "About" page
  126. Version 2.0.28 (Feb 15, 2021)
  127. -----------------------------
  128. * Add HTTP header "Referrer-Policy: no-referrer"
  129. * Handle entry title with double encoded entities
  130. * Add Open Containers annotations to Docker image
  131. * Remove iframe inner HTML contents (iframe element never has fallback content)
  132. * Update date parser to fix another time zone issue
  133. * Update German translation for blocklist and keeplist
  134. * Validate Keep list and Block list rules syntax
  135. * Add support for IPv6 with zone index
  136. * Allow images with data URLs
  137. * Limit full-text search indexation to first 500K characters (tsvector has a size limit of 1MB)
  138. * Change PWA display mode to standalone
  139. * ETag value is not set correctly in HTTP client (regression)
  140. * Add database backed Let's Encrypt certificate cache
  141. * Add global option POLLING_PARSING_ERROR_LIMIT
  142. * Update systemd service file comments to use `systemctl edit` for editing
  143. * Update Go version to 1.15 in go.mod
  144. * Don't discard the "Fetch via Proxy" option
  145. * Update man page to show the default values
  146. * Add PostgreSQL indices
  147. * Add API endpoints to get feeds and entries of a category
  148. * Create feed query builder
  149. * Bump github.com/PuerkitoBio/goquery from 1.6.0 to 1.6.1
  150. * Show global options in the about page
  151. * Update man page to mention -1 can be used for CLEANUP_ARCHIVE_* options
  152. Version 2.0.27 (Jan 9, 2021)
  153. ----------------------------
  154. * Add spellcheck="false" to input fields
  155. * Refactoring of entry, feed, category, and user validation
  156. * Avoid stripping tags for entry title
  157. * Add the possibility to subscribe to feeds with the Android Share menu
  158. * API improvements:
  159. - Change feed creation request to allow setting most fields via API
  160. - Allow regular users to change settings via API
  161. - Make user fields editable via API
  162. - Renaming non-existent category via API should return a 404
  163. * Update Systemd service file:
  164. - Add capability CAP_NET_BIND_SERVICE (allow the process to listen on privileged ports)
  165. - Enable a private /tmp for $CERT_CACHE (required when using Let's Encrypt)
  166. * Update read/star icons to SVGs
  167. * Add autocomplete="username" to HTML forms
  168. * Improve user mass delete to use fewer Goroutines
  169. * Use SQL transaction when creating user sessions and users
  170. * Remove extra column (HSTORE field) from users table and migrate key/value pairs to specific columns
  171. * Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0
  172. * Bump github.com/lib/pq from 1.8.0 to 1.9.0
  173. * Add styles for <abbr> HTML tag
  174. * Refactor SQL migrations:
  175. - Avoid embedding SQL files into binary
  176. - Allow more flexible changes by using Go functions
  177. * Add Server-Timing header to unread page
  178. * Show correct User Agent in input placeholders
  179. * Add autocomplete attribute to login form
  180. * Add Grafana dashboard in contrib folder
  181. Version 2.0.26 (Dec 5, 2020)
  182. ----------------------------
  183. * Use created_at instead of published_at for archiving entries
  184. * Add created_at field for entries
  185. * Handle invalid feeds with relative URLs
  186. * Add API routes for "mark all as read"
  187. * Add support for setting a global default User-Agent
  188. * Add rewrite rule "replace" for custom search and replace
  189. * Calculate reading time during feed processing
  190. * Handle various invalid dates
  191. * systemd: keep /run writeable
  192. * debian package: add missing post-install script
  193. * Do not follow redirects when trying known feed URLs
  194. * Trim spaces around icon URLs
  195. * Reinstate EXPOSE instruction in Dockerfile
  196. * Update German and Portuguese translations
  197. Version 2.0.25 (Nov 3, 2020)
  198. ----------------------------
  199. * Rename "original" link to be more explicit
  200. * Do not escape HTML for Atom 1.0 text content during parsing (Avoid HTML entities issues)
  201. * Do not use charset.NewReader if the body is a valid UTF-8 document
  202. * Restore the ability to use a proxy for all HTTP requests (see https://golang.org/pkg/net/http/#ProxyFromEnvironment)
  203. * Show Git commit in about page
  204. * Publish Docker images to GitHub Container Registry
  205. * Added few Docker Compose examples in contrib folder
  206. * Added Ansible Role + Playbook for Miniflux in contrib folder
  207. * Add rewrite rule to use noscript content for images rendered with Javascript
  208. * Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0
  209. * Update contributor link and Godoc badge for API client
  210. * Move Debian package builder to main repository
  211. * Move RPM build files to main repository
  212. * Add GitHub Action to generate Docker images
  213. * Build multi-platform images with Docker Buildx
  214. * Add keyboard shortcut to scroll current item to the top
  215. * Add feed filters (Keeplist and Blocklist)
  216. * Do not proxy image with a data URL
  217. * Bump github.com/PuerkitoBio/goquery from 1.5.1 to 1.6.0
  218. * Proxify articles crawled manually
  219. * Proxify images defined in srcset attribute
  220. * Remove plaintext Fever password from database
  221. * Add keyboard shortcut to jump to an item's feed page
  222. * Add option for swipe gesture on entries on mobile
  223. Version 2.0.24 (Oct 3, 2020)
  224. ----------------------------
  225. * Add rewrite rule to fix Medium.com images
  226. * Update sanitizer to support responsive images:
  227. - Add support for picture HTML tag
  228. - Add support for srcset, media, and sizes attributes to img and source tags
  229. * Enhance man page formatting
  230. * Add Prometheus exporter
  231. * Remove dependency on global config options in HTTP client
  232. * API:
  233. - Avoid database lookup if empty credentials are provided
  234. - Add the possibility to filter entries by category ID
  235. - Add the possibility to filter entries by a list of statuses
  236. * Add Feed ID in worker error logs
  237. * Tweak default HTTP client transport timeout values to reduce the number of file descriptors
  238. * CSS tweaks and optimizations:
  239. - Prevent sub and sup from affecting line-height
  240. - Set touch-action on .items to prevent browser navigation
  241. - Move font-family specific CSS to the appropriate file
  242. - Update primary font-family for UI to be even more compatible with various operating systems
  243. - Make .entry-content font-weight variable depending on font-family used
  244. * Avoid Javascript minifier to break keyboard shortcuts
  245. * Rename service worker script to avoid being blocked by uBlock
  246. * Update date parser to handle Pacific Daylight Time in addition to Pacific Standard Time
  247. * Create index to speed up bookmark page
  248. * Do not try to update a duplicated feed after a refresh
  249. * Use a transaction to refresh and create entries
  250. * Speed up entries clean up with an index and a goroutine
  251. * Avoid the accumulation of enclosures by keeping only what is referenced in the feed
  252. * Add workarounds for parsing an invalid date
  253. * Archive older entries first
  254. * Update API client to support more filters
  255. * Avoid duplication between get feed entries and get entries API endpoints
  256. * Enable strict slash to avoid a page not found (404) when using a trailing slash in the URLs
  257. * Add a submit button to each section of the integration page
  258. * Reload page after making page as read when showing unread entries
  259. * Add option to archive unread entries
  260. * Add option to enable maintenance mode
  261. * Add HTTP proxy option for subscriptions
  262. * Make add_invidious_video rule applicable for different invidious instances
  263. * Fix reading time for jp, ko and zh languages
  264. * Update POLLING_SCHEDULER description in man page
  265. * Bump gorilla/mux from 1.7.4 to 1.8.0
  266. * Add link to mark a feed as read
  267. Version 2.0.23 (Aug 15, 2020)
  268. -----------------------------
  269. * Try known URLs when discovering subscriptions
  270. * Add workarounds to find YouTube channel feeds (YouTube doesn't expose RSS links anymore for new-style URLs)
  271. * Increase HTTP server timeout values
  272. * Use stdlib constants for HTTP methods instead of strings
  273. * Add support for RTL feed content
  274. * Ignore <media:title> to avoid overriding the default title if they are different
  275. * Add support for secret keys exposed as a file (useful for containerized environments)
  276. * Display recent entries first in search results
  277. * Do not archive shared items
  278. * Add option to change the number of entries per page
  279. * Add Brazilian Portuguese (pt_BR) translation
  280. * Add reading time for entries
  281. * Redirect to login page if CSRF token is expired
  282. * Fever API:
  283. - Use getEntryIDs instead of getEntries to reduce memory consumption
  284. - Fix max_id argument logic to follow the specs
  285. - Improve logging
  286. - Do not send articles to external services when unsaving an item
  287. - Create index to speed up API calls
  288. - Log client IP in middleware
  289. * API client: Do not return body for response with no content
  290. * REST API:
  291. - Delete users asynchronously (Deleting large users might lock the tables)
  292. - Add CORS support
  293. * Align entry actions to the left
  294. - Attempt to avoid awkward alignment on smartphone screens
  295. - Keep the read/star actions aligned to the left
  296. - Remove CSS flex to allow easier override with custom CSS
  297. * Upgrade Postgres client library
  298. * Upgrade CI checks to Go 1.15
  299. Version 2.0.22 (Jun 19, 2020)
  300. -----------------------------
  301. * Remove child-src CSP policy (deprecated)
  302. * Add /version endpoint
  303. * Add the ability to use custom css
  304. * Handle more invalid dates
  305. * Add CSS styles for textarea
  306. * Add index to speed up slow query
  307. * Speed up feed list page rendering
  308. * Add alternative scheduler based on the number of entries
  309. * Setup Dependabot on GitHub
  310. * Update Docker image to Alpine 3.12
  311. * Add feed option to ignore HTTP cache
  312. * Fix some Italian and German translations
  313. * Added scraper rule for RayWenderlich.com, TheOatmeal.com, financialsamurai.com, dilbert.com and turnoff.us
  314. * Replace link to categories by a link to the list of entries in "Category > Feeds" page
  315. * Change feed title to a link to the original website
  316. * Add icons to feeds and categories list
  317. * Update dependencies and remove vendor folder
  318. Version 2.0.21 (Mar 28, 2020)
  319. -----------------------------
  320. * Add SVG icons to entry actions
  321. * Add support for Invidious
  322. - Embed Invidious player for invidio.us feeds
  323. - Add new rewrite rule to use Invidious player for Youtube feeds
  324. * Check during application startup if the database schema is up to date
  325. * Change default theme for public pages to "System Serif"
  326. * Add feature to share an article (create a public link of a feed entry)
  327. * Fix SQL injection in full-text search rank ordering
  328. * Add generic OpenID Connect provider (OAuth2)
  329. * Use more secure TLS configuration for autocert server (increase SSL Labs score from B to A+)
  330. * Add feature to create per-application API Keys
  331. * Add Go 1.14 to GitHub Actions
  332. * Add scraper rule for wdwnt.com
  333. * Add API client function to refresh all feeds
  334. * Add API endpoint to refresh all feeds
  335. * Add Auth Proxy authentication
  336. * Use rel=prev/next on pagination links
  337. Version 2.0.20 (Feb 15, 2020)
  338. -----------------------------
  339. * Add Japanese translation
  340. * History: show entries in the order in which they were read
  341. * Add button to add to Home screen
  342. * Ignore enclosures without URL
  343. * Correct spelling of "toggle"
  344. * List view: align information to the left side, and the actionable buttons to the right
  345. * Redirect to /unread when getting a 404 for an unread expired entry
  346. * Do not advance to the next item when using the 'v' shortcut on the list of starred items
  347. * Wrap around when navigating with keyboard shortcuts on a list view
  348. * Remove unused Feed.Entries and Entry.Category from API client
  349. * Add comments link keyboard shortcut
  350. * Allow application/xhtml+xml links as comments URL in Atom replies
  351. * Allow only absolute URLs in comments URL
  352. * Use internal XML workarounds to detect feed format
  353. * Make menu consistent across feed pages
  354. * Make sure external URLs are not encoded incorrectly by Go template engine
  355. * Make sure whitelisted URI schemes are handled properly by the sanitizer
  356. * Use white background for favicon (Improve legibility when using a dark theme)
  357. * Remove dependency on Sed to build Docker images
  358. * Normalize URL query string before executing HTTP requests
  359. * Improve Dublin Core support for RDF feeds
  360. * Improve Podcast support (iTunes and Google Play feeds)
  361. * Add support for Atom 0.3
  362. * Add support for Atom "replies" link relation
  363. * Return outer HTML when scraping elements
  364. * Update scraper rule for "Le Monde"
  365. * Filter valid XML characters for UTF-8 XML documents before decoding
  366. * Trim spaces for RDF entry links
  367. Version 2.0.19 (Dec 1, 2019)
  368. ----------------------------
  369. * Add shortcut "V" to open original link in current tab
  370. * Add the possibility to add rules during feed creation
  371. * Wrap attachments into <details> disclosure element
  372. * Show attachment size on entry page
  373. * Add support of RSS Media elements (group, description, peer link, and thumbnails)
  374. * Add rewrite functions: convert_text_link and nl2br
  375. * Add scraper rule for openingsource.org
  376. * Add Makefile target to build only amd64 Docker image
  377. * Make sure to remove integration settings when removing a user
  378. * Add API parameter to filter entries by category
  379. * Display list of feeds per category
  380. * Show the number of read and unread entries for each feed
  381. * Make sure settings menu is consistent
  382. * Remove fixed table-layout for entry content
  383. * Update autocert lib because ACME v1 is EOL
  384. * Do not lighten blockquote font color
  385. * Update de_DE translation
  386. * Send a response when changing status of removed entries in Fever API
  387. * Add meta tag to disable Google Translate
  388. * Improve storage module
  389. * Improve XML decoder to remove illegal characters
  390. * Compare Fever token case-insensitively
  391. * Make sure integration tests are marked as failed in Github Actions
  392. * Add new formats to date parser
  393. * Add notification message when using keyboard shortcuts: f, s, and m.
  394. * Avoid keyboard shortcuts to conflict with Firefox’s "Find as you type" feature
  395. Version 2.0.18 (Sep 25, 2019)
  396. -----------------------------
  397. * Add Docker image variant for arm32v7
  398. * Add theme variants
  399. - Use CSS variables instead of inherence
  400. - Rename default theme to "Light - Serif"
  401. - Rename Black theme to "Dark - Serif"
  402. - Rename "Sans-Serif" theme to "Light - Sans Serif"
  403. - Add "System" theme that use system preferences: Dark or Light
  404. - Add Serif and Sans-Serif variants for each color theme
  405. * Avoid constraint error when having duplicate entries during feed creation
  406. * Disable strict XML parsing
  407. * Ignore invalid content type
  408. * Update man page
  409. * Replace Travis by GitHub Actions
  410. * Rename cleanup config variables and deprecate old ones
  411. - CLEANUP_FREQUENCY_HOURS instead of CLEANUP_FREQUENCY
  412. - CLEANUP_ARCHIVE_READ_DAYS instead of ARCHIVE_READ_DAYS
  413. * Make configurable the number of days to remove old sessions
  414. * Add native lazy loading for images and iframes
  415. * Do not buffer responses in the image proxy
  416. * Update dependencies
  417. * Add Go 1.13 to test matrix
  418. * Replace link border by outline to avoid slight content shift
  419. * New rewrite function: add_mailto_subject
  420. * Import OPML from URL
  421. * Fix HTML injection in addImageTitle
  422. * Accept HTML entities when parsing XML
  423. Version 2.0.17 (Aug 3, 2019)
  424. ----------------------------
  425. * Update Docker image to Alpine Linux 3.10.1
  426. * Pass auth header to manifest request (crossorigin attribute)
  427. * Sort feed categories before serialization
  428. * Fix syntax errors in man page
  429. * Add .search margin-right
  430. * Ask for confirmation before flushing history, marking page as read, and mark all as read
  431. * Add option to disable feeds
  432. Version 2.0.16 (Jun 8, 2019)
  433. ----------------------------
  434. * Add option to toggle date/time in log messages
  435. * Add optional config file parser in addition to environment variables
  436. * Make HTTP Client timeout and max body size configurable
  437. * Refactor config package:
  438. - Parse configuration only once during startup time
  439. - Store configuration values in a global variable
  440. * Flip behavior of j and k keyboard shortcuts
  441. * Bump Postgresql client library to v1.1.1 to bring in SCRAM-SHA-256 authentication
  442. * Add option to enable/disable keyboard shortcuts
  443. * Add missing translation
  444. * Improve page reload when showing unread/all entries:
  445. - Show only unread entries = refresh current page
  446. - Show all entries = go to next page
  447. * Always display feed entries even when there is a feed error
  448. * Use loading label instead of saving when submitting login form
  449. * Add OPML v1 support during importation
  450. * Add 'allow-popups' to iframe sandbox permissions
  451. Version 2.0.15 (Mar 16, 2019)
  452. -----------------------------
  453. * Move Dockerfile to main repo
  454. * Change location of the binary from /usr/local/bin to /usr/bin in Docker image
  455. * Add double tap detection for next/previous page navigation
  456. * Allow users to disable auto-remove
  457. * Make parser compatible with Go 1.12
  458. * Add Golang 1.12 to CI
  459. * Use feed ID instead of user ID to check entry URLs presence
  460. * Fix typo in stylesheet
  461. * Sort search results by relevance
  462. * Use preferably the published date for Atom feeds
  463. * Add Spanish translation
  464. * Rename session cookies
  465. * Handle the case when application session is expired and not user session
  466. Version 2.0.14 (Jan 13, 2019)
  467. -----------------------------
  468. * Only attempt to change password if the confirmation field is filled in (Firefox)
  469. * Remove URL from client user agent
  470. * Make the feed list order case-insensitive
  471. * Handle XHTML Summary elements for Atom feeds
  472. * Make UTF-8 the default encoding for XML feeds
  473. * Add more targets to Makefile
  474. * Add -mod=vendor in Makefile
  475. * Move health check endpoint from ui package to httpd service
  476. * Add workaround for non GMT dates (RFC822, RFC850, and RFC1123)
  477. * Make sure `<strong>` elements are bold
  478. * Show scrollbars only when necessary for <pre> elements
  479. * Add Italian translation
  480. * Allow to switch between unread only and all entries on category/feed views
  481. * Add function storage.UpdateFeedError()
  482. * Add BBC News scraping rule
  483. * Ignore JSON feeds from EnsureUnicode()
  484. * Preserve category selection when no feed is found
  485. * Update XML encoding regex to take single quotes into consideration
  486. * Send cli errors to stderr
  487. * Update dependencies
  488. * Make password prompt compatible with Windows
  489. * Make configurable the number of days to archive read items
  490. * Change log level to debug when starting workers
  491. * Do not show $DATABASE_URL warning when showing application info
  492. * Move image proxy filter to template functions
  493. * Update scraper rule for lemonde.fr
  494. * Refactor manual entry scraper
  495. * Apply rewriter rules on manual "Fetch Original Content"
  496. * Add Makefile target for current OS and architecture
  497. * Improve Makefile
  498. Version 2.0.13 (Nov 25, 2018)
  499. -----------------------------
  500. * Add man page
  501. * Add support for Systemd Socket Activation (experimental)
  502. * Add the possibility to listen on Unix sockets
  503. * Add config options to disable HTTP and scheduler services
  504. * Archive more read entries in cleanup job
  505. * Change default database connection string (backward compatible)
  506. * Improve logging messages in ui package
  507. * Improve overall Simplified Chinese translations
  508. * Improve time since post date displays:
  509. - "15 days" now is "15 days" rather than "3 weeks" ago
  510. - "32 days" is now "1 month" rather than "2 months" ago
  511. - "366 days" is now "1 year" rather than "2 years" ago
  512. * Allow the scraper to parse XHTML documents
  513. * Remove charset=utf-8 from JSON responses
  514. * Ignore hotkeys containing Control, Alt or Meta keys
  515. * Handle more encoding conversion edge cases
  516. * Disable go test caching
  517. * Avoid duplication of ldflags in Makefile
  518. * Fix wrong translation key for category pages
  519. * Code refactoring:
  520. - Simplify application HTTP middlewares
  521. - Replace daemon and scheduler package with service package
  522. - Move UI middlewares and routes to ui package
  523. - Move API middleware and routes to api package
  524. - Move Fever middleware and routes to fever package
  525. Version 2.0.12 (Oct 26, 2018)
  526. -----------------------------
  527. * Add OpenBSD build
  528. * Improve logging for OAuth2 callback
  529. * Make "g f" go to feed, or list of feeds
  530. * Add more details in feed storage errors to facilitate debugging
  531. * Add entries storage error to feed errors count
  532. * Set arbitrary maximum size for tsvector column
  533. * Unsubscribe from feed through link or "#"
  534. * Simplify feed entries filtering
  535. * Simplify feed fetcher
  536. * Simplify feed parser and format detection
  537. * Improve unit tests in url package
  538. * Add short cli flags -i and -v
  539. * Convert text links and line feeds to HTML in YouTube channels
  540. * Change link state when marking all entries as read
  541. * Add missing package descriptions for GoDoc
  542. * Fix typo in license header
  543. * Refactor HTTP response builder
  544. * Improve Fever API performances when marking a feed or group as read
  545. * Set focus on article link when pressing prev/next hotkeys
  546. * Improve request package and add more unit tests
  547. * Add more unit tests for config package
  548. * Simplify locale package usage (refactoring)
  549. * Translate application in Russian
  550. * Use disclosure widget <details> for advanced feed options
  551. * Use unique translation IDs instead of English text as key
  552. * Add more unit tests for template functions
  553. * Fix invalid output when truncating Unicode text in templates
  554. * Add the possibility to override default user agent for each feed
  555. * Split Makefile linux targets by architecture
  556. * Add compiler, Arch, and OS to info command
  557. * Avoid line break between emoji and (un)read/(un)star links
  558. * Build Docker image for multiple architectures (amd64, arm32v6, arm64v8)
  559. Version 2.0.11 (Sep 11, 2018)
  560. -----------------------------
  561. * Set cookie flag `SameSite` to Lax mode
  562. * Use predefined ciphers when TLS is configured
  563. * Avoid displaying an error when shutting down the daemon
  564. * Add "Mark this page as read" to the bottom
  565. * Store client IP address in request context
  566. * Refactor HTTP context handling
  567. * Make user creation via environment variables idempotent
  568. * Use regular text version of ✔︎ instead of emoji version on iOS
  569. * Add toggle status button to entry page
  570. * Migrate to Go Modules and Go 1.11
  571. * Show count of feeds with permanent errors in header menu
  572. * Display remote client IP in logs when having a login failure (Fail2Ban)
  573. * Add remove button in feed edit page
  574. * Split integration tests into multiple files
  575. * Update scraper rule for heise.de
  576. * Expose real error messages for internal server API errors
  577. * Move Golang API client in project source tree (the separate project is deprecated)
  578. * Use canonical imports
  579. * Add Procfile
  580. * Create database package (refactoring)
  581. * Update user agent with new website URL
  582. * Update German translation
  583. Version 2.0.10 (July 22, 2018)
  584. ------------------------------
  585. * Avoid browser caching issues when assets changes
  586. * Add Gzip/Deflate compression for HTML, JSON, CSS and Javascript responses
  587. * Improve themes handling
  588. * Store user theme in session
  589. * Logged out users will keep their theme
  590. * Add theme background color to web manifest and meta tag
  591. * Update application icon with different sizes
  592. * Add support for published tag in Atom feeds
  593. * Add tooltip to feed domain in feeds list (title attribute)
  594. * Prevent vertical scrolling on swipe
  595. * Show feed title instead of domain in items list
  596. * Add service worker to cache feed icons
  597. * Make image proxy configurable via IMAGE_PROXY environment variable:
  598. * none = No proxy
  599. * http-only = Proxy only non-HTTPS images (default)
  600. * all = Proxy everything
  601. * Add alt attribute for feed icons
  602. * Update CI jshint check
  603. * Add embedly.com to iframe whitelist
  604. * Use passive event listeners for touch events
  605. * Add `add_dynamic_image` rewriter for JavaScript-loaded images
  606. * Change feed password field type to text to avoid auto-completion with Firefox
  607. * Using autocomplete="off" or autocomplete="new-password" doesn't change anything
  608. * Changing the input ID doesn't change anything
  609. * Using a different input name doesn't change anything
  610. * Only Chrome supports autocomplete="new-password"
  611. * Add base URL validation
  612. * Update default stylesheet name in HTML layout
  613. * Pre-generate themes stylesheets at build time
  614. * Update vendor dependencies
  615. * Refactor assets bundler and split Javascript files
  616. * Run sanitizer after all processing and entry content rewrite
  617. * Remove timestamp from generated files
  618. * Add support for protocol relative YouTube URLs
  619. * Add Postgres full-text search for entries
  620. * Add search form in user interface
  621. * Add search parameter to the API
  622. * Improve Dutch locales
  623. * Sandbox iframes when sanitizing
  624. * Keep consistent text size on mobile orientation change
  625. * Change permission of /etc/miniflux.conf to 600 instead of 644 in RPM package
  626. * Add tzdata package to Docker image
  627. * Update Docker image to Alpine Linux 3.8
  628. Version 2.0.9 (July 1, 2018)
  629. ----------------------------
  630. * Avoid Chrome to autocomplete no-login password fields
  631. * Add cli flag to reset all feed errors
  632. * Do not ignore errored feeds when a user refresh feeds manually
  633. * Add specific 404 and 401 error messages
  634. * Strip binaries to reduce size
  635. * Make sure we always get the pagination in unread mode
  636. * Fix incorrect data value when toggling bookmark flag on entry page
  637. * Set opener to null when opening original URL with JavaScript
  638. * Remove unnecessary style
  639. * Refactor AddImageTitle rewriter
  640. * Only processes images with `src` **and** `title` attributes (others are ignored)
  641. * Processes **all** images in the document (not just the first one)
  642. * Wraps the image and its title attribute in a `figure` tag with the title attribute's contents in a `figcaption` tag
  643. * Improve sanitizer to remove `style`, `noscript` and `script` tag contents
  644. * Improve feed and user API updates with optional values
  645. * Add new fields for feed username/password
  646. * Improve memory usage debug log
  647. * Disable keep-alive for HTTP client
  648. * Close HTTP response body even for failed requests
  649. * Add Sans-Serif theme
  650. * Rewrite iframe Youtube URLs to https://www.youtube-nocookie.com
  651. * Add more filters for API call `/entries`:
  652. * before (unix timestamp)
  653. * before_entry_id (int64)
  654. * after (unix timestamp)
  655. * after_entry_id (int64)
  656. * starred (boolean)
  657. * Rewrite individual entry pagination SQL queries
  658. * Simplify entry query builder
  659. * Prevent items from sticking on touchend
  660. * Extended horizontal overflow to feed and category views
  661. * Translate missing strings
  662. * Update German translation
  663. Version 2.0.8 (June 4, 2018)
  664. ----------------------------
  665. * Add Pocket integration
  666. * Rewrite RealIP() to avoid returning an empty string
  667. * Convert IP field from text to inet type
  668. * Improve error handling in integration clients
  669. * Make unread counter clickable
  670. * Archive read entries automatically after 60 days
  671. * Hide horizontal overflow when swiping articles on touch devices
  672. * Add API endpoint to get logged user
  673. * Fever API: Return response with an empty list if there is no item
  674. * Handle feeds with dates formatted as Unix timestamp
  675. Version 2.0.7 (May 7, 2018)
  676. ---------------------------
  677. * Add API endpoint to import OPML file
  678. * Make sure to close request body in HTTP client
  679. * Do not show save link if no integration is configured
  680. * Make sure integrations are configured before to make any HTTP requests
  681. * Avoid people to unlink their OAuth2 account without having a local password
  682. * Do not use shared variable to translate templates (avoid concurrency issue)
  683. * Use vanilla HTTP handlers (refactoring)
  684. * Move HTTP client to its own package (refactoring)
  685. * Add middleware to read X-Forwarded-Proto header (refactoring)
  686. * Use Gorilla middleware (refactoring)
  687. * Scrape parent element for iframe
  688. * Add SoundCloud and Bandcamp iframe sources
  689. Version 2.0.6 (Apr 20, 2018)
  690. ----------------------------
  691. * Improve graceful shutdown
  692. * Simplify Heroku deployment
  693. * Display memory usage and some metrics in logs
  694. * Increase read/write timeout for HTTP server
  695. * Add support for Dublin Core date in RDF feeds
  696. * Do not return an error if the user session is not found
  697. * Handle some non-english date formats
  698. * Add missing French translation
  699. * Rename RSS parser getters
  700. * Get the right comments URL when having multiple namespaces
  701. * Ignore caching headers for feeds that send "Expires: 0"
  702. * Update translations
  703. Version 2.0.5 (Apr 7, 2018)
  704. ---------------------------
  705. * Avoid unread counter to be off by one when reading an entry
  706. * Add Comments URL to entries
  707. * Add FreeBSD build target
  708. * Handle RSS author elements with inner HTML
  709. * Fix typo in translations
  710. * Add Dutch translation
  711. * Convert enclosure size field to bigint
  712. * Switch CI to Go v1.10
  713. * Fix broken OPML import when compiling with Go 1.10
  714. Version 2.0.4 (Mar 5, 2018)
  715. ---------------------------
  716. * Add Simplified Chinese translation
  717. * Add Nunux Keeper integration
  718. * Filter the list of timezones
  719. * Add timezone to entries dates for REST and Fever API
  720. * Show last login and session creation date in current timezone
  721. * Fix typo in edit user template
  722. * Improve parser error messages
  723. * Remove parentheses around feed error messages
  724. * Support localized feed errors generated by background workers
  725. * Print info message if DATABASE_URL is not set
  726. Version 2.0.3 (Feb 19, 2018)
  727. ----------------------------
  728. * Add Polish translation
  729. * Change color of <q> tags for black theme
  730. * Add database indexes (don't forget to run database migrations)
  731. * Handle Atom feeds with HTML title
  732. * Strip invalid XML characters to avoid parsing errors
  733. * Improve error handling for HTTP client
  734. Version 2.0.2 (Feb 5, 2018)
  735. ---------------------------
  736. * Add support for Let's Encrypt http-01 challenge
  737. * Move template functions outside engine (refactoring)
  738. * Take timezone into consideration when calculating relative time
  739. * Add support for HTTP Strict Transport Security header
  740. * Add support for base URLs with subfolders
  741. * Add missing about menu in settings
  742. * Show API URL endpoints in user interface
  743. * Do not update entry date while refreshing a feed
  744. * Add flag to toggle debug logging
  745. * Improve unread counter updates
  746. Version 2.0.1 (Jan 22, 2018)
  747. ----------------------------
  748. * Change user agent (People are blocking the crawler with mod_security)
  749. * Move environment variables to config package (refactoring)
  750. * Add build targets for all ARM architectures
  751. * Do not crawl existing entry URLs
  752. * Show translated login page in user language when logged out
  753. * Handle more encoding edge cases:
  754. - Feeds with charset specified only in Content-Type header and not in XML document
  755. - Feeds with charset specified in both places
  756. - Feeds with charset specified only in XML document and not in HTTP header
  757. * Add German translation
  758. * Add mark as read/unread link on list items
  759. * Add API endpoint for OPML export
  760. Version 2.0.0 (Jan 11, 2018)
  761. ----------------------------
  762. * Initial release of Miniflux 2.