Commit Graph

587 Commits

Author SHA1 Message Date
Yahnis Elsts 5b863c26bd Fix a potential PHP notice when detecting a VCS service
In the (unlikely) case where the update metadata URL does not include a path, the getVcsService() method could previously trigger a deprecation notice like "preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated". This is because parse_url() returns NULL when the specified component is not present.

Fixed by always casting the $path to string. The VCS detection code doesn't care about the difference between "empty path" and "no path" - it should correctly return NULL (= no VCS host found) anyway.

Also, let's cast $host to a string as well to avoid another potential notice if the URL somehow has a path but no domain name.

Initially reported in #499.
2022-08-06 17:29:44 +03:00
Yahnis Elsts 6eb27a6911 Bump version to 4.13
Also updated the POT file. No new strings, but some of the source code references were out of date.
2022-07-29 15:36:25 +03:00
Yahnis Elsts 3347254e0d Fail-safe when update class cannot be correctly reconstructed or loaded.
Previously, if the wrong base class name was written to the database, attempts to load update information could trigger a warning because there was no class_exists() check in the "updateBaseClass is set" branch. To fix that, I've moved the class_exists() closer to the place where the class name is actually used.

StateStore will still fail to load a stored update if the class name is invalid, but without a PHP warning this time. The invalid stored update information should be overwritten the next time PUC checks for updates.
2022-07-28 16:01:14 +03:00
Yahnis Elsts b4c5a82cc8 Fix (hopefully) a warning when loading update details stored by a different version of PUC that was also using a custom namespace.
Reported in #498.
2022-07-28 14:57:21 +03:00
Yahnis Elsts ae5789b5a7 Rename classes for 4.12 2022-07-25 00:33:05 +03:00
Yahnis Elsts 4525927a6b Rename loader file 2022-07-25 00:27:58 +03:00
Yahnis Elsts 568e845d89 Begin 4.12 version change
Rename versioned directory
2022-07-25 00:24:42 +03:00
Yahnis Elsts f478379ed7 Replace defined('__NAMESPACE__') conditions with PHP version checks. 2022-07-21 12:28:39 +03:00
Yahnis Elsts 3119408761 Attempt to fix some PHP Scoper compatibility issues. See #496 2022-07-14 17:54:22 +03:00
Yahnis Elsts 8d78365380
Merge pull request #493 from d79/master
Update Italian translation
2022-05-21 12:08:17 +03:00
d79 dea04443b0 Updated italian translation 2022-05-20 10:48:24 +02:00
Yahnis Elsts a68681e54b Minor: Add a TODO for the GitLab integration.
I haven't gotten around to completing it, but don't want to dismiss it either.
2022-04-15 13:24:25 +03:00
Yahnis Elsts 56c78cc6da
Merge pull request #478 from seatonjiang/master
Update Simplified Chinese (zh_CN) translations
2022-01-29 13:46:15 +02:00
Seaton Jiang 86d7d5f2bd
feat: add Simplified Chinese (zh_CN) translations 2022-01-29 12:13:39 +08:00
Yahnis Elsts db591f3277
Merge pull request #472 from wpdew/master
Add Russian and Ukrainian translations
2021-12-21 19:08:03 +02:00
Aleks Moroz bbc881e9da Added languages
Added translations into Russian and Ukrainian languages.
2021-12-20 18:03:25 +02:00
Yahnis Elsts 3a65e7ff3e Add Turkish translation. PO/MO files provided by Igor Funa. 2021-11-15 18:29:18 +02:00
Yahnis Elsts 0e869938e3 Refactoring: Extract asset detection to a method.
This applies to locally stored plugin icons and banners. The code for icons and banners was very similar, so I've turned it into a utility method to reduce code duplication.
2021-10-01 14:55:59 +03:00
Yahnis Elsts 12cff18273
Merge pull request #462 from timwiel/timwiel-pluginbanners
Use plugin banners from the local "assets" directory.
2021-09-30 19:29:10 +03:00
Tim Wiel e5453b52e4 Use plugin icons from the local "assets" directory. 2021-09-29 14:24:36 +13:00
Yahnis Elsts 8a8788d965 Use plugin icons from the local "assets" directory.
Props to @timwiel for the suggestion and the original implementation. See  #461. 

This change applies to plugins (but not themes) that are updated from a VCS hosting provider like GitHub. Previously, the plugin author would have had to use a filter to provide icons. Now they can just put them in a subdirectory named "assets" instead. Icon file names and extensions should match those described here:
https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons

Note that the update checker will use icons from the installed version, not from the VCS repository.
2021-09-27 20:25:50 +03:00
Yahnis Elsts a5dd2bb951 Make "enableReleasePackages" plural so that it's consistent with "enableReleaseAssets" 2021-09-23 18:11:12 +03:00
Yahnis Elsts 3f12a21751 Minor: Reformat some docs and fix some phrasing issues 2021-09-23 18:07:34 +03:00
Yahnis Elsts 7813fa5816
Merge pull request #460 from timwiel/timwiel-gitlabreleases
Add GitLab release support
2021-09-23 16:15:54 +03:00
Tim Wiel cea29dcaaa Fixed authentication issues for public repos and re-priortised the order of update checking from Gitlab to match the Github methodology 2021-09-23 13:48:02 +12:00
Tim Wiel 57ceef7685 Minor comment change to better reflect code functionality 2021-09-22 16:25:15 +12:00
Tim Wiel 91d089876f Ordering the priority of version checks for Gitlab and updating README.md accordingly 2021-09-22 14:41:02 +12:00
Tim Wiel e16a46fc72 Filtering out "upcoming releases" from the releases available to PUC 2021-09-22 12:53:01 +12:00
Tim Wiel 824348c036 Adding checks for the assets to ensure they are zip files which is what wordpress needs to update 2021-09-22 12:11:37 +12:00
Tim Wiel 1c63404e98 README.md update to reflect Gitlab releases functionality 2021-09-21 14:00:53 +12:00
Tim Wiel cb44a6ede1 Adding releases to GitLab API with option for release asset download from either: source OR generic package releases (see https://gitlab.com/gitlab-org/release-cli/-/tree/master/docs/examples/release-assets-as-generic-package/) 2021-09-21 13:48:25 +12:00
Yahnis Elsts 2292442efc
Merge pull request #433 from geoffthibeau/bitbucket-default-branch-main
Adds possible default branch name 'main': Bitbucket
2021-05-19 13:51:58 +03:00
Geoff Thibeau 048b78cdd5
Adds possible default branch name 'main': Bitbucket
Adds `main` as a possible default branch name to invoke `$this->getLatestTag()` inside of `Puc_v4p11_Vcs_BitBucketApi::chooseReference()`.

Previously, only branches named `master` inherited this special behavior. With more VCS providers opting for an inclusive default branch name, this commit adds `main` as a default branch name configuration.

Related to #422.
2021-05-18 18:49:36 -05:00
Yahnis Elsts cd4df885c4
Merge pull request #432 from YahnisElsts/wp55-auto-updates
Merge a BitBucket API fix
2021-05-12 21:52:34 +03:00
Yahnis Elsts e5384a52c7 Merge branch 'master' into wp55-auto-updates 2021-05-12 21:30:14 +03:00
Yahnis Elsts 703cbd854d
Docs: Imply that the branch name is not optional
The update checker will look for a `master` branch by default, but new repositories use the name `main` instead, and it is technically possible to use any branch as the default branch. So while you don't *have to* set the branch name, it's probably a good idea to always do that.
2021-03-31 17:30:10 +03:00
Yahnis Elsts 3155f2d3f1 Change version number in file/directory names
Step 2 of version bump
2021-03-15 18:07:52 +02:00
Yahnis Elsts 06bc75f9af Change version infix from v4p10 to v4p11
Step 1 of version bump
2021-03-15 18:02:04 +02:00
Yahnis Elsts d057b36eb4
Merge pull request #419 from marcorocca/master
Fixed a call to non-existent lastRequestApiErrors property
2021-03-12 13:57:29 +02:00
Marco Rocca 8a1a779f00 Fixed wrong call to inexistent property 2021-03-12 00:10:50 +01:00
Yahnis Elsts 369c19ab1a BitBucket: Use commit hash instead of branch name when the branch is not URL-safe.
Apparently, the "/src" subsection of the BitBucket API doesn't do well with branch names that contain slashes. urlencode() doesn't help. See #409 for the initial report.
2021-01-28 19:10:17 +02:00
Yahnis Elsts 4e59df1958 Fixed a few warnings about deprecated jQuery features 2020-12-09 17:07:15 +02:00
Yahnis Elsts 4bd0a820d1 Move code that prefixes the API class with the current namespace so that getCompatibleClassVersion() gets the unprefixed name.
Alternative fix for the problem described in #396.
2020-10-14 19:13:02 +03:00
Yahnis Elsts 4778dd3eb4 Add the current namespace to metadata class names 2020-10-07 18:51:24 +03:00
Yahnis Elsts dee87bbfe6 Remove defined('__NAMESPACE__') checks since that apparently doesn't work 2020-10-06 13:01:30 +03:00
Yahnis Elsts 3c55658638 Don't change the Debug Bar panel class name if it already includes a namespace. 2020-10-05 16:51:09 +03:00
Yahnis Elsts 8125be8df7 Improve compatibility with PHP Scoper and other tools that add namespaces to third-party libraries.
See #394 for discussion.
2020-10-05 16:45:03 +03:00
Yahnis Elsts 0edd15f678 Minor: Fix incorrect version number in a doc-comment 2020-08-21 14:36:45 +03:00
Yahnis Elsts 97885642cc Merge branch 'master' into wp55-auto-updates 2020-08-21 14:33:01 +03:00
Yahnis Elsts 8c4a998c63 Hopefully fixed a fatal error related to Debug Bar
Apparently, upgrading a plugin that uses PUC 4.9 to a version that uses PUC 4.10 may trigger two fatal errors, one of which happens inside the Debug Bar extension. Cause is unclear and the errors are not reproduced, but I suspect it has to do with PUC trying to set up a Debug Bar panel after the currently active PUC version has already been replaced. This patch should fix that.
2020-08-10 22:08:34 +03:00