diff --git a/CHANGELOG.md b/CHANGELOG.md index fa16f1d1..c8cda680 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [4.1.0] - 2026-08-04 + +### New + +- Add support for nc 35 + +### Fixed + +- Update dependencies +- Update translations from Transifex + ## [4.0.4] - 2026-05-26 ### Fixed diff --git a/appinfo/info.xml b/appinfo/info.xml index 09fffded..b7c4ae41 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -5,7 +5,7 @@ Integration of Zammad user support/ticketing solution - 4.0.4 + 4.1.0 agpl Julien Veyssier Zammad @@ -18,7 +18,7 @@ https://github.com/nextcloud/integration_zammad/issues https://github.com/nextcloud/integration_zammad/raw/main/img/screenshot1.jpg - + OCA\Zammad\BackgroundJob\CheckOpenTickets diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 59cc9200..a4babaaf 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -19,13 +19,11 @@ use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; - use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\Collaboration\Reference\RenderReferenceEvent; use OCP\Config\IUserConfig; use OCP\IL10N; use OCP\INavigationManager; - use OCP\IURLGenerator; use OCP\IUserSession; use OCP\Notification\IManager as INotificationManager; diff --git a/lib/BackgroundJob/CheckOpenTickets.php b/lib/BackgroundJob/CheckOpenTickets.php index 153705d7..98b71ba2 100644 --- a/lib/BackgroundJob/CheckOpenTickets.php +++ b/lib/BackgroundJob/CheckOpenTickets.php @@ -26,7 +26,6 @@ use OCA\Zammad\Service\ZammadAPIService; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\TimedJob; - use Psr\Log\LoggerInterface; class CheckOpenTickets extends TimedJob { diff --git a/lib/Controller/ConfigController.php b/lib/Controller/ConfigController.php index b3708a62..bebe7fbf 100644 --- a/lib/Controller/ConfigController.php +++ b/lib/Controller/ConfigController.php @@ -27,7 +27,6 @@ use OCP\IAppConfig; use OCP\IL10N; use OCP\IRequest; - use OCP\IURLGenerator; use OCP\PreConditionNotMetException; use OCP\Security\ICrypto; @@ -191,8 +190,8 @@ public function oauthRedirect(string $code = '', string $state = ''): RedirectRe // get user info $this->storeUserInfo(); return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'connected-accounts']) . - '?zammadToken=success' + $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'connected-accounts']) + . '?zammadToken=success' ); } $result = $this->l->t('Error getting OAuth access token.') . ' ' . $result['error']; @@ -200,8 +199,8 @@ public function oauthRedirect(string $code = '', string $state = ''): RedirectRe $result = $this->l->t('Error during OAuth exchanges'); } return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'connected-accounts']) . - '?zammadToken=error&message=' . urlencode($result) + $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'connected-accounts']) + . '?zammadToken=error&message=' . urlencode($result) ); } diff --git a/lib/Controller/ZammadAPIController.php b/lib/Controller/ZammadAPIController.php index 60d7c934..ad9c6227 100644 --- a/lib/Controller/ZammadAPIController.php +++ b/lib/Controller/ZammadAPIController.php @@ -20,7 +20,6 @@ use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\DataDisplayResponse; use OCP\AppFramework\Http\DataResponse; - use OCP\Config\IUserConfig; use OCP\IRequest; use OCP\PreConditionNotMetException; diff --git a/lib/Dashboard/ZammadWidget.php b/lib/Dashboard/ZammadWidget.php index a4ae8042..6dcac822 100644 --- a/lib/Dashboard/ZammadWidget.php +++ b/lib/Dashboard/ZammadWidget.php @@ -28,7 +28,6 @@ use OCP\Dashboard\IWidget; use OCP\IL10N; use OCP\IURLGenerator; - use OCP\Util; class ZammadWidget implements IWidget { diff --git a/lib/Migration/Version030000Date20241003141518.php b/lib/Migration/Version030000Date20241003141518.php index 35021442..29da3409 100644 --- a/lib/Migration/Version030000Date20241003141518.php +++ b/lib/Migration/Version030000Date20241003141518.php @@ -6,6 +6,7 @@ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ + namespace OCA\Zammad\Migration; use Closure; diff --git a/lib/Migration/Version030200Date20251230225956.php b/lib/Migration/Version030200Date20251230225956.php index 04a5d4bd..1e49c92a 100644 --- a/lib/Migration/Version030200Date20251230225956.php +++ b/lib/Migration/Version030200Date20251230225956.php @@ -6,6 +6,7 @@ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ + namespace OCA\Zammad\Migration; use Closure; diff --git a/lib/Migration/Version040000Date20260129225956.php b/lib/Migration/Version040000Date20260129225956.php index 40df0406..1c57a308 100644 --- a/lib/Migration/Version040000Date20260129225956.php +++ b/lib/Migration/Version040000Date20260129225956.php @@ -6,6 +6,7 @@ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ + namespace OCA\Zammad\Migration; use Closure; diff --git a/lib/Notification/Notifier.php b/lib/Notification/Notifier.php index ac65b742..d5b355d1 100644 --- a/lib/Notification/Notifier.php +++ b/lib/Notification/Notifier.php @@ -85,7 +85,6 @@ public function prepare(INotification $notification, string $languageCode): INot ); //->setIcon($this->url->getAbsoluteURL($iconUrl)); return $notification; - default: // Unknown subject => Unknown notification => throw throw new UnknownNotificationException(); diff --git a/lib/Reference/ZammadReferenceProvider.php b/lib/Reference/ZammadReferenceProvider.php index 6fa83e1b..e803671b 100644 --- a/lib/Reference/ZammadReferenceProvider.php +++ b/lib/Reference/ZammadReferenceProvider.php @@ -93,7 +93,6 @@ public function getSupportedSearchProviderIds(): array { return $ids; } return ['zammad-search']; - } private function isMatching(string $referenceText, string $url): bool { diff --git a/lib/Search/ZammadSearchProvider.php b/lib/Search/ZammadSearchProvider.php index e5a379b2..22709829 100644 --- a/lib/Search/ZammadSearchProvider.php +++ b/lib/Search/ZammadSearchProvider.php @@ -22,6 +22,7 @@ * along with this program. If not, see * */ + namespace OCA\Zammad\Search; use DateTime; diff --git a/lib/Search/ZammadSearchResultEntry.php b/lib/Search/ZammadSearchResultEntry.php index 6eca4de2..ed56ecc2 100644 --- a/lib/Search/ZammadSearchResultEntry.php +++ b/lib/Search/ZammadSearchResultEntry.php @@ -22,6 +22,7 @@ * along with this program. If not, see * */ + namespace OCA\Zammad\Search; use OCP\Search\SearchResultEntry; diff --git a/lib/Service/ZammadAPIService.php b/lib/Service/ZammadAPIService.php index 77cd6ab7..1658da0a 100644 --- a/lib/Service/ZammadAPIService.php +++ b/lib/Service/ZammadAPIService.php @@ -30,7 +30,6 @@ use OCP\IUserManager; use OCP\Notification\IManager as INotificationManager; use OCP\PreConditionNotMetException; - use OCP\Security\ICrypto; use Psr\Log\LoggerInterface; diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php index e3577e9c..f4b0c22b 100644 --- a/lib/Settings/Admin.php +++ b/lib/Settings/Admin.php @@ -6,7 +6,6 @@ use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Services\IInitialState; use OCP\IAppConfig; - use OCP\Settings\ISettings; class Admin implements ISettings { diff --git a/lib/Settings/Personal.php b/lib/Settings/Personal.php index afd9c9bf..fbb9df01 100644 --- a/lib/Settings/Personal.php +++ b/lib/Settings/Personal.php @@ -7,7 +7,6 @@ use OCP\AppFramework\Services\IInitialState; use OCP\Config\IUserConfig; use OCP\IAppConfig; - use OCP\Security\ICrypto; use OCP\Settings\ISettings; diff --git a/package.json b/package.json index 5e544a61..59a2b844 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "integration_zammad", - "version": "4.0.4", + "version": "4.1.0", "description": "Zammad integration", "main": "index.js", "directories": {