1.70.11
(fix): XML-encoded (TwiML) types are generated one file per type (e.g. twimlvoice/say.go with its
say_test.go) instead of all into the package’s types.go, which grew to tens of thousands of
lines for TwiML. Same package and public API; a type whose file name would collide with a file the
generator writes for other purposes (types.go, client.go, doc.go, *_test.go, …) stays in
types.go.
1.70.10
(fix): Generated SDKs now use reflect.Pointer instead of the deprecated reflect.Ptr alias,
so go vet and golangci-lint on Go 1.26+ no longer report
“Constant reflect.Ptr should be inlined”. No behavior change: reflect.Pointer has
been available since Go 1.18, which generated SDKs already require (they use generics).
1.70.9
(fix): Add the xmlTextFirstBuilders option (default false) for XML-encoded (TwiML) types. When
enabled, child builders take the element’s text first and functional options for its
attributes — r.Say("hi", twimlvoice.WithSayVoice("alice"), twimlvoice.WithSayLoop(2)),
r.Pause(twimlvoice.WithPauseLength(1)) — and the typed variant moves to AddSay(&Say{...}).
Every XML type gets a <Type>Option func type and one With<Type><Attribute>(value) option per
attribute, so pointer-typed optional attributes no longer need api.String(...)/&v.
Also adds a generic Ptr[T any](v T) *T helper next to the existing typed pointer helpers.