Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
f7b3948
[NSS]: Support package access across product families in Harbor
defunctl Oct 8, 2026
4623d7f
[NSS]: Recognize Lando and LearnDash identifiers in spelling checks
defunctl Oct 8, 2026
f8050c3
[NSS]: Align browser and local checks with feature access display
defunctl Oct 8, 2026
cb92ea0
[NPS]: Adopt Nexcess Licensing branding and rename the package
defunctl Oct 8, 2026
b4d20e2
[NPS]: Align the renamed licensing link in the integration table
defunctl Oct 8, 2026
36cdf1b
[NPS]: Keep brand offers for partially covered purchases
defunctl Oct 8, 2026
6bc9baa
[NPS]: Show package access pills and catalog-driven upgrade groups
defunctl Oct 9, 2026
219e737
Use the build version for Harbor stylesheets
defunctl Oct 11, 2026
0052721
[CONS-1089] Rank a product by its highest valid tier
johnhooks Oct 11, 2026
70dbdd9
Merge pull request #207 from stellarwp/fix/CONS-1089-tier-rank-valid-…
defunctl Oct 11, 2026
648f358
Test highest valid tier regardless of licensing entry order
defunctl Oct 11, 2026
d8766b0
[CONS-1090] Keep cached products when a refresh fails
johnhooks Oct 11, 2026
fbd99c4
Fail the refresh test with a client path that has no fixtures
johnhooks Oct 11, 2026
53491d6
test: preserve cached licenses after server errors
defunctl Oct 11, 2026
b337580
[CONS-1091] Render catalog links only when they are http(s)
johnhooks Oct 11, 2026
2463ebf
Build frontend assets
johnhooks Oct 11, 2026
1eb8d3a
Merge pull request #208 from stellarwp/fix/CONS-1090-keep-products-on…
defunctl Oct 11, 2026
1eb0310
Trim the link check comments to match upsell-offers
johnhooks Oct 11, 2026
d5337d0
Build frontend assets
johnhooks Oct 11, 2026
0d1df63
Merge branch 'experiment/software-stack' into fix/CONS-1091-web-url-l…
johnhooks Oct 11, 2026
a7d102f
[CONS-1091] Sanitize catalog tier links when Harbor reads the catalog
johnhooks Oct 11, 2026
6c72792
Reword catalog link comments for the spell check
johnhooks Oct 11, 2026
b6561de
Run the non-web catalog link cases through a data provider
johnhooks Oct 11, 2026
124c600
[CONS-1091] Hide activation and subscription links that are not http(s)
johnhooks Oct 11, 2026
7076268
Build frontend assets
johnhooks Oct 11, 2026
daf9d1e
Merge pull request #209 from stellarwp/fix/CONS-1091-web-url-links
defunctl Oct 11, 2026
5b82d21
Clear cached purchases after confirmed license rejection
defunctl Oct 11, 2026
eabf930
Add a changelog entry for package access and the Nexcess Licensing re…
dpanta94 Oct 12, 2026
9dc7b69
Replace the local resolver scripts with a wpunit case
dpanta94 Oct 12, 2026
7e21cee
Describe access_sources in the feature REST schema and docs
dpanta94 Oct 12, 2026
911d2b1
Remove the unused Product_Collection::get_activated_entry()
dpanta94 Oct 12, 2026
2a551ca
Keep purchases in the refresh response after an ambiguous 404
dpanta94 Oct 12, 2026
c7df0ec
Deprecate Product_Collection::get_activated_entry() instead of removi…
dpanta94 Oct 12, 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
2 changes: 2 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
"keyplugin",
"keyservice",
"kses",
"lando",
"learndash",
"liquidweb",
"litespeed",
Expand Down Expand Up @@ -95,6 +96,7 @@
"refetches",
"sameorigin",
"scheck",
"sfwd",
"singlesite",
"siteurl",
"sitewide",
Expand Down
5 changes: 4 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ phpstan.* export-ignore
phpunit.* export-ignore
phpcs*.xml export-ignore
codeception.*.yml export-ignore
composer.json export-ignore
composer.lock export-ignore
bootstrap-plugin.php export-ignore

Expand All @@ -34,3 +33,7 @@ changelog/ export-ignore
# AI & meta files
CLAUDE.md export-ignore
AGENTS.md export-ignore

# Composer consumers need the package manifest, bin entry point and integration skill.
/resources/css export-ignore
/.lando.stack.yml export-ignore
2 changes: 1 addition & 1 deletion .github/scripts/playground-preview-comment.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const PLAYGROUND_URL = 'https://playground.wordpress.net/?blueprint-url=data:app
const BUTTON_IMAGE = 'https://raw.githubusercontent.com/adamziel/playground-preview/refs/heads/trunk/assets/playground-preview-button.svg';

/*
* The Software Manager page lists the four product brands only. Harbor Dev
* The Nexcess Licensing page lists the four product brands only. Harbor Dev
* Tools' default fixture key describes a product named test-fixtures, which
* that page does not show, so the site starts on a fixture that covers the
* real brands.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
test:
runs-on: blacksmith-4vcpu-ubuntu-2404

name: "E2E: Software Manager"
name: "E2E: Nexcess Licensing"

steps:
- name: Checkout the repository
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Hard rules, no exceptions:
- Never build a Portal URL, activation URL, or licensing request by hand. Use the `lw_harbor_*` helpers. A missing helper is a Harbor ticket.
- Never release or QA with `composer.json` pinned to a Harbor `dev-` branch.
- Strauss must not prefix `src/Harbor/global-functions.php`.
- Call the license page the "Unified License Manager" in anything a user sees.
- Call the license page "Nexcess Licensing" in anything a user sees.

Before changing any of that code, read `vendor/vendor-prefixed/stellarwp/harbor/skill/SKILL.md` for the API, hooks, and bootstrap order of the installed version. If the file is missing, run `composer install` first.
```
Expand Down
Loading
Loading