You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The 10up SVN deploy action and `npm run plugin-zip` use opposite rules
for what ships: 10up uses .distignore as an EXCLUDE list, plugin-zip
uses package.json `files` as an INCLUDE list. Three top-level entries
were tracked but listed in neither: CITATION.cff, eslint.config.cjs,
and patterns/ (empty .gitkeep scaffold). They were absent from the
local zip but shipped to SVN trunk in v1.0.3 (changeset 3534041).
Three changes to converge the two paths and prevent the next leak:
1. Add the three offenders to .distignore. The next deploy will remove
them from trunk via 10up's rsync --delete.
2. New bin/check-distignore.mjs script asserts every tracked top-level
entry is in either package.json `files` OR matched by .distignore.
Wired into lefthook pre-push and ci.yml so a missing rule fails at
PR time, not after SVN deploy. Verified against the v1.0.3 leak set:
the guard correctly flags all three files when the .distignore fix
is reverted, clean when in place.
3. Populate readme.txt Changelog with 1.0.4, 1.0.3, 1.0.2 entries.
The wp.org-visible history starts from the first published version;
1.0.0 (pre-rename) and 1.0.1 (pended) never reached users.
Version stays at 1.0.3 in this commit. The automated release workflow
bumps to 1.0.4 on next dispatch.
Copy file name to clipboardExpand all lines: readme.txt
+16-32Lines changed: 16 additions & 32 deletions
Original file line number
Diff line number
Diff line change
@@ -130,40 +130,24 @@ Hero block editor sidebars are intentionally minimal in this release. Live previ
130
130
131
131
== Changelog ==
132
132
133
-
= 1.0.2 =
134
-
* Block registration no longer calls a WordPress 6.7 only function, keeping the plugin compatible with the stated 6.5 minimum.
133
+
= 1.0.4 =
134
+
* Tidy distribution: drop maintainer-only files (CITATION.cff, eslint.config.cjs, empty patterns scaffold) that were leaking into the published zip.
135
135
136
-
= 1.0.1 =
137
-
* Display name now leads with the RoxyAPI brand.
138
-
* Form result lookups use an opaque token so visitor input never reaches the transient key.
136
+
= 1.0.3 =
137
+
* Sync to the latest RoxyAPI spec, now 133 endpoints across 10 spiritual domains.
138
+
* Western astrology: detect aspect patterns (Grand Trine, Kite, T-Square, Grand Cross, Yod, Mystic Rectangle, Stellium) via new [roxy_detect_aspect_patterns] shortcode + matching block.
139
+
* Vedic astrology: detect classical Vedic yogas in a birth chart via new [roxy_detect_yogas] shortcode + matching block.
140
+
* Natal chart, transits, and aspect calculations now include Black Moon Lilith alongside the lunar nodes and Chiron for full 14-body planetary coverage.
141
+
* Yoga catalog entries reworded for clearer glossary phrasing in both the list and the per-yoga detail responses.
139
142
140
-
= 1.0.0 =
141
-
* Initial release. 131 endpoints across 10 spiritual domains under one API key.
- Tarot: Tarot card (daily, three card, Celtic Cross), Tarot yes or no.
146
-
- Numerology: Numerology chart, Life path.
147
-
- Plus Biorhythm, Angel number, Crystals by zodiac.
148
-
* Form mode on every hero. Drop the shortcode with no attributes and visitors fill in the form themselves; submission is server side, the API key never reaches the browser.
149
-
* Two-chart heroes (Synastry, Gun Milan, Compatibility) are form-only because static mode would require ten plus inline attributes; the form has Person 1 / Person 2 fieldsets with city autocomplete.
150
-
* 117 auto generated shortcodes for the long tail. Generated from the live OpenAPI spec via npm run generate.
151
-
* Hero shortcode attribute names aligned with the documented examples so a copy-paste from the admin onboarding page works first try.
152
-
* Horoscope block ships three real variations (daily, weekly, monthly) wired to the matching SaaS endpoints; the period attribute now actually dispatches.
153
-
* Auto detecting form mode on every hero shortcode. Drop the shortcode with no attributes and visitors submit their own sign, name, birth date, or question.
154
-
* GDPR Article 9 consent gate on every visitor form. Submission requires an explicit opt in checkbox; the plugin registers privacy policy content via wp_add_privacy_policy_content for the WordPress Privacy Policy Guide.
155
-
* City autocomplete for natal chart and synastry forms. ARIA 1.2 combobox proxied through /wp-json/roxyapi/v1/geocode so the API key never reaches the browser.
156
-
* Top level RoxyAPI menu in the admin sidebar with a tabbed settings page (Connect, Branding, Display, Privacy, Advanced) and a 3 step onboarding flow for first time users.
157
-
* Branding controls: accent color, opt in source line under each reading.
* Advanced controls: cache preset (fresh, balanced, quota saver) on top of per endpoint TTLs.
160
-
* Dashboard widget showing connection status and the most used shortcodes with copy to clipboard.
161
-
* Settings API key field with wp config constant override and an inline Test Connection button.
162
-
* Encryption at rest via AES 256 CTR. Returns false on missing keys instead of falling back to a hardcoded secret.
163
-
* Server side caching with per endpoint TTL via WordPress transients (Redis and Memcached compatible automatically).
164
-
* Rate limiting per IP to protect the site owner API quota, applied to form submissions, the Test Connection button, and the geocoder proxy.
165
-
* Block Bindings API source roxyapi/daily-text. Bind a paragraph to it with a sign argument to render the daily overview inline.
166
-
* X-SDK-Client and User-Agent headers matching the TypeScript and Python SDK pattern so RoxyAPI can identify plugin traffic.
143
+
= 1.0.2 =
144
+
* Initial public release on the WordPress Plugin Directory.
145
+
* 131 endpoints across 10 spiritual domains under one RoxyAPI key. 17 hero shortcodes with matching Gutenberg blocks (Western astrology, Vedic astrology, tarot, numerology, biorhythm, angel numbers, crystals) plus 117 auto-generated long-tail shortcodes for the full spec.
146
+
* Compatible with the declared WordPress 6.5 minimum: block registration no longer calls a WordPress 6.7 only function.
147
+
* Form mode on every hero shortcode: drop with no attributes and visitors fill the form themselves. Server-side submission, API key never reaches the browser, GDPR Article 9 consent gate, per-IP rate limit.
148
+
* Two-chart heroes (Synastry, Gun Milan, Compatibility) ship form-only with Person 1 / Person 2 fieldsets and ARIA 1.2 combobox city autocomplete via a key-protected /wp-json/roxyapi/v1/geocode proxy.
149
+
* Tabbed admin settings (Connect, Branding, Display, Privacy, Advanced) with accent color, response-language picker, disclaimer line, cache preset (fresh / balanced / quota saver), and inline Test Connection button. API key supports a ROXYAPI_KEY wp-config constant override.
150
+
* Encryption at rest via AES 256 CTR. Server-side caching with per-endpoint TTL via WordPress transients (Redis / Memcached compatible). Block Bindings API source roxyapi/daily-text for inline horoscope binding.
0 commit comments