Changelog

The latest updates, improvements, and fixes to Your Next Store. Subscribe via RSS. Curious what's coming? See the roadmap.

· v1.356

Montonio integration, customs duties note and unified pay page

Montonio payment integration

This feature allows you to connect the Montonio payment service with a single key pair, simplifying your setup process. Having this integration enables you to provide customers with more payment options, potentially increasing your sales.

Customs duties note for international deliveries

With this new feature, customers will see a customs-duties note during checkout for deliveries to foreign countries. This transparency helps avoid unexpected costs for your customers, fostering trust and improving their buying experience.

Unified pay page and wholesale panel

The alignment between the pay page and the wholesale panel makes it easier for store owners to manage orders together. This consistency can lead to a more efficient workflow and reduced errors during order processing.

Also shipped

  • Connect PayNow with one key pair and detect its environment
  • Connect PayPal with one key pair
  • Offer managed DNS for a domain connected by hand
  • Warn about payment add-ons without production keys before going live
  • Redesign the buyer ordering panel for phones
Fixes5
  • [bundles]Store the editor's exact price as a fixed price
  • [checkout]Stop the saved address pickers sharing a key
  • [inpost-buy]Follow InPost's rules for rate limits, validation, commands and refunds
  • [build]Self-host fonts so a Google Fonts hiccup can't fail a build, closes vercel/next.js#99114
  • [build]Turn off Sentry 11 build-time instrumentation
· v1.355

Cash-on-delivery instructions, free shipping coupon type and cash on delivery

Cash-on-delivery instructions

This feature provides clear instructions for cash-on-delivery payments on order confirmations and within the order itself. This clarity can reduce payment issues and improve customer satisfaction during checkout.

Free shipping coupon type

Merchants can now create coupons specifically for free shipping, enabling them to attract more customers by offering incentives. This feature is essential for increasing sales, especially during promotions.

Cash on delivery payment option

This new manual payment method allows customers to pay in cash upon delivery. Implementing this option can expand your customer base, appealing to shoppers who prefer to pay in cash rather than online.

Also shipped

  • Mark sandbox and production credential fields per environment
  • Keep AI processing on US providers
  • Return a bundle's own tax rate from the bundles API
  • Show storefront status as a dot with a sliding label
  • Add the InPost Von Halsky marketplace foundation
  • Import paid orders, accept them and refund through InPost
  • Publish offers from the add-on card and the product page
  • Sync stock and prices through a marketplace dispatcher
Fixes18
  • [agent]Build ask_question from eve's askQuestion factory
  • [agent]Drop the todo tool removed in eve 0.65
  • [agent]Send AI assistant traces to Sentry over OTLP for Sentry 11
  • [bundles]Warn when a bundle is sold without VAT its products carry
  • [coupons]Type the empty coupon form instead of casting its type
  • [ai]Record full conversations in Sentry traces
  • [ai]Stop losing a chat attachment without telling the merchant
  • [emails]Show the store logo in sign-in emails
  • [env]Drop stale Fish Audio build policy
  • [getresponse]Recover an order whose contact GetResponse deleted
  • [orders]Record cash-on-delivery payments after the order has shipped
  • [publish]Accept a build of a newer commit that contains the published one
  • [sentry]Drop enableLogs removed in Sentry 11
  • [shipping]Warn about pickup rates that have no shipping broker
  • [slack]Serialize the store-picker thread before sending to eve
  • [team]Enforce the plan's seat limit on every invitation server-side
  • [team]Keep the invite form visible at the plan's seat limit
  • [video]Trace undici into the workflow flow function
· v1.354

Add clients on a page, prefill invited address and simplified add-client form

Add clients on a page

Store owners can now add clients directly from a page interface, improving workflow efficiency in the wholesale area. This change reduces interruptions and allows for faster client management.

Prefill invited address during sign-in

The invited address is automatically filled in during sign-in, simplifying the process for new clients in the wholesale section. This feature minimizes errors and speeds up client onboarding.

Simplified add-client form

The add-client form has been refined for clarity, and notes are now folded away by default, making it easier for store owners to manage client information. This results in a cleaner interface and quicker data entry.

Also shipped

  • Simplify the add-client dialog
Fixes2
  • [ui]Lift select lists above the dialog they open in
  • [wholesale]Stop clipping focus rings at the column edge
· v1.353

InPost Pay currency warning, clarified ad scope for tailored requests

InPost Pay currency warning

This feature alerts merchants that InPost Pay only settles payments in Polish Zloty (PLN). It helps store owners avoid confusion over currency compatibility when using this payment integration.

Clarified ad scope for tailored requests

This update improves the ad services offered by specifying the scope of tailored requests. It enables store owners to better plan their advertising strategies based on clear guidelines.

Fixes12
  • [checkout]Close the delivery window when a bound cannot be worked out
  • [checkout]Make quantity changes wait for payment like points and coupons
  • [checkout]Remember the delivery slot the shopper picks
  • [checkout]Restore the saved delivery slot and drop it with its method
  • [checkout]Say a change was saved only when it is known to have been
  • [checkout]Theme the checkout checkboxes
  • [domains]Read the sending domain's id from the checked store
  • [email]Stop losing track of a sending domain Resend refused to delete
  • [email]Stop treating a deleted Resend domain as still verified
  • [inpost-pay]Read the cart id out of the composite webhook reference
  • [loyalty]Never offer a redemption worth nothing
  • [paynow]Register the notification URL on the shop's domain
· v1.352

Customizable newsletter text color, unlisted services and product views report

Customizable newsletter text color

Store owners can now customize the text color in their newsletters. This helps create visually appealing emails that align with their brand identity.

Unlisted services from admin tools

Services can now be unlisted from the sidebar and admin search, allowing store owners to declutter their interface and focus on the most relevant features.

Product and collection views reporting

Store owners can now report product and collection views directly to Web Connect. This integration provides valuable insights into customer engagement and product performance.

Fixes6
  • [domains]Stop blaming the merchant's plan for Resend's domain cap
  • [ai]Let merchants attach a CSV from Safari and Windows
  • [ai]Make AI assistant's traces findable by store
  • [evals]Grade the whole reply and the tool AI assistant actually uses
  • [mailerlite]Let merchants pick a subscriber group
  • [mailerlite]Stop forcing sign-ups to a confirmed status
· v1.351

PayPal payments, loyalty card in the order summary and simplified panels

PayPal payment method

Store owners can now offer PayPal alongside Stripe at checkout, giving customers more flexibility in payment options. This addition can help increase conversion rates by catering to a wider audience who prefer different payment methods.

Loyalty card in order summary

The loyalty card is now prominently displayed in the order summary during checkout. This integration makes it easier for customers to track their loyalty points and redeem them, potentially increasing repeat purchases.

Simplified loyalty and address panels

The loyalty and saved address sections have been simplified for a cleaner, more user-friendly experience. This simplification helps store owners manage customer information more efficiently and improves the overall checkout process.

Also shipped

  • Add shared list layouts and accessible controls
  • Pin Services above Settings in the sidebar
  • Compact saved address selection
  • Compute order summary rows that reconcile with loyalty points
  • Add service engagement, history and interest tables
  • Point merchants at Services
  • Convert major-unit amounts to minor units exactly
  • Add the services texts in four languages
  • Validate redemptions against holds, cap and ownership
  • Add shared status, summary and feed components
  • Add the management fee calculator and the saved estimate type
  • Add the merchant actions
  • Add the service catalog and lifecycle rules
  • Add the service engagement data layer
  • Add the services page, request form and request page
  • Add the Slack, email and Linear messages
  • Lead merchant requests with status and updates
  • Pair every engagement write with its audit row and messages
  • Publish the ads fee schedule and save the estimate with a request
  • Save public submissions atomically
  • Show the fee estimate on the ads form and slim the catalog cards
  • Unify operator work in one composer
Fixes26
  • [admin]Move the store plan to the right of each store row
  • [admin]Show the plan as a compact mark in the store switcher
  • [checkout]Keep applied loyalty points across a shipping change
  • [checkout]Keep the loyalty card's offer inside a ceiling that moves
  • [checkout]Keep the saving rows readable on a dark summary background
  • [checkout]Let a tap on the covered wallet buttons retry failed saves
  • [checkout]Line the testimonials box up with the order summary
  • [checkout]Link an arriving cart to the signed-in shopper
  • [checkout]Make the order summary rows add up when points are applied
  • [checkout]Make the order summary's cart writes safe around payment
  • [checkout]Set the order summary total row in sentence case
  • [checkout]Stop printing the currency code twice in the order total
  • [checkout]Translate the phone and tax ID lines in the address pickers
  • [domains]Write Vercel's per-project DNS targets in the domain-move wizard
  • [ai]Move Sentry onto eve's instrumentation directory
  • [evals]Grade judged assertions with eve's t.judge
  • [inpost-pay]Answer order create with the whole order
  • [loyalty]Drop a stored redemption when the cart changes owner
  • [loyalty]Earn on discounted merchandise and convert points with currency decimals
  • [loyalty]Settle earn and redeem through one transactional path
  • [paypal]Re-judge a stored loyalty redemption before pricing the PayPal order
  • [services]Report only a real status conflict as one on cancel and stop
  • [services]Say what the monthly budget pays for, per service
  • [services]Store deliverable links in the form the feed renders
  • [slack]Bound alert headers and escape merchant text in the services alert
  • [subscriptions]Keep one-time loyalty redemptions out of renewals
· v1.350

Bounced subscribers, automatic pausing and Resend suppression sync

Bounced subscribers management

This feature allows store owners to see which subscribers have bounced and provides the option to reactivate them. Managing your subscriber list effectively helps maintain better email deliverability and engagement.

Automatic subscriber pausing on bounces

Subscribers whose email addresses bounce permanently will automatically be paused. This reduces the chance of sending to invalid addresses and enhances overall email list quality.

Syncing paused subscriber addresses

Store owners can now sync subscribers on pause from Resend’s suppression list. This ensures that your email outreach is compliant and reduces undeliverable attempts.

Also shipped

  • Show paused subscribers in the public API
  • Attribute webhook events to campaigns
  • Browse the list without the campaign body
  • Fetch campaign stats from Resend
  • Link a campaign's bounces to the paused subscribers
  • List the most clicked links of a campaign
  • Offer to turn stats on from the campaign report
  • Query campaign stats by newsletter id
  • Rebuild the list on the products pattern
  • Report page for sent campaigns
  • Save campaign stats on a schedule
  • Show Resend's numbers in the report and the list
  • Tag campaign emails with their campaign id
  • Keep campaign stats on the newsletter
  • Link email events to campaigns
  • Record why a subscriber can't be emailed
  • Derive open and click tracking state from the Resend domain
  • Turn on open and click tracking for new sending domains
  • Show the tracking DNS record
  • Skip paused addresses when sending
Fixes10
  • [api]Change email tracking only once the settings request is accepted
  • [bin]Keep a tracking switch the merchant turned off
  • [campaigns]Give the status tabs their translations
  • [campaigns]Save the longest-unsaved campaign stats first
  • [campaigns]Show status, opens and clicks on small screens
  • [email]Keep a verified domain verified on Resend errors and pending tracking DNS
  • [email]Record opens and clicks whenever Resend reports them
  • [restock]Keep a paused address's back-in-stock watch
  • [settings]Stop polling Resend while a tracking record stays pending
  • [subscribers]Don't promise a way back after a spam complaint
· v1.349

Easier discount codes, side-by-side test orders and VAT on delivery

Easier discount code usage

The discount-code field is now more accessible during checkout, making it simpler for customers to apply promotions. This can help increase conversion rates and customer satisfaction.

Side-by-side viewing of orders

Store owners can now view live and test orders next to each other in the admin area. This feature aids in better order management and troubleshooting during testing phases.

VAT charging on deliveries

You can now automatically charge VAT on delivery options. This ensures compliance with tax regulations and helps store owners avoid unexpected costs.

Also shipped

  • Report counter sales as their own in-store channel
  • Expose the store's low-stock band on GET /api/v1/settings
  • Let the brand DAO find or create by name
  • Freeze line prices when a payment starts
  • Keep a collection targeted by stock pricing manual
  • Carry the manufacturer in product import and export
  • Let direct text edits change copy mixed with code
  • Let the merchant untick DNS records before the move
  • Let an evaluation model gate store writes the approval list doesn't name
  • Support VND currency and Vietnamese storefront locale
  • Translate the variant stock guard and the partial CSV group error
  • Add brand and category selects to the Stock toolbar
  • Add variant matching and a stock-identity read
  • Filter the Stock rows and counts by brand and category
  • Look up an exact SKU or barcode from the Stock search box
  • Resolve the low-stock band from store settings
  • Accept counter orders in the admin reserved-order actions
  • Add the counter order switch and chips to the admin UI
  • Add the counter reserved-order primitives
  • Create counter reserved orders on the shared write path
  • Draft orders with invoices, payment terms and discounts
  • Explain how a counter order differs from a draft order
  • Give a counter order the store's in-store shipping method
  • Keep counter sales out of buyer mail, KSeF and the refund PSPs
  • Take card payments on the order pay link itself
  • Adopt a stored variant when an option dimension is added
  • Carry variant ids through the CSV import and refuse partial groups
  • Filter the product list by brand and category
  • Filter the product list by brand and category search params
  • Refuse a save that would delete a variant holding stock
  • Let merchants set the low-stock threshold
  • Add the module and price products from a stock ladder
  • Add the settings page for the price ladder
Fixes68
  • [admin]Hide the Cookiebot bubble and open cookie settings from the user menu
  • [admin]Make the test/live switch show its result
  • [api]Set the store language from defaultLanguage in settings
  • [billing]Show remaining AI credits per source instead of lifetime totals
  • [bundles]Price and tax bundles consistently across cart, API and editor
  • [checkout]Keep the mobile checkout column within the screen
  • [checkout]Return Stripe redirect payments to /checkout/stripe-return
  • [checkout]Stop blocking payment for pickup rates without a carrier
  • [checkout]Stop leaking phone field props onto the stacked address input
  • [counter]Keep a priced in-store method off the counter default
  • [csv]File imported brands whose name spells no slug
  • [csv]Stop a blank brand_name column from clearing a product's brand
  • [customers]Stop requesting the shopper's name as an avatar image
  • [design]Stop design workspaces that hang while reported running
  • [domains]Show Vercel's per-domain DNS recommendation
  • [ai]Catch the chat up when its tab regains focus
  • [ai]Load support translations on the AI assistant page
  • [ai]Pass the selected store into Super AI assistant background tools
  • [getresponse]Match the web-push worker and name shoppers to Web Connect
  • [getresponse]Register the web-push worker for the whole storefront
  • [getresponse]Report client-side navigations to Web Connect
  • [getresponse]Send newsletter consent with checkout.started
  • [i18n]Correct the low-stock email and threshold hint copy
  • [i18n]Correct the Polish counter order hint
  • [inpost-pay]Reshape delivery[] to the documented contract
  • [inpost-pay]Send the products list in every basket payload
  • [inpost-pay]Stamp binding_place on every mounted widget button
  • [inventory]Give the scan lookup a stable order and a usable index
  • [inventory]Keep scan mode perceivable to keyboards, IMEs and screen readers
  • [inventory]Keep the category subtree walk inside the store
  • [inventory]Keep the scanner in the search box between scans
  • [inventory]Let the Stock brand filter name a paused manufacturer
  • [inventory]Reopen the scanned panel when the same code is scanned again
  • [inventory]Scan the codes the classifier would accept
  • [migration]Refuse cutover when legacy pages changed after the rebuild's export
  • [newsletter]Serve unsubscribe, confirm and download links from the platform domain
  • [orders]Block a counter order that oversells a tracked line
  • [orders]Compare a reserved-order replay against the request, not the price
  • [orders]Find a repeated job number by its exact tag
  • [orders]Identify a reserved-order replay by its goods alone
  • [orders]Keep carrier and manual-payment emails off counter orders
  • [orders]Let merchants correct the customer name and addresses on any order
  • [orders]Open Stripe checkout for reserved order pay links again
  • [orders]Release the goods when an undispatched order is refunded
  • [orders]Require the source column on the counter channel guard
  • [orders]Show pay page errors to the client
  • [orders]Show the job chip only on counter orders
  • [orders]Show the schema's refusal when creating an order fails
  • [orders]Stamp the external payment provider on counter orders at creation
  • [orders]Translate the counter refund refusal
  • [platform]Scope tenant Vercel project names by environment
  • [products]Answer the REST import refusal in English
  • [products]Bound the brand and category search params
  • [products]Derive the CSV preview key from the values the import saves
  • [products]Group the CSV variant preview the way the import does
  • [products]Keep the variant id when the grid is bulk-edited
  • [products]Match the CSV preview's variant coverage to the save's
  • [products]Name ledger history as the blocker when a variant cannot be removed
  • [products]Rebuild variant option rows from the upserted value ids
  • [products]Refuse a partial CSV variant group in the import, not only the preview
  • [products]Refuse a partial CSV variant group in the REST import too
  • [products]Stop adopting a stored variant by option subset
  • [publish]Record a live verdict for a late publish whose build is serving
  • [seo]Keep unlaunched stores and duplicate subdomains out of search
  • [subscriptions]Flush product caches after a renewal order
  • [ui]Keep useDidUpdate from firing on Strict Mode's replayed mount
  • [webhooks]Register payment and carrier webhooks on the platform domain
  • [wholesale]Keep payUrl a string in the order creation response
· v1.348

Stripe API tool, persistent chat and background task reports

Stripe API tool for store accounts

This tool allows store owners to manage payment processing directly through their own Stripe account. With this integration, store owners can maintain greater control over payment transactions and customer experiences.

Persistent chat functionality

Open chat sessions now remain accessible via the URL, allowing store owners to maintain ongoing conversations with customers. This feature enhances customer service continuity and ensures that no discussion is lost.

Improved chat logs and task management

Store owners can now access resumable chat logs and receive background task reports, making it easier to track conversations and manage approvals. This feature helps improve operational efficiency and customer engagement.

Also shipped

  • Pick image and video models by mode or gateway id
  • Attach payment-link subscriptions and bill installments from the root webhook
  • Check_storefront_build runs checks in the background
  • AI assistant:health report over eve_sessions
  • Progress labels and deadlines on every tool
  • Save memory without asking unless it overwrites the merchant's words
Fixes6
  • [billing]Keep deferred installment invoices in draft until their scheduled date
  • [ai]Re-resolve instructions and onboarding tools every turn
  • [ai]Read the open chat from ?thread= on the AI assistant page
  • [ai]Use eve's current connection tool names
  • [inventory]Finish Activity batch filtering follow-up
  • [support]Retried delegation step re-attaches to the running AI assistant turn
· v1.347

In-place storefront copy editing, activity balance view and batch search

In-place storefront copy editing

Store owners can now edit their storefront copy directly from the preview. This simplifies content updates, allowing changes to be made quickly without navigating through multiple menus.

Activity movements view with balance

The new activity movements view displays inventory changes with the current balance shown for each row. This feature helps store owners track inventory levels more efficiently and make informed decisions.

Batch number search and expiry flagging

Store owners can now locate products by their batch numbers and easily identify items nearing expiration. This enhances inventory management and reduces the risk of selling outdated products.

Also shipped

  • Batch presets on the Batches view
  • Clarify activity quantities and product details
  • Show a product's batches in its Stock row
  • Simplify activity details and unify database tests
  • Stamp every ledger call with an operation id
Fixes4
  • [api]Let bundles take a tax rate
  • [inventory]Pending filter tabs and a cached reconcile check
  • [inventory]Prevent Documents tab translation crash
  • [ui]Label the segmented filter control