=== VEFmusic ===
Contributors: vimagesericfabre
Author URI: https://v-images.com
Tags: music, band, audio player, gutenberg blocks, events
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.2
Stable tag: 2.16.10
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Showcase your band online: audio player, albums, shows, an auto-generated press kit, SEO data — native blocks, no shortcode.

== Description ==

VEFmusic is a free plugin for a band's website: an audio player with tracks and albums, a show calendar, an auto-generated press kit for media and journalists, visitor ratings, and automatic SEO structured data — all through native blocks, no shortcode required.

**Press kit generator (EPK) — built in, free**

Generate a professional PDF press kit in one click, built directly from your existing tracks, albums, shows and band bio — no separate document to write and keep up to date by hand.

* Auto-built from your published content: biography, links & social media, albums with covers, upcoming shows
* Add as many custom text sections as you need, each with its own title — rich text (bold, italic, lists, clickable links)
* Choose the order sections appear in, to match how you want to present your band
* Multi-page PDF with fully automatic pagination — a long biography or a long custom section is never cut off
* Optional downloadable zip: PDF + album covers + selected audio previews + extra photos
* Optional contact form gate (off by default), with a log of received requests in the admin

**Content**

* Track, Album and Show post types, with a Genre taxonomy
* Bulk import: select several audio files at once (e.g. a whole album) to create matching draft tracks in one go, with tags read automatically (title, duration, track number, album, genre) — reviewed and confirmed before publishing
* Track: duration, parent album, listening mode (preview, free full listen, or buyers only), audio file (MP3, WAV, FLAC, OGG, M4A)
* Album: release year, front/back cover, collapsible tracklist
* Show: date, venue, address, image, external ticketing link, optional venue link, free-text price note

**Player**

* SVG icons, clickable progress bar, volume, a real-time audio equalizer
* Fully keyboard-accessible, with ARIA labels reflecting the real playback state
* Automatic lightweight MP3 version generated from a FLAC/WAV master file where hosting allows it

**Accessibility**

* Player: keyboard-operable progress bar and volume, ARIA labels reflecting the real playback state, visible keyboard focus
* Visitor rating form: grouped/labeled star options, screen-reader-only labels, live status region on submission
* Lyrics toggle: proper expanded/collapsed state exposed to assistive technology
* Descriptive alt text on show posters and album covers; external links (tickets, venue, social) flagged as opening a new tab
* Random Player block: an in-admin warning flags that autoplaying sound can be an obstacle for visually impaired visitors relying on a screen reader — weigh this before using it on your site

**Blocks**

Six native Gutenberg blocks — Track List, Album, Shows, Next Show, Past Shows, Random Player — with six matching native Divi 5 modules and six matching native Elementor widgets, all sharing the same server-side rendering.

**More**

* Visitor ratings (moderated) for tracks, albums and shows
* Automatic schema.org structured data for search engines
* Anonymous listening statistics — no IP address, cookie or identifier ever stored
* Settings export/import for deploying the same identity/style on a new site
* Optional "Enlarge on click" on show posters and album covers (front and back), per block — off by default

= Selling music? VEFmusic Pro =

VEFmusic itself never sells anything — it stays a pure showcase plugin, forever free. [VEFmusic Pro](https://v-images.com/plugin-vefmusic/) is a separate paid extension (installed in addition to VEFmusic, which it requires) adding a full sales and ticketing layer:

* Sell individual tracks and albums, with secure time-limited download links
* Accept donations
* Merch store — your own products, or print-on-demand via Printful with no separate store plugin
* Internal ticketing with QR-code entry, in addition to the free external ticketing link
* Promo codes
* Preorders / crowdfunding campaigns, with optional funding tiers
* Customer accounts — no WordPress account required, secure passwordless access by email link
* Revenue split tracking between band members
* Sales statistics and accounting export (CSV)
* PayPal and Stripe payment
* Admin-managed refunds, including legally compliant withdrawal/right-of-return handling

Every Pro feature reuses your existing VEFmusic content (tracks, albums, shows) — nothing to set up twice.

== Installation ==

1. Upload the `vefmusic` folder to `/wp-content/plugins/`, or install it through the WordPress admin under Plugins > Add New.
2. Activate the plugin.
3. Go to **VEFmusic > Settings > General** to enter your band's identity.
4. Add your tracks, albums and shows, then place the blocks on your pages.

== Frequently Asked Questions ==

= Does this plugin sell anything? =

No. VEFmusic is a showcase plugin only. Selling tracks, albums, merch, tickets, or accepting donations requires the separate VEFmusic Pro extension.

= Do I need Divi or Elementor? =

No. VEFmusic works with the native WordPress block editor (Gutenberg) out of the box. Divi 5 and Elementor support is provided in addition, not required.

= Where are my audio files stored? =

Outside the media library, in a protected location never accessible by direct link — playback always goes through an access check based on the track's listening mode.

= Can I use this plugin for any band, or is it built for a specific one? =

VEFmusic is fully generic: nothing is hard-coded, everything comes from your own settings and content.

== External services ==

This plugin connects to a support service operated by V-IMAGES (v-images.com), the plugin's publisher, only when you explicitly fill in and submit the "Support & feature requests" form (VEFmusic > Help > Support & feature requests tab). It is never contacted automatically or in the background.

When you submit that form, the following is sent: your reply-to email address, the subject and message you typed, your site's URL, the VEFmusic (and, if installed, VEFmusic Pro) version numbers, your WordPress version, your PHP version, and your active theme's name and version. This lets the publisher reply to your request with the relevant technical context, without you having to copy it in by hand.

The plugin also connects to the same V-IMAGES service for the optional free license (VEFmusic > Help > About), and only if you ask for it: nothing is sent until you fill in the form and tick the consent box. The free license unlocks nothing — the plugin works exactly the same without it; it only lets the publisher send you news and offers, and identify your site when you ask for support.

When you register, the following is sent: the email address you typed, the exact consent text you agreed to, your site's URL, the VEFmusic version and your site's language. While you are registered, each time you open the About or General screen the plugin checks the registration status (on each of those screens until you confirm by email, then once a week), sending your license key, your site's URL and the VEFmusic version. When you unregister, the plugin asks the service to delete your data. Your free license key is also added to support requests you send.

This service is provided by V-IMAGES (Eric Fabre): [Terms of use](https://v-images.com/cgv-cgu/), [Privacy policy](https://v-images.com/politique-de-cookies-eu/).

== Screenshots ==

1. Album block: cover that flips to the back cover, global player and collapsible track list. The buy buttons shown here come with VEFmusic Pro.
2. Track list while a track plays: equalizer bars and progress bar follow your Style settings.
3. Album block with the track list collapsed by default.
4. Shows block, featured mode: next concert with countdown. The ticket button comes with VEFmusic Pro.
5. Shows block, list mode.
6. Settings > General: band identity.
7. Settings > General: playback options and copyright notice.
8. Settings > Style: colors, button shadow and font.
9. Products > Tracks: all tracks in one editable list.
10. Products > Albums: albums with covers, year, price and status.
11. Marketing > Press kit: generated PDF and zip with a stable download link.
12. Help: getting started in seven steps.

== Changelog ==

= 2.16.10 =
* Fixed: in the press kit, images inserted in a text section or column with "Add Media" were missing from the PDF when the image was wrapped in a link, followed by a line break, or placed next to another image in the same paragraph. They are now all included, one under the other.

= 2.16.9 =
* Changed: the progress bar of the track being played now has the same LED-style, VU-meter look as the equalizer (accent colour at the bottom, peak colour at the top), and follows the same Style settings.
* Changed: a few help texts no longer call the plugin "VEFmusic (free)"; it is simply VEFmusic.
* Changed: layout refinements to the blocks (text labels, badges, toggle buttons, album cover and zoom button now use flex layout so themes cannot misalign them; the buy button of the Shows block keeps its own layout).

= 2.16.8 =
* Fixed: in a "Two columns" press kit section, switching a column to "Text" left its editor disabled, so the text typed there was not saved.
* Fixed: removing a media section and then adding a new text section by Ajax could give two editors the same identifier. Editors are now identified by their section, not by their position.
* Fixed: clicking two "Add a ... section" buttons in quick succession could lose one of the two sections. Only one addition runs at a time.

= 2.16.7 =
* Fixed: saving the press kit could silently wipe or mix up the content of its media sections. When a kit had several sections of different types (text, photos, documents, audio, two columns), saving the page — even without changing anything — could empty the text, the selected files or the colors of every section after the first, or move them to another section. This also affected the additional kits of VEFmusic Pro. The fields of each section are now numbered section by section and read by name, so a save keeps exactly what is on screen. Sections already emptied by an earlier save cannot be recovered automatically: check your kit and re-enter what is missing.

= 2.16.6 =
* Fixed: Shows block (ticket-style layout) — the blocks inside a show now wrap onto a new line when there is not enough room, instead of squeezing together.

= 2.16.5 =
* Improved: a new look for the whole admin. Every screen has a header in the color scheme you chose in WordPress, with the name of the page, what it is for and the version; the tabs are pills with an icon, and a red counter shows how many visitor ratings wait for your approval.
* Improved: the menu now follows how you work — Products, Sales, Marketing, Settings, Help. "About" and "Diagnostics" moved to the Help page, and the menu entry of a page stays highlighted on each of its tabs. Every address, form and bookmark keeps working.
* Added: the "Help" button of WordPress now works on every screen of the plugin, with a few short topics for that screen.
* Improved: the Help tab is now a getting started guide in seven steps, each one with its place in the menu, followed by the detailed reference in folded sections (nothing was removed). "About" has a new "Where to find what" section.
* Improved: the bulk import of tracks has the same header and tabs as the other Products screens.
* Fixed: menu paths quoted in the help texts now match the new menu.
* Fixed: the link to the General settings at the top of the Press kit screen was always shown in French; it is now translatable.

= 2.16.4 =
* Added: a new action, `vefm_concert_duplicated`, fires when a show is duplicated from the Shows list, so extensions can copy their own per-show data (VEFmusic Pro uses it to copy the ticket zones).

= 2.16.3 =
* Changed: the button that flips the album cover now shows two opposite horizontal arrows instead of two circular arrows, on the album cover and in the enlarged view.
* Fixed: random player — its inner padding now matches the track players by default (10px 16px). It used to scale with the theme's text size and could look larger than the tracks.

= 2.16.2 =
* Added: "Enlarge on click" setting (off by default) on the Album, Shows, Next Show and Past Shows blocks, Divi 5 modules and Elementor widgets: a click on the album cover or the show poster opens it in a larger view, with a flip button when the album has a back cover. The background takes the color of your site.
* Fixed: random player — the volume button now switches to the crossed-out speaker icon when muted, like the other players.
* Fixed: Tracks list (admin) — the "Album" column header now sorts in descending order on the first click (the list already opens in ascending order).
* Fixed: Shows block — a very long venue name without spaces no longer sticks out of the show card on very narrow phones.
* Improved: Help tab — documents settings that were missing (data removal on uninstall, tagline, preview length, audio formats for sale, automatic album discount, track style settings).
* Maintenance: Plugin Check errors fixed (translators comment, documented exceptions).

= 2.15.60 =
* Fixed: Help tab — the paragraph about the Tracks list displayed stray backslashes around the quoted button and column names (introduced in 2.15.58).
* Maintenance: internal code comment translated to English.

= 2.15.59 =
* Fixed: concert block (featured layout) — a long venue name without spaces no longer overflows its 90px column; it now wraps.
* Fixed: track number badge — a number with two digits or more (such as track 10) no longer overflows its circle; the badge now stretches into a pill around the number.

= 2.15.58 =
* Added: Tracks list (admin) — a "Track no." column, editable in each row and saved with the existing "Save changes" button. The list now opens grouped by album (tracks without an album last), each album's tracks sorted by track number then title — the same order as the album tracklist on your site. The "Album" and "Track no." headers are sortable too.

= 2.15.57 =
* No functional change. Repackaged so a fresh install properly replaces every file (a same-version file edited in place through the WordPress file editor can be kept by PHP's opcode cache until the next full plugin install).

= 2.15.56 =
* Fixed: press kit PDF — a section title (for example "Albums", or a photo section such as front/back covers) is no longer printed alone at the bottom of a page while its content starts on the next one.
* Fixed: press kit PDF — pages are now filled down to the footer margin, so a short last section (such as "Links & networks") no longer lands alone on an extra page when there is room left.
* Changed: the button that flips the album cover no longer has a light ring around it; only the two circular arrows on the accent-colored disc remain.

= 2.15.55 =
* Added: Album block — when an album has a back cover, a small button on the cover switches between the front and the back. It uses the accent color and button text color from VEFmusic > Style (and the global button shadow), and works the same in Gutenberg, Divi 5 and Elementor. Albums without a back cover look exactly as before.

= 2.15.54 =
* Added: albums now have their own "Band name" field, shown under the album title in the Album block (all builders) and in the grouped track list. It is also used as the artist in the album's structured data. Leave it empty to show no band name.
* Fixed: the bulk track import screen no longer triggers a PHP 8.1+ deprecation notice about the page title.

= 2.15.53 =
* Fixed: PHP 8.5 compatibility — the press kit PDF engine no longer calls a GD function deprecated in PHP 8.5. No visible change.

= 2.15.52 =
* Changed: Shows block — on tablets, the ticket buttons stay right-aligned; they are only centered on phones.

= 2.15.51 =
* Added: button shadow — one setting in VEFmusic > Style > General adds a shadow to all VEFmusic buttons (and VEFmusic Pro's): horizontal and vertical offset, blur, spread and color with opacity. No color chosen = no shadow, the theme's button style is kept.
* Fixed: the settings export now includes the button text color.
* Fixed: the rating form's submit button now follows the main color set in VEFmusic > Style.

= 2.15.50 =
* Changed: Track List and Album blocks — the playlist toolbar (play all, shuffle, volume) now only takes the width of its buttons instead of the whole row, and is centered.

= 2.15.49 =
* Changed: Shows block (list mode) — on tablets, when the buttons move below the show details, they are aligned to the right edge of the card instead of being centered as a group.

= 2.15.48 =
* Changed: show cards with a poster — the poster column now takes 20% of the card (never less than 120px) instead of a fixed 160px, and the poster moves above the show details below 980px.
* Fixed: Random Player — the "Stop" button now uses the block's font instead of the browser's default font.

= 2.15.47 =
* Changed: on small screens, the playlist toolbar keeps play/pause and volume on one line (the Shuffle button wraps below when needed), instead of stacking everything vertically.
* Removed: an unused small-screen rule for show cards with a poster (those cards already switch to a single column below 780px).

= 2.15.46 =
* Changed: the Shuffle button of the Track List block now looks like the other player buttons (filled with the accent color). When shuffle is on, a ring is shown around it.
* Fixed: Random Player — the "volume" and "mute" speaker icons could both show at once with some themes; only one is shown now.

= 2.15.45 =
* Changed: the volume controls (per track and in the playlist toolbar) are never wider than 300px.

= 2.15.44 =
* Fixed: Elementor — the Past Shows and Next Show widgets now pick up the settings of VEFmusic > Style > Shows (colors, border, spacing, title and venue sizes), like the Gutenberg blocks and Divi 5 modules. The Next Show widget still uses its own tab first.

= 2.15.43 =
* Changed: block titles (Album, Shows, Next Show, Past Shows) now use the theme's heading size and weight by default. A title size set in VEFmusic > Style still overrides it. Show titles may therefore look smaller than before on some themes: set a size in VEFmusic > Style to get the previous look back.
* Fixed: with no size set, the album title took the surrounding text size instead of the theme's heading size.

= 2.15.42 =
* Changed: in track lists and albums, the per-track volume control now sits under the track title and comment, with a slider that uses the available width; the duration is shown right after the title and its badges.
* Changed: on small screens, the playlist toolbar and the Random Player stack their controls vertically.
* Changed: track titles are vertically centered with their badges.

= 2.15.41 =
* Fixed: free license — after clicking the confirmation link, the About screen could keep asking to confirm for up to an hour; the status is now checked again each time the screen is opened until it is confirmed.
* Fixed: free license — the "An email is on its way" message is shown once only, instead of coming back on every page reload.

= 2.15.40 =
* Added: optional free license (VEFmusic > Help > About). Register your copy to receive news, offers and faster support — entirely optional, nothing is sent without your explicit consent, and it unlocks nothing: VEFmusic stays free and complete. Double opt-in by email, unregister at any time (your data is then deleted). See "External services".

= 2.15.39 =
* Changed: blocks now use the theme's fonts by default — body text and headings alike. The font set in VEFmusic > Style still applies when filled in, now to block headings too.
* Changed: font sizes come from a single fluid scale (`--vefm-font-size-*`), growing smoothly from phone to desktop and respecting browser zoom, used wherever the active theme doesn't define its own font size presets — one place to adjust, overridable in custom CSS.
* Changed: wider volume slider on large screens (still bounded on mobile); the show date badge uses the plugin's own scale so a theme's large presets can no longer make it overflow.
* Fixed: a font picked in the block editor's Typography panel could fall back to the browser's default font on buttons inside the block.
* Removed: leftovers of a former self-hosted update mechanism are cleaned up automatically on sites installed from an older package; updates come from WordPress.org only.

= 2.15.37 =
* Fixed: press kit — adding a section (Ajax add or its no-JS fallback) could silently write to the default kit's sections instead of the one actually being edited, when used from VEFmusic Pro's "additional kits" screen — found while checking whether this exact fix (already made for VEFpressKit) was needed here too. Now correctly targets the kit actually being edited, via the same extension points VEFmusic Pro already uses for reading/saving a kit's settings.

= 2.15.36 =
* Changed: most font sizes now follow the active theme's typography scale (`--wp--preset--font-size--*` variables) instead of a fixed value of the plugin's own — consistent with what already existed for colors. Each declaration keeps its previous value as an explicit fallback, so nothing changes on a theme that doesn't define that scale (beta-tester feedback).

= 2.15.35 =
* Fixed: WordPress.org compliance — removed the last-resort system-binary fallback (`proc_open()`) used to decode Brotli-compressed data inside a .woff2 font file, spotted while porting this same feature to VEFpressKit (already fixed there in its own 1.12.4). Shell command execution is closely scrutinized by WordPress.org's automated checks even with a legitimate external binary and a clean fallback. Decoding now only happens through the native `brotli_uncompress()` PHP extension; otherwise the kit still falls back to Helvetica for that role exactly as before, just without ever attempting a system-level call.

= 2.15.34 =
* Fixed: press kit — a .woff file couldn't actually be used as a font on this hosting (2.15.33's own "always supported" message was misleading for one real case): a .woff wrapping an OpenType/PostScript (CFF) font internally silently failed at PDF generation time, with no warning shown when selecting it. The font picker now actually attempts the conversion at selection time (like .woff2 already did for its own Brotli-availability check), and shows a clear, specific message — including telling CFF apart from any other invalid file — instead of a blanket reassurance. Same precision added to the Diagnostics screen's own check for this field.

= 2.15.33 =
* Added: press kit — custom title/text fonts now also accept .woff (WOFF1) files, converted on the fly (new VEFM_WOFF_Font class) exactly like the existing .ttf/.woff2 support. Unlike .woff2 (which needs Brotli decoding, not guaranteed on every hosting), .woff uses zlib — natively supported by PHP everywhere, so it always works, no hosting-specific limitation or fallback warning.
* Fixed: the "select a font file" button and its help text now correctly list all 3 supported extensions (.ttf, .woff, .woff2) — previously only mentioned .ttf and .woff2, even though the actual limitation for reliable use is the font's own internal technology (TrueType only — OpenType/PostScript/CFF fonts, regardless of which of these 3 extensions wraps them, were never supported and still aren't).

= 2.15.32 =
* Changed: press kit PDF — more breathing room below the "Press contact" box on the first page, before the next section (26pt → 40pt).
* Changed: press kit PDF — even more breathing room below the header band repeated on pages automatically added past the first (96pt → 130pt margin, on top of 2.15.31's own increase) — the band's own height is unchanged (80pt).

= 2.15.31 =
* Changed: press kit PDF — the smaller header band repeated on any page automatically added past the first is taller again (46pt → 80pt, on top of 2.15.29's own increase) — the first page's band is unchanged. The breathing room between the bottom of that band and the page's first line of content grows accordingly (62pt → 96pt), everywhere that gap is used.

= 2.15.30 =
* Fixed: block editor settings fields (Album, Concerts, Track List) no longer trigger a WordPress deprecation notice in the browser console — updated to the current default field size expected by WordPress.

= 2.15.29 =
* Changed: the header band on the first page, and the smaller header band repeated on any page automatically added past the first, are now taller — easier to read at a glance, more room to breathe around the band name and logo.

= 2.15.28 =
* Changed: even more breathing room between press kit sections — spacing doubled again, on top of 2.15.27's fix.
* Fixed: the press kit's active-campaign section (from VEFmusic Pro) now shows the same title style (underline included) as every other section, instead of plain bold text.
* Added: optional background/text color specifically for that section, same as any paragraph or media section.
* Fixed: a real, longstanding bug — the funding goal shown in that section always displayed "0.00 €" regardless of the actual amount set on the campaign. Now shows the real goal.

= 2.15.27 =
* Fixed: an untitled paragraph or text section in the press kit PDF no longer shows a placeholder "(Untitled section)" heading — it now moves straight to the content.
* Fixed: a section title in the press kit PDF could be printed alone at the very bottom of a page, with all of its content pushed to the next page — every section now keeps its title together with at least the start of its content.
* Changed: more breathing room between press kit sections (Biography, Links, Albums, Shows, paragraphs, photos, documents/audio) — closer, more consistent spacing than before.
* Fixed: text added to the press kit by VEFmusic Pro (active preorder campaigns) now follows the kit's own title/text colors, instead of always showing in black.

= 2.15.26 =
* Fixed: hardened the confirmation text on the License/Rollback screen so a corrupted translation file can no longer break the whole page — falls back to a plain-text message instead of a fatal error.
* Fixed: the round "add to cart" icon button no longer overrides VEFmusic Pro's own button styling when reused in Pro's shop and ticketing panels.
* Changed: slightly less rounded corners on the "Buy album" button, for visual consistency with the rest of the interface.

= 2.15.25 =
* Fixed: critical — a recent translation merge left 16 French strings corrupted (a stray duplicated/truncated line), one of them with a doubled %s placeholder that could throw a fatal PHP error in specific contexts. All 16 corrected; every translation file now checked for placeholder-count consistency, not just syntax.

= 2.15.24 =
* Fixed: extends 2.15.23's fix — the theme was also disabling link color, line height and minimum height controls site-wide, not just spacing. Re-enabled specifically for VEFmusic's own blocks, confirmed live (Divi 5) — every native Gutenberg control our blocks declare should now actually appear in the editor, regardless of what the active theme disables globally.

= 2.15.23 =
* Fixed: the "Spacing" (margin/padding) controls, absent from the block panel with some themes even though the block correctly declares support for them — the theme itself was disabling them site-wide (confirmed live: Divi 5 does this). Re-enabled specifically for VEFmusic's own blocks, without touching the theme's choice for the rest of the site.

= 2.15.22 =
* Added: every block now offers the full standard set of native Gutenberg controls — gradients (in addition to flat colors), line height and text alignment, drop shadow, minimum height. Brings VEFmusic in line with what webmasters expect from an established Gutenberg block.

= 2.15.21 =
* Added: every block now also supports Gutenberg's native anchor (jump-link ID), matching what most established Gutenberg blocks offer — no visual change on its own, just makes the option available in the block's Advanced panel.

= 2.15.0 – 2.15.20 =
* Added: Shows list — "Duplicate" action; optional automatic updates (manual by default); price, listening mode and album editable directly in the Tracks list with one "Save changes" button; "Preview"/"Full track" indicator on each track; Press kit — text and link color settings, "View PDF" opens in the browser tab; Style — "Button text color" setting; native wide/full alignment on every block.
* Changed: Track List / Album layout refinements (play, cart and volume controls grouped in one column, lyrics panel behaviour); the old native "Bulk Edit" album panel removed in favour of the editable Tracks list columns; Press kit page-number and contact-box styling.
* Fixed: Track List / Album cart button alignment and its display without VEFmusic Pro; Style settings (Album tab) saving on sites that had never touched the title size; Shows block "Read more" ellipsis; Press kit custom .ttf/.woff2 fonts refused on some hosts, contact-box background, image-only sections missing from the PDF and remaining PDF colors; Tracks list "Save changes" button.

= 2.14.1 =
* Changed: removed the bundled readme translation export file — the readme is no longer translated going forward, only the plugin's own strings.

= 2.14.0 =
* Changed: Shows block — with "Also show past shows" enabled, upcoming shows now list first (soonest to farthest), then past shows (most recent to oldest).
* Added: Shows/Next Show style tabs — new "Title color" setting for the show title.
* Fixed: last show in the "Shows" block no longer keeps a bottom margin below it.

= 2.10.0 – 2.13.4 =
* A long run of visual polish and mobile-layout fixes across the Shows, Track List/Album and Random Player blocks (alignment, spacing, wrapping on narrow screens), plus the Help/About tabs brought up to date, a French-translation pass, and the introduction of the "Shows to display" setting (replacing the separate "Past Shows" block).

= 2.9.0 – 2.9.5 =
* Track audio files can be picked from the media library, not just uploaded. Accessibility warning added for the Random Player's autoplay. Press kit weekly-download counter added. A few translation and pagination fixes.

= 2.8.0 – 2.8.6 =
* Optional full data removal on uninstall. Several track-upload reliability fixes for restrictive hosting environments. Press kit gained per-paragraph text alignment and an optional two-column layout. Assorted French-translation fixes.

= 2.6.0 – 2.7.2 =
* Press kit fully rewritten (unlimited custom sections, reorderable, clickable links, no more silent cut-off on long text) and its Divi 5 preview switched to live content. Two housekeeping fixes for WordPress.org's translation tooling.

= 2.3.0 – 2.5.4 =
* 6 native Elementor widgets added. Optional lyrics field. Two critical upload/playback bugs fixed. Rollback screen and Plugin Check hardening.

= 2.0.0 – 2.2.12 =
* Initial WordPress.org release and the work leading up to it: update/rollback mechanism, press kit PDF improvements (logo, tagline, album selection), code hardening.

== Upgrade Notice ==

= 2.16.7 =
Fixes a press kit bug: saving a kit with several media sections could empty or mix up their text, files and colors. Please update, then check your kit.

= 2.9.1 =
Fixes a press kit bug where a 2-column paragraph could look cut off if both columns overflowed onto a new page — they now correctly share the same page.

= 2.7.2 =
Removes a plugin header that was likely causing a WordPress.org translation-tooling warning. No functional change.

= 2.7.1 =
Fixes a WordPress.org translation-loading compatibility warning (GlotPress). No functional change.

= 2.7.0 =
Press kit: unlimited custom text sections with reordering, clickable links, and a pagination rewrite so long text is never cut off.

= 2.3.5 =
Fixes a critical bug where uploading a track's audio file could silently fail to save.

= 2.0.0 =
Initial public release.
