release: 3.2.0 → 3.3.0 — self-hosted update checker (Gitea API)
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>
This commit is contained in:
+11
-2
@@ -5,7 +5,7 @@
|
||||
* Plugin Name: WP Logbook
|
||||
* Plugin URI: https://icanhelp.ie/wp-notes
|
||||
* 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
|
||||
* Version: 3.3.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.2.0');
|
||||
if (!defined('WP_NOTES_VERSION')) define('WP_NOTES_VERSION', '3.3.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__));
|
||||
@@ -162,6 +162,7 @@ if (defined('WP_NOTES_PATH')) {
|
||||
require_once WP_NOTES_PATH . 'inc/wp-notes-feedback.php';
|
||||
require_once WP_NOTES_PATH . 'inc/wp-notes-display.php';
|
||||
require_once WP_NOTES_PATH . 'inc/wp-notes-styles.php';
|
||||
require_once WP_NOTES_PATH . 'inc/wp-notes-updater.php';
|
||||
}
|
||||
|
||||
|
||||
@@ -298,6 +299,14 @@ function wp_notes_settings_page() {
|
||||
submit_button();
|
||||
?>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
// Updates panel — checks the Gitea repo for a newer release.
|
||||
// Defined in inc/wp-notes-updater.php.
|
||||
if ( function_exists( 'wp_notes_render_updates_panel' ) ) {
|
||||
wp_notes_render_updates_panel();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user