Repository navigation
Releases
Releases · magicx-ai/ai-autocomplete-ios
v1.8.0
Personalization
- New
additionalContextonConfigurationandAIAutocompleteController: free-form JSON (JSONValue) sent asadditional_contextwith 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 survivereset() - 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
additionalContextonConfigurationandAIAutocompleteController: free-form JSON (JSONValue) sent asadditional_contextwith evuggestions bend toward what matching your catalog's field names are honoured most reliably - New
JSONValue.compactUTF8ByteCountandAutocompleteRequest.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
customPlaceholdernow 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
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 askippedParamsproperty.Configuration.showSkipButton(defaulttrue) — opt out of the built-in button (consulted for.dropdownpill placement).- New
AIAutocompleteAppearance.skipButtonTextColortoken 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
Styling
- Completed-param chips now default to a 6pt corner radius (previously fully rounded capsules)
- New
completedParamCornerRadiusappearance 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
v1.6.0
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
AIAutocompleteAppearancetokens: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
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.
maxVisibleOptionRowsappearance 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
v1.4.0
- 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
- UIKit
AIAutocompleteViewdropdown 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.