Skip to content

Prepare 1.10.0 release - #780

Merged
ilicfilip merged 7 commits into
developfrom
filip/release-1.10.0
Sep 3, 2026
Merged

Prepare 1.10.0 release#780
ilicfilip merged 7 commits into
developfrom
filip/release-1.10.0

Conversation

@ilicfilip

@ilicfilip ilicfilip commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Prepares the 1.10.0 release ahead of the develop → main release PR (#695).

Changes

  • progress-planner.php: Version: 1.9.1 → 1.10.0
  • readme.txt: Stable tag: 1.9.1 → 1.10.0 + new = 1.10.0 = changelog block (including the new Ravi recommendations: reduce autoloaded options, set About/Contact/FAQ pages).
  • Removed dead login-redirect code left behind when the Settings page was converted to interactive tasks (the handler, its wp_login hook, and the unused setter). The user meta is still cleaned up by the 1.10.0 update migration.
  • Fixed an explode() deprecation notice in get_task_id_from_slug() when a null slug is passed (PHP 8.1+).

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyrQ9chLywiezXaY9MZz8t
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Test merged PR on Playground
Test this pull request on the Playground
or download the zip

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

🔍 WordPress Plugin Check Report

⚠️ Status: Passed with warnings

📊 Report

🎯 Total Issues ❌ Errors ⚠️ Warnings
10 0 10

⚠️ Warnings (10)

📁 classes/suggested-tasks/providers/class-content-review.php (4 warnings)
📍 Line 🔖 Check 💬 Message
232 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://docs.wpvip.com/databases/optimize-queries/using-post__not_in/ for more information.
377 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://docs.wpvip.com/databases/optimize-queries/using-post__not_in/ for more information.
381 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://docs.wpvip.com/databases/optimize-queries/using-post__not_in/ for more information.
388 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://docs.wpvip.com/databases/optimize-queries/using-post__not_in/ for more information.
📁 classes/suggested-tasks/data-collector/class-unpublished-content.php (1 warning)
📍 Line 🔖 Check 💬 Message
103 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://docs.wpvip.com/databases/optimize-queries/using-post__not_in/ for more information.
📁 classes/suggested-tasks/data-collector/class-yoast-orphaned-content.php (1 warning)
📍 Line 🔖 Check 💬 Message
111 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $query used in $wpdb->get_row()\n$query assigned unsafely at line 98.
📁 classes/suggested-tasks/data-collector/class-terms-without-description.php (1 warning)
📍 Line 🔖 Check 💬 Message
108 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 106.
📁 classes/suggested-tasks/data-collector/class-terms-without-posts.php (1 warning)
📍 Line 🔖 Check 💬 Message
120 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 118.
📁 classes/activities/class-query.php (2 warnings)
📍 Line 🔖 Check 💬 Message
71 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $table_name used in $wpdb->query()\n$table_name assigned unsafely at line 58.
163 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $where_args used in $wpdb->get_results()\n$where_args assigned unsafely at line 153.

🤖 Generated by WordPress Plugin Check Action • Learn more about Plugin Check

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

✅ Code Coverage Report

Metric Value
Total Coverage 32.28% 📉
Base Coverage 32.26%
Difference 📈 0.02%

⚠️ Coverage below recommended 40% threshold

🎉 Great job maintaining/improving code coverage!

📊 File-level Coverage Changes (2 files)

📈 Coverage Improved

Class Before After Change
Progress_Planner\Base 45.40% 47.40% +2.00%
Progress_Planner\Admin\Page_Settings 38.71% 39.34% +0.63%
ℹ️ About this report
  • All tests run in a single job with Xdebug coverage
  • Security tests excluded from coverage to prevent output issues
  • Coverage calculated from line coverage percentages

ilicfilip and others added 2 commits September 3, 2026 09:38
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyrQ9chLywiezXaY9MZz8t
The redirect-on-login setting was removed when the Settings page was
converted to interactive tasks, and its user meta is cleaned up by the
1.10.0 update migration. The handler, its wp_login hook, and the unused
setter were left behind and could no longer be reached, so remove them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyrQ9chLywiezXaY9MZz8t
@ilicfilip ilicfilip changed the title Version bump to 1.10.0 Prepare 1.10.0 release Sep 3, 2026
get_task_id_from_slug() could receive a null post_name/task_id, which
triggers a deprecation notice from explode() on PHP 8.1+. Cast to string.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyrQ9chLywiezXaY9MZz8t
@ilicfilip
ilicfilip requested a review from tacoverdo September 3, 2026 08:12
Plugin Check flagged autoload.php and the two dashboard-widget views as
missing the ABSPATH direct-access guard the other views already have.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyrQ9chLywiezXaY9MZz8t

@tacoverdo tacoverdo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested with PCP and functionally. Good to go.

ilicfilip and others added 2 commits September 3, 2026 11:05
Keep the use declaration as the first statement so the file lints cleanly
across PHP versions; the direct-access guard still runs before any code.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyrQ9chLywiezXaY9MZz8t
The guard broke the parallel-lint checkstyle CI step; autoload.php is not
web-reachable in practice, so drop the guard rather than fight the linter.
The dashboard-widget view guards are kept.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyrQ9chLywiezXaY9MZz8t
@ilicfilip
ilicfilip merged commit f932a39 into develop Sep 3, 2026
22 checks passed
@ilicfilip
ilicfilip deleted the filip/release-1.10.0 branch September 3, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants