Fixed farm profile links to use proper URL slugs for more reliable page navigation.
Hardened maintenance-mode redirects with signed, time-limited tokens to prevent stale or spoofed links from re-triggering the offline page.
Fixed email notifications to prevent subject lines from accumulating repeated "Re:" and tag clutter in ongoing threads.
Adjusted the admin assistant widget so it's fully hidden for users while paused, with internal testing access preserved.
Improved our automated testing pipeline to run full end-to-end checks before deployments, catching issues earlier.
Continuing work on internal documentation accuracy — verifying admin help docs against live product code across settings, reports, and payments.
We're improving our internal tooling that keeps admin help docs accurate and verified against the actual codebase.
Refreshed internal product documentation to stay in sync with the latest codebase and schema updates.
Improved logging around payment method settings changes, now tracking exactly what was updated and by whom for better auditability.
Improved backfill for free-for-life discount codes so bonus products now get added directly to customers' already-built orders for the week.
Expanded our automated pre-deploy testing to cover the full test suite, improving confidence before releases go live.
Discount codes with free-for-life products now let admins backfill missing tags for customers who redeemed before the bonus was set up, ensuring they get their free product.
Updated homepage product sorting so Featured Items now take priority, with Buy Again and Recommended rows filling in around them.
Improved reliability of our automated test reporting by reading results directly from file, giving more accurate pass/fail tracking.
Improved our automated test runner: fixed an environment issue that caused silent failures, and added better logging so issues are easier to diagnose.
Fixed a timing issue in our automated deploy testing so status responses return instantly instead of waiting on background test runs.
Updated the delivery address link in account pages to point to the new delivery settings page.
Product classifications now support bulk export/import via CSV, plus a one-click option to duplicate a category's items as "Organic" variants.
Deploy testing now runs in the background so releases go out faster, with clearer pass/fail tracking behind the scenes.
Improved sales outreach emails with more personalized research, and deal details now show fuller AI-generated insights.
Added support for feature-flagged branding, letting a site swap logos and styling on the fly without changing core settings.
Refer-a-friend page is now available to logged-out visitors too, with a refreshed layout and menu link.
Small fix to label printing calculations for improved accuracy in pickup stop numbering.
Fixed a bug where our own outreach emails could be mistaken for a prospect reply, incorrectly advancing sales pipeline cards.
Added an internal safeguard that blocks deployments referencing files not properly included, preventing broken pages in production.
Improved Prospect Finder filters: dropdown-based scoring and analysis status, a new "hide dead prospects" toggle, and filters now stay applied across every action on the page.
Added automated tracking to detect new, removed, or changed prospects on a partner platform, with daily summary alerts for the team.
Added a platform filter and quick link to Prospect Finder on the sales pipeline page for easier navigation.
Sales outreach tool now sends ongoing quarterly check-ins to prospects instead of stopping after a few tries, and better recognizes a few more platforms when tailoring messages.
Internal cleanup: documented and marked a legacy integration as retired to keep the codebase tidy for future maintenance.
Cleaned up customer search filters and removed old unused order lookup code for a leaner, faster admin experience.
Improved sales outreach automation with sharper messaging tied to each prospect's current platform, plus tighter documentation accuracy checks.
Refreshed customer help docs to match current features and fixed a documentation parsing bug.
Cleaned up and consolidated help center docs on co-ops, delivery, and subscriptions for clearer navigation.
Updated gift certificate export to clarify redeeming account creation date.
Fixed a display issue in admin signup reports so promo signup counts now show correctly.
Customer chat support now pulls real delivery address details from subscriptions instead of placeholder data.
Product replacement tool now includes active and new items, not just those already in existing orders.
Fixed an edge case where checkout with a saved payment method could bypass bot verification; it's now properly checked before purchase.
Added a standing security rule across all domains to block malicious traffic patterns and known bad actors, improving protection against common attack attempts.
Fixed a sign-up form issue where names and addresses with apostrophes or special characters weren't displaying correctly.
Improved error monitoring to better group duplicate issues, reducing noise and preventing repeat alerts for the same underlying bug.
Fixed a couple of backend bugs, including a scheduling script error, and strengthened our internal testing tools for smoother releases.
Improved the AI admin assistant with smarter knowledge search, new report types, and better accuracy safeguards.
Redesigned the email content editor's product picker with a searchable, scrollable image gallery and auto-save for each selection.
Improved email text conversion to keep link destinations visible instead of being stripped out.
Fixed an edge case in order date handling to prevent errors when week data was missing.
Fixed a backend bug causing occasional errors when loading SEO settings in the admin panel.
Email templates now support a new "featured product" tag for mixing items from different vendors in one section, plus a new long-format delivery date tag.
Internal tool update: our team can now rate assistant answers, leave notes, and track fixes to keep improving response quality over time.
Admin assistant now stays fully accessible for our internal team during paused periods, with a clear banner shown to indicate its status to others.
Admin Assistant widget is temporarily paused while we work on improvements — it'll show a quick notice instead of opening chat.
Improved support ticket tooling: tickets now resolve the correct store automatically, reducing guesswork when looking up account details.
Billing search improved: search payments by name, order #, check #, or note, with matching checks now shown directly in results.
Backend database maintenance completed to improve stability and keep things running smoothly.
You can now modify or undo a payment entry right from the recent checks list, with reversal of balances and orders handled automatically.
Improved check payment pages: clearer navigation, a customer-scoped view for all checks, and daily summaries with date range filtering.
Improved schema rebuild reliability and stopped unnecessary file changes from auto-incrementing table IDs during exports.
Small internal tooling update: schema rebuild script now supports multiple dev environments with proper authentication handling.
Added a Check # field when editing payments by check, COD, invoice, mailed check, or EBT—now saved and linked automatically.
Order history now uses numbered page navigation for faster browsing, replacing the old load-more button.
Order history now has a toggle to show/hide cancelled orders, plus improved pagination for browsing past orders.
Improved internal tooling to reliably confirm schema rebuilds succeeded, reducing risk of silent failures during updates.
Fixed a couple of edge-case bugs in cart handling and gift box details to prevent errors when data is missing.
Fixed a bug where discount code bonus items could apply the wrong product to an order.
Improved shop category cards: full card is now clickable, mobile gets an optimized banner image, and rows alternate layout for visual variety.
Added a new Checkout Upsells Report to the reports dashboard for easier access.
Refined our internal automation to better flag which review notifications actually need attention, reducing noise from routine updates.
Checkout upsell reports now default to the last 30 days, include quick date-range shortcuts, and let you drill into individual products to see exactly which customers selected them.
Improved domain matching to correctly group websites and customer accounts, avoiding duplicate entries from "www." variations.
Lifestyle banners now have a dedicated edit view, AI-generated background images, and a one-click "Generate with AI" option for creating new banners from your store's own content.
Checkout bonus picks now stick with a customer's first order even if it gets rebuilt, with clearer visibility into selections for support staff.
Fixed an issue where the "in order" quantity badge could show incorrect counts for shop add-ons.
Internal tooling update: backup imports now support selecting a specific date, and support contact syncing got a data cleanup pass for better tagging accuracy.
Small internal update to improve reliability of our data query tooling.
Fixed an issue where the admin assistant's chat session could reset unexpectedly across page loads, improving conversation continuity.
Support ticket assistant now pulls the full conversation history and any customer-attached screenshots, so it has better context when analyzing issues.
Improved support ticket automation to correctly distinguish customer accounts from tenant-level data, cutting down lookup errors and speeding up responses.
Fixed a bug where quoted search values in AI queries weren't matching records correctly—queries now handle quotes the same as unquoted text.
AI assistant now gives clearer, more direct answers—resolving names instead of raw IDs and answering likely questions without unnecessary back-and-forth.
Improved automated support ticket analysis to pull tenant details directly from each site, cutting down lookup steps and speeding up responses.
New customers can now be shown a checkout upsell carousel right after signup, with optional bonus discounts and countdowns on add-on products.
Checkout Upsells got a rebuild: new customers now see a carousel of add-on products with optional bonus discounts and a countdown timer at signup.
Fixed duplicate cancellation records so customer cancellations now update existing entries instead of creating repeats, keeping cancellation reports accurate.
Checkout upsells got a rebuild: post-signup offers now show savings badges and a limited-time window, with special items locked and clearly marked in the cart and order summary.
New: an "Ask AI" button now on every admin page — ask plain-English questions about your store and get answers from your admin and live data. Read-only, alpha release.
AI assistant widget now keeps the conversation with you across pages while logged in, and access has been widened to all store owner admins.
Added a clearer explanation of Email Quiet Hours directly on the Order Count Events page, so admins can see at a glance when their emails will actually send.
Fixed cart and checkout bonus items to display correctly and stay locked from quantity changes, plus improved purchase limit enforcement when adding kits or bundles.
New: added Email Quiet Hours setting, letting admins hold automated emails overnight and release them at a set time instead of sending during off-hours.
Admin assistant update: conversations now persist across page reloads, replies can include clickable links to admin pages, and answers are more reliable on complex questions.
Added an option to include unit info alongside item names in order export files.
Fixed an issue where failed database connections could cause an unexpected error instead of gracefully falling back to offline handling.
Improved reliability of map data loading to better handle server errors.
Route selection now includes an option to show all available routes for the day, even ones without orders yet.
Fixed a bug where sent messages could briefly appear twice in conversation view before syncing.
Fixed text messages with line breaks displaying incorrectly, and cleaned up avatar icon sizing in conversation views.
Admin assistant now shows a one-time notice before first use, and defaults order questions to the current delivery week unless you ask otherwise.
Fixed an issue where SMS messages with pasted text could show stray backslashes instead of proper line breaks and quotes.
SMS conversations now show who sent each message, add avatar icons, and display a plain-English reason when a text fails to deliver.
Improved app push notifications and made small tweaks to the order panel refresh behavior for a smoother experience.
Fixed label numbering so each print batch is numbered sequentially from 1, instead of showing gaps from week-wide route numbers.
Knowledge base now auto-updates from docs changes, cleaned up page titles, and fixed a broken link in navigation.
Updated documentation links to point to our latest news and blog pages.
Updated the customer delete-blocking setting to also hide the delete button when enabled, plus switched it to a simple Yes/No toggle.
Label sorting rules now show product names alongside current week's order demand, making it easier to spot high or zero-demand items.
Fixed an issue where debug output could interfere with API and AJAX responses, improving reliability for JSON-based requests.
Fixed an issue where UPS shipments weren't being sorted with stop numbers, and improved stability of bundle item labels on orders.
Fixed a bug that could cause recurring order items to be missed when building weekly orders, and added a repair tool to restore any affected orders.
Improved reliability of our internal docs publishing process, so updates deploy without risk of downtime if a build ever fails.
Improved our internal automation for keeping help docs in sync with product updates, and made it smarter about when to trigger those checks.
Improved message previews in conversation lists for cleaner text formatting.
Fixed an issue where pasted messages in SMS conversations showed stray backslashes or escape characters instead of proper formatting.
Improved substitution rules for box products—clearer control over which items qualify as "organic" swaps based on item names.
New: an optional post-signup email lets customers confirm or update their delivery address—helping avoid failed first deliveries.
Fixed a bug where exporting the current page of customers could return an empty file.
Fixed conversation filters so admin-started chats now show up correctly in Open/Completed lists, and updated unread counts to match.
Fixed the customer export so order dates, totals, and lifetime discounts now export correctly on their own, without requiring other options to be checked.
Customer export now includes a "Last Delivery" column by default, plus a small bug fix in schedule history lookups.
Added address verification emails with confirm/edit options, and split account settings into separate pages for account info, delivery, and box size.
Media Library uploads now keep original file names, with automatic de-duping to avoid overwriting existing files.
Admins can now enter and manage Shopify connection settings (access token, shop domain, API version) directly from the sync dashboard, no manual config editing required.
Improved reliability of AI response parsing across the platform, with better error handling and clearer fallback messages when responses can't be read.
Admins now see a quick "Edit banner" link on lifestyle banners that jumps straight to the matching row in the editor, with a brief highlight to confirm the spot.
New: added an admin editor for customizable promo banners on the welcome page, with AI-generated starter copy for new accounts based on your store's own categories.
Fixed tip calculations to correctly base percentage tips on the order subtotal, and improved the order panel refresh to avoid page jumps when adding items.
New Payment Entry screen: quickly search a customer or pull up a route to record checks, cash, COD, or online payments in one place.
Fixed a check payment bug where exact-amount payments could be double-counted against account balances.
Admins can now hide unused payment types from dropdowns and check usage history before doing so, plus added an address verification email option.
Fixed a billing issue where COD payments could be incorrectly recorded as check payments.
Improved customer name search to catch more partial matches when searching by first and last name.
Testing improved two-way order sync, including smarter re-sync handling and tracking status updates alongside existing import tools.
Added a Daily Summary view for checks entered, plus quick date-range presets (Today, Yesterday, Last 7/30 days) on the checks report for faster filtering.
New: if you route with Routific, stop numbers, ETAs, and delivered times now sync back automatically the moment routes publish or stops get marked delivered—no more manual fetching.
Updated the skip flow with clearer messaging so customers know a delivery isn't skipped until they confirm, plus added better tracking to see where people drop off in the process.
New optional Address Verification email lets customers confirm their delivery address, add gate/apartment notes, and adjust their exact map pin after signup.
Routing integration now supports live webhooks—stop numbers, ETAs, and delivery statuses can sync automatically instead of manual fetching.
Small internal update: made our automation scripts more portable by removing hardcoded paths.
Added internal safeguards to catch stale code and inconsistent styling before changes go live.
Improved reliability of AI assistant sessions: longer timeouts and clearer messages if a session gets cut off before finishing.
Hardened the admin assistant: tighter file-access safeguards and cleaner, more focused responses scoped to your store only.
Added automatic weekly syncing of customer support profiles, so tickets now include up-to-date account details.
Delivery routing settings can now be managed from a quick popup right on the main delivery page, in addition to the settings tab.
Fixed a display bug causing estimated arrival times to sometimes show incorrect am/pm labels.
Improved route imports: new routes from Routific are now auto-created with matching settings, and order matching is more reliable across re-sends.
Support contact sync now updates every matching profile for a company, not just the first one—so all staff emails stay linked correctly.
Support assistant can now auto-draft full replies to how-to questions, complete with a confidence check before posting—simple acknowledgements still handled as before.
Fixed an issue where changing or adding a box without an active order could cause errors—now shows a clear message instead.
Improved email template generation to render reliably across Outlook, Gmail, and mobile inboxes—not just browsers.
Rolled out an early admin assistant to help answer account and data questions directly in the dashboard.
Improved support for newer Routific accounts: workspace ID setup and clearer guidance when the older one-click optimize isn't available.
Added the ability to anonymize customer data on request while preserving order history and stats for reporting.
Added an option to remove a recurring order setting from all subscribed customers at once for a product.
Added new Routific route optimization integration — push orders to Routific and pull optimized routes back directly from the labels page.
Added an option to include unit info in the item name when exporting pack order CSVs.
Added visual charts to the skipped deliveries report — trends by week and reasons at a glance. Still a work in progress.
Fixed a bug where gift box orders could get stuck without a valid delivery date, causing missed routing.
Skipped delivery reports now capture the reason even when skips happen from the schedule page, not just the welcome page — plus a clearer log showing where each skip originated.
Behind the scenes: our monitoring system can now automatically diagnose and fix certain critical errors, with safe changes reviewed before going live.
Route pages now let you update max capacity directly from the low-capacity warning, no need to open full settings.
Improved product menu logic for more accurate stock and availability matching.
Fixed an issue where freshly imported orders could download labels out of sort order.
Improved route file imports to auto-detect newer export formats by content, not just file name.
Updated route label imports to support newer export formats and correctly skip depot start/end stops.
Skip export reports now include customer email addresses alongside existing order and route details.
Fixed an issue where invalid or outdated links could cause errors loading order pages.
Fixed a bug where switching a subscriber's delivery route manually could get incorrectly reset when updating pickup location settings.
Small internal update — no customer-facing changes.
Small internal update — no customer-facing changes.
Internal tooling update — no customer-facing changes.
Reminder: newly added emails in drip campaigns now only send to future subscribers by default, with an option to include existing ones too.
Improved order import matching so product SKUs with different formats no longer create duplicate entries.
Drip campaigns now let you control who gets a newly added email — only future subscribers, or everyone already on the list.
Added an internal tool to clean up duplicate products created during a recent catalog import, fixing mismatched pack orders and label sorting.
Fixed a few edge cases where missing subscription data could cause errors on order and customer pages.
Fixed a session-handling bug that could prevent pages from loading for some visitors with invalid session cookies.
Drip campaign emails now check account status before sending, so customers no longer get messages meant for a different account state (e.g. a win-back email after already reactivating).
Improved drip campaign scheduling estimates to reflect actual send days and times instead of raw date calculations.
Fixed drip campaign emails so long-inactive subscribers are properly aged out instead of getting old sequences restarted or resent.
Fixed a text formatting bug so custom skip-reason headlines and descriptions display correctly without stray characters.
Fixed invoice login links to correctly match the right customer account instead of a hardcoded reference.
Fixed pickup location assignment logic so customer route updates and delivery info stay accurate when switching pickup options.
Fixed a bug where page builder theme colors could be misread from commented-out CSS, causing some accounts to show an incorrect brand color.
Added extra security filtering to block more malicious probe requests.
Skip step now lets you customize the headline and description text, and skip reasons display in a fixed order instead of shuffled.
Added a "Read more" link to the Box Signup Groups announcement with a blog post walkthrough for setting up your box-picker page.
Box entry settings moved into a quick-access popup from the page header, streamlining the setup flow.
Added a new endpoint that provides branding info (colors, icons, logo, name) for mobile app builds, pulling from each site's existing theme settings.
New: Box Signup Groups feature lets you build a custom box-picker page with grouped types, images, and Cards or Wizard layouts.
Shipped new box signup flow with group-based entry options, progress bar, and admin controls for managing signup types and content.
Fixed a potential type mismatch in credit balance calculations by explicitly casting values to floats.
Improved AI response parsing to handle cases where the model wraps JSON in prose or markdown fences instead of returning clean JSON.
Cost reports now use historical menu prices per week rather than current prices, so past order costs stay accurate even after a price change.
Added menu price history tracking so cost reports reflect what items actually cost in a given week, not the current price.
Added a new report showing the wholesale cost of non-produce grocery items delivered inside core boxes, broken down by week and product with CSV export.
Improved order import flow with carrier and shipping location selection options for admins.
Order contents reports now include a price sheet name column for better product tracking.
Fixed a bug where restructured drip campaigns could accidentally re-send welcome emails to existing subscribers.
Admins can now toggle a lock on product option fields, with a confirmation prompt before editing to prevent accidental changes.
Improved email validation to filter out placeholder addresses before sending, preventing unnecessary API errors.
Added new signup flow routing and improved favicon URL pattern matching.
Improved AI error monitoring to filter out bot and scanner noise, so alerts focus on real issues.
Fixed a bug where deleted drip campaign emails could silently stall subscribers. They now continue progressing through the sequence as expected.
Favicon serving now redirects browsers directly to the CDN instead of proxying through the server, reducing errors and improving load speed.
Updated the default AI model to the latest Claude Sonnet version.
Driver sheets now include a "Cooler Bags" field, with Spanish translation support included.
Two new revenue features added to the audit tracker: a shoppable account welcome page and live quantity steppers in the shop.
Fixed a bug where the "In your order" pill could disappear incorrectly after removing an item that still has other variants in your cart.
A personalized suggestions feature is in progress — showing a coming soon placeholder for now until it's ready.
Shop quantity controls got an upgrade — items already in your order now show a live +/- stepper, and bundle/kit quantities properly cascade to their contents when changed.
Added a one-click button to mark prospects as dead and remove them from the list instantly.
Improved how AI-generated product data is handled when responses come back malformed, so processing stays stable instead of erroring out.
Page builder blocks now preserve custom names when copied or linked, so your naming carries through consistently.
The feature audit page now highlights items added since your last visit, so admins can spot what's new at a glance.
Added a CSV export for Shopify fulfillment data, letting admins send tracking info directly to Shopify in one download.
Added a post-commit hook that automatically flags code changes worth surfacing to admins, cutting down on missed announcements.
Added a reverse geocode cache layer and tidied up how page SEO metadata is loaded and saved across the platform.
Disabled pickup groups that are inactive can no longer affect new subscriber routes or invite links during signup and checkout.
Images can now be uploaded directly within the rich text editor.
Added a smarter skip page that can show customers their favorites, a donate-instead-of-skip option, and capture skip reasons for reporting.
Added more items to the feature audit checklist, covering delivery reminders, billing automation, geocoding, bot protection, and more background tasks.
Added inline help text to a few admin reports to explain what each one does and how to use it.
Added a new Feature Audit tool that shows admins a checklist of revenue and conversion features, flagging which ones are enabled, automatic, or unused opportunities.
Product suggestions on the skip page now only show items that are actually in stock and available to buy.