diff options
author | Devlin Junker <devlin.junker@gmail.com> | 2023-10-22 13:57:14 -0700 |
---|---|---|
committer | Devlin Junker <devlin.junker@gmail.com> | 2023-10-22 14:03:52 -0700 |
commit | 3e35d781cf712efa1473b4495a48299326b52c0c (patch) | |
tree | 9643b2e75ee3139bb6c5abb102d6f69937a5169e | |
parent | 94f04d4a20cbbadb7d8ad835bc7ae3dc1c4256fd (diff) | |
parent | d423ca520ca9c61233c33717d604e3183f0f486c (diff) |
Merge remote-tracking branch 'nextcloud/master' into master-merge
Signed-off-by: Devlin Junker <devlin.junker@gmail.com>
53 files changed, 859 insertions, 408 deletions
diff --git a/.eslintrc.js b/.eslintrc.js index 48070d761..2ea0c1cc6 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -19,7 +19,7 @@ module.exports = { '@nextcloud', 'plugin:@typescript-eslint/recommended', ], - ignorePatterns: ['*.d.ts'], + ignorePatterns: ['*.d.ts', 'l10n/*.js'], rules: { 'no-console': 'warn', '@typescript-eslint/no-var-requires': 'off', diff --git a/.github/workflows/api-integration-tests.yml b/.github/workflows/api-integration-tests.yml index f7619ff18..bf22f2501 100644 --- a/.github/workflows/api-integration-tests.yml +++ b/.github/workflows/api-integration-tests.yml @@ -43,7 +43,7 @@ jobs: experimental: true steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive diff --git a/.github/workflows/api-php-static-code-check.yml b/.github/workflows/api-php-static-code-check.yml index 37035c244..034b7d34c 100644 --- a/.github/workflows/api-php-static-code-check.yml +++ b/.github/workflows/api-php-static-code-check.yml @@ -18,7 +18,7 @@ jobs: name: "phpstan: Nextcloud ${{ matrix.nextcloud }} with ${{ matrix.php-versions }}" steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up php uses: shivammathur/setup-php@master with: diff --git a/.github/workflows/api-php-tests.yml b/.github/workflows/api-php-tests.yml index 1b309daf8..2723e14ea 100644 --- a/.github/workflows/api-php-tests.yml +++ b/.github/workflows/api-php-tests.yml @@ -14,9 +14,15 @@ jobs: database: ['sqlite'] experimental: [false] codecoverage: [false] + include: + - php-versions: 8.2 + nextcloud: stable27 + database: sqlite + experimental: false + codecoverage: true steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 2 # https://github.com/codecov/codecov-action/issues/190#issuecomment-790729633 diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 636235de0..b955bc663 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -19,17 +19,17 @@ jobs: database: ['sqlite'] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup PHP - uses: shivammathur/setup-php@afefcaf556d98dc7896cca380e181decb609ca44 + uses: shivammathur/setup-php@7fdd3ece872ec7ec4c098ae5ab7637d5e0a96067 #2.26.0 with: php-version: ${{ matrix.php-versions }} extensions: pdo_sqlite,pdo_mysql,pdo_pgsql,gd,zip coverage: none - name: Set up server non MySQL - uses: SMillerDev/nextcloud-actions/setup-nextcloud@main + uses: SMillerDev/nextcloud-actions/setup-nextcloud@1e38cb369e2193642279c64ee140fc93ddd4fa77 with: cron: false version: ${{ matrix.nextcloud }} @@ -39,7 +39,7 @@ jobs: run: make - name: Configure server with app - uses: SMillerDev/nextcloud-actions/setup-nextcloud-app@main + uses: SMillerDev/nextcloud-actions/setup-nextcloud-app@1e38cb369e2193642279c64ee140fc93ddd4fa77 with: app: ${{ env.APP_NAME }} check-code: false @@ -52,7 +52,7 @@ jobs: app_public_crt: ${{ secrets.APP_PUBLIC_CRT }} - name: Upload app tarball to release - uses: svenstaro/upload-release-action@2b9d2847a97b04d02ad5c3df2d3a27baa97ce689 + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df id: attach_to_release with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 9b7022748..ddf60315f 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout master - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Deploy docs uses: mhausenblas/mkdocs-deploy-gh-pages@master diff --git a/.github/workflows/frontend-nodejs-tests.yml b/.github/workflows/frontend-nodejs-tests.yml index e077e7d1b..a51bc3366 100644 --- a/.github/workflows/frontend-nodejs-tests.yml +++ b/.github/workflows/frontend-nodejs-tests.yml @@ -15,7 +15,7 @@ jobs: experimental: [false] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 diff --git a/.github/workflows/lint-eslint.yml b/.github/workflows/lint-eslint.yml index ec439166b..098ff9819 100644 --- a/.github/workflows/lint-eslint.yml +++ b/.github/workflows/lint-eslint.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@v2.2 diff --git a/.github/workflows/post-merge-tasks.yml b/.github/workflows/post-merge-tasks.yml index ea446f0ce..58859acec 100644 --- a/.github/workflows/post-merge-tasks.yml +++ b/.github/workflows/post-merge-tasks.yml @@ -7,18 +7,20 @@ jobs: php: runs-on: ubuntu-latest continue-on-error: false - name: "Coverage: Nextcloud PHP ${{ matrix.php-versions }}" + name: "Coverage: Nextcloud ${{ matrix.nextcloud }} PHP ${{ matrix.php-version }}" strategy: matrix: nextcloud: ['stable27'] + codecoverage: [true] + php-version: ["8.1"] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: ${{ matrix.php-version }} ### Back to normal setup - name: Set up server non MySQL @@ -39,7 +41,11 @@ jobs: - name: Prep PHP tests run: cd ../server/apps/news && make php-test-dependencies + - name: Unittests run: cd ../server/apps/news && make unit-test + env: + CODECOVERAGE: ${{ matrix.codecoverage }} + - name: Upload codecoverage run: cd ../server/apps/news && bash <(curl -s https://codecov.io/bash) -f build/php-unit.clover diff --git a/.github/workflows/updater-test.yml b/.github/workflows/updater-test.yml index eb5901a51..3f9b217ee 100644 --- a/.github/workflows/updater-test.yml +++ b/.github/workflows/updater-test.yml @@ -22,7 +22,7 @@ jobs: experimental: [false] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive diff --git a/.gitignore b/.gitignore index 649a92217..6af562dd6 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,9 @@ coverage #bats tests/api/helpers/settings-override.bash +tests/test_helper/feeds/test.xml +tests/test_helper/feeds/feed1.xml +tests/test_helper/feeds/feed2.xml #bats tests/api/helpers/settings-override.bash diff --git a/CHANGELOG.md b/CHANGELOG.md index a646485f6..1a31c5f56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,13 +3,37 @@ All notable changes to this project will be documented in this file. The format is mostly based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), older entries don't fully match. # Unreleased -## [23.x.x] +## [25.x.x] ### Changed - Vue Rewrite - - Add Typescript - - Add Jest for Unit Tests +# Releases +## [24.x.x] +### Changed +- Set User Agent for curl in Scraper + +### Fixed # Releases +## [24.0.0] - 2023-09-26 +No major changes compared to 24.0.0-beta1. + +## [24.0.0-beta1] - 2023-08-26 +### Changed +- Drop support for Nextcloud 25, Supported: 26, 27 (#2316) +- Add a new command for occ `./occ news:updater:job` allows to check and reset the update job (#2166) +- Check for available http(s) compression options and use them (gzip, deflate, brotli) (#2328) +- Change and unify [cache](https://nextcloud.github.io/news/install/#cache) to use the instance ID of Nextcloud (#2331) + +## [23.0.0] - 2023-08-16 +No notable changes compared to 23.0.0-beta1 + +## [23.0.0-beta1] - 2023-08-09 +### Changed +- Drop support for PHP 7.4 new min. version is php 8.0 (#2237) +- Upgrade feed-io to v5.1.3 (#2238) +### Fixed +- Some feeds missing items (#2236) + ## [22.0.0] - 2023-07-23 ### Changed - Support deflate and gzip compression for HTTP response bodies (#2269) @@ -48,7 +72,7 @@ The format is mostly based on [Keep a Changelog](https://keepachangelog.com/en/1 - Use httpLastModified field for If-Modified-Since header when fetching feed updates (#2119) ## [21.1.0] - 2023-03-20 -No notable changes compared 21.1.0-beta1 +No notable changes compared to 21.1.0-beta1 ## [21.1.0-beta1] - 2023-03-13 ### Changed @@ -56,7 +80,7 @@ No notable changes compared 21.1.0-beta1 - (Nextcloud 26+) Add info card to the admin settings, showing last job execution (#2141) ## [21.0.0] - 2023-02-28 -No notable changes compared 21.0.0-beta1 +No notable changes compared to 21.0.0-beta1 ## [21.0.0-beta1] - 2023-02-14 ### Changed diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8d804cd3a..7ddd2e97b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,7 +25,7 @@ Read this when you want to: * Disable all browser add-ons to make sure that it's not a plugin's fault (adblockers, especially cosmetic filters) * Clear your PHP opcode cache if you use any by restarting your webserver. * [Check if they have already been reported](https://github.com/nextcloud/news/issues?state=open) -* [Check if your problem is covered in the FAQ section]( https://nextcloud.github.io/news/faq) +* [Check if your problem is covered in the Troubleshooting section](https://nextcloud.github.io/news/troubleshooting/) ### Debugging issues * Enable debug mode in your **config/config.php**: diff --git a/appinfo/info.xml b/appinfo/info.xml index 884a7b041..ff7c6e707 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -21,7 +21,7 @@ Create a [feature request](https://github.com/nextcloud/news/discussions/new) Report a [feed issue](https://github.com/nextcloud/news/discussions/new) ]]></description> - <version>22.0.0</version> + <version>24.0.0</version> <licence>agpl</licence> <author>Benjamin Brahmer</author> <author>Sean Molenaar</author> @@ -43,7 +43,7 @@ Report a [feed issue](https://github.com/nextcloud/news/discussions/new) <screenshot small-thumbnail="https://raw.githubusercontent.com/nextcloud/news/master/screenshots/2-small.png">https://raw.githubusercontent.com/nextcloud/news/master/screenshots/2.png</screenshot> <screenshot small-thumbnail="https://raw.githubusercontent.com/nextcloud/news/master/screenshots/3-small.png">https://raw.githubusercontent.com/nextcloud/news/master/screenshots/3.png</screenshot> <dependencies> - <php min-version="7.4" min-int-size="64"/> + <php min-version="8.0" min-int-size="64"/> <database min-version="10">pgsql</database> <database>sqlite</database> <database min-version="8.0">mysql</database> @@ -75,6 +75,7 @@ Report a [feed issue](https://github.com/nextcloud/news/discussions/new) <command>OCA\News\Command\Updater\UpdateUser</command> <command>OCA\News\Command\Updater\BeforeUpdate</command> <command>OCA\News\Command\Updater\AfterUpdate</command> + <command>OCA\News\Command\Updater\Job</command> <command>OCA\News\Command\Config\FolderList</command> <command>OCA\News\Command\Config\FolderAdd</command> <command>OCA\News\Command\Config\FolderDelete</command> diff --git a/composer.json b/composer.json index fb17d5192..4ba6ae396 100644 --- a/composer.json +++ b/composer.json @@ -44,7 +44,7 @@ "ezyang/htmlpurifier": "^4.16.0", "pear/net_url2": "^2.2.2", "riimu/kit-pathjoin": "^1.2.0", - "debril/feed-io": "^v4.9.12", + "debril/feed-io": "^v5.3.1", "arthurhoaro/favicon": "^1.3.3", "fivefilters/readability.php": "^3.1", "ext-json": "*", @@ -56,14 +56,14 @@ "require-dev": { "phpunit/phpunit": "9.6.*", "squizlabs/php_codesniffer": "^3.7.2", - "phpstan/phpstan": "^1.10.26", - "phpstan/phpstan-doctrine": "^1.3.40", + "phpstan/phpstan": "^1.10.39", + "phpstan/phpstan-doctrine": "^1.3.43", "phpstan/phpstan-strict-rules": "^1.5.1", - "phpstan/phpstan-phpunit": "^1.3.13", + "phpstan/phpstan-phpunit": "^1.3.15", "phpstan/extension-installer": "^1.3.1", "phpstan/phpstan-deprecation-rules": "^1.1", "guzzlehttp/guzzle": "^7.3.0", - "doctrine/dbal": "^3.6.5", + "doctrine/dbal": "^3.7.1", "symfony/console": "^4.4.19", "psr/log": "^1.1.0" }, diff --git a/composer.lock b/composer.lock index 0a44f14ca..d80c38e45 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "870253c3a6ac00e3c791eba0cc77bc3b", + "content-hash": "73a2eafbcd20ee57339cdb0ff023183d", "packages": [ { "name": "arthurhoaro/favicon", @@ -66,16 +66,16 @@ }, { "name": "debril/feed-io", - "version": "v4.9.14", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/alexdebril/feed-io.git", - "reference": "58ae5a6d4846f3e835c4258cf843a1bf96121bcd" + "reference": "b1237713ae174fc4dd57aff1e472303a1162ccfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/alexdebril/feed-io/zipball/58ae5a6d4846f3e835c4258cf843a1bf96121bcd", - "reference": "58ae5a6d4846f3e835c4258cf843a1bf96121bcd", + "url": "https://api.github.com/repos/alexdebril/feed-io/zipball/b1237713ae174fc4dd57aff1e472303a1162ccfc", + "reference": "b1237713ae174fc4dd57aff1e472303a1162ccfc", "shasum": "" }, "require": { @@ -83,13 +83,13 @@ "ext-json": "*", "ext-libxml": "*", "guzzlehttp/guzzle": "~6.2|~7.0", - "php": ">=7.1", - "psr/log": "~1.0", - "symfony/console": "~3.4|~4.0|~5.0|~6.0" + "php": ">=8.0", + "psr/log": "~1.0|~2.0|~3.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.4", - "monolog/monolog": "1.*", + "friendsofphp/php-cs-fixer": "^3.5", + "monolog/monolog": "1.*|2.*", + "phpstan/phpstan": "^0.12.81", "phpunit/phpunit": "~9.3.0" }, "suggest": { @@ -127,15 +127,9 @@ ], "support": { "issues": "https://github.com/alexdebril/feed-io/issues", - "source": "https://github.com/alexdebril/feed-io/tree/v4.9.14" + "source": "https://github.com/alexdebril/feed-io/tree/v5.3.1" }, - "funding": [ - { - "url": "https://github.com/alexdebril", - "type": "github" - } - ], - "time": "2022-06-09T08:07:50+00:00" + "time": "2022-10-26T20:20:14+00:00" }, { "name": "ezyang/htmlpurifier", @@ -200,16 +194,16 @@ }, { "name": "fivefilters/readability.php", - "version": "v3.1.0", + "version": "v3.1.6", "source": { "type": "git", "url": "https://github.com/fivefilters/readability.php.git", - "reference": "760d9e3039be865d4fd79598473ecf545ecc9a4e" + "reference": "a00d35cb5eb14a236ba42326da9ac52c8c9f80a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fivefilters/readability.php/zipball/760d9e3039be865d4fd79598473ecf545ecc9a4e", - "reference": "760d9e3039be865d4fd79598473ecf545ecc9a4e", + "url": "https://api.github.com/repos/fivefilters/readability.php/zipball/a00d35cb5eb14a236ba42326da9ac52c8c9f80a1", + "reference": "a00d35cb5eb14a236ba42326da9ac52c8c9f80a1", "shasum": "" }, "require": { @@ -219,7 +213,7 @@ "league/uri": "~6.7.2", "masterminds/html5": "^2.0", "php": ">=7.4.0", - "psr/log": "^1.0" + "psr/log": "^1.0 || ^2.0 || ^3.0" }, "require-dev": { "monolog/monolog": "^2.3", @@ -259,9 +253,9 @@ ], "support": { "issues": "https://github.com/fivefilters/readability.php/issues", - "source": "https://github.com/fivefilters/readability.php/tree/v3.1.0" + "source": "https://github.com/fivefilters/readability.php/tree/v3.1.6" }, - "time": "2022-11-17T02:34:52+00:00" + "time": "2023-06-15T18:06:49+00:00" }, { "name": "league/uri", @@ -435,26 +429,24 @@ }, { "name": "masterminds/html5", - "version": "2.7.6", + "version": "2.8.1", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947" + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf", + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf", "shasum": "" }, "require": { - "ext-ctype": "*", "ext-dom": "*", - "ext-libxml": "*", "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8" }, "type": "library", "extra": { @@ -498,9 +490,9 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" + "source": "https://github.com/Masterminds/html5-php/tree/2.8.1" }, - "time": "2022-08-18T16:18:26+00:00" + "time": "2023-05-10T11:58:31+00:00" }, { "name": "pear/net_url2", @@ -572,25 +564,25 @@ }, { "name": "psr/http-message", - "version": "1.0.1", + "version": "1.1", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" |