Skip to content

Releases: RingierIMU/mkt-plugin-wordpress-bus

v3.5.2

04 Feb 12:59
df69f4e

Choose a tag to compare

[3.5.2] - 2026-02-04

Changed

  • (code) Refactored getOgArticlePublishedDate and getOgArticleModifiedDate to use native WP_Post properties instead of Yoast SEO Indexables. This ensures the API uses the database "Source of Truth" and avoids data cross-contamination when posts share slugs with historical attachments.
  • (code) Hardened Utils::formatDate to handle null or "zeroed" database timestamps (0000-00-00 00:00:00), ensuring strict RFC3339 compliance.

v3.5.1

29 Jan 07:40
aeebd18

Choose a tag to compare

[3.5.1] - 2026-01-29

Added

  • (UI) Added Resume from ID functionality to the Batch Article Sync tool, allowing users to continue interrupted syncs from a specific Article ID.

Changed

  • (UI) Updated the sync status message to clarify when a sync is resuming versus starting fresh.

v3.5.0

21 Jan 14:29
4c8e150

Choose a tag to compare

[3.5.0] - 2026-01-21

Added

  • (UI) Batch Article Sync tool added to the "BUS Tooling Page".
    • Features a "Recent First" sync strategy to prioritize the newest content.
    • Includes a Post Type selector (Radio button) to allow syncing specific custom post types.
    • Displays real-time progress logs in the admin dashboard.
  • (code) Implemented a Reverse ID Cursor strategy for the Article Sync logic.
    • Ensures O(1) constant performance regardless of database size (efficiently handles 10k+ posts).
    • Replaces standard OFFSET pagination to prevent timeout issues on deep database queries.

Changed

  • (code) Major refactor of the ArticleEvent class to remove 3rd-party dependencies in favor of 100% native WP code:
    • Removed GuzzleHttp\Client in favor of native wp_remote_post().
    • Removed AuthenticationInterface dependency; now uses BusTokenManager directly.

v3.4.1

02 Dec 12:56
aec22c2

Choose a tag to compare

[3.4.1] - 2025-12-02

Added

  • (code) Added a check to see if the Ringier Author plugin is enabled
    • If yes, only send events for authors that have their public profile set to ENABLED
    • If that plugin is not present or disabled, it's business as usual

Fixed

  • (payload) TopicEvents: title, slug and url should be array of objects

v3.4.0

02 Jul 07:03
1750e2b

Choose a tag to compare

This release addresses:


[3.4.0] - 2025-07-02

Added

  • (payload) Added canonical to the Article payload

[3.3.1] - 2025-07-01

Fixed

  • (payload) parent_category should be one TranslationObject and not a list of TranslationObjects

v3.3.0

24 Jun 09:04
410c699

Choose a tag to compare

[3.3.0] - 2025-06-24

Added

  • (payload) Custom Taxonomy support for category related properties within the Article payload
  • (payload) Author Events:
    • AuthorCreated
    • AuthorUpdated
    • AuthorDeleted
  • (payload) Topic Events:
    • TopicCreated
    • TopicUpdated
    • TopicDeleted
  • (UI) Introduced checkboxes (Settings page) to toggle ON/OFF event sending for Authors Events
  • (UI) Introduced checkboxes (Settings page) to toggle ON/OFF event sending for Topic Events (categories and tags).
  • (UI) Tooling Menu for batch syncing and flushing transients
  • (UI) Batch Syncing Mechanism with real-time progression updates during sync operations
    • batch syncing Topics events
    • batch syncing Author events
  • (code) Used WordPress-native features like wp_remote_*() with the above new events in place of Guzzle/Symfony dependencies
  • (code) Introduced new Enums for writer type, hook priorities, and author roles to improve clarity and reuse

Changed

  • Improved error reporting with contextual messages and consistent formatting
  • (dependency) Replaced Monolog logging logic with native PHP for better control and performance
  • (dependency) Used WordPress-native features like wp_remote_*() and transient in place of Guzzle/Symfony dependencies
  • (code) Reduced transient expiry for recently created authors from 10s to 5s for more accurate event filtering
  • (code) Adopted a pure WordPress templating approach for better separation of logic and templates
  • (code) refactored logging message + removed redundant log inputs

v3.2.0

15 May 12:08
8c09a69

Choose a tag to compare

3.2.0 (May 15, 2024)

  • [NEW] UI + Logic: Added a checkbox (in settings page) to allow users to enable/disable the Quick Edit button
  • [NEW] UI + Logic: Added a checkbox to let users select which custom post_type should be sent as Events
    • By default, only the default post post_type is sent as Events, unless custom types are explicitly enabled
  • [UPDATE] Logic: Improved the event logging mechanism

v3.1.0

09 Oct 11:59
382d659

Choose a tag to compare

3.1.0 (Oct 9, 2024)

  • [NEW] Added Youtube videos to the event payload if there's any as part of the article
    • see PR #8 for more details
  • [UPDATE] When description is not set by author, it defaulted to the excerpt. As a consequence hellip was being added to the description. This has been fixed to remove the hellip, as well as any other html entities/tags that might be present in the excerpt.

v3.0.0

15 Jul 12:20
62fb243

Choose a tag to compare

3.0.0 (Jul 15, 2024)

  • [BREAKING] PHP Version | The code base now requires a minimum version of PHP 8.1+
  • [NEW] Added three new custom filters to allow for more flexibility in the plugin's behavior (see readme file):
    • ringier_bus_get_publication_reason - allows you to filter the publication reason before it is sent to the BUS API
    • ringier_bus_get_article_lifetime - allows you to filter the article lifetime before it is sent to the BUS API
    • ringier_build_article_payload - allows you to filter the entire article payload before it is sent to the BUS API
  • [UPDATE]: Changed the way events are sent:
    • on new article creation, an event will now be immediately sent (this is a requirement for internal CIET)
    • the event will still be queued to run or re-run (in the case of an article update) after the default 1 minute
  • [UPDATE]: Harmonised page title and menu
  • [UPDATE]: Updated composer dependencies
  • [UPDATE]: Cache nonce now defaults to the plugin version number for consistency
  • [UPDATE]: Add more intuitive prompts to guide user, for e.g provide the STAGING and PROD endpoints right there in the UI to be handy for them

v2.3.0

17 Oct 12:43
b82a7d1

Choose a tag to compare

2.3.0 (Oct 9, 2023)

  • [UPDATE]: Transitioned from relying on the rest_after_insert_post hook to the more universally available transition_post_status hook.

Reason: We identified that some blogs were disabling the Gutenberg editor and as a result, not utilizing the new WordPress REST API. This meant that the rest_after_insert_post hook wasn't being triggered for those instances. To ensure consistent and robust post update handling across all blogs, regardless of their editor choice, we've shifted to the transition_post_status hook.

Impact: This change ensures that our logic remains consistent even in environments where Gutenberg is disabled or the REST API isn't being leveraged.

  • [UPDATE]: Improved JSON handling and compression for Slack logging
    • Ensured safe JSON encoding with error checks