Software Engineer
In a recent update, we introduced the run_async
feature, allowing you to run non-async functions asynchronously in the background thread without blocking the Tornado event loop. This makes it easier to offload time-consuming tasks without affecting app responsiveness.
def time_consuming_task(data): return _time_consuming_call(data) # Run in the background with `run_async` await self.run_async(time_consuming_task, data=data)
This month's update brings improvements to caching, especially for multitenant environments.
@cache
decorator now includes a new storage_level
parameter, allowing you to specify cache data scope (e.g. Service, Stack, or Session). By default, cache calls are now locked to the customer environment.use_session_cache
parameter has been deprecated. We recommend using the new storage_level
parameter with the value StorageLevel.Session
.@cache(time=300, key='cacheKey', storage_level=StorageLevel.Session) def my_function(foo, bar): # Function logic here
We've expanded our documentation with new guides on Summary Logs and Log Replay, to help you troubleshoot and manage logs more effectively. The Summary Line feature provides a quick overview during debugging, while Log Replay allows you to replay logs for critical errors for better context.
The Q2Mobility Android app now targets Android API level 35 (Android 15). The minimum supported Android API continues to be level 29 (Android 10). The planned update to the Android Gradle plugin has been rescheduled to a future release. Stay tuned for more information.
We are migrating our native modules from CocoaPods to Swift Package Manager (SPM) with our May release of the Q2Mobility iOS app, which is scheduled for 05/14/25. This transition will streamline dependency management, improve build performance, and enhance code maintainability. As we work through this transition, we may be reaching out to you with questions regarding support of SPM within your module.
To easily add or delete scopes on developer.q2.com, this component has been changed to a client side rendered component. This change decreases loading times and makes it more clear when updates are saved.
The team believes you can move a lot faster with a server side rendered application, but certain complex components will flow better and sometimes will be more performant with a client side rendered component.
We're excited to announce the latest update to our Design System with several key improvements across testing capabilities, component functionality, and platform performance.
Developers can now access the Tecton Codepen playground linked in our documentation site, allowing for faster prototyping and experimentation with our component library.
New test methods have been created for the Area Chart, Donut Chart, Vertical Stepper, and Currency components. These additions make it easier to validate your implementation of these components, ensuring consistent behavior across your applications.
The Loc component can now be used inside the Option component, and the Option component will update its display
attribute to reflect the translated value from the Loc component. We also added support for using localization strings directly in the display
attribute and/or innerText
of the Option component.
The Donut Chart has been updated to intelligently prevent duplicate colors from rendering adjacent to each other, improving visual clarity with large data sets.
Developers utilizing the q2-design-system
package now have the option to fetch Tecton elements from the CDN rather than bundling into apps at runtime, reducing initial load times and bundle sizes.
For more information on implementing these features, please refer to our documentation.
The new Get System Notifications endpoint gives you better control over your system notifications. This feature allows you to easily fetch a list of enabled system notifications or retrieve the payload of specific notifications, making it easier to monitor and respond to important events in your application.
You can now cancel processed transactions using the Cancel Generated Transaction endpoint, setting them to a Processed
or CsrActionItem
state. Previously, this endpoint only supported canceling transactions in the authorized
or drafted
state.
We've removed an enforcement on the Send Notification endpoint. It is no longer required to provide a TargetUserID
or SSOIdentifier
when sending SMS notifications. This update resolves 404 errors encountered when trying to send SMS notifications.
Caliper SDK (Python) v2.261.1 - CHANGELOG
Tecton SDK (Javascript) v1.52.0 - CHANGELOG
Marketplace (Python) v0.8.9 - CHANGELOG
Caliper API (Python) v1.42.0 – CHANGELOG