=== Umbra Bookshelf ===
Contributors: umbratools
Tags: books, series, isbn, authors, newsletter, publishing
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Stable tag: 1.0.0
License: Apache-2.0
License URI: https://www.apache.org/licenses/LICENSE-2.0
Complete book management for authors and publishers: catalogue and ISBN tracking, series, pen names, retail links, rating sync, GDPR consent, and newsletter delivery.
== Description ==
Umbra Bookshelf is a single plugin covering the full book workflow. It
consolidates three previously separate plugins:
* **Books** (formerly BD Bookshelf) — the catalogue: ISBN/ASIN variants,
author records, series, retail sites and per-format buy links, Goodreads and
Amazon rating synchronisation, SEO rows, shortlink click tracking, GDPR
consent banners, and CSV/post import.
* **Library** (formerly BD BookShelfHelper) — the WordPress-native model: the
`book` post type and `series` taxonomy, pen names, a focused data-entry
screen, shortlinks, reviews and ratings, plus a migration screen.
* **Email** (formerly BD SimpleEmail) — newsletter delivery: subscribers and
newsletters, a `[bdm_signup]` shortcode, signup and unsubscribe handling via
AJAX and `admin_post`, Gemini-assisted composition, and Gmail/SMTP sending.
Everything now sits under a single **Umbra Bookshelf** admin menu.
= Upgrading from the old plugins =
Umbra Bookshelf reads and writes the same database tables, option keys, post
meta, cron hooks and shortcodes as the three plugins it replaces. Existing data
is picked up as-is; no migration is required.
Install Umbra Bookshelf, then deactivate BD Bookshelf, BD BookShelfHelper and
BD SimpleEmail. **Do not delete** them from the Plugins page first — deleting
runs their uninstall routines, which drop your tables and options.
The shortcodes `[bd-book]`, `[bd-books]` and `[bdm_signup]` are unchanged, so
existing posts keep working. The admin menu locations have changed: see the
specification in `spec/SPEC_Umbra_Bookshelf_Plugin.md` for the full menu map.
== Frequently Asked Questions ==
= Do I need to migrate my books? =
No. Table names, option keys, post meta keys and shortcodes are deliberately
unchanged. Deactivate the old plugins rather than deleting them.
= The admin menu looks different. =
It is one menu now instead of three. The catalogue, library and email screens
are all still present as submenus, and Settings is split into catalogue
settings and library settings.
= Are there known problems? =
Yes — see `docs/KNOWN-ISSUES.md`. The most significant is that the catalogue and
library modules both create `bd_books` and `bd_series` with different schemas,
inherited from the old plugins. If you ran more than one of them together, check
that screen before relying on it.
== Changelog ==
= 1.0.0 =
* Initial release of the consolidated plugin.
* Merged BD Bookshelf, BD BookShelfHelper and BD SimpleEmail into one plugin
under a single admin menu.
* Renamed plugin headers, text domains, classes, constants, asset handles and
admin slugs to the Umbra Bookshelf identity.
* Preserved all database tables, option keys, post meta, cron hooks, nonces and
shortcodes, so existing installs need no migration.
* Registered the top-level admin menu once instead of three times.
* Fixed a duplicate-class fatal error between the catalogue's theme-compatibility
shim and the library module's helper class.
* Fixed duplicate AJAX handler, duplicate Settings submenu, and colliding asset
handles across modules.
* Added `spec/SPEC_Umbra_Bookshelf_Plugin.md`, `docs/KNOWN-ISSUES.md`,
`docs/ARCHITECTURE.md`, and the `tests/` verification suite.