Skip to content

Releases: AxeWP/wp-graphql-rank-math

v0.3.2 - 2024-08-17

17 Aug 09:09
a119047
Compare
Choose a tag to compare

This minor release fixes a fatal error when trying to resolve SEO data from private Post models.

What's Changed

  • fix: Use Post::$databaseId to prevent fatal errors on private contentNodes. H/t @MonPetitUd

Full Changelog: 0.3.1...0.3.2

v0.3.1 - 2024-08-11

11 Aug 10:25
2cbeec1
Compare
Choose a tag to compare

This minor release fixes several bugs and improves compatibility with WPGraphQL for WooCommerce.

What's Changed

  • fix: Fix interface conflicts Product. and ProductVariation.seo types with WPGraphQL for WooCommerce. H/t @robbiebel
  • fix: Prevent fatal errors when resolving custom seo.openGraph schemas by improving type handling. H/t @juniorzenb
  • fix: Expose RankMathSeo.canonicalUrl to unauthenticated users. H/t @marziolek
  • fix: Check if classes are loaded by a different autoloader before attempting to autoload them.
  • chore: Update Composer dev-deps.
  • tests: fix namespaces for Codeception tests.
  • ci: test plugin compatibility with WordPress 6.6.1.
  • ci: Remove WP < 6.3 from GitHub Actions tests for RankMath 1.0.218+ compatibility.
  • ci: add INCLUDE_EXTENSIONS to .env for installing external plugins (woocommerce, wp-graphql-woocommerce).
  • ci: replace uses of deprecated docker-compose with docker compose.

Full Changelog: 0.3.0...0.3.1

v0.3.0 - 2024-05-11

11 May 20:43
Compare
Choose a tag to compare

This major releases simplifies the GraphQL schema by narrowing the seo field types to their implementations. We've also bumped the minimum version of WPGraphQL to v1.26.0 and refactored the RedirectionConnectionResolver to use the improved lifecycle methods introduced in that release.

Upgrade Notes

This release contains breaking changes to the schema. Instead of the seo field returning a generic RankMathSeo object, it now returns a more specific object based on the node type. For example, a Post node will return a RankMathPostObjectSeo object, while a Category node will return a RankMathCategoryTermSeo object.

In most cases, you should not need to update your queries, as the schema should resolve the correct type based on the node type. However, if you are using inline fragments on the seo field inside your query that are not actually resolvable, you will need to remove them from your queries.

E.g.

query GetContentNodeSeo {
  contentNodes {
    nodes {
      ... on Post {
        seo {
          # ✔️ This now works and is the **preferred** way,
          # since `seo` is always a `RankMathPostObjectSeo` type.
          ...MyPostSeoFragment

          # 🤷 The old way will still work but is now redundant.
          ... on RankMathPostObjectSeo {
            ...MyPostSeoFragment
          }

          # ❌ This needs to be removed, since `Post` isnt a `User`
          ... on RankMathUserSeo {
            ...MyUserSeoFragment
          }
        }
      }
    }
  }
}

Breaking Schema Changes

  • Field Category.seo changed type from RankMathSeo to RankMathCategoryTermSeo
  • Field ContentNode.seo changed type from RankMathSeo to RankMathContentNodeSeo
  • Field HierarchicalContentNode.seo changed type from RankMathSeo to RankMathContentNodeSeo
  • Field MediaItem.seo changed type from RankMathSeo to RankMathMediaItemObjectSeo
  • Field Page.seo changed type from RankMathSeo to RankMathPageObjectSeo
  • Field Post.seo changed type from RankMathSeo to RankMathPostObjectSeo
  • Field PostFormat.seo changed type from RankMathSeo to RankMathPostFormatTermSeo
  • Field Tag.seo changed type from RankMathSeo to RankMathTagTermSeo
  • Field User.seo changed type from RankMathSeo to RankMathUserSeo

What's Changed

  • feat!: Narrow seo field types to their implementations.
  • fix: Correctly resolve rankMathSettings.homepage.description field. Props @offminded 🙌
  • dev: Update RedirectionConnectionResolver for v1.26.0 compatibility.
  • chore!: Bump minimum supported WPGraphQL version to v1.26.0.
  • chore: Update Composer dev-dependencies to latest versions and address uncovered lints.
  • chore: Update Strauss to v0.19.1
  • tests: Update compatibility with [email protected].

New Contributors

Full Changelog: 0.2.0...0.3.0

v0.2.0 - 2024-04-08

08 Apr 15:32
c9b62d7
Compare
Choose a tag to compare

This major release refactors the plugin's root files to use the WPGraphQL/RankMath namespace. We've also added explicit support for WordPress 6.5 (including the new Plugin Dependencies feature), squashed a few bugs, and more.

Note

Although this release technically contains breaking changes, these changes are limited to developers directly extending the wp-graphql-rank-math.php, activation.php, deactivation.php files, and the WPGraphQL\RankMath\Main class.

If you are using the plugin as intended, you should not experience any issues when upgrading.

What's changed

  • feat: Add plugin dependencies header.
  • fix: Improve handling of ContentTypeSeo and prevent fatal error when generating breadcrumbs. H/t @MonPetitUd
  • fix: Plugin versions in dependency check logic is now in sync with the version requirements.
  • fix: Update the return type of the type field in the Redirection model to correctly return a ?string.
  • chore!: Add WPGraphQL/RankMath namespace to root-level files ( activation.php, deactivation.php, wp-graphql-rank-math.php ).
  • chore: Declare strict_types in all PHP files.
  • chore: Refactor autoloader logic to Autoloader class.
  • chore: Update Composer dev-deps and fix newly-surfaced PHPCS smells.
  • chore: Implement PHPStan strict rules.
  • chore: Update WPGraphQL Plugin Boilerplate to v0.1.0.
  • ci: Update GitHub Actions to latest versions.
  • ci: Test plugin compatibility with WordPress 6.5.0.
  • ci: Update Strauss to v0.17.0

v0.1.1 - 2024-03-24

24 Mar 10:16
ab3e4d2
Compare
Choose a tag to compare

This minor release adds support for more social fields in the RankMathSocialMetaSettings and RankMathUserSeo types. Additionally, it fixes a bug where the seo.openGraph.image field would fail to resolve if provided a string image.

There are no breaking changes.

What's changed

  • feat: Expose additionalProfiles field on RankMathSocialMetaSettings. props: @colis 🙌
  • feat: Expose facebookProfileUrl, twitterUserName, and additionalProfiles social fields on RankMathUserSeo. props: @colis 🙌
  • fix: Correctly resolve seo.openGraph.image field when parsed value is a string.

New Contributors

  • @colis made their first contribution in #75

Full Changelog: 0.1.0...0.1.1

v0.1.0 - 2024-03-03

03 Mar 21:30
f5d28d5
Compare
Choose a tag to compare

This minor release bumps the plugin version to 0.1.0! 🎉
Additionally, we fixed a few bugs regarding seo.openGraph resolution, and deprecated a setting that was removed in RankMath v1.0.211.

There are no breaking changes in this release.

Note

The reason for the version bump is to make it easier to update future releases in accordance with our versioning policy.

While the plugin version number is indicative of the (projected) schema maturity and not the underlying code (which has been used in enteprise production environments for almost two years), the new features and improvements that would warrant major changes to the schema are currently blocked upstream.

By bumping to v0.1.0, we can continue to push patch releases in the meantime without users having to worry about breaking changes.

What's changed

  • fix: Deprecate rankMathSettings.sitemaps.general.canPingSearchEngines, as it was removed in RankMath v1.0.211.
  • fix: Improve SEO head data fetching to load Rank Math modules more consistently.
  • fix: Correctly parse OG product meta data when resolving seo.OpenGraph. H/t @joanpzen
  • chore: Pin WPBrowser to v3.4.x to avoid breaking changes in v3.5+.
  • ci: Test plugin compatibility against WordPress 6.4.2

This release was sponsored by Red Rocks Web Development 😍.

Full Changelog: 0.0.16...0.1.0

v0.0.16

31 Oct 15:42
0b00708
Compare
Choose a tag to compare

What's Changed

  • fix: Correctly parse excluded Post/Term IDs when returning nodes for Sitemap. Props @marcinkrzeminski
  • chore: Update Composer dev-dependencies.
  • chore!: Bump minimum supported WPGraphQL version to v1.14.0.
  • chore!: Bump minimum supported RankMath version to v1.0.201.
  • chore!: Bump minimum supported WordPress version to v6.0.
  • ci: Test Plugin Compatibility with WP 6.3.2 and PHP 8.2.

New Contributors

Full Changelog: 0.0.15...0.0.16

v0.0.15

21 Sep 06:26
57078e5
Compare
Choose a tag to compare

What's Changed

  • chore: Update Composer dev-dependencies.
  • chore: Update WPGraphQL Coding Standards to v2.0.0-beta and lint.
  • chore: Fix minimum supported WordPress version to be 5.6, which is the minimum requirement for RankMath 1.0.90.
  • ci: Test Plugin compatibility with WordPress 6.3.

Full Changelog: 0.0.14...0.0.15

v0.0.14

16 Jun 10:52
a7f3938
Compare
Choose a tag to compare

What's Changed

  • fix: Fetch the correct SEO data when resolving custom taxonomy terms. Props @lucguerraz
  • dev!: Move SEO::$global_authordata property to the UserSeo model and make nullable.
  • dev: Move seo.breadcrumbs resolution from the RankMathSeo interface to the SEO model.
  • chore: Update Composer dev-dependencies.

New Contributors

Full Changelog: 0.0.13...0.0.14

v0.0.13

12 Jun 18:06
9a0f046
Compare
Choose a tag to compare

What's Changed

  • feat: Expose Redirections to the GraphQL schema.
  • dev: Convert HTML entities for breadcrumbTitle, description, and title fields to their corresponding characters. H/t @sdegetaus
  • chore: Implement axepress/wp-graphql-cs ruleset for PHP_CodeSniffer.
  • chore: Update Composer dependencies.
  • docs: Relocate query docs to docs/reference/queries.md, and add docs on querying redirections, and included WordPress actions and filters.

Full Changelog: 0.0.12...0.0.13