Skip to main content.

Interchange News

  • Interchange Redis Sessions

    Posted on June 16, 2026 by Mark Johnson

    Interchange now supports storing user sessions in Redis, a popular in-memory data store, as a core feature.

    Sessions are where Interchange keeps client state that makes a catalog operate as a continuous experience—the shopping cart, form values, login status, and other data that persist from one request to the next.

    How and where such state is stored have a direct impact on a busy catalog’s performance, and Redis gives developers a fast, purpose-built alternative to the file and relational database storage backends Interchange has always offered.

    Details on how to begin using this are in my blog post announcing the new feature.

  • Interchange Compression for SessionDB

    Posted on April 30, 2025 by Mark Johnson

    Support for compression of sessions and more lists stored in a relational database has been added to core Interchange. The new module Vend::Util::Compress operates as a general interface for compressing and uncompressing scalar data in Interchange. The module currently offers hooks for the Zstd (preferred), Gzip, and Brotli compression algorithms, and additional algorithms can be easily added.

    See my blog post published with details on usage and implementation, along with a chart comparing runtime of compression and decompression for several sizes of objects, along with compressed object sizes.

  • Interchange 3rd-party tax support for TaxJar & Avalara

    Posted on March 21, 2023 by Mark Johnson

    The U.S. Wayfair court decision complicated collecting sales tax for ecommerce sales, and many businesses running Interchange catalogs lack the necessary tools for full compliance. A new Vend::Tax translation layer has been created to connect Interchange’s standard sales tax structures and routines with vendor-specific 3rd-party sales tax providers.

    Vend::Tax is a general interface that delegates to vendor-specific tax gateway modules. It defines 3 new tags to calculate either estimated or live-lookup sales tax, request and store tax averages, and report tax collected for orders to a 3rd-party provider.

    Connectors have already been constructed for TaxJar and Avalara in core Interchange, so that developers can use either of these popular services for calculating their sales tax with an upgrade and a few adjustments to their catalog configuration. We encourage the development of other 3rd-party providers through the creation of new Vend::Tax::<ServiceName> modules.

    My blog post Interchange 3rd Party Tax Support gives more details and setup instructions.

  • Alternate CGI link connector in Rust now available

    Posted on March 6, 2023 by Jon Jensen

    For anyone wanting to try an alternative to the classic compiled vlink and tlink CGI programs written in C, I made available my equivalent new Rust version called rust_link.

    It is functionally almost identical to the other implementations, but has Rust’s strong memory-safety guarantees and nice modern language features for the developer. And was a fun little project!

    The other link programs are fine, so no need to change them if they’re working for you. But in any case you may enjoy reading my blog post about rust_link for Interchange. It details the Interchange link protocol and explains what the link programs do.

News archive