Skip to content

Tags: fossar/selfoss

Tags

2.19

Toggle 2.19's commit message

Verified

This tag was signed with the committer’s verified signature.
jtojnar Jan Tojnar
Release 2.19

**This version requires PHP 5.6 or newer. It is also the last version to support PHP 7.**

### New features
- Thumbnails can be disabled ([#897](#897))
- Reddit spout replaced fragile imgur heuristics with previews provided by the JSON API ([#1033](#1033))
- Experimental support for **using selfoss offline** was added. Note that this is only available in [secure contexts](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), that is, over HTTPS, and can be very buggy. ([#1014](#1014))
- Long articles will no longer be arranged into columns, allowing for smoother reading experience ([#1081](#1081))
- Diaspora share button was added, you can enable it with `d`. ([#1121](#1121))
- “Copy to clipboard” share button was added, you can enable it with `c`. ([#1142](#1142))
- [Native sharer](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share) is available in secure contexts in browsers that support it. You can enable it by adding `a` to `share` key in your config. ([#1035](#1035))
- Data directory can be configured ([#1043](#1043))
- New spout for searching Twitter (e.g. following hashtags) was added. ([#1213](#1213))
- Added option `reading_speed_wpm` for showing estimated reading time. ([#1232](#1232))
- Added option `db_socket` for connecting to MySQL database through UNIX domain. ([#1284](#1284))
- Search query is now part of URL. ([#1216](#1216))
- A page that will pre-fill a form for adding a source with URL has been added. You can find it on `https://yourselfossurl.com/manage/sources/add?url=some-feed-url`. ([#1310](#1310), [#254](#254))
- Search will be carried out using regular expressions when the search query is wrapped in forward slashes, e.g. `/regex/`. The expression syntax is database specific. ([#1205](#1205))
- YouTube spout now supports following playlists. ([#1260](#1260))
- Confirmation is now required when leaving the setting page with unsaved source changes. ([#1300](#1300))
- Add link from settings page to individual sources and vice versa. ([#1329](#1329), [#1340](#1340))
- Tag colour can be now changed using keyboard. ([#1335](#1335))
- YouTube spout now supports all YouTube URLs that provide feeds. ([#1273](#1273))
- Add `open_in_background_tab` option to try to make <kbd>v</kbd> shortcut open articles in a background tab ([does not work in Chromium-based browsers](https://crbug.com/431335)). ([#1354](#1354))
- GitHub sources now include author. ([#1367](#1367))
- Twitter sources now indicate author using the author field rather than including in the title. ([#1367](#1367))
- Translations into several new languages were added:
  - English (United Kingdom): `en-GB`
  - French (Canada): `fr-CA`
  - Galician: `gl`
  - Hebrew: `he`
  - Indonesian: `id`
  - Portuguese (European): `pt`

### Bug fixes
- Reddit spout allows wider range of URLs, including absolute URLs and searches ([#1033](#1033))
- Improved compatibility with newer versions of PHP ([#1049](#1049), [#1157](#1157), [#1236](#1236), [#1294](#1294))
- `logger_level=NONE` is now handled correctly ([#1077](#1077))
- URLs containing special characters like commas in query string are now handled correctly ([#1082](#1082))
- Set 60 second timeout to spout HTTP requests to prevent a single feed blocking other updates ([#1104](#1104))
- Significantly improved accessibility ([#1133](#1133), [#1134](#1134), [#1141](#1141) and [#1345](#1345))
- Fixed marking more than 1000 items as read at the same time ([#1182](#1182))
- Fixed loading full text on pages containing ampersands in URLs ([#1188](#1188))
- Fixed missing styling in article contents ([#1221](#1221))
- Golem, Lightreading and Heise spouts now use Graby for extracting article contents instead of our own defunct extraction rules. ([#1245](#1245))
- The tag colour picker now pre-selects the current colour instead of a placeholder colour. ([#1269](#1269))
- OPML import now correctly handles valid files. ([#1366](#1366))
- OPML import will prefer `title` attribute over text for feed names. ([#1366](#1366))
- OPML import is now able to read files when the browser sends an incorrect MIME type. ([#1366](#1366))

### API changes
- `tags` attribute is now consistently array of strings, numbers are numbers and booleans are booleans. **This might break third-party clients that have not updated yet.** ([#948](#948))
- API is now versioned separately from selfoss and follows [semantic versioning](https://semver.org/) ([#1137](#1137))
- *API 2.21.0*: `/mark` now accepts list of item IDs encoded as JSON. Requests using `application/x-www-form-urlencoded` are deprecated. ([#1182](#1182))
- Dates returned as part of items now strictly follow ISO8601 format. ([#1246](#1246))
- The following are deprecated and will be removed in next selfoss version:
  - Passing credentials in query string, use cookies instead. ([#1360](#1360))
  - `GET /login` endpoint, use `POST /login`. ([#1360](#1360))
  - `GET /logout` was deprecated in favour of newly introduced (*API 4.1.0*) `DELETE /api/session/current`. ([#1360](#1360))
  - `POST /source/delete/:id` in favour of `DELETE /source/:id`. ([#1360](#1360))
- *API 6.0.0*: Makes the `author` field `null` when an item author is not known ([#1367](#1367))

### Customization changes
- `selfoss.shares.register` was removed. Instead you should set `selfoss.customSharers` to an object of *sharer* objects. The `action` callback is now expected to open a window on its own, instead of returning a URL. A label and a HTML code of an icon (you can use a `<img>` tag, inline `<svg>`, emoji, etc.) are now expected.

  To demonstrate, if you previously had

  ```javascript
  selfoss.shares.register('moo', 'm', true, function(url, title) {
      return 'http://moo.foobar/share?u=' + encodeURIComponent(url) + '&t=' + encodeURIComponent(title);
  });
  ```

  in your `user.js` file, you will need to change it to

  ```javascript
  selfoss.customSharers = {
      'm': {
          label: 'Share using Moo',
          icon: '🚛',
          action: ({url, title}) => {
              window.open(`http://moo.foobar/share?u=${encodeURIComponent(url)}&t=${encodeURIComponent(title)}`);
          },
      },
  };
  ```

  ([#1017](#1017), [#1035](#1035), [#1359](#1359))
- Custom FullTextRss filter were moved to `fulltextrss` directory in data directory ([#1043](#1043))
- Spouts can now implement `getSourceIcon()` instead of `getIcon()` when icon is associated with the feed, not individual icons. ([#1190](#1190))
- Some language files have been renamed to use correct [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) and you might need to change the `language` key in your `config.ini`:
  * Simplified Chinese `zh-CN`
  * Traditional Chinese `zh-TW`
  * Norwegian Bokmål `nb`
  * Swedish `sv`
- Wallabag sharer now targets Wallabag 2 by default. This is potentially breaking change but hopefully, no one uses Wallabag 1 any more. ([#1261](#1261))
- `defaults.ini` file is no longer used, it is only provided for convenience under a new name `config-example.ini` ([#1261](#1261), [#1267](#1267))
- `spout` classes no longer need to implement `Iterator`, instead they should return `Iterator` of newly introduced `Item` objects from `getItems()` method. The types of properties of items have also been revisited. ([#1341](#1341), [#1342](#1342))

### Other changes
- Amine and others have rewritten the **Android app** from scratch, you will want to install the [new one from F-Droid](https://f-droid.org/packages/bou.amine.apps.readerforselfossv2.android) to keep receiving updates.
- The front-end has been modernized using React framework, this will greatly simplify future development. ([#1216](#1216))
- The front-end routing no longer relies on hash fragment, resulting in nicer URLs. ([#1299](#1299))
- Prevent sending referrer headers when opening links and sharing for improved privacy. ([#1301](#1301))
- Removed broken instapaper scraping from Reddit spout ([#1033](#1033))
- RSS feed will be fetched more reliably ([#1052](#1052))
- Guzzle is now used for Twitter as well, allowing users to [install certificates](#1099 (comment)) on outdated hosts easily. ([#1102](#1102))
- More of user interface is now translatable ([#1054](#1054))
- Open Sans font is no longer bundled, resulting in smaller installations. Additionally, `use_system_font` option was removed. The typeface is still set as the default font family, so if you want to use it, install it to your devices. If you want to use a different typeface, add `body { font-family: 'Foo Face'; }` to your `user.css`. ([#1072](#1072))
- The file name of exported sources now includes a timestamp ([#1078](#1078))
- Developers, we no longer use Grunt. Build the package using `npm run dist` and check the code using `npm run check`; see the `scripts` section in top-level `package.json`. ([#1093](#1093))
- Developers, we are now building the styles and client-side code statically, using [Parcel](https://parceljs.org/). If you update any such assets, you will need to run `npm run build` for the changes to be reflected. You can also use `npm run dev` to watch for asset changes. ([#1137](#1137))
- Developers, CSS files are now checked using [stylelint](https://stylelint.io/) and formatted using [Prettier](https://prettier.io/). You can use `npm run lint:styles` and `npm run fix:styles` respectively in the `assets` directory to run those tools. ([#1153](#1153))
- Google+ and del.icio.us share button were removed ([#1121](#1121))
- Windows 8 tiles are no longer supported. ([#1137](#1137))
- [Strong password hashes](https://www.php.net/manual/en/function.password-hash.php) are now supported. ([#844](#844), [#1137](#1137))
- RSS spout now prefers the feed logo to website favicon. ([#1152](#1152))
- RSS spout now tries to use favicon from the feed domain when there is no logo or home page favicon. ([#1152](#1152))
- Setting `DEBUG` to `1` in `src/common.php` no longer logs HTTP bodies, only headers. Set it to `2` if you need the bodies as well. ([#1152](#1152))
- PHP startup errors are now logged, instead of having F3 crash with Error 500 ([#1195](#1195))
- In order to support offline mode, we moved much of the UI to the browser. ([#1150](#1150), [#1184](#1184), [#1215](#1215), [#1216](#1216))
- We carried out a significant internal refactoring ([#1164](#1164), [#1190](#1190))
- Removed Instapaper spout since it has been broken since its acquisition. Sources using it were migrated to “RSS Feed (with content extraction)”. ([#1245](#1245))
- Placeholders are now used for images before they are loaded to avoid content jumping around ([#1204](#1204))
- Search button is now always on the screen, avoiding the need to scroll to top to be able to use it. ([#1231](#1231))
- Button for opening articles, tags, sources and filters in the sidebar, as well as the source and tag links in articles are now real links, allowing to open them in a new tab by middle-clicking them. ([#1216](#1216), [#695](#695))
- Configuration is no longer managed by F3 framework. ([#1261](#1261))
- Removed `anonymizer` configuration option. ([#1358](#1358))

2.18

Toggle 2.18's commit message

Verified

This commit was signed with the committer’s verified signature.
jtojnar Jan Tojnar
release 2.18

2.17

Toggle 2.17's commit message

2.16

Toggle 2.16's commit message

2.14

Toggle 2.14's commit message
version 2.14

2.13

Toggle 2.13's commit message
version 2.13

2.12

Toggle 2.12's commit message
version 2.12

2.11

Toggle 2.11's commit message
version 2.11

2.10

Toggle 2.10's commit message
tag for version 2.10