Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
d52de98
Include openapi-generator-cli in package.json.
Dan0sz Dec 10, 2025
25a18c7
Update README.md
Dan0sz Dec 10, 2025
1c7ed24
Regenerated API Client.
Dan0sz Dec 10, 2025
8406aa7
Added: get_tracker_id() to Client.
Dan0sz Dec 10, 2025
0bbae81
Fixed regeneration errors in API client.
Dan0sz Dec 10, 2025
d19b690
Refactored Client wrapper to use new endpoints in API client.
Dan0sz Dec 10, 2025
cf2f136
Improved: store tracker ID in options table.
Dan0sz Dec 11, 2025
fda6f95
Improved: file_alias as a proxy resource is no longer needed.
Dan0sz Dec 11, 2025
4712b50
Improved: rewrite provisioning logic to accomodate file downloads, ha…
Dan0sz Dec 11, 2025
e22e319
Refactored Author and Categories (pageview-props) logic to new JS sta…
Dan0sz Dec 11, 2025
c544874
Change track() back to plausible().
Dan0sz Dec 12, 2025
595e470
Typo.
Dan0sz Dec 12, 2025
dffbadc
Fixed: Start Checkout event was tracked on Thank You-page as well.
Dan0sz Dec 12, 2025
f61a42f
Typo.
Dan0sz Dec 12, 2025
f503da0
Re-factored Logged In User Status.
Dan0sz Dec 12, 2025
96ab580
Custom Events is on by default, so removed the option and logic.
Dan0sz Dec 17, 2025
087f103
Moved download_file logic to Cron-class.
Dan0sz Dec 17, 2025
ba6aa87
Moved Hash-based-routing out of Advanced Options and removed Advanced…
Dan0sz Dec 17, 2025
829345d
Removed hacks to track addToCart events on product pages, because Fet…
Dan0sz Dec 17, 2025
f2a1b9b
Some re-factors and make sure correct endpoint is set when Proxy is e…
Dan0sz Dec 17, 2025
c43d999
Improved: Added "enum" classes for caps and enhanced measurements to …
Dan0sz Dec 18, 2025
d6cc0a9
Small improvement to Capabilities class.
Dan0sz Dec 18, 2025
7b1f09c
Fixed: Caps class was defined twice in Client class.
Dan0sz Dec 18, 2025
9754cac
Provisioning already takes care of this.
Dan0sz Dec 18, 2025
7254a57
Re-factored exclusions option to use transformRequest.
Dan0sz Dec 18, 2025
448b5a9
Typo.
Dan0sz Dec 19, 2025
c1d4aa8
Improved: Actions/Filters classes are separated into more descriptive…
Dan0sz Dec 19, 2025
eb35122
Make sure tracker configuration matches our configuration after update.
Dan0sz Dec 19, 2025
f652796
Fixed: migration script only has to run once.
Dan0sz Dec 19, 2025
9b276d2
Fixed packages.
Dan0sz Dec 19, 2025
9cface4
Use node 20.
Dan0sz Dec 19, 2025
46b6839
Use node 20.
Dan0sz Dec 19, 2025
499c33b
Fixed: ModuleTest
Dan0sz Jan 15, 2026
258f36b
Fixed: HelpersTest
Dan0sz Jan 15, 2026
42293a4
Fixed all integration tests.
Dan0sz Jan 15, 2026
2c80d62
Updated composer.lock
Dan0sz Jan 15, 2026
5b14f5e
Try a different approach.
Dan0sz Jan 15, 2026
3c9f66e
Allow errors on PHP 8.4 (for now)
Dan0sz Jan 15, 2026
ed79eba
Disallow errors on PHP 8.4
Dan0sz Jan 15, 2026
840703e
Regenerated API client.
Dan0sz Jan 16, 2026
05bc958
Improved PHP 8.4 compatibility.
Dan0sz Jan 16, 2026
68169ea
Added AssetsTest
Dan0sz Jan 16, 2026
f9afb2c
Fixed 404 tests.
Dan0sz Jan 16, 2026
18224e7
Fixed some of Assets' test.
Dan0sz Jan 16, 2026
a721668
Minor refactor.
Dan0sz Jan 16, 2026
2be3005
Fixed some of AssetsTest
Dan0sz Jan 16, 2026
54754d9
Fixed AssetsTest
Dan0sz Jan 17, 2026
b048f5a
Fixed ProvisioningTest
Dan0sz Jan 17, 2026
0327250
Auto-formatting.
Dan0sz Jan 19, 2026
6a192d1
Ignore these methods.
Dan0sz Jan 19, 2026
705525f
This upgrade script doesn't require testing.
Dan0sz Jan 19, 2026
b923f85
Ignore these lines.
Dan0sz Jan 19, 2026
2917c20
Added proper tests for InitOptions
Dan0sz Jan 19, 2026
5295334
Assets need to be generated before tests as well.
Dan0sz Jan 19, 2026
a4842d5
Use latest setup-node action.
Dan0sz Jan 19, 2026
5371e5e
Don't use sudo.
Dan0sz Jan 19, 2026
692dbfc
Temporary debugging.
Dan0sz Jan 19, 2026
3236e84
Run npm install instead.
Dan0sz Jan 19, 2026
ff10024
This seam doesn't need testing.
Dan0sz Jan 19, 2026
72d9f15
Improved: admin_bar_node() had too much responsibilities.
Dan0sz Jan 20, 2026
694650f
Added: Tests for AdminBar
Dan0sz Jan 20, 2026
72a4585
Code Coverage can ignore this seam.
Dan0sz Jan 20, 2026
f374dd7
Added: VerificationTest
Dan0sz Jan 20, 2026
f3ab285
Made sure the update_setting helper is used where possible.
Dan0sz Jan 20, 2026
74c5624
These classes don't contain testable code.
Dan0sz Jan 20, 2026
1aac836
Added tests for EDD class.
Dan0sz Jan 20, 2026
f50a451
Added tests for EDD class.
Dan0sz Jan 20, 2026
9489a62
This class doesn't contain any testable code.
Dan0sz Jan 20, 2026
970c401
This class doesn't contain any testable code.
Dan0sz Jan 20, 2026
88e0254
Ignore these lines.
Dan0sz Jan 20, 2026
9e73b23
Ignore these lines.
Dan0sz Jan 20, 2026
a039d0c
Ignore these lines.
Dan0sz Jan 20, 2026
f212600
Ignore these lines.
Dan0sz Jan 20, 2026
718205f
Ignore these lines.
Dan0sz Jan 20, 2026
4c205fd
This method should be tested.
Dan0sz Jan 20, 2026
1deca3a
Added IntegrationsTest
Dan0sz Jan 20, 2026
f7d93b7
Fix tests.
Dan0sz Jan 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,22 @@ jobs:
with:
dev: no

- uses: actions/setup-node@v1
- uses: actions/setup-node@v4
with:
node-version: '16'
node-version: '20'

- name: Install npm dependencies
run: |
npm ci
sudo npm run build
npm run build

- name: Generate plugin artifact
run: |
mkdir -p release/plausible-analytics
rsync -rc --exclude-from="$GITHUB_WORKSPACE/.distignore" "$GITHUB_WORKSPACE/" release/plausible-analytics/ --delete --delete-excluded
cd "${GITHUB_WORKSPACE}/release" || exit
zip -r "${GITHUB_WORKSPACE}/plausible-analytics.zip" .

- name: Upload release asset
uses: actions/upload-release-asset@v1
env:
Expand Down
19 changes: 12 additions & 7 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,18 +61,23 @@ jobs:
ini-values: error_reporting=E_ALL, display_errors=On
coverage: xdebug

# Install dependencies and handle caching in one go.
# @link https://github.com/marketplace/actions/install-php-dependencies-with-composer
- name: Install Composer dependencies - normal
uses: "ramsey/composer-install@v3"
continue-on-error: true
- name: Install composer dependencies
uses: php-actions/composer@v2
with:
# Bust the cache at least once a month - output format: YYYY-MM.
custom-cache-suffix: $(date -u "+%Y-%m")
dev: yes

- name: Lint PHP files against parse errors
run: composer lint

- uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install npm dependencies
run: |
npm install
npm run build

- name: Unit and integration testing (with debug output)
run: ./vendor/bin/phpunit --configuration phpunit-with-integration.xml --no-coverage

Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,15 @@ jobs:
with:
dev: no

- uses: actions/setup-node@v1
- uses: actions/setup-node@v4
with:
node-version: '16'
node-version: '20'

- name: Install npm dependencies
run: |
npm ci
sudo npm run build
npm run build

- name: WordPress Plugin Deploy
id: deploy
uses: 10up/action-wordpress-plugin-deploy@stable
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,10 @@ etc. to a minimum. But, since
this is a WordPress plugin, some manual modifications need to be done to make sure it doesn't conflict with other
plugins:

> [!IMPORTANT]
> You need to have Java and [OpenAPI Generator](https://openapi-generator.tech/docs/installation/) installed
> globally.

- (Re)generate the PHP client using the following command (trigger it from the Plugin's root dir as output will be saved
to `src/Client`):
`openapi-generator-cli generate -i https://plausible.io/api/plugins/spec/openapi -g php -o src/Client --additional-properties=identifierNamingConvention=snake_case,invokerPackage="Plausible\\Analytics\\WP\\Client" --global-property=apis,models,supportingFiles,modelDocs=false,modelTests=false,apiDocs=false,apiTests=false`
Expand All @@ -141,8 +145,7 @@ plugins:
sure Mozart is installed
globally)
- In the `src/Client/lib` directory, replace all occurrences of ` GuzzleHttp` (mind the space) with
` Plausible\Analytics\WP\Client\Lib\GuzzleHttp` (
again, mind the space at the beginning)
` Plausible\Analytics\WP\Client\Lib\GuzzleHttp` (again, mind the space at the beginning)
- In the same directory, replace all occurrences of ` \GuzzleHttp` (mind the space and backslash)
with ` \Plausible\Analytics\WP\Client\Lib\GuzzleHttp`.
- If escaping characters doesn't work in your bash instance, you might also have to replace `PlausibleAnalyticsWPClient`
Expand Down
Loading
Loading