Releases: gioxx/YOURLS-PluginManager
Release list
1.2.5
Bug fix
Fix self-update installing to wrong directory when slug differs from repo name
When a plugin's directory name differed from its GitHub repository name (e.g. yourls-plugin-manager vs YOURLS-PluginManager), the installer would always extract the new version into a directory named after the repo, leaving the original directory untouched and YOURLS loading both as separate plugins.
ypm_process_github_url now accepts an optional existing_slug parameter. The update, reinstall, and bulk-update handlers pass the known on-disk slug so the correct target directory is always used. Any stale directory left behind by a previous failed update (named after the GitHub repo) is cleaned up automatically.
1.2.4
1.2.3 – i18n, icon buttons, legend, bug fixes
What's New
- Icon-only action buttons: single compact row of 5 square icon buttons (⏻ · 🔗 · 🔎 · ⬆️ · 🗑️) with tooltips; legend inside the table header explains each icon
- Rebalanced table columns: Plugin 40%, Last Updated 35%, Actions 25%
- Proper emoji centering: all action buttons and the show/hide token toggle are now `` elements
- Update button always visible: blue when an update is available, amber when source-only reinstall is available, greyed out otherwise
- Restore source_only reinstall: plugins tracked from a branch (no GitHub Release) now show an amber ⬆️ button that triggers reinstall from the default branch
- Manual install guide link: the permission-error message now includes a link to the SSH/FTP installation guide at yourls.gioxx.org
- Fix: empty Update form removed: the disabled Update button is now a bare element with no form wrapper
- Fix: recommended plugins install error message renders correctly — failures shown as HTML list matching the URL-based install flow
- Fix: catalog lookup uses keyed array_column map instead of O(n²) nested loop
- Italian translation: 162 strings, 0 untranslated
- Emoji variation selectors: `🗑️` and the token toggle carry the correct U+FE0F selectors
1.2.2 – Recommended plugins quick-install
What's New
- Recommended plugins box: a new section at the bottom of the admin page lists Gioxx's companion plugins (Logo Suite, URL Fallback, Change Notifier, Alternative Index) — install one, several, or all of them in a single click
- Already-installed entries are greyed out and non-selectable
- Select all / Deselect all only affects plugins not yet installed
- The Install selected button is disabled (with a
not-allowedcursor) when nothing is selected
1.2.1
What's changed
- Footer aligned with the reference template:
text-alignchanged fromcentertoleft - Added the
.plugin-footer-topelement with a flex layout: a link to the plugin (yourls.gioxx.org) and a GitHub link on the left, and a "Back to top" button on the right
1.2.0
What's new in 1.2.0
New features
- Sleeky theme support — the admin page is now fully theme-aware and adapts colors for the Sleeky dark theme via CSS variables
- Branch / Release version inputs — when installing from GitHub you can now pin a specific branch or release version; when both are empty the latest Release is used, falling back to the latest Tag, then to the default branch
- ZIP upload — install plugins by uploading a local
.zipfile directly from the admin page; the ZIP can have the plugin at root or inside a single top-level directory - Activate / Deactivate toggle — activate and deactivate plugins directly from the Advanced Plugin Manager page without leaving it
- Per-plugin update check — each plugin row now has its own 🔎 Check button to trigger an on-demand update check for that plugin only
- Source-only detection — plugins whose repository has no Release or Tag (source code only) are flagged clearly so you know update checks may not find anything
- Abandoned repo flagging — repositories that are archived or have been moved/renamed are detected and the plugin is marked as abandoned
UI improvements
- Install-from-GitHub and Upload-ZIP forms are merged into a single panel separated by a divider line, matching the visual standard of other YOURLS plugins (LogoSuite / AlternativeIndex)
- Status column replaced by a colored dot (🟢 active / ⚫ inactive) displayed inline before the plugin name, freeing up column space
- Author and Version columns removed; both values are shown inline after the plugin name (
Plugin Name 1.x (Author)) - Actions column now has four consistently-sized buttons on every row — Activate/Deactivate, 🔎 Check, 🔗 Repository, 🗑 Delete — all equal width via
flex:1, and all always visible (disabled with a tooltip where not applicable) - Repository button replaces separate "Associate repo" / "Change repo" labels with a single neutral "Repository" label that works for both operations
- Buttons aligned to the LogoSuite/ALIGNMENT visual standard:
border-radius:10px, correct padding and font size, consistent hover/disabled states - Notes box matches the info-box style used across other plugins (left-border accent, light blue background)
Bug fixes & polish
- Fixed UI regressions introduced by the PR #8 merge: URL field layout, box spacing, button styles
- Fixed button font size and padding that were lost in the CSS rewrite (buttons appeared much smaller than in 1.1.5)
- Fixed GitHub API call reduction and robust no-release flag handling
- Replaced unreadable
⬆icon on the Upload and Install button with📤
Translations
- 🇳🇱 Dutch (nl_NL) translation added (thanks @toineenzo)
- 🇮🇹 Italian (it_IT) translation updated with all new strings
.pottemplate updated
1.1.5
I haven't officially released versions 1.1.3 and 1.1.4 because they were tested and then - with all the latest updates and fixes - merged directly into version 1.1.5, which is now available for download! 📦 🥳
The most significant change involves clearer feedback when attempting (and failing) to automatically update a plugin (or remove it from the server), a feature that is absolutely essential in environments other than traditional web hosting, where folder write permissions are more "permissive".
What's Changed
- Add manual ZIP fallback when plugins dir is not writable by @gioxx in #5
- Show manual delete path when plugin removal fails by @gioxx in #6
- Release/1.1.5 by @gioxx in #7
Full Changelog: 1.1.2...1.1.5
1.1.2
1.1.1
🆕 What’s New in 1.1.1 (#3)
- UI naming updates:
- plugin menu entry is now Advanced Plugin Manager
- page title is now YOURLS Advanced Plugin Manager
- Plugin submenu quality of life:
- plugin admin sublinks under Manage Plugins are now sorted alphabetically
- Installed plugins header actions:
- added a Manage button that links directly to YOURLS native plugin management page (
admin/plugins.php) - action buttons are now visually consistent
- Update all available is disabled when no updates are available
- added a Manage button that links directly to YOURLS native plugin management page (
- New integrated settings feature:
- built-in
admin_view_per_pagecustomization (no separate plugin needed) - if legacy plugin Custom number of displayed links is detected, an in-panel warning suggests deactivating/removing it
- credit: based on the snippet shared by ozh in YOURLS issue #2339: YOURLS/YOURLS#2339 (comment)
- built-in
Full Changelog: 1.1.0...1.1.1
1.1.0
🆕 What’s New in 1.1.0 (#2)
- Major admin UX refresh:
- install/token drawer refinements
- cleaner actions layout in the installed plugins table
- consistent action button styling
- Repository association workflow improvements:
- modal-based Associate/Change repo flow
- allows association even when a repository exists but has no release/tag yet
- Smarter metadata handling:
- automatic repo pre-association from plugin
Plugin URIheaders - corrected legacy metadata counts (default plugins are excluded)
- header parsing now supports both classic and docblock formats (
Plugin Name:and* Plugin Name:), improving detection compatibility - improved plugin discovery for file-based and folder-based plugins to keep installed/active counts aligned with YOURLS
- automatic repo pre-association from plugin
- Time display improvements:
- times follow YOURLS timezone configuration, with server-time fallback when unavailable
- Codebase cleanup:
- CSS and JS moved to dedicated assets (
assets/admin.css,assets/admin.js) - inline handlers/styles significantly reduced for maintainability
- CSS and JS moved to dedicated assets (
Full Changelog: 1.0.12...1.1.0