Home

>

Tools

>

Payload CMS

>

Releases

>

Release 1.0.10

Payload CMS Release: Release 1.0.10

Tag Name: v1.0.10

Release Date: 7/27/2022

Payload CMS LogoPayload CMS

Payload CMS is a modern, self-hosted headless content management system built with TypeScript, Node.js, and MongoDB. It's designed specifically for developers who want full control over their content management system while maintaining a powerful admin interface for content editors.

TL;DR

Payload CMS v1.0.10 brings significant performance improvements through the implementation of the dataloader pattern for batching populations and optimizing complex GraphQL queries. This release also addresses several bugs including email login issues, GraphQL operation fixes, and UI improvements for modals and collapsible fields. The update focuses on enhancing both developer experience and application performance.

Highlight of the Release

    • Significant performance improvements using the dataloader pattern for batching populations
    • Optimized complex GraphQL query performance
    • Fixed partial word matching with the 'like' operator
    • Improved UI experience with fixes for modal scrolling and collapsible field preferences
    • Enhanced login experience with automatic email whitespace trimming

Migration Guide

No migration steps are required for this release. The performance improvements and bug fixes are backward compatible and should work seamlessly with existing Payload applications.

To take full advantage of the performance improvements:

  1. Update to v1.0.10 using your package manager:

    npm install [email protected]
    # or
    yarn add [email protected]
    
  2. Restart your application to ensure all changes take effect.

  3. For optimal performance with complex GraphQL queries, review any custom GraphQL resolvers you may have implemented to ensure they align with the new optimization patterns.

Upgrade Recommendations

Priority: Medium-High

This upgrade is recommended for all Payload users, especially those with:

  • Applications using extensive relationship fields
  • Complex GraphQL queries
  • Auth-enabled collections
  • UI-heavy admin panel usage

The performance improvements alone make this update worthwhile for most production applications. The bug fixes for authentication, GraphQL operations, and UI behaviors address several pain points that could affect user experience.

There are no breaking changes reported in this release, making it a low-risk upgrade that provides immediate benefits.

Bug Fixes

Authentication & User Management

  • Fixed an issue where trailing whitespaces in email addresses during login caused authentication problems
  • Resolved a bug where email fields were not consistently loading while viewing auth collections

UI/UX Improvements

  • Fixed modal container overflow by setting it to 'auto', improving scrolling behavior
  • Ensured collapsible field preferences are properly retained after saving documents
  • Improved UI responsiveness and consistency across the admin panel

GraphQL Operations

  • Fixed an issue where the ID field was not properly required in GraphQL findByID operations
  • Corrected how the payload config is accessed in the GraphQL refresh resolver
  • Fixed issue #836 related to GraphQL operations

Query Operations

  • Fixed issue #806 to allow partial word matches using the 'like' operator, improving search functionality

New Features

Performance Enhancements

  • Dataloader Pattern Implementation: Greatly enhanced performance by implementing the dataloader pattern to batch populations, reducing database queries and improving response times.
  • GraphQL Query Optimization: Significantly improved complex GraphQL query performance, making data retrieval more efficient, especially for queries with multiple nested relationships.

Query Improvements

  • Enhanced 'like' Operator: Improved the 'like' operator to allow partial word matches, providing more flexible and powerful text searching capabilities.

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

Relationship Population Performance

The implementation of the dataloader pattern for batching populations represents a significant performance improvement. This change reduces the number of database queries needed when retrieving related documents, which can dramatically improve response times for requests that involve multiple relationships.

GraphQL Query Optimization

Complex GraphQL queries now execute much faster due to optimizations in how related data is fetched and processed. This is particularly noticeable in queries that involve multiple levels of nested relationships or when retrieving large sets of related documents.

Overall System Efficiency

These performance improvements contribute to a more responsive admin UI and API, reducing server load and improving the overall user experience. Applications with complex data models and extensive relationships between collections will see the most significant benefits from these optimizations.

Impact Summary

Payload CMS v1.0.10 delivers substantial performance improvements through the implementation of the dataloader pattern and GraphQL query optimizations. These changes significantly reduce database load and improve response times, particularly for applications with complex data relationships.

The release also addresses several quality-of-life improvements for both developers and content editors. Developers will appreciate the fixed GraphQL operations and enhanced query capabilities with the improved 'like' operator. Content editors benefit from UI fixes including better modal scrolling, preserved collapsible field states, and more reliable email field loading.

The login experience is also improved with automatic trimming of whitespace in email fields, preventing a common source of authentication issues.

Overall, this is a solid maintenance release that enhances performance and stability without introducing breaking changes, making it a recommended upgrade for all Payload users.

Full Release Notes

1.0.10 (2022-07-27)

Bug Fixes

  • #806, allow partial word matches using 'like' operator (c96985b)
  • #836 (84611af)
  • accesses payload config correctly in gql refresh resolver (d5e88cc)
  • email not always loading while viewing auth collections (36e9acc)
  • ensures collapsible preferences are retained through doc save (61f0e8e)
  • id now properly required in graphql findByID operation (5dc7caf)
  • set overflow payload modal container to auto (cfb5540)
  • trim trailing whitespaces of email in login (8feed39)

Features

  • greatly enhances performance by using dataloader pattern to batch populations (c5bcd1e)
  • significantly improves complex GraphQL query performance (5d57bfa)

Statistics:

File Changed50
Line Additions607
Line Deletions315
Line Changes922
Total Commits33

User Affected:

  • Benefit from improved performance when working with populated relationships and complex GraphQL queries
  • Experience more reliable GraphQL operations with fixed findByID and refresh resolver issues
  • Can now use partial word matches with the 'like' operator for more flexible queries

Contributors:

wenqingljmikrutbigmistqkedenolfewristshot9987JarrodMFleschDanRibbens