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:
+76
-1
@@ -1,12 +1,87 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to **A-WP-Notes** are documented here.
|
||||
All notable changes to **WP Logbook** (formerly **A-WP-Notes** through v3.1.0) are documented here.
|
||||
Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versioning: [SemVer](https://semver.org/).
|
||||
|
||||
---
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
---
|
||||
|
||||
## [3.2.0] — 2026-05-25
|
||||
|
||||
**Plugin rebrand: `A-WP-Notes` → `WP Logbook`.** Bundles the rename
|
||||
with the About-page rewrite and the working Leave-Feedback form that
|
||||
were sitting in the post-3.1.0 unreleased block.
|
||||
|
||||
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-proof-of-work use case
|
||||
("logbook for clients") and the student-evidence-of-work use case
|
||||
("logbook for teachers"), and matches the exact word the plugin's
|
||||
own About-page intro had been using all day.
|
||||
|
||||
### Changed
|
||||
- **Plugin Name** header: `A-WP-Notes` → `WP Logbook`.
|
||||
- **Description** header rewritten from "A plugin to add your notes
|
||||
to the WordPress dashboard with import/export functionality" to
|
||||
*"A lightweight task & 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 bumped** v3.1.0 → v3.2.0 (header + `WP_NOTES_VERSION`
|
||||
constant).
|
||||
- **Admin menu top-level** `WP Notes` → `WP Logbook`.
|
||||
- **Admin sidebar submenu** `My Notes` → `My Log` (matches the
|
||||
new parent name; 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 (intro card, "What WP
|
||||
Logbook does" heading, "Go to My Log →" CTA on the side-by-side
|
||||
intro that used to say "Go to WP Notes →").
|
||||
- **About page version history** now leads with v3.2.0 (this
|
||||
release) as `latest` and demotes v3.1.0 to the previous entry.
|
||||
- **CPT `menu_name` label** `WP Notes` → `WP Logbook` (cosmetic
|
||||
only; CPT is hidden from admin UI since the duplicate-form fix in
|
||||
v3.1.0).
|
||||
- **Migration notice text** "WP Notes needs to migrate…" → "WP
|
||||
Logbook needs to migrate…".
|
||||
- **Email-feedback subject** `[Site] WP Notes feedback from X` →
|
||||
`[Site] WP Logbook feedback from X`. Body intro line same change.
|
||||
- **Legacy feedback.php subjects** (`WP Notes Feedback` /
|
||||
`WP Notes Help Request`) → `WP Logbook Feedback` /
|
||||
`WP Logbook Help Request`. These render only if the unused legacy
|
||||
feedback file is ever required-in; brought along for hygiene.
|
||||
- **`error_log()` prefix** `[WP Notes]` → `[WP Logbook]`.
|
||||
|
||||
### Notably NOT changed (zero-migration commitment)
|
||||
- **All internal function names** keep `wp_notes_*` prefix.
|
||||
- **All constants** keep `WP_NOTES_*` names.
|
||||
- **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`)
|
||||
stay as-is. **No data migration runs on upgrade.**
|
||||
- **All `user_meta` keys** stay as-is.
|
||||
- **Admin page slug** `wp-notes` stays — preserves bookmarks, the
|
||||
admin-bar `#new-note` anchor, and the legacy
|
||||
`?page=wp-notes-create` → `?page=wp-notes` redirect added in
|
||||
v3.1.0.
|
||||
- **Plugin text domain** `a-wp-notes` stays — would otherwise
|
||||
invalidate any future translation files.
|
||||
- **File and directory names** unchanged (`wp-notes.php`,
|
||||
`inc/wp-notes-*.php`, `assets/wp-notes-banner.jpg`). The Gitea
|
||||
repo `ranger/a-wp-notes-v3` is unchanged too — David can rename
|
||||
it 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.
|
||||
|
||||
### Changed — Leave Feedback form (more options, multi-select, wired to email)
|
||||
The right-column "Leave Feedback" form on the About page has been
|
||||
expanded from two radio buttons to **seven checkboxes** (users can
|
||||
|
||||
+2
-2
@@ -40,10 +40,10 @@ function wp_notes_admin_bar_menu($wp_admin_bar) {
|
||||
$notes = get_option('wp_notes', array());
|
||||
$count = count($notes);
|
||||
|
||||
// Main WP Notes menu item
|
||||
// Main WP Logbook menu item
|
||||
$wp_admin_bar->add_node(array(
|
||||
'id' => 'wp-notes',
|
||||
'title' => sprintf('WP Notes <span class="count">%d</span>', $count),
|
||||
'title' => sprintf('WP Logbook <span class="count">%d</span>', $count),
|
||||
'href' => admin_url('admin.php?page=wp-notes'),
|
||||
));
|
||||
|
||||
|
||||
+13
-9
@@ -2,7 +2,7 @@
|
||||
// wp-notes-about.php
|
||||
|
||||
/**
|
||||
* Function to display the "About" page for WP Notes plugin.
|
||||
* Function to display the "About" page for WP Logbook plugin.
|
||||
*/
|
||||
function wp_notes_about_page() {
|
||||
?>
|
||||
@@ -53,13 +53,13 @@ function wp_notes_about_page() {
|
||||
<div class="wp-notes-about-intro">
|
||||
<div class="wp-notes-about-intro__img">
|
||||
<img src="<?php echo esc_url(WP_NOTES_URL); ?>assets/wp-notes-banner.jpg"
|
||||
alt="WP Notes banner">
|
||||
alt="WP Logbook banner">
|
||||
</div>
|
||||
<div class="wp-notes-about-intro__body">
|
||||
<h2>WP Notes <span style="color:#646970; font-weight:400;">v<?php echo esc_html(WP_NOTES_VERSION); ?></span></h2>
|
||||
<p>WP Notes is a lightweight task & logbook plugin for WordPress. Log your daily work, mark tasks as done, and keep a tidy history right inside the dashboard — perfect for freelancers showing clients what's been delivered.</p>
|
||||
<h2>WP Logbook <span style="color:#646970; font-weight:400;">v<?php echo esc_html(WP_NOTES_VERSION); ?></span></h2>
|
||||
<p>WP Logbook is a lightweight task & logbook plugin for WordPress. Log your daily work, mark tasks as done, and keep a tidy record right inside the dashboard — perfect for freelancers showing clients what's been delivered.</p>
|
||||
<p style="margin-bottom:0;">
|
||||
<a href="<?php echo esc_url(admin_url('admin.php?page=wp-notes')); ?>" class="button button-primary">Go to WP Notes →</a>
|
||||
<a href="<?php echo esc_url(admin_url('admin.php?page=wp-notes')); ?>" class="button button-primary">Go to My Log →</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -101,10 +101,10 @@ function wp_notes_about_page() {
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- What WP Notes does -->
|
||||
<!-- What WP Logbook does -->
|
||||
<div class="wp-notes-about-card">
|
||||
<h2>What WP Notes does</h2>
|
||||
<p>WP Notes is a lightweight task & logbook plugin that lives entirely inside the WordPress admin. Type a note, format it with colour / size / font / emoji, mark it done when the work is finished, restore it later if you need to revisit. Everything is stored in the site's own database — nothing leaves your server.</p>
|
||||
<h2>What WP Logbook does</h2>
|
||||
<p>WP Logbook is a lightweight task & logbook plugin that lives entirely inside the WordPress admin. Type a note, format it with colour / size / font / emoji, mark it done when the work is finished, restore it later if you need to revisit. Everything is stored in the site's own database — nothing leaves your server.</p>
|
||||
<p>I built it for my own client work as a transparent “here's what I did this week” logbook, so customers can see clearly what they're paying for. It turned out to be just as useful for any small team or single user who wants notes attached to the WordPress dashboard rather than a separate app.</p>
|
||||
</div>
|
||||
|
||||
@@ -125,7 +125,11 @@ function wp_notes_about_page() {
|
||||
<h2>Version history</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="ver">v3.1.0</span> — 25 May 2026 <span class="latest">latest</span><br>
|
||||
<span class="ver">v3.2.0</span> — 25 May 2026 <span class="latest">latest</span><br>
|
||||
Renamed to <strong>WP Logbook</strong> to match what the plugin is actually becoming — a work logbook for freelancers and students, not just a notes pad. Menu submenu renamed <em>My Notes</em> → <em>My Log</em>. Internal storage and slugs unchanged, no data migration.
|
||||
</li>
|
||||
<li>
|
||||
<span class="ver">v3.1.0</span> — 25 May 2026<br>
|
||||
UX polish + bug-fix pass. Single-H1 cleanup, banner moved to this About page, menu renamed to <em>My Notes</em>, duplicate forms removed, empty-state notice now persistently dismissible per-user via <code>user_meta</code>, Tools shortcut retired with a backward-compatible redirect.
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/**
|
||||
* Feedback Form for WP Notes Plugin
|
||||
* Feedback Form for WP Logbook Plugin
|
||||
*
|
||||
* This file contains the HTML and AJAX handling for the feedback form.
|
||||
*/
|
||||
@@ -95,7 +95,7 @@ function wp_notes_submit_feedback() {
|
||||
|
||||
// Example: Send feedback via email
|
||||
$to = 'david@icanhelp.ie';
|
||||
$subject = 'WP Notes Feedback';
|
||||
$subject = 'WP Logbook Feedback';
|
||||
$body = "Name: $name\nEmail: $email\nMessage: $message";
|
||||
$headers = array('Content-Type: text/plain; charset=UTF-8');
|
||||
|
||||
@@ -148,7 +148,7 @@ function wp_notes_submit_help() {
|
||||
|
||||
// Example: Send help request via email
|
||||
$to = 'david@icanhelp.ie';
|
||||
$subject = 'WP Notes Help Request';
|
||||
$subject = 'WP Logbook Help Request';
|
||||
$body = "Name: $name\nEmail: $email\nMessage: $message";
|
||||
$headers = array('Content-Type: text/plain; charset=UTF-8');
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ if (!defined('ABSPATH')) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Add required styles for WP Notes
|
||||
* Add required styles for WP Logbook
|
||||
*/
|
||||
function wp_notes_admin_styles() {
|
||||
?>
|
||||
|
||||
+23
-23
@@ -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 & 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>
|
||||
|
||||
Reference in New Issue
Block a user