Skip to main content
Current version: 0.10.0. Source: packages/ext-common/CHANGELOG.md.

0.10.0

Major Changes

  • #3033 667a9d7 Thanks @da1z! - [Illustration] Add size prop (default | large) for empty-state illustrations. Desktop renders 180px or 300px wide; mobile renders 135px or 180px. Empty states without width or height now render at the default size instead of their native 300px; pass size="large" to keep the previous desktop width.

0.9.0

Major Changes

  • #2958 6040bb3 Thanks @hbartlett-st! - [FormMultiSelect, FormMultiSelectSync, FormSelect, FormSelectSync, FormTreeSelect] Narrow the fieldState prop type to SelectableOptionsFieldState/SelectableOptionsArrayFieldState, matching Form.RadioGroup/Form.CheckboxGroup. Construct fieldState as one of these classes instead of a bare A2InputFieldState. FormSelectSync/FormMultiSelectSync also drop their options prop — call fieldState.setOptions(options) instead of passing options directly.
  • #2958 6040bb3 Thanks @hbartlett-st! - [FormCheckboxGroup, FormRadioGroup, SelectableOptionsArrayFieldState, SelectableOptionsFieldState] Change field state value shape from bare option id(s) to the full selected option object(s), matching Form.Select/Form.MultiSelect/Form.TreeSelect. Update code reading or writing fieldState.value for Form.RadioGroup/Form.CheckboxGroup to use the full option object instead of its id; both field states now take a single generic parameter (<G> instead of <T, G>).

Minor Changes

  • #2958 6040bb3 Thanks @hbartlett-st! - [Form.IntervalFrequency, IntervalFrequencyFormState] Add new bound field pairing a numeric interval input with a frequency/unit select

Patch Changes

  • Updated dependencies [a9da73e]:
    • @servicetitan/anvil2-illustrations@1.3.4
    • @servicetitan/anvil2@3.15.1

0.8.6

Patch Changes

0.8.5

Patch Changes

0.8.4

Minor Changes

  • #2888 f73285c Thanks @da1z! - [Illustration] Default segment to residential for both empty states and headers when omitted via props or provider. Empty states fall back to generic art when residential has no file. Fix service-agreements header with residential segment rendering nothing by falling back to the commercial illustration

Patch Changes

  • Updated dependencies [3accfab]:
    • @servicetitan/anvil2@3.13.6

0.8.3

Patch Changes

  • Updated dependencies [a2f07c5, dc68e22]:
    • @servicetitan/anvil2@3.13.5
    • @servicetitan/anvil2-illustrations@1.3.2

0.8.2

Patch Changes

  • #2844 a32f02b Thanks @tounsoo! - [Illustration] Keep the svg ref pointed at the inner <svg> when illustration exports are function components
  • Updated dependencies [a32f02b, a32f02b]:
    • @servicetitan/anvil2@3.13.4
    • @servicetitan/anvil2-illustrations@1.3.1

0.8.1

Minor Changes

  • #2804 f9059ac Thanks @da1z! - [Illustration, IllustrationProvider] Add a resolver that picks a named token illustration from kebab-case scenario, header context, segment, and trade values

Patch Changes

  • Updated dependencies [5043512, 10234f8]:
    • @servicetitan/anvil2-illustrations@1.3.0
    • @servicetitan/anvil2@3.13.3

0.8.0

Major Changes

  • #2671 b263157 Thanks @w-a-t-s-o-n! - These version bumps clear npm version numbers reserved after a security-related unpublish. Declared as major so Hammer’s pre-1.0 remap (major → minor) lands past the burned patch range. Consumers must upgrade to the new versions. Do not pin to unpublished or reserved numbers. Higher versions that still appear in the npm packument time field but are missing from installable versions must not be used — they return 404 and reject republish.

Patch Changes

0.7.0

Minor Changes

  • #2454 988c46f Thanks @rhassan-eng! - [Form] Add Form.SelectSync and Form.MultiSelectSync for synchronous select fields

Patch Changes

0.6.0

Minor Changes

  • #2442 83b1b92 Thanks @hbartlett-st! - [Form] Add FormSelectSync and FormMultiSelectSync binding components that wrap SelectFieldSync and MultiSelectFieldSync for client-side option sets passed via options, instead of asynchronous loadOptions

Patch Changes

0.5.1

Patch Changes

  • #2424 7015549 Thanks @pbuckingham-st! - No longer bundles a copy of @servicetitan/anvil2; it is now a peer dependency. This fixes anvil2 components (e.g. ButtonToggle/FilterBar) rendering with incorrect styling in apps that load both @servicetitan/anvil2 and @servicetitan/anvil2-ext-common.
  • Updated dependencies [e975960, daaa703, 9eb595b, e536233, 9eb595b]:
    • @servicetitan/anvil2@3.3.0

0.5.0

Minor Changes

  • #2386 efd6121 Thanks @hbartlett-st! - [Suggestions] Add new render-prop component that coordinates highlighting fields populated by a suggestion until they are edited. Exposes suggestable and suggestor prop-getters plus imperative markSuggested, clearHighlight, and isHighlighted methods.

Patch Changes

0.4.0

Minor Changes

  • #2393 fa64efa Thanks @pbuckingham-st! - [Form] Add formstate field-state wrappers (A2InputFieldState, SelectableOptionsFieldState) and a Form.* namespace of observer binding components for Anvil2 input fields (TextField, Textarea, NumberField, DateFieldSingle/Range/Yearless/YearlessRange, TimeField, beta Select/MultiSelect/TreeSelect, and RadioGroup/CheckboxGroup). Checkbox/radio are provided as the group wrappers only.

Patch Changes

0.3.20

Patch Changes

0.3.19

Patch Changes

0.3.18

Patch Changes

0.3.17

Patch Changes

0.3.16

Patch Changes

0.3.15

Patch Changes

0.3.14

Patch Changes

0.3.13

Patch Changes

0.3.12

Patch Changes

0.3.11

Patch Changes

0.3.10

Patch Changes

0.3.9

Patch Changes

0.3.8

Patch Changes

0.3.7

Patch Changes

0.3.6

Patch Changes

0.3.5

Patch Changes

0.3.4

Patch Changes

0.3.3

Patch Changes

  • Updated dependencies [e51e4d4]:
    • @servicetitan/anvil2@2.5.1

0.3.2

Patch Changes

0.3.1

Patch Changes

0.3.0

Minor Changes

  • #2047 0df7ba2 Thanks @copilot-swe-agent! - [useInputGuards] Add CommitTrigger enum and triggers config option to control which user actions fire a commit; remove onClear from returned inputProps (clear by setting the controlled value to "", e.g. in response to an input change that produces an empty value)

Patch Changes

0.2.1

Patch Changes

0.2.0

Minor Changes

  • #1999 b7de3d5 Thanks @jsphstls! - [useInputGuards] Add useInputGuards hook — debounced text input with rate-limited commits, paste handling, and deduplication

Patch Changes

0.1.26

Patch Changes

0.1.25

Patch Changes

0.1.24

Patch Changes

0.1.23

Patch Changes

0.1.22

Patch Changes

  • Updated dependencies [3c638be]:
    • @servicetitan/anvil2@2.0.0

0.1.21

Patch Changes

0.1.20

Patch Changes

0.1.19

Patch Changes

0.1.18

Patch Changes

0.1.17

Patch Changes

0.1.16

Patch Changes

0.1.15

Patch Changes

0.1.14

Patch Changes

0.1.13

Patch Changes

0.1.12

Patch Changes

0.1.11

Patch Changes

  • Updated dependencies [743b27d]:
    • @servicetitan/anvil2@1.49.2

0.1.10

Patch Changes

  • Updated dependencies [4303e89, ece3b1e]:
    • @servicetitan/anvil2@1.49.1

0.1.9

Patch Changes

0.1.8

Patch Changes

0.1.7

Patch Changes

0.1.6

Patch Changes

  • Updated dependencies [eec7556]:
    • @servicetitan/anvil2@1.47.1

0.1.5

Patch Changes

0.1.4

Patch Changes

  • Updated dependencies [d7fc638]:
    • @servicetitan/anvil2@1.46.11

0.1.3

Patch Changes

  • Updated dependencies [edeac4f, 8a69a5e]:
    • @servicetitan/anvil2@1.46.10

0.1.2

Patch Changes

  • Updated dependencies [853ab3d, b93a325]:
    • @servicetitan/anvil2@1.46.9

0.1.1

Patch Changes

0.1.0

Minor Changes

  • #1566 5822b65 Thanks @rgdelato! - [useConfirmDialog] Add useConfirmDialog to new @servicetitan/anvil2-ext-common package

Patch Changes

Last modified on November 2, 2026