• Tetrakern released this 2023-09-19 05:15:02 +08:00 | 2965 commits to main since this release

    !!ATTENTION!! After the update, please open and resave any pages with list templates (Stories, Chapters, etc.) to ensure the schema graph is properly regenerated. This is a follow-up from an earlier patch and should normally not be necessary but somehow is. Computers, am I right? Also, the [Only Edit Others Comments] capability has been renamed to [Only Manage Comments] and needs to be reapplied for the moderator role (or any other you use). Sorry for the inconvenience.

    Gawd, that was quite a bit more than I anticipated. Mostly a behind-the-scenes update again despite some larger additions I will get to momentarily. Finally found a satisfying solution to the sticky stories issue when the meta field is missing -- which is a whole different can of worms a future update needs to address. Using ACF is coming back to haunt me, or at least bloat your post_meta table. This wouldn't be an issue if the theme were only used for the intended purpose and not community sites but here we are...

    Please consider supporting me on Ko-fi if you like the theme.

    Highlight: Article Cards

    Introducing the new shortcode [fictioneer_article_cards] to show medium-sized cards for any post type, paginated, with lots of options you probably will never use. This is meant to be used as alternative to the default blog layout, that's why the cards are rather generic and have no extra features like the others do. The pagination is optional and tied to the main query, so you cannot use multiple at once.

    image

    Release Notes

    • Fixed: Several small style issues (alternating table rows, spacing in card footers, etc.)
    • Fixed: Protected recommendations are now displayed as expected (but why would you do that?)
    • Fixed: You can now set the [Moderate Comments] capability for roles (ahaha...)
    • Fixed: Post publishing capabilities no longer allow you to edit others' comments
    • New: Filters for shortcode card footers
    • New: [Moderate Post Comments] capability to allow moderating comments on your own posts to a limited degree
    • New: [fictioneer_article_cards] shortcode
    • Improved: Boosted CSS render performance by reducing general and broad selectors
    • Improved: Extended params for most shortcodes (ignore protected posts, limit to author IDs, etc.)
    • Improved: Added filter to posts_clauses for sticky stories, which should now finally behave
    • Improved: Added icon to protected post titles (only blog posts)
    • Improved: Handling of user and comment meta fields to prevent unnecessary database rows
    Downloads
  • Tetrakern released this 2023-09-09 19:59:38 +08:00 | 3053 commits to main since this release

    !!ATTENTION!! After the update, please delete all ePUBs under Fictioneer > ePUBs and purge all schemas under Fictioneer > SEO. Nothing will be lost, everything will be automatically regenerated. This is to clean up obsolete data. Also make sure to clear any cache afterwards. If this is your first 5.7.x update, make sure to read the notes on 5.7.0 too.

    Please consider supporting me on Ko-fi if you like the theme.

    Release Notes

    • Fixed: Schema graphs are now regenerated again when you update a post (hence the purge)
    • Improved: The SEO and ePUB menu pages now use WordPress tables
    • Improved: ePUBs now use the post ID as internal file name instead of the slug (which could change)
    • Improved: ePUB downloads are now locked while the file is generated to avoid concurrent calls
    • Removed: fictioneer_fix_excerpt() filter (apparently obsolete)
    • Removed: fictioneer_flush_object_cache() which did effectively nothing
    • Removed: fictioneer_admin_settings_epubs action hook
    • Removed: fictioneer_admin_settings_seo action hook
    • Removed: fictioneer_admin_settings_logs action hook
    • Updated: ACF to 6.2.1
    Downloads
  • Tetrakern released this 2023-09-02 04:46:44 +08:00 | 3078 commits to main since this release

    Well, did anyone not expect a follow-up patch release? At least you should be able to just install it without hitting all the purge buttons.

    Release Notes

    • Fixed: Comment option toggles not displaying their state in Firefox
    • Fixed: PHP warning in the showcase shortcode
    • Fixed: AJAX authentication should now work properly all the time
    • Improved: Light mode style of unavailable content cards
    • Improved: Sticky blog posts are now marked with an icon in the title
    • Improved: Added the fictioneer_query_name argument to queries
    • Improved: Author pages will no longer show the Recommendations tab if the user cannot publish any
    • Added: fictioneer_filter_safe_title filter hook
    • Added: Plugin menu to the settings (for the future, maybe)
    • Added: Option to enable rate limiting for several AJAX actions
    • Added: FICTIONEER_REQUESTS_PER_MINUTE constant
    Downloads
  • Tetrakern released this 2023-08-31 05:15:17 +08:00 | 3094 commits to main since this release

    !!ATTENTION!! After the update, please purge your theme caches under Fictioneer > Tools, save any post of your choice to force updates on several database fields, save any of your menus to purge outdated Transients, and flush your permalinks under Settings > Permalinks (just save) for good measure.

    Toggle the [Disable all widgets] option if you used that. The checkbox evaluation was wrong.

    If you have a cache plugin running, add /wp-json/storygraph and /wp-json/fictioneer to the URI fragment exceptions alongside what is noted in the INSTALLATION guide.

    This was originally supposed to be a small patch, but here we are. Perhaps one of the most comprehensive behind-the-scenes updates yet, although I always say that. Certainly feels like it, though. I'm tired.

    Please consider supporting me on Ko-fi if you like the theme.

    Highlight: Fast AJAX

    AJAX requests in WordPress tend to be notoriously slow. That's because they still need to load and initialize everything, including plugins and the theme. The REST API is slightly better in that regard, but not enough. Hence the new AJAX pipeline that just skips everything after the core has been loaded! To make the most of this, you also need to copy the Must-Use plugin fictioneer_001_fast_requests.php into the wp-content/mu-plugins folder (create one if it is missing). This should just work and if not, you can safely delete the file again. You can even customize it to your own needs as it is not updated with the theme.

    The MU plugin prevents any regular plugins (except known cache plugins) from loading for selected theme actions, so everything else is not affected. Depending on the number of plugins you keep running, this alone can easily shave off hundreds of milliseconds from your requests. However, it also means the plugins will not work for these requests unless you add custom exceptions.

    Personal test record was 89 ms instead of over 400 ms, and that's with only five plugins. Now imagine twenty or more that some WordPress guides want to force on you as "must-have".

    Release Notes

    • Fixed: Card lists are no longer always empty if not scoped to selected post IDs
    • Fixed: Discord webhooks should now always work again
    • Fixed: The query in the Stories template will no longer ignore some stories
    • Fixed: The mobile menu will now work even if you have not named the main menu "navigation" (yikes)
    • Fixed: The scroll position does no longer reset when you open the mobile menu
    • Fixed: The chapter order on story cards now follows the story's chapter list
    • Fixed: Links and buttons in the mobile menu now all work again
    • Fixed: The navigation bar should now always have a background if sticky (probably)
    • Fixed: Custom backgrounds are now on the body to boost render performance (curse you, background-attachment!)
    • New: AJAX bypass routine to accelerate theme requests tremendously
    • New: Must-Use Plugin to skip plugin initialization for theme AJAX requests
    • New: You can use some key combinations (e.g. CTRL/CMD+B) to apply comment BBCodes
    • New: Option to accelerate AJAX comments
    • New: Development utilities, render statistics, and better errors if WP_DEBUG is true
    • Improved: Paragraphs styles now also consider obsolete formatting tags you should not even use
    • Improved: Story pages are now scoped to the author (unless they have the edit_others_pages capability)
    • Improved: The theme now checks for more cache plugins to be active
    • Improved: Better handling of custom chapter fonts
    • Improved: AJAX user data is now bundled into one accelerated request (instead of 5 slow ones)
    • Improved: The [Purge Story Data Caches] option is now [Purge Theme Caches] and also clears Transients
    • Improved: Added list of forbidden capabilities to role manager (just to be safe)
    • Improved: Reduced expensive CSS selectors to boost render performance
    • Improved: The [Enable AJAX nonce deferment] option has been merged with [Enable AJAX user authentication]
    • Added: FICTIONEER_ENABLE_MENU_TRANSIENTS constant
    • Added: FICTIONEER_KNOWN_CACHE_PLUGINS constant
    • Added: fictioneer_filter_ajax_get_user_data filter hook
    • Added: fictioneer_after_oauth_user action hook
    • Added: fictioneer_filter_{type}_card_footer filter hooks
    • Added: fictioneer_filter_allowed_orderby filter hook
    • Added: data-caching-active attribute on root if caching is active
    • Renamed: fictioneer_save_array_zero() to fictioneer_rescue_array_zero()
    • Renamed: fictioneer_ajax_get_finished_list() to fictioneer_ajax_get_finished_checkmarks_list()
    • Renamed: fictioneer_purge_cache_transients() to fictioneer_purge_transients()
    • Renamed: purge_nav_menu_transients() to fictioneer_purge_nav_menu_transients()
    • Removed: fictioneer_has_role() as it was no longer used
    • Removed: Most DOM optimizations for the mobile as they caused problems (sniff)
    Downloads
  • Tetrakern released this 2023-08-20 07:19:44 +08:00 | 3245 commits to main since this release

    !!ATTENTION!! Please make sure to purge your Story Data Caches under Fictioneer > Tools! If your roles somehow lack permissions, you can fix them with Fictioneer > Tools > Initialize Roles manually. And flush your permalinks for good measure under Settings > Permalinks > Save. If the style is old or weird, clear your browser cache.

    If you already did all of that for 5.6.0, you do not need to again. This is just in case someone updates late and does not read the previous release notes. Anyway, another round of fixes and optimizations, plus another capability.

    Please consider supporting me on Ko-fi if you like the theme.

    Highlight: Classic Editor

    Yes, indeed. You can now restrict user roles to the classic editor, which further reduces their ability to mess up your site -- all still for those who want to host a community site with Fictioneer, against all warnings. Well, the classic editor is also far less annoying in many ways, probably why so many people prefer it. Gutenberg is constantly buggy and tinkered with. I question the sanity of putting a React app as editor into WordPress. Seems like a rather large technical debt to a transitional technology that's probably not gonna last until the end of the decade. Then we're gonna complain about it like we did with the IE.

    Release Notes

    • New: Added the Classic Editor capability for roles
    • Fixed: Roles should now initialize correctly all the time
    • Fixed: Role restriction now properly apply to new posts as well
    • Fixed: Select Page Template capability does no longer produce JS errors or block valid updates
    • Fixed: The image consent wrapper button can no longer accidentally submit forms
    • Fixed: Sticky posts are now ignored in featured lists in blog posts
    • Fixed: Custom story pages now honor the visibility setting
    • Improved: Select Page Template capability now also blocks the post parent and order fields
    • Improved: The role capabilities now also work with the classic editor
    • Improved: Remove or hide more fields if they are superfluous
    • Improved: Pingbacks and trackbacks are now blocked from being set, disabling them reliably
    • Removed: Chapter warning color input; this was a terrible idea to ever add
    Downloads
  • Tetrakern released this 2023-08-19 09:58:45 +08:00 | 3270 commits to main since this release

    !!ATTENTION!! Please read the release notes of 5.6.0 as well, this is just a hotfix!

    Release Notes

    • Fixed: Finally disabled template editor (remove_theme_support( 'block-templates' ) which is not documented)
    • Fixed: Editors can now save the posts again if they are allowed to use shortcodes or edit someone's post (-.-)
    • Improved: Restriction of page templates on save (not great, not terrible)
    • Changed: Extended contributor default capabilities
    Downloads
  • Tetrakern released this 2023-08-19 05:58:59 +08:00 | 3275 commits to main since this release

    !!ATTENTION!! Please make sure to purge your Story Data Caches under Fictioneer > Tools! If your roles somehow lack permissions, you can fix them with Fictioneer > Tools > Initialize Roles manually. And flush your permalinks for good measure under Settings > Permalinks > Save. If the style is old or weird, clear your browser cache.

    This may very well be the most comprehensive update since the initial release. As always there are some bug fixes and performance improvements, but this time there are new features as well. I even considered jumping to 6.0 but decided it's not that different yet.

    Please consider supporting me on Ko-fi if you like the theme.

    Highlight: Role Manager

    You can now add, edit, and remove roles and capabilities under Fictioneer > Roles, although limited to the theme. If you want to edit truly all capabilities, use a dedicated plugin. The primary goal was to lobotomize the editor for random authors in case you want to host an open community archive. Which you really should not. The Installation Guide has been updated with the new Roles tab.

    Fiction post types are no longer considered pages but come with their own capabilities, so you have full control over who can see, assign, edit, or delete them. The same goes for all taxonomies, including the default categories and tags. Permalinks and page templates are no longer free-for-all, dates cannot be changed once a post has been published, sticky requires permission, shortcodes require a written test, and custom CSS injections are not for children's hands. And so forth.

    image

    Release Notes

    • Fixed: Stories without chapters will no longer query everyone and their cat to fill the void
    • Fixed: The "New" marker on cards is now displayed correctly
    • Fixed: The comment style preview in the profile now shows your badge (if any)
    • Fixed: Your Patreon status no longer lasts indefinitely
    • Fixed: Default avatars should now really no longer be broken (lol)
    • New: Chapters belonging to an unpublished story will now 404 and be marked in lists
    • New: Option to monitor posts for suspicious strings and alert the admin via email
    • New: Options to send notifications of new stories and chapters to Discord channels
    • New: Style of the settings is now likened to WordPress and works with the color schemes too
    • New: Option to flush the whole object cache on update (the nuclear option)
    • New: Story filter for the chapter list table
    • Improved: Fewer follow-up and double action execution with the block editor and caching
    • Improved: Your profile now tells you if your Patreon status has expired (log out and in to refresh)
    • Added: FICTIONEER_ENABLE_FRONTEND_ACF constant to enable ACF on the frontend
    • Added: The admin profile now also has the self-delete section (if allowed)
    • Changed: The fictioneer_filter_comment_badge() filter has been reworked, the old one will crash
    • Changed: The TinyMCE editor for foreword/afterword has been reduced
    • Changed: Several general settings have been removed and re-added as role capabilities
    Downloads
  • Tetrakern released this 2023-08-10 18:11:15 +08:00 | 3483 commits to main since this release

    ATTENTION! About 160 functions are no longer pluggable! You can still override these functions by removing them from their hooks and adding your own. If you currently have overrides and your site explodes, this is why.

    Please consider supporting me on Ko-fi if you like the theme.

    Release Notes:

    • Fixed: Advanced search toggle should not really always work (lol)
    • Fixed: Default avatar should no longer be broken for guests
    • Fixed: The Simple search shortcode now honors the type parameter
    • Improved: Additional post author caching to improve performance
    • Improved: The Simple Search shortcode does no longer query for the advanced form
    • Improved: Optimized list page template queries
    • Improved: Optimized comment count queries
    • Improved: Significantly reduces card content queries
    • Improved: Significantly reduced ePUB converter queries
    • Improved: Reduces RSS template queries
    • Improved: Several role optimizations
    • Improved: Comment edit history now also tracks moderator edits
    • Improved: Disable XML-RPC by default (can be turned on by filter if you need it)
    • Updated: ACF to 6.2.0
    • Added: FICTIONEER_ENABLE_STICKY_CARDS constant to turn off sticky card
    • Added: FICTIONEER_STORY_COMMENT_COUNT_TIMEOUT constant to control comment count Transients
    • Added: WordPress update notice is now hidden from non-administrators
    • Added: Card taxonomy settings for collections (previously used story settings)
    • Added: Option to disable all WP Widgets to improve performance (Fictioneer does not use them)
    • Added: Option to limit the media library files by uploader
    Downloads
  • Tetrakern released this 2023-08-07 01:42:52 +08:00 | 3545 commits to main since this release

    IMPORTANT! Clear all your caches, especially the story data caches under Fictioneer > Tools.

    Follow-up to the ongoing performance improvements that will likely continue in 5.5.x for a while. This patch brings more performance fixes and boosts, some critical, especially for shortcodes and sites with many authors. This should also increase the compatibility with persist object caches, such as Redis or Memcached. But if you have page caching simultaneously, there can be issues depending on the cache plugin used. Additional (drastic) measures may be necessary.

    Please consider supporting me on Ko-fi if you like the theme.

    Release Notes:

    • Fixed: Default gravatar is no longer broken
    • Fixed: Automatic appending of chapters now properly updates stories and shortcodes (probably)
    • Fixed: Bookshelf menu item is no longer labeled as "Account"
    • Fixed: Update/Purge actions do no longer trigger on auto-drafts
    • Fixed: Sitemaps are no longer updated just by opening the editor
    • Improved: Cache purge helpers are now more considerate of WP's own object cache
    • Improved: Cache purge helpers no longer trigger redundant action calls
    • Improved: Authors are now primed with update_post_author_caches()
    • Improved: Use one query to collect chapters for a story
    • Improved: Skip story comment count update if not required
    • Improved: fictioneer_get_card_list is now pluggable
    • Improved: Statistic calculations now use less (complex) queries
    • Improved: The OAuth script now provides error messages and uses wp_remote_get()
    • Improved: Shortcode HTML is now stored in Transients
    • Improved: Word count does now ignore shortcodes
    • Change: Hidden chapters/stories are now displayed as "hidden item" in lists to avoid the expensive meta query
    • Change: Search page is now empty without input and shows additional messages
    • Added: FICTIONEER_SHORTCODE_TRANSIENT_EXPIRATION constant (default: 300; 0 for infinite, -1 to disable)
    Downloads
  • Tetrakern released this 2023-08-05 06:22:13 +08:00 | 3590 commits to main since this release

    ... one hour later. Anyway, this is a hotfix for the fallback avatar that suddenly stopped working and would leave every guest commenter without email with a broken image.

    Release Notes:

    • Fixed: Fallback avatar
    Downloads