release: 3.1.0 → 3.2.0 — rebrand A-WP-Notes → WP Logbook

The plugin's identity has shifted over the day's work — from a notes
pad to a work-logbook with time tracking, earnings, and a Wallet
tile on the v4 roadmap. "WP Notes" undersold what it had become and
collided semantically with WordPress's notes-as-memos connotation;
"WP Logbook" matches both the freelancer use case ("logbook for
clients") and the student use case ("logbook for teachers"), and
matches the exact word the plugin's own About-page intro had been
using all day.

USER-FACING CHANGES
- Plugin Name header: A-WP-Notes → WP Logbook
- Description header rewritten to reflect the work-logbook framing
- Admin menu top-level: WP Notes → WP Logbook
- Admin sidebar submenu: My Notes → My Log (matches new parent —
  reads cleanly as "WP Logbook → My Log")
- Admin bar count menu: WP Notes (N) → WP Logbook (N)
- Dashboard widget title: WP Notes → WP Logbook
- Settings page H1: WP Notes Settings → WP Logbook Settings
- Main page H1: WP Notes → WP Logbook
- About page: every brand mention updated; "Go to WP Notes →" CTA
  now reads "Go to My Log →" to match the new submenu
- About page version history now leads with v3.2.0 (this release)
  as latest, demotes v3.1.0 to the previous entry
- CPT menu_name label: WP Notes → WP Logbook (cosmetic only — CPT
  hidden from admin UI since the duplicate-form fix in v3.1.0)
- Migration notice text updated
- Email-feedback subject + body intro updated
- Legacy feedback.php subjects (WP Notes Feedback / Help Request)
  → WP Logbook variants
- error_log() prefix [WP Notes] → [WP Logbook]

ZERO-MIGRATION COMMITMENT — these stay unchanged
- All wp_notes_* function names
- All WP_NOTES_* constants
- All DB option keys (wp_notes, wp_done_notes, wp_notes_settings,
  wp_notes_migration_completed, wp_notes_version,
  wp_notes_dismissed_empty_active|completed)
- All user_meta keys
- Admin page slug 'wp-notes' (preserves bookmarks, admin-bar
  #new-note anchor, and the legacy ?page=wp-notes-create redirect)
- Plugin text domain 'a-wp-notes'
- File and directory names (wp-notes.php, inc/wp-notes-*.php,
  assets/wp-notes-banner.jpg)
- Gitea repo name (ranger/a-wp-notes-v3) — David can rename on the
  Gitea side separately if he wants

The rename is purely user-facing strings. Existing installs see the
new name appear after a plugin file refresh, with zero behaviour
change. No re-activation needed.

VERSION BUMP
- wp-notes.php header Version: 3.1.0 → 3.2.0
- WP_NOTES_VERSION constant: 3.1.0 → 3.2.0
- CHANGELOG: new [3.2.0] section that bundles the rename with the
  post-3.1.0 unreleased work (About-page rewrite, feedback form)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 08:28:50 +01:00
parent bc7d6986a8
commit 0c20833fe5
6 changed files with 118 additions and 39 deletions
+23 -23
View File
@@ -1,11 +1,11 @@
<?php
/**
* A-WP-Notes - WordPress Task Management Plugin
* WP Logbook — WordPress work-logbook plugin
*
* Plugin Name: A-WP-Notes
* Plugin Name: WP Logbook
* Plugin URI: https://icanhelp.ie/wp-notes
* Description: A plugin to add your notes to the WordPress dashboard with import/export functionality
* Version: 3.1.0
* Description: A lightweight task &amp; logbook plugin for WordPress. Log your daily work, mark tasks done, and keep a tidy record inside the dashboard. Perfect for freelancers showing clients what's been delivered and students proving work to teachers.
* Version: 3.2.0
* Requires at least: 5.0
* Requires PHP: 7.2
* Author: IR240474
@@ -33,7 +33,7 @@ if (!isset($wp_notes_init)) {
$wp_notes_init = true;
// Plugin Constants
if (!defined('WP_NOTES_VERSION')) define('WP_NOTES_VERSION', '3.1.0');
if (!defined('WP_NOTES_VERSION')) define('WP_NOTES_VERSION', '3.2.0');
if (!defined('WP_NOTES_FILE')) define('WP_NOTES_FILE', __FILE__);
if (!defined('WP_NOTES_PATH')) define('WP_NOTES_PATH', plugin_dir_path(__FILE__));
if (!defined('WP_NOTES_URL')) define('WP_NOTES_URL', plugin_dir_url(__FILE__));
@@ -44,7 +44,7 @@ if (!isset($wp_notes_init)) {
if (!function_exists('wp_notes_log_error')) {
function wp_notes_log_error($message) {
if (defined('WP_DEBUG') && WP_DEBUG === true) {
error_log('[WP Notes] ' . $message);
error_log('[WP Logbook] ' . $message);
}
}
}
@@ -168,17 +168,17 @@ if (defined('WP_NOTES_PATH')) {
// Admin Menu
function wp_notes_admin_menu() {
add_menu_page(
'WP Notes',
'WP Notes',
'WP Logbook',
'WP Logbook',
'manage_options',
'wp-notes',
'wp_notes_page_callback',
'dashicons-admin-generic',
3
);
// "My Notes" — the main landing submenu. Same slug as the parent
// menu so clicking either WP Notes or My Notes lands on the same
// "My Log" — the main landing submenu. Same slug as the parent
// menu so clicking either WP Logbook or My Log lands on the same
// central dashboard (the parent's wp_notes_page_callback already
// renders form + active list + completed list).
//
@@ -190,8 +190,8 @@ function wp_notes_admin_menu() {
// content. Empty callback means only the parent's renderer fires.
add_submenu_page(
'wp-notes', // Parent slug
'My Notes', // Page title (browser tab)
'My Notes', // Menu label (sidebar)
'My Log', // Page title (browser tab)
'My Log', // Menu label (sidebar)
'manage_options', // Capability
'wp-notes', // Menu slug (matches parent → same page)
'' // Empty callback — see comment above
@@ -217,7 +217,7 @@ function wp_notes_admin_menu() {
'wp_notes_import_export_page'
);
// About submenu — the WP Notes brand is already carried by the
// About submenu — the WP Logbook brand is already carried by the
// parent menu, so the submenu can be plain-spoken.
add_submenu_page(
'wp-notes',
@@ -290,7 +290,7 @@ function wp_notes_settings_page() {
settings_errors('wp_notes_settings');
?>
<div class="wrap">
<h1>WP Notes Settings</h1>
<h1>WP Logbook Settings</h1>
<form method="post" action="options.php">
<?php
settings_fields('wp_notes_settings');
@@ -304,7 +304,7 @@ function wp_notes_settings_page() {
// Settings section callback
function wp_notes_section_callback() {
echo '<p>Configure default settings for WP Notes.</p>';
echo '<p>Configure default settings for WP Logbook.</p>';
}
// Font setting callback
@@ -696,8 +696,8 @@ function wp_notes_ajax_submit_feedback() {
];
$topics_pretty = array_map(function ($t) use ($topic_labels) { return $topic_labels[$t] ?? $t; }, $topics);
$subject = sprintf('[%s] WP Notes feedback from %s', $site, $user->display_name ?: $user->user_login);
$body = "Feedback received via WP Notes → About page\n";
$subject = sprintf('[%s] WP Logbook feedback from %s', $site, $user->display_name ?: $user->user_login);
$body = "Feedback received via WP Logbook → About page\n";
$body .= str_repeat('-', 48) . "\n\n";
$body .= 'From: ' . ($user->display_name ?: $user->user_login) . ' <' . $user->user_email . ">\n";
$body .= 'Site: ' . home_url() . "\n";
@@ -811,7 +811,7 @@ function wp_notes_save_edit() {
}
/**
* Main WP Notes Page - Central hub for note management
* Main WP Logbook page — central hub for note management
*/
function wp_notes_page_callback() {
if (!current_user_can('edit_posts')) {
@@ -831,7 +831,7 @@ function wp_notes_page_callback() {
?>
<div class="wrap">
<!-- Header Section with WordPress Admin Styling -->
<h1 class="wp-heading-inline">WP Notes</h1>
<h1 class="wp-heading-inline">WP Logbook</h1>
<span class="page-title-action">v<?php echo esc_html(WP_NOTES_VERSION); ?></span>
<hr class="wp-header-end">
@@ -1387,7 +1387,7 @@ function wp_notes_dashboard_widget() {
function wp_notes_add_dashboard_widgets() {
wp_add_dashboard_widget(
'wp_notes_dashboard_widget',
'WP Notes',
'WP Logbook',
'wp_notes_dashboard_widget'
);
}
@@ -1398,7 +1398,7 @@ function wp_notes_register_cpt() {
$labels = array(
'name' => __('Notes', 'a-wp-notes'),
'singular_name' => __('Note', 'a-wp-notes'),
'menu_name' => __('WP Notes', 'a-wp-notes'),
'menu_name' => __('WP Logbook', 'a-wp-notes'),
'add_new' => __('Add New', 'a-wp-notes'),
'add_new_item' => __('Add New Note', 'a-wp-notes'),
'edit_item' => __('Edit Note', 'a-wp-notes'),
@@ -1631,7 +1631,7 @@ function wp_notes_migration_notice() {
?>
<div class="notice notice-info is-dismissible">
<p>
<?php _e('WP Notes needs to migrate your existing notes to the new storage system.', 'a-wp-notes'); ?>
<?php _e('WP Logbook needs to migrate your existing notes to the new storage system.', 'a-wp-notes'); ?>
<a href="<?php echo esc_url(admin_url('admin.php?page=wp-notes-settings&action=migrate')); ?>" class="button button-primary">
<?php _e('Start Migration', 'a-wp-notes'); ?>
</a>