Skip to content

1.0.0

Latest

Choose a tag to compare

@mattt mattt released this 13 Oct 13:18
Immutable release. Only release title and notes can be modified.
80d50b0

AnyLanguageModel is now 1.0!

Important

Breaking changes

  • JSONValue is now AnyLanguageModel's own type instead of a typealias for JSONSchema's JSONValue (#267). It has the same cases, accessors, and literal conformances, but not description, string interpolation, or isCompatible(with:strict:). Code that passes values between the two types needs to convert them.
  • @Generable now generates enums whose cases carry values as Foundation Models does (#322, from #301): one object per case, with a type that names the case and a typed property for each value. Content generated by an earlier version won't decode.
  • AnyLanguageModel now requires swift-huggingface 1.0 (#319).

Thanks to @akbashev for enums with associated values (#322, from #301) and JSON Lines streaming (#299), to @2570165831 for choosing anyOf variants (#320, from #309), and to @qoli for prompt attachments (#321, from #310) and preserving a leading BOM (#305).

What's Changed

  • Stream JSON Lines responses with URLSession by @akbashev in #299
  • Cancel Linux streaming requests canceled before the response starts by @mattt in #303
  • Support constant and anyOf string guides by @mattt in #304
  • Preserve leading BOM in generated JSON string content by @qoli in #305
  • Keep property order when writing generated content as JSON by @mattt in #307
  • Parse and write Llama tool calls without JSONSerialization by @mattt in #308
  • Test Swift 6.4 in CI by @mattt in #318
  • Require swift-huggingface 1.0 by @mattt in #319
  • Make JSONValue an AnyLanguageModel type by @mattt in #267
  • Let the model choose the variant of an anyOf by @mattt in #320
  • Add Foundation Models 27 prompt attachments by @mattt in #321
  • Generate enums with associated values as Foundation Models does by @mattt in #322
  • Bump README install snippets to 1.0.0 by @mattt in #323

Full Changelog: 0.16.0...1.0.0