Skip to content

Releases

v1.8.0

Choose a tag to compare

@wastillaa wastillaa released this 20 Aug 19:43

Personalization

  • New additionalContext on Configuration and AIAutocompleteController: free-form JSON (JSONValue) sent as additional_context with every suggest request, so suggestions bend toward what your app knows — a user profile, workspace state, the app being edited. Set it once in the configuration, or update the controller property as the session evolves; updates never fire a request of their own and survive reset()
  • Keys travel to the server verbatim; keys matching your catalog's field names are honoured most reliably
  • NeyteCount` and Here's the 1.8.0 "What changection (#161 dropped): ### Personalization
  • New additionalContext on Configuration and AIAutocompleteController: free-form JSON (JSONValue) sent as additional_context with evuggestions bend toward what matching your catalog's field names are honoured most reliably
  • New JSONValue.compactUTF8ByteCount and AutocompleteRequest.maxAdditionalContextBytes (2000): size payloads against the server's cap, measured exactly as the request encoder puts them on the wire — the server truncates silently past the cap, never rejects
  • Pairs with server-side generated starting states: a product whose saved starting state has no options gets model-generated — and therefore personalized — options on the very first screen, with no client change

Fixes

  • customPlaceholder now works: it overrides the server-suggested ghost text in an empty input, and "" hides the ghost entirely. Display-only — selecting an option from an empty input still builds the query from the server placeholder, so requests are unchanged

v1.7.0

Choose a tag to compare

@wastillaa wastillaa released this 17 Aug 18:34

Skip suggestions

  • A new skip button at the trailing edge of the dropdown's pill bar lets users dismiss the active parameter without answering it. Skipped params are echoed to the server so it stops re-suggesting them.
  • AIAutocompleteController.skipActivePill() — headless skip API for custom UIs, alongside a skippedParams property.
  • Configuration.showSkipButton (default true) — opt out of the built-in button (consulted for .dropdown pill placement).
  • New AIAutocompleteAppearance.skipButtonTextColor token for the button's resting ink.
  • The button hides during re-edit, while the input is empty, and when there's no real pill to skip; it's disabled during the brief selection animation.

Fixes

  • Dropdown parameter pills no longer play a brief "swipe to reveal" wipe when they change (most visible right after tapping skip).

v1.6.3

Choose a tag to compare

@wastillaa wastillaa released this 14 Aug 21:44

Styling

  • Completed-param chips now default to a 6pt corner radius (previously fully rounded capsules)
  • New completedParamCornerRadius appearance token to tune or restore the old look

Fixes

  • Dropdown positioned above the input no longer intermittently collapses to a single row with scrolling disabled — most visible with multi-line options in multi-column layouts, e.g. when re-editing a completed param
  • A dropdown showing less than its full content now always scrolls, so no option can be left unreachable
  • Transient height mis-measurements during layout settle now self-correct instead of freezing the dropdown short

v1.6.1

Choose a tag to compare

@wastillaa wastillaa released this 14 Aug 01:13
  • Small bug fixes

v1.6.0

Choose a tag to compare

@wastillaa wastillaa released this 14 Aug 01:04

New stock appearance

  • Completed params render as solid high-contrast capsules (black on light, white on dark) with inverse ink and roomier padding
  • The active param pill shows a solid hollow outline; queued pills wait borderless behind it
  • Options at 14pt with increased spacing; input line spacing increased; brand footer hidden by default
  • Every previous default remains one appearance token away — nothing was removed

Dropdown

  • Options wrap to as many lines as they need instead of truncating
  • Option spacing configurable via optionVerticalPadding

Styling

  • Eight new AIAutocompleteAppearance tokens: optionVerticalPadding, optionSelectedFontWeight, completedParamTextColor, completedParamHorizontalPadding / completedParamVerticalPadding, completedParamShimmerColor, showsInactivePillBorders, showBrandFooter

SwiftUI

  • .submitButtonHidden() hides the built-in submit button
  • .dropdownHidden() detaches the dropdown so it can anchor to your own container via .aiAutocompleteDropdown

Fixes

  • Caret is no longer hidden inside the completed-param chip after answering
  • Completing a param that wraps the input now scrolls fully into view
  • Dropdown option width/spacing renders exactly as measured

v1.5.0

Choose a tag to compare

@wastillaa wastillaa released this 12 Aug 22:26

Added

  • Redesigned input and dropdown to match the design system: plain small-caps parameter pills (no outline by default), 16pt input text and options, and darker option text.
  • iOS 26 Liquid Glass dropdown surface — release binaries are now built with Xcode 26, so the glass surface ships in the framework.
  • maxVisibleOptionRows appearance token (default 5) — caps the dropdown at five option rows and scrolls the rest, rather than expanding to fill the available space (whether it opens below or above the input).
  • LLM-identified parameters are recognized in the user's text and rendered as compact chips, like completed parameters.

Changed

  • Suggestions now refetch after every answered parameter. Each selection is sent to the server immediately so the next parameter is conditioned on it — requests are more frequent, and a brief loading state appears where cached options previously showed instantly.

v1.4.1

Choose a tag to compare

@wastillaa wastillaa released this 28 Jul 01:23
  • The dropdown brand link now carries utm_source

v1.4.0

Choose a tag to compare

@wastillaa wastillaa released this 23 Jul 14:58
  • Suggestion pills redesigned as transparent chips with a dashed outline, with new appearance tokens to customize it: pillBorderColor, pillBorderWidth, and pillBorderStyle (.dashed or .solid); pillBackgroundColor now defaults to clear.
  • Completed parameters now render as compact highlighted chips, matching the web SDK. Emphasis is configurable via completedParamEmphasis — chip fill (default), semibold text, both, or neither — with new fill tokens completedParamBackgroundColor and completedParamActiveBackgroundColor (the darker fill shown while re-editing).
  • The dropdown now stays open when the active pill genuinely has no options (or only non-tappable hints with showNonTappableOptions off), keeping its pill chip visible; with inline pill placement, an empty dropdown no longer lingers.
  • Tapping outside a parameter being re-edited now exits re-edit mode.
  • Fixed completed-chip rendering issues: uneven inner padding, spacing between adjacent chips, chips wrapping across lines, and broken padding after backspacing flush against a chip.
  • optionOverrides now fully replace server-supplied options in stored state instead of merging with them.

v1.3.0

Choose a tag to compare

@wastillaa wastillaa released this 19 Jun 20:06
  • UIKit AIAutocompleteView dropdown now floats over surrounding content instead of pushing it in-flow, matching the SwiftUI wrapper and the React SDK.
  • The dropdown's "AI Autocomplete" brand footer is now a tappable link (tap + VoiceOver) to ai-autocomplete.com.
  • Re-editing a completed parameter now replaces it and filters its options inline as you type, instead of inserting after the pill.
  • The caret can no longer land after a trailing inline pill.
  • Tapping an inline pill focuses the input, and the selection haptic fires only when the active pill actually changes.

v1.2.0

Choose a tag to compare

@wastillaa wastillaa released this 16 Jun 16:33
  • Dropdown polish: refined option sizing, word-width loaders, and scroll fade
  • Add light haptic feedback on pill taps
  • Show the dropdown only once options arrive (no initial loading flash)