ApostropheCMS 4.19.0: Batch tagging for images, keyboard shortcuts for widgets, a new user information endpoint

Release notes for Apostrophe 4.19.0 and extensions that were published in the cycle ending July 9th, 2025.

Apostrophe 4.19.0 brings focused improvements to the editorial experience with batch tagging for media, new keyboard shortcuts for widget management, enhanced piece manager functionality, and expanded API capabilities for custom integrations.


Keyboard Shortcuts for Widget Management

Content editors can now use familiar keyboard shortcuts to work more efficiently with widgets:

  • Cut, Copy, and Paste: Standard shortcuts now work with widgets in content areas
  • Delete and Duplicate: Quickly remove or replicate widgets without mouse clicks
  • Streamlined Workflow: Reduce repetitive actions when arranging content

These shortcuts are especially helpful when working with complex layouts or frequently rearranging content elements.

Access the shortcuts menu by typing ?.


Batch Tagging in Media Library

This highly upvoted feature from our Roadmap is now available! The media library now supports batch tagging operations, allowing editors to select multiple images and add or remove tags in a single action. You can even create new tags on the fly during batch operations, making media organization much more efficient when working with large collections. Check out our Roadmap to request and vote on features you'd like to see next.


Dynamic Choices in Filter Configuration

We've extended the dynamic choices functionality that's already available in schema fields to work with piece manager filters. You can now use the same dynamic choice methods in your filters() configuration that you're familiar with from select and checkboxes fields in schemas, allowing filter options to be populated programmatically based on current data or conditions.

For example, you could create a category filter that only shows categories with published content, or dynamically populate filter options based on the same logic used in your schema fields.


New User API Endpoint

For developers building custom integrations, we've added a new /api/v1/@apostrophecms/login/whoami endpoint that returns details about the currently logged-in user. This makes it easier to build authentication-aware applications and custom interfaces that need to understand user permissions and roles. This route returns a JSON object containing user information based on developer configurable fields, which looks like:

{
"_id": "user123",
"username": "john-doe",
"title": "John Doe",
"email": "john@example.com"
}


Rich Text Import Enhancements

Teams managing content across multiple systems can now use the import.imageTags parameter when importing rich text content, allowing you to specify image tag IDs during import operations for better control over inline image handling.


Additional Improvements

This release also includes several quality-of-life fixes:

  • Enhanced empty content detection in rich text widgets now properly handles HTML blocks like figures and tables
  • Added missing shortcuts to the Pages manager shortcut menu (triggered on page by ? ) for better discoverability
  • Nested field visibility now properly considers both parent and grandparent field conditions, ensuring that deeply nested conditional fields behave as expected.


Community Contributions

We're grateful to our community contributors who help make Apostrophe better for everyone. This release cycle we received code changes for both our @apostrophecms/sitemap module and core. Your contributions, whether code, documentation, or feedback, are invaluable to the project's continued growth and improvement.

These improvements are ready for you to explore! Update your projects with npm update and let us know what you think on our roadmap. Your feedback helps us refine and enhance ApostropheCMS to meet your needs.

🚀 Happy coding!

Pricing