January 2026 Newsletter

SDK News Corner

Non-Blocking File I/O with q2_open

We’ve introduced a new q2_open module that enables non-blocking file reads and writes within SDK extensions. Unlike Python’s built-in open, q2_open wraps file operations in a thread-based executor, allowing file access without blocking the main event loop.

This is especially useful for extensions that perform file operations alongside async workflows, helping improve responsiveness and overall performance.

from q2_sdk.core.q2_open import q2_open

async def read_file(path):
    async with q2_open(path) as f:
        async for line in f:
            self.logger.info(line)

Enhanced Validation for AJAX Calls

The @ajax decorator now supports an optional required_fields parameter, making it easy to enforce required fields in incoming AJAX requests. Any missing fields are automatically returned as a BadRequest error, reducing manual validation logic and improving request safety.

@ajax(required_fields=["email"])
async def submit(self):
    email = self.form_fields["email"]
    return {"status": "ok"}

SSO Documentation Updates

We’ve published a new guide outlining how to convert a standard SSO extension to an Enhanced SSO (ESSO) extension. The guide walks through the required handler changes, routing updates, and configuration needed to support enhanced authentication flows. For more information, visit our Convert SSO to Enhanced SSO Guide.

Mobile SDK News

Xcode 26

Our January release (26.1.0) of the Q2Mobility iOS app now supports Xcode 26.0.1. To ensure seamless compatibility with the Q2 build system, we kindly request that you review and update your module if it includes any SDKs or third-party dependencies built with earlier versions of Xcode.

Android API Target

Our January release (26.1.0) of the Q2Mobility Android app now targets Android API level 36 (Android 16). To ensure seamless compatibility with the Q2 build system, we kindly request that you review and update your module if it includes any SDKs or third-party dependencies built with earlier versions of Android.

Portal News

Self Service Environments page

Self Service Environment Details

Most environments in the Self Service Environments page have expanded details like the Online Banking Url, the UUX version, and HQ Version for the environment.

Tecton News

Tecton Figma Library

We’re excited to announce that the Tecton Figma library is now available for download directly from the Tecton Design System site. Paired with our comprehensive design documentation, this library enables SDK partners to design consistent, usable, and production-ready experiences that align with Tecton standards across Q2 products. By designing with the same components, patterns, and constraints used in our platform, partners can move faster, reduce rework, and deliver interfaces that feel truly native to the Q2 ecosystem. Visit https://tecton.q2developer.com/ to get started!

Component Improvements & Bug Fixes:

This release brings a variety of component refinements and bug fixes to enhance your development experience. The Detail component has been updated with revised font weights for its size property, providing better visual hierarchy across different detail configurations. The Formatted Text component has received updates to improve its rendering and flexibility. The Checkbox component no longer triggers click events when users interact with whitespace areas, preventing unintended selections. The Icon component now correctly displays the brand-instagram-filled icon type, which was previously not rendering. The Select component has received multiple fixes: its popover now opens at the correct position, and hover highlight behavior within Card components used inside Select has been corrected for visual consistency. Additionally, VoiceOver users will now hear proper field name announcements when focusing on the Select component, improving accessibility for assistive technology users. A Windows-specific issue where Card components incorrectly displayed mobile-style arrows on desktop has been resolved.

Platform & Performance:

Significant performance and stability improvements have been made to the Tecton platform. Memory leaks within both the core Tecton package and the Tecton platform package have been identified and addressed, resulting in improved long-running application performance and reduced browser resource consumption. The Tecton theme initialization process has been further hardened to reliably inject the tecton-theme-css style tag on slower CPU devices and during SSO login flows. Error handling has been enhanced when platform connections fail, providing developers with more detailed diagnostic information through expanded error emissions.

Documentation Updates:

The documentation site has received substantial updates to help developers build better experiences. The Live Example for Pagination now supports the stacked configuration option. The localization guide has been rewritten to more clearly explain the differences between how localization works in Tecton. The canUser() capability documentation now includes detailed information about user property lookups. A new guide clearly explains the differences between the q2-tecton-sdk and q2-tecton-platform packages to help developers choose the right tool for their needs. The Color System page has been completely redesigned with improved organization and visual examples. The Release Notes page now supports filtering by release version for easier navigation through version history.

Latest Releases

Caliper SDK (Python) v2.305.0 - CHANGELOG

Tecton SDK (Javascript) v1.63.2 - CHANGELOG

Marketplace (Python) v0.8.9 - CHANGELOG

Caliper API (Python) v1.49.0 – CHANGELOG

Mobile SDK – CHANGELOG

Gravatar

Solene Sossah

Software Engineer