Release notes
Your units follow you
Highlight
Your units follow you. Organization-wide display defaults landed earlier this month: one language, one timezone, one set of formats and units for everybody. This week, each person can override those defaults for themselves. Teammates in different timezones can open the same delivery in the format they use without changing what anyone else sees.
- An Account page of your own. Every signed-in role now has Account in the avatar menu. It holds your profile details, which you can edit yourself, and your own display preferences. It's separate from organization settings, and you don't need permission on those to reach it.
- Eight preferences, each independent. Language, timezone, date format, time format, currency, and your weight, distance, and dimension units. Override the ones you care about and inherit the rest, so you can keep your organization's currency and still use your own clock.
- Defaults that stay defaults. Organization settings now read Organization Defaults, because that's what they've become. Change one and everyone inheriting it moves with you; anyone who set their own keeps it.
- Nothing quietly misread. A value Nash can't use, such as an unsupported currency or a timezone the browser doesn't know, falls through to the next layer instead of being applied, so a bad organization default can't propagate to everyone. If you switch your weight or dimension unit while an order form is open, the numbers already typed are converted rather than reinterpreted: 10 kg becomes 22.05 lb, not 10 lb.
Find it under your avatar, in Account. See Display preferences.
New & improved
Nash Agent
- Reports an agent produces come back as branded PDFs with your logo and colors, consistent typography, and a real chart vocabulary for trends, rankings, comparisons, and shares, rather than whatever the model improvised that run. It applies to reports asked for in chat as well as scheduled runs.
- Ask for a revision and you get a version, not a second file. Artifacts built across turns of one session under the same filename are grouped as one deliverable with a
v2/3chip, and selecting one opens a side panel that previews it inline instead of downloading it. - Notify only when the result is worth reading. A succeeded run's notification can be gated on the agent's own structured output:
is_fraudcame back true,statusis one of the values you list,confidenceis at or above0.8. Number fields take comparisons, not just membership. See Notify only when the result is worth reading. - Try an event-triggered agent on part of your live traffic. Run it on a percentage of matching events, stop it after a fixed number of runs, or both. This gives you a setting between off and full production. See Try an event trigger on part of your traffic.
- Long chat sessions have a timeline rail: hover to scrub through turns and preview them, select one to jump.
Orchestration
- A dispatch strategy you choose by hand stays chosen. Nash now records whether an order's strategy came from you or from your automations, so an unrelated edit, such as a time-window change or a save followed by a dispatch, no longer re-runs the rules and replaces your pick. An automation-managed order shows Via Workflow in the picker instead of a strategy that isn't actually pinned to it. See When you pick a strategy yourself.
- Dropoff ETA estimates skip days the origin is closed, so a Saturday pickup from a site that's shut for the weekend is measured from Monday instead of landing two days early. Closed weekdays and specific dates such as holidays both count. *(Opt-in.)*
- Shift-based route optimization can be anchored to the shift itself: start a set number of minutes before pickup and re-optimize on an interval, rather than re-running on every scheduler tick. *(Opt-in.)*
- Orders created from an ingested email resolve their pickup to your saved store location.
Platform API
- Test a saved workflow before you activate it.
POST /v1/workflows/{id}/testevaluates it against a real job or order and reports per-node status, so you can confirm which filters matched without turning the workflow on. Actions preview by default. See Test a workflow before you activate it. - Items you send without an
idget one. Nash generates a stable identifier for any item or sub-item that arrives without one, so a courier can mark it picked, delivered, or returned. Previously, item-level actions skipped those items entirely. - The per-package weight ceiling is now 50,000 kg, up from 3,000. Freight-weight orders are accepted instead of failing validation and quietly becoming ineligible.
- A route stop's
serviceTime,distanceFromPrevious, anddurationFromPreviousare typed as integers rather than decimals. The values were always whole seconds and meters, and now the schema says so.
Fleet
- The driver pay report moved in-product and gained a fee breakdown: wait fees, tolls, and return fees as their own columns, a column picker, and an itemized mode that lists each route and delivery instead of aggregating per courier. Totals are computed server-side, and the CSV export matches what you see.
- Route names appear as a column in the Execute queue, so a renamed route is identifiable without opening it.
- Set a route's status by hand from the Execute route drawer, the same way you already can from the delivery drawer.
- Edit a vehicle's capabilities and tags in place from the Vehicles list alongside the existing bulk editing. Hover the cell and pick from your organization's vocabulary. A marker shows when a vehicle overrides its type's presets.
- Create a driver without an email address. Supplied addresses are still validated.
- Provider and customer-provider organizations get merchant and fee columns on their route views.
Portal
- The optimization flow has a new interface across engine selection, settings, dispatch confirmation, order information, and results, including its scheduled and in-progress states.
Integrations
- Roadie deliveries report that no driver is assigned yet from the moment they're created, rather than after the first status poll.
- Senpex's scheduled-delivery status maps to "no driver assigned" instead of being misread.
- Returns from a third-party delivery channel carry their reason through to Nash.
- Just Eat pickup-phase statuses are polled until they settle, so a pickup update that never arrives by webhook still lands.
- Australia Post tracking requests are split into batches of the size Australia Post accepts, so a large tracking pull completes instead of being rejected.
- Otter and Flipdish orders resolve their pickup to your saved store location.
- Medzoomer deliveries carry their batch identifier, and a Medzoomer pickup-arrived update is reflected on the delivery.
- Shopify fulfillments are created for orders that move between fulfillment orders and for orders that carry no line items.
Fixes
Orchestration
- A pinned contract is quoted only by the provider that owns it, so a shift route auto-dispatches to its own driver group rather than to whichever provider happened to quote.
- An automatic re-offer leaves a delivery a driver has already accepted or started alone, so the same delivery can't go live on two drivers' apps at once.
- Splitting a job recomputes the driving metrics on the batch that remains.
Fleet
- Retrying an item action that already succeeded reports success instead of an error, so a driver app draining its offline queue after a dropped connection doesn't stall on work it already did. This covers picking, delivering, and returning an item.
- Failing an ID check on a stop that mixes age-restricted and ordinary items fails the whole stop when partial delivery is turned off, rather than delivering the rest of it.
- The already-scanned message in the routes scan flow names the stop the barcode belongs to.
- The driver app reads your branding and unit preferences correctly when one of those fields is left unset.
Nash Agent
- A run's notification email arrives even when a generated attachment can't be sent. The attachment is dropped; the message isn't.
- A date given without a year is read against the run's own date instead of being guessed.
- Long pasted context is accepted in chat.
- A report asked for in chat comes back branded, and a report the agent revises while answering produces one file rather than two.
- A PDF report sent to Slack arrives instead of timing out.
Portal
- Report Incident rejects a note that's only whitespace instead of accepting an empty one.
- The Orders filter panel opens and closes reliably.
- PDFs render in the artifact viewer.
- The Execute triage queue keeps the rows it did receive when part of a response fails, instead of emptying.