=== MagNine ===

Contributors: WPInterface
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

Requires at least: 5.9
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.11
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

MagNine - WordPress News Magazine Theme for Blogs, Editorials, and Magazines

== Copyright ==

MagNine WordPress Theme, (C) 2024 WPInterface
MagNine is distributed under the terms of the GNU GPL.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

== Description ==

Forge meaningful connections online with MagNine, a dynamic and intuitive Free WordPress Magazine Theme built for magazines, newspapers, and beyond. Designed with precision, MagNine delivers contemporary and engaging layouts optimized for mobile. Experience unparalleled search engine performance thanks to meticulously crafted coding that ensures your site aligns perfectly with Google’s preferences. Loved by search engines and readers alike, MagNine combines speed, functionality, and stunning design. As one of the fastest Free WordPress Magazine themes, it offers seamless mobile optimization for peak query performance, streamlined script handling, and lightning-fast loading times, making your site captivating and efficient.

== Installation ==

1. In your admin panel, go to Appearance > Themes and click the Add New button.
2. Click Upload Theme and Choose File, then select the theme's .zip file. Click Install Now.
3. Click Activate to use your new theme right away.

== Frequently Asked Questions ==

= Does this theme support any plugins? =

MagNine includes support for WooCommerce and for Infinite Scroll in Jetpack.

== Changelog ==

= 1.0.11 - 2026-10-15 =
* Fix - The Free vs Pro table now shows its category headings.
* Fix - The Documentation button now opens the WPInterface documentation site; the theme page it linked to does not exist.
* Enhancement - Redesigned welcome notice: compact, uses the theme screenshot and the plugins' WordPress.org icons, shows a "plugins ready" state, and appears only on the Dashboard and Themes screens.
* Enhancement - Redesigned theme dashboard (Appearance › MagNine) with a setup checklist that follows your site's progress, Customizer shortcuts and a new Recommended tab for WPInterface services, plugins and themes.
* Enhancement - The Recommended tab can list every WPInterface theme from WordPress.org. The list loads only when you click "Show all WPInterface themes", is cached for 12 hours, and screenshots load lazily.
* Enhancement - Starter sites tab redesigned to match the new dashboard, with preview and import buttons for each starter site plus the Pro starter site with its preview and an upgrade link, and a note that importing adds demo content, with the option to have the design set up on an existing site instead (imports still run in One Click Demo Import).
* Enhancement - "What's new" changelog panel opens from the dashboard header, with colour-coded labels for security updates, new features, enhancements, improvements and fixes.
* Enhancement - More visible "Upgrade to Pro" button in the dashboard header and an upgrade section below the Free vs Pro table.
* Enhancement - The Overview tab now shows animated previews of MagNine Pro's accessibility toolbar (with a demo you can try) and of the SEO plugin included with Pro. They use HTML and CSS only (no images or external requests), pause when off screen and stay still for users who prefer reduced motion.
* Enhancement - New Header Style previews in the Customizer: SVG drawings that show each header layout as it really looks, in the theme's own colours, two per row, replacing the small grey images.
* Enhancement - The review request notice has the new notice design (like the welcome notice) and shows on the Dashboard and Themes screens only.
* Enhancement - Faster loading: the theme's own stylesheets and scripts now load as minified files, with right-to-left versions for RTL languages. With SCRIPT_DEBUG on, the readable files load instead.
* Fix - Right-to-left stylesheets that had fallen behind their left-to-right versions are rebuilt, so RTL sites get the same styling.
* Tweak - Dashboard and notice styles and scripts now load only on the screens that use them, without jQuery; dashboard images went from about 656 KB to 48 KB.
* Tweak - Recommended plugins are installed and activated through WordPress core screens; removed the old install/activate AJAX handlers.
* Tweak - Readme credits for the dashboard images and icons.
* Tweak - Removed Elementor from the recommended plugins; the theme supports it but does not need it.
* Enhancement - Faster first paint: the web fonts' CSS and the small preloader and comments stylesheets are printed inline instead of loaded as separate files, and the body font (on single posts and pages also the title font) is preloaded, so the text doesn't reflow when the fonts arrive.
* Enhancement - The featured image of a single post is fetched first (fetchpriority high) and never lazy-loaded, also when other images come before it on the page.
* Fix - The Popular Posts slider no longer shifts the page when it starts: the slides are laid out as Swiper will show them before it runs.
* Fix - The top bar clock is filled in straight away and keeps its space, so the top bar no longer moves a second after the page loads; without a social menu, the top bar no longer gets an empty extra row on narrow screens.
* Tweak - The Ajax pagination script loads only on post lists that use Ajax pagination, and the preloader stylesheet only when the preloader is on.
* Fix - Accessibility: the off-canvas drawer's menu button is announced as a button with a translatable name and says whether the drawer is open; the closed drawer can't be reached with the keyboard; Escape no longer moves the focus to the menu button when the drawer is closed; the header Popular Posts slider has a heading for screen readers; the repeated Must Read titles are read once; post date and author links are 24px tall.
* Fix - The reading progress bar uses one scroll listener (it added another one on every scroll).
* Fix - The theme's scripts no longer stop with an error when the off-canvas drawer is turned off.
* Fix - Without JavaScript the preloader is no longer shown, since nothing would hide it.
* Tweak - The top bar date is escaped.
* Fix - On phones the header Tags strip no longer gets an extra row when the Inter web font arrives: until then the text is shown in Arial (Roboto on Android) sized like Inter, so it takes the same room.
* Fix - Saving widgets no longer logs PHP warnings for fields the form does not send, such as unticked boxes and empty lists.
* Fix - The "Enable Sticky Sidebar" option for single posts shows in the Customizer again; it was placed in a panel instead of a section, so WordPress hid it.
* Tweak - Tab Posts widget: removed the "Date Format" field; the widget shows no dates, so it did nothing.
* Tweak - The mobile social menu style default now matches its "Has Brand Background" choice exactly (no visible change).
* Fix - Accessibility: icon-only buttons (search, menu, close, back to top, slider arrows) have a name for screen readers.
* Fix - Accessibility: slider dots are tap targets of at least 24px; the visible dot keeps its size.
* Fix - Accessibility: category labels are 24px tall tap targets, without changing the layout.
* Fix - Accessibility: the drawer button is at least 24px square.
* Fix - Accessibility: links in the footer copyright and credit text are underlined, so they don't rely on colour alone.
* Fix - Accessibility: titles cut to a few lines no longer have their hidden lines lying over the date link below.
* Enhancement - Faster loading on the blog and front page: the first banner image (or the first post image when there is no banner) is fetched first (fetchpriority high, never lazy-loaded) and preloaded from the page head on later visits; images above it no longer compete for the browser's high-priority slot.
* Enhancement - The search pop-up's post thumbnails load at low priority, so they no longer take the browser's high-priority slot from the images you can see.
* Enhancement - The reading progress bar takes its first measurement in the next frame, so it no longer forces an extra layout while the page loads.
* Fix - Accessibility: the post list's "Read More" link includes the post title for screen readers, so each link says where it goes.
* Fix - Slider arrows are tap targets as big as their visible circle; on smaller screens they no longer cover the titles and dates of the header popular posts and the article group slider.
* Fix - Accessibility: the header news ticker starts with a heading for screen readers, so the front page's headings no longer skip a level.
* Fix - Accessibility: the tabs of the tabbed posts widget are announced as tabs: the list items around them no longer break the tab list.
* Fix - Accessibility (colour contrast, WCAG AA 4.5:1): body text is a shade darker (#757575, was #777777).

= 1.0.10 - 2026-10-15 =
* Security - The welcome notice's "Get started" button can no longer be used by users without plugin permissions to install plugins; the notice is now shown only to administrators.
* Security - Load More requests now only accept viewable post types, and incomplete requests are rejected cleanly instead of raising PHP warnings.
* Security - Category colour and thumbnail settings now verify a nonce and the user's permission before saving.
* Fix - Removed the WordPress.com/WordPress.org social icon and its brand colours to meet the current WordPress.org theme requirements.
* Fix - Category colours are no longer erased when a category is changed with Quick Edit or updated by a plugin or import.
* Fix - The RTL stylesheet was out of date (old version header and removed Skype styles); it is now regenerated from style.css.
* Fix - Minimum PHP version raised from 5.6 to 7.4; the theme code already requires PHP 7 and would not run on older versions.
* Enhancement - Tested up to WordPress 7.1.
* Tweak - The review request notice is shown to administrators only.
* Tweak - Review notice data is now removed with a single query when switching themes instead of loading every user.
* Tweak - Updated the translation template (POT) with the new and changed strings.

= 1.0.9 - 2026-07-19 =
* Fix    - Enhanced CSS

= 1.0.8 - 2026-03-28 =
* Fix - Single post meta options "Enable You May Also Like Section" and "Enable More From Author Section" now correctly override the global Customizer setting. Selecting "No" will always hide the section regardless of the Customizer value.

= 1.0.7 - 2026-01-02 =
* Enhancement - Added compatibility with WordPress 6.9
* Fix - Critical vulnerability in legacy WooCommerce compatibility code by removing unused and insecure AJAX handler (magnine_woocommerce_add_cart_ajax).
* Fix - Implemented tamper-proof hash verification for the "Load More" pagination AJAX request to prevent query parameter modification.
* Enhancement - Added a loading spinner inside the "Load More" button for better visual feedback.
* Enhancement - Implemented smooth fade-in and slide-up animations for posts loaded via AJAX pagination.

= 1.0.6 - 2025-10-15 =
* Fix    - Enhanced CSS

= 1.0.5 - 2025-05-30 =
* Fix    - number_of_category_to_display

= 1.0.4 - 2025-04-18 =
* Enhancement -  6.8 compatibility

= 1.0.3 - 2025-03-10 =
* Fix    - Updated default values for all custom widget date formats

= 1.0.2 - 2025-02-15 =
* Fix    - Footer Credit URL
* Enhancement - OffCanvas Drawer

= 1.0.1 - 2025-01-28 =
* Enhancement - Design
* Fix    - Elementor CSS RTL.

= 1.0.0 - 2025-01-24 =
* Release - Initial Version

== Credits ==

* Based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc., [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html)
* normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2018 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT)
* Breadcrumb Trail https://themehybrid.com/plugins/breadcrumb-trail, (C) 2008 - 2017, Justin Tadlock, [GPLv2 or later](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
* Theme Dashboard Page Code from ColorMag Theme By ThemeGrill, We have taken a partial codebase as a base and built ours on its foundation, making significant changes. Not used as is. [GPLv3 or later](http://www.gnu.org/licenses/gpl-3.0.txt)
* Webfont Loader (https://github.com/WPTT/webfont-loader), (C) 2020 WPTT, MIT License
* Swiper.js (https://github.com/nolimits4web/swiper), (Copyright (c) 2019 Vladimir Kharlampidi, [MIT](https://opensource.org/licenses/MIT)
* Header style previews (assets/images/header-*.svg): drawn for this theme, [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html)
* Dashboard icons (inline SVG in inc/admin/dashboard/class-admin.php) based on Lucide https://lucide.dev, (C) Lucide Contributors, [ISC](https://lucide.dev/license)


== Image Used ==
Theme dashboard images

* inc/admin/dashboard/images/theme-thumb.webp: a resized copy of this theme's screenshot (images credited above).
* inc/admin/dashboard/images/pro-starter.webp: a resized screenshot of the MagNine Pro starter site (https://demo.wpinterface.com/magnine-pro/).
* inc/admin/dashboard/images/plugin-*.webp: the icons of the recommended plugins, taken from each plugin's page on WordPress.org (https://wordpress.org/plugins/), (C) their respective authors. They are shown only to identify those plugins.

Image for theme screenshot

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/610620

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/1685212

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/770414

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/21355

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/775659









