A new data connector is available in GraFx Studio — the CSV Data Connector. It lets you use any publicly accessible CSV file as a data source for your templates, with no authentication required.
Connect a CSV file to your template by pasting its public URL into the connector configuration. GraFx Studio reads the column headers and maps them to template variables automatically.
Supported out of the box: comma and semicolon delimiters, quoted fields, Excel UTF-8 exports, and automatic type inference per column — text, number, date, and boolean.
Records are browsable in Run Mode and the Studio UI.
Hosting requirement
The CSV file must be served with a Content-Type: application/json response header. This is a runtime constraint of the connector framework — the file content itself is unaffected. Any static host where you can set response headers (S3, Azure Blob, CDN) will work.
The Bynder connector is now available in the Connector Hub. Once installed, your GraFx Studio templates can browse and use assets directly from your Bynder DAM — no manual uploads required.
The connector supports OAuth 2.0 authentication, metadata mapping, and filtering by collection or folder view. Assets are accessible both when placing images on the canvas and through image variables.
Version 1.3.0 adds text column support, bullet and numbered lists, and improved handling of nested frames and locked layers — with fidelity fixes across both plugins.
InDesign: frame opacity for shapes; shapes with modified paths; position of rotated triangles; linked (threaded) text frames; crop of locked image layers; image crop in custom shapes.
Photoshop: export of shapes without a strokeStyle object; rounding of numeric properties during conversion.
Plugins are installable bundles that can include GraFx Studio components alongside other resources. You can now import those components directly through the Environment API when processing a plugin export — making it straightforward to distribute and deploy components as part of a plugin package across environments.
Components are reusable design elements you can place inside templates. Design a pricing block, product ad, or any branded element once — then reuse it across as many templates as you need. Update a component and every template that uses it updates automatically.
Place components from the Resources panel, use multiple instances per page, and map each instance to its own set of template variables. Each component has its own layouts, Brand Kit, variables, and actions.
Choose how a component fills its frame: Scale (matches by aspect ratio), Resize (uses anchoring and copyfitting), or Scale and resize (combines both).
Variable mapping is per instance — a template with three instances of the same component can give each its own independent data.
Template designers can now control whether end users may crop images within a frame. Disabled by default, this is a per-frame setting. When enabled, users see a crop icon and can drag the image within the frame — frame size and position stay fixed.
For Fit, Fill, or Smart crop frames: each image gets its own individual crop. For Manual crop frames: the crop area is shared across all images in the frame.
Connector developers can now set a header value that applies across all instances sharing the same remote connector ID — useful for passing a shared API key or session token once, without configuring it per instance.
When text editing constraints are enabled on a text frame, the font size constraint is now on by default. Previously it was off, which could cause unexpected results when restricting all text editing properties.
Missing font no longer crashes output — output now continues with a fallback if a referenced font is unavailable.
Images can now be assigned to frames with Smart crop — a regression had blocked new image assignments to Smart crop frames.
Image crop in Manual crop mode now saves correctly — crop settings in Run Mode were not being saved for Manual crop frames.
Datasource modal error state — the modal now correctly shows empty or error state when the datasource returns no data.
Text constraints rotation label — a typo in the rotation info message has been corrected.
Connector token refresh for auth type "none" — the token refresh flow now correctly handles connectors with no authentication configured.
getPageSnapshot now returns meaningful errors — invalid page ID calls now return a clear error instead of an opaque response. Note: page IDs changed from integers to GUIDs in a previous release — integrations hardcoding a numeric page ID will need to be updated.
You can now retrieve DateCreated and LastModifiedContentUtc for templates directly from the API — making it easier to track when a template was first created and when its content was last changed.
Both fields are available on the template list and the individual template endpoints:
GET /api/v1/environment/{environmentId}/templates
GET /api/v1/environment/{environmentId}/templates/{templateId}
This is useful for integrations that need to sort templates by recency, detect changes since a last sync, or display audit information in a connected system.
The AI model powering the Product Image Creator in GraFx Labs has been upgraded, resulting in noticeably improved image quality. Product images now render with more accurate detail, better composition, and sharper results — with no changes needed on your end.
Tags let you label and organize templates so they're easier to find and filter across large template libraries. The Tags API endpoints are now part of the public Environment API, making it possible to manage tags programmatically — create, update, delete, and assign tags to templates as part of your integration or automation workflow.
When a new version of an installed connector is available, a notification badge now appears on the connector in both the connector list and the connector settings. You can see at a glance which connectors have an update ready — without having to check each one individually.
The Set as default option has moved from inside connector settings to the three-dot menu on the connector list. This puts the action right where you're already managing your connectors, making it faster to designate a default without navigating into settings. The option is disabled if the connector is already set as default.
Date and time values in environment-level tables — such as Tags and Output tasks — now display in your local timezone rather than UTC. Hover over any date to see the original server time in a tooltip.
Tags, output settings, output tasks, user interfaces, integrations, and subject types now default to sorting by creation date descending. The most recently added items appear at the top, so you can find new additions without scrolling through older entries.
Connector Browser authentication — Setting Browser authentication to [None] while a Server authentication type was already configured incorrectly triggered a validation error. This has been resolved. Browser and Server authentication can now be managed independently without interfering with each other.
Template designers can now define precise constraints on text frames, giving them fine-grained control over what end users are allowed to do when they open a template.
Frame-level constraints — control whether the text frame itself can be moved, resized, or rotated. This lets designers lock down the layout while still allowing content to be changed.
Inline editing constraints — allow end users to edit text directly inside the frame. Designers can choose exactly which formatting options are exposed: paragraph styles, character styles, Brand Kit colors, and font size (with a configurable min and max range).
Inline editing is only available on text frames that do not use variables. Frames with variables continue to use the standard variable editing experience.
Page management in GraFx Studio now includes a Duplicate option in the page context menu. You can duplicate any page in your document and use it as the starting point for a new variation — saving time when building multi-page documents with similar layouts.
Duplicating a frame that uses anchoring now produces a correctly anchored copy. This improvement makes it reliable to build layouts by duplicating anchored frames.
Layout, page, and frame objects in the GraFx Studio template JSON now each carry a unique ID. This gives integrators a stable, predictable reference for every element in a template — useful when building automations or integrations that need to address specific parts of a template by ID.
Character style on variables — A character style applied to a variable could not be removed. This has been resolved.
Autogrow min size — Setting a minimum height or width value larger than the current frame size no longer causes unexpected behavior.
OpenType font rendering — A rendering issue affecting OpenType fonts (including Myriad Pro) has been resolved.
Variable image picker — The message shown when a search returns no results in the variable image picker was incorrect. It now shows the right feedback.
Template name trimming — Leading or trailing spaces in a template name are now trimmed correctly on save.
Text stroke width — The stroke width input field in paragraph style settings was hidden in some cases. It is now consistently visible.
Text edit mode stability — Text edit mode could close unexpectedly after adjusting text settings and then pressing a keyboard shortcut. This no longer occurs.
Private data — Private data fields can now be set to an empty value.
Studio UI — interface dropdown — A Studio UI dropdown was displaying an incorrect current value. This has been corrected.