chore: bump version to 0.4.0
Semantic dedup, LLM topic avoidance, featured image fix, chained-job race condition fix, stall detection fix. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
30
CHANGELOG.md
30
CHANGELOG.md
@@ -5,6 +5,36 @@ All notable changes to PRAutoBlogger will be documented in this file.
|
|||||||
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project uses [Semantic Versioning](https://semver.org/).
|
and this project uses [Semantic Versioning](https://semver.org/).
|
||||||
|
|
||||||
|
## [0.4.0] — 2026-04-19
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Semantic dedup via embedding cosine similarity.** Replaces keyword-overlap
|
||||||
|
dedup (60% word match) with MiniLM-L12-v2 embeddings via OpenRouter. Catches
|
||||||
|
rephrasings like "BPC-157 dosing" vs "how much BPC-157 to take" that keyword
|
||||||
|
matching misses. Automatic fallback to keywords if embedding API unavailable.
|
||||||
|
Cost: ~$0.00001 per generation run.
|
||||||
|
- `includes/core/class-semantic-dedup.php` — Dedup engine with embedding +
|
||||||
|
keyword fallback.
|
||||||
|
- `includes/providers/class-open-router-embedding-provider.php` — OpenRouter
|
||||||
|
`/embeddings` client with batch support and cosine similarity helper.
|
||||||
|
|
||||||
|
- **LLM-aware topic avoidance.** Analysis prompt now includes the last 30 days
|
||||||
|
of published article titles with explicit "do not suggest similar topics"
|
||||||
|
instruction. Zero additional cost — appended to the existing analysis call.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Dedup window widened from 7 days to 30 days (semantic similarity is precise
|
||||||
|
enough to avoid over-blocking).
|
||||||
|
- `class-idea-scorer.php` refactored to delegate dedup to `Semantic_Dedup`.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Featured images displayed at 300×300 (WordPress "medium" size) instead of full
|
||||||
|
width. Changed theme to use `the_post_thumbnail('full')` with responsive CSS.
|
||||||
|
- Race condition causing duplicate article generation when the AJAX status poller
|
||||||
|
re-scheduled a cron event for an article already being generated.
|
||||||
|
- False stall detection on multi-article runs (measured elapsed time from start
|
||||||
|
instead of idle time since last progress update).
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ declare(strict_types=1);
|
|||||||
* Plugin Name: PRAutoBlogger
|
* Plugin Name: PRAutoBlogger
|
||||||
* Plugin URI: https://peptiderepo.com/prautoblogger
|
* Plugin URI: https://peptiderepo.com/prautoblogger
|
||||||
* Description: Monitors social media for trending topics, generates SEO-friendly blog posts using AI, and publishes them on a daily schedule with full cost tracking and self-improvement metrics.
|
* Description: Monitors social media for trending topics, generates SEO-friendly blog posts using AI, and publishes them on a daily schedule with full cost tracking and self-improvement metrics.
|
||||||
* Version: 0.3.0
|
* Version: 0.4.0
|
||||||
* Requires at least: 6.0
|
* Requires at least: 6.0
|
||||||
* Requires PHP: 7.4
|
* Requires PHP: 7.4
|
||||||
* Author: PeptideRepo
|
* Author: PeptideRepo
|
||||||
@@ -35,7 +35,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||||||
| and limits without magic strings.
|
| and limits without magic strings.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
define( 'PRAUTOBLOGGER_VERSION', '0.3.0' );
|
define( 'PRAUTOBLOGGER_VERSION', '0.4.0' );
|
||||||
define( 'PRAUTOBLOGGER_DB_VERSION', '1.1.0' );
|
define( 'PRAUTOBLOGGER_DB_VERSION', '1.1.0' );
|
||||||
define( 'PRAUTOBLOGGER_PLUGIN_FILE', __FILE__ );
|
define( 'PRAUTOBLOGGER_PLUGIN_FILE', __FILE__ );
|
||||||
define( 'PRAUTOBLOGGER_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
define( 'PRAUTOBLOGGER_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
||||||
|
|||||||
Reference in New Issue
Block a user