docs(2meet-data-optimizer-hivepress-addon): 0.4.0 release notes

- version 0.4.0; CHANGELOG for PR-090, 090b and 099 with dev36 numbers
- Upgrading: deploy with core 1.3.0; give 0.3.0 Redis entries a TTL with
  redis-cli --scan | EXPIRE ... NX | --pipe (tested on dev36: 3.0 M keys,
  45 s, latency max 2 ms), never flush-group
- Verify: composer test (145)
- PR: PR-102
This commit is contained in:
2026-09-27 16:50:01 +08:00
parent b2585459e3
commit e57dd5bd15
2 changed files with 41 additions and 2 deletions
+2 -2
View File
@@ -3,7 +3,7 @@
* Plugin Name: 2meet Data Optimizer — Hivepress AddOn
* Plugin URI: https://2meet.io/2meet-data-optimizer/hivepress
* Description: HivePress + 12 擴充整合:13 adapter (core/reviews/bookings/messages/memberships/requests/favorites/statistics/tags/seo/social-links/blocks/marketplace) + 7 HPCT interceptor + 5 query interceptor + admin tab + CLI namespace
* Version: 0.3.0
* Version: 0.4.0
* Requires at least: 6.0
* Tested up to: 6.9.4
* Requires PHP: 8.1
@@ -24,7 +24,7 @@ if ( ! defined( 'ABSPATH' ) ) {
exit;
}
define( 'TMDO_HIVEPRESS_VERSION', '0.3.0' );
define( 'TMDO_HIVEPRESS_VERSION', '0.4.0' );
define( 'TMDO_HIVEPRESS_PATH', plugin_dir_path( __FILE__ ) );
define( 'TMDO_HIVEPRESS_URL', plugin_dir_url( __FILE__ ) );
define( 'TMDO_HIVEPRESS_FILE', __FILE__ );
+39
View File
@@ -11,6 +11,45 @@ Versioning follows [Semantic Versioning](https://semver.org/).
---
## [0.4.0] — 2026-09-27
Released with 2meet-data-optimizer 1.3.0 (hardening 2.3).
### Changed
- `hp_listing_core` declares indexes on `hp_hourly_rate` and `hp_rating_count`
(HivePress filters and sorts on both). They are declared through the group's
`indexes`, not `searchable`, so the pinned schema hash is unchanged and the
table is not rebuilt; core 1.3.0 adds them in place from WP-CLI / WP-Cron.
dev36 (902k listings): two indexes in about 4.7 s; routed `rating_count IN`
2.1 s → 0.36 s, `rating_count !=` 2.1 s → 0.76 s, hourly rate + price sort
2.1 s → 0.65 s. (PR-090)
- With a persistent object cache, transient entries now expire: a timeout
entry when it records, a value after at most a week (`MAX_CACHE_TTL`;
HivePress writes the value before its timeout, and a miss only makes it
rebuild). Entries of deleted posts no longer pile up. (PR-099)
### Upgrading
- Deploy with core 1.3.0: on an older core the AddOn declares no index at all
(core 1.2.0 would run the ALTER inside a web request). (PR-090b)
- Redis: entries written by 0.3.0 have no TTL (dev36 had 3.0 M). Give them one
with non-blocking commands — never `wp cache flush-group`, which the Redis
Object Cache drop-in runs as one server-side script and which blocked Redis
on a large group. `NX` leaves entries written by 0.4.0 alone:
```
redis-cli --scan --pattern '<WP_CACHE_KEY_SALT>wp:tmdo_hp_transient:*' \
| awk '{printf "EXPIRE %s 604800 NX\r\n", $0}' | redis-cli --pipe
```
dev36: 3,013,352 keys in 45 s, 0 errors, Redis latency max 2 ms. The pattern
follows the drop-in's key layout (`<salt><blog prefix>:<group>:<key>`);
check it with `redis-cli --scan --pattern '<salt>*tmdo_hp_transient*' | head`
first. redis-cli 7 has no `--count` with `--scan`.
---
## [0.3.0] — 2026-09-27
Released with 2meet-data-optimizer 1.2.0 (hardening 2.2).