The v3.3.0 update checker only queried Gitea's /releases/latest
endpoint, which requires a formal Release object (created via the
Gitea web UI with optional notes + zip assets attached). A plain
"git tag v3.3.x && git push --tags" from the terminal does NOT
create that Release object — so the checker kept returning "No
releases tagged on the Gitea repo yet" even when tags existed.
wp_notes_fetch_latest_release() now falls back to the
/tags?limit=1 endpoint when /releases/latest returns 404 (or any
non-200). It synthesises a release-like payload from the newest
tag — tag_name, html_url pointing at the tag view, tag message as
the body, empty assets[] so the existing download-URL logic falls
through to Gitea's source-archive URL pattern (/archive/<tag>.zip).
Net effect: the "Check now" button now finds the latest version
whether David creates formal Gitea Releases OR just pushes tags
with "git push --tags". No workflow change required.
Discovered while diagnosing why "Check now" wasn't seeing today's
v3.1.0/v3.2.0/v3.3.0/v3.3.1 tags (just pushed in this session)
— the tags were there, the formal Release objects were not.
KNOWN LIMITATION (not a bug — flagged)
The Gitea repo ranger/a-wp-notes-v3 is currently private. Anonymous
API requests get a 404 (Gitea's standard behaviour for private
repos). The updater code is correct but can't actually reach the
API on a private repo without authentication. Fix: change the
repo visibility to public on Gitea — appropriate anyway for a
GPL-licensed plugin headed for the WordPress.org marketplace.
VERSION BUMP
- wp-notes.php header 3.3.1 → 3.3.2
- WP_NOTES_VERSION constant 3.3.1 → 3.3.2
- About page version-history leads with v3.3.2; v3.3.1 demoted
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
David's call after a short discussion about WordPress.org marketplace
considerations. WP.org's trademark policy historically discourages
plugins implying official endorsement via a "WP" prefix and has been
known to request rename during submission review. Dropping it now
makes the name cleaner AND sidesteps that future hurdle if/when the
plugin lands on the marketplace.
CHANGES
All user-facing brand mentions: WP Logbook → Logbook across:
- Plugin header (Plugin Name + docblock)
- Admin menu top-level
- Admin sidebar submenu label still "My Log" (already prefix-free)
- Admin bar count menu
- Dashboard widget title
- Settings page H1
- Main page H1
- About page intro card + "What Logbook does" card heading
- Email feedback subject + body intro
- Legacy feedback.php subject lines
- error_log() prefix [WP Logbook] → [Logbook]
- Updater panel description text
- styles.php docblock
VERSION
- wp-notes.php header Version: 3.3.0 → 3.3.1
- WP_NOTES_VERSION constant: 3.3.0 → 3.3.1
- About page version-history card gets new top entry for v3.3.1
with green "latest" pill; v3.3.0 demoted to previous entry
- CHANGELOG header line tracks the full naming lineage now:
A-WP-Notes (≤v3.1.0) → WP Logbook (v3.2.0-v3.3.0) → Logbook
(v3.3.1+)
NOTABLY NOT CHANGED
- Historical CHANGELOG entries for v3.2.0 still say "WP Logbook" —
that was the correct name at the time, rewriting would be
revisionist.
- Same zero-migration commitment: internal function names,
constants, DB option keys, user_meta keys, file paths, plugin
slug 'wp-notes', and text domain 'a-wp-notes' all unchanged.
- Pure user-facing string change. No data migration, no behaviour
change. Existing installs see "Logbook" appear on next page
refresh.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
WP Logbook is hosted on the author's own Gitea instance
(git.davidtkeane.com), not on WordPress.org, so WP's built-in update
flow doesn't see new releases. This release adds a Settings →
Updates panel that polls Gitea's Releases API and reports whether
a newer version is available.
CHANGES
- inc/wp-notes-updater.php: full rewrite of the previous broken stub
(it had a hard require on a non-existent vendor path and was never
included from the main plugin file anyway).
- wp_notes_fetch_latest_release() hits
/api/v1/repos/<owner>/<repo>/releases/latest, parses, normalises.
Prefers a .zip asset attached to the release; falls back to
Gitea's source-archive zip URL.
- wp_notes_update_status() compares against WP_NOTES_VERSION and
returns 'available' | 'up-to-date' | 'unknown' (the last when no
release has been tagged yet — graceful first-run UX since the
repo currently has zero tags).
- New AJAX endpoint wp_notes_check_updates, capability-gated
(manage_options) + nonce-protected. Force-refreshes the cache.
- Settings page now renders the Updates panel via
wp_notes_render_updates_panel() — current status text, "Check
now" button, View on Gitea / View all releases quick links,
manual-install instructions, and a Download .zip button + View
release notes link when an update is detected.
- wp-notes.php require_once chain now includes the updater file.
CACHING
- Successful fetches: 12h site transient.
- Negative responses (404 = no releases yet): 1h so a freshly-
tagged release shows up quickly.
INSTALLATION FLOW (intentionally manual)
The panel does NOT auto-install. Manual path printed in the panel:
download .zip → deactivate → upload via Plugins → Add New → Upload
→ reactivate. Notes live in wp_options so they survive the upgrade.
ALSO IN 3.3.0
- Section heading rename carried from the previous unreleased
block: "Add New Note" → "New Log Entry"; "Notes Todo List:" →
"Log entries". Row-level "note" labels intentionally unchanged.
VERSION BUMP
- wp-notes.php header 3.2.0 → 3.3.0
- WP_NOTES_VERSION constant 3.2.0 → 3.3.0
- About page version history leads with v3.3.0 as latest, demotes
v3.2.0 to previous entry
NOTES FOR FUTURE-CLAUDE
- Gitea repo currently has ZERO release tags. First run will show
"No releases tagged on the Gitea repo yet." Tag v3.2.0 / v3.3.0
on Gitea and the checker will start reporting versions.
- Repo coordinates live in three constants at the top of
inc/wp-notes-updater.php (WP_NOTES_GITEA_HOST, _OWNER, _REPO).
Override via define() in wp-config.php if the repo ever moves.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Imports the v3.0.2 line of A-WP-Notes as it existed on M5 at:
Local Sites/wordpress/public/wp-content/plugins/a-wp-notes/
This is a deliberately minimal parallel fork of the plugin, distinct
from the v1.2.0 line in ranger/a-wp-notes. It carries only the core
note-taking functionality:
wp-notes.php — plugin bootstrap + admin UI
inc/wp-notes-display.php — note rendering
inc/wp-notes-about.php — About page
inc/wp-notes-feedback.php — feedback module
inc/wp-notes-styles.php — style enqueues
inc/wp-notes-updater.php — self-hosted updater stub
inc/admin-bar.php — admin bar integration
js/wp-notes-feedback.js — feedback front-end
js/Chart.js — charting (bundled)
assets/wp-notes-banner.jpg — plugin banner
The AI ecosystem (chat, personalities, MCP), speed-test system, OS info
pages, and the bulk of the v1.2.0 / v2.0.x feature surface are
intentionally absent — this fork was created by copying the plugin to a
second WP install and trimming back to a lighter baseline.
Archived for comparison and parallel-line testing. No further development
is planned on this line; the active line continues at v1.2.0 in
ranger/a-wp-notes.