|
1 | | -# Unreleased |
2 | | -- [fixed] Fixed `ModalityTokenCount` decoding when the `tokenCount` field is |
3 | | - omitted; this occurs when the count is 0. (#14745) |
4 | | - |
5 | | -# 11.12.0 |
6 | | -- [added] **Public Preview**: Added support for specifying response modalities |
7 | | - in `GenerationConfig`. This includes **public experimental** support for image |
8 | | - generation using Gemini 2.0 Flash (`gemini-2.0-flash-exp`). (#14658) |
9 | | - <br /><br /> |
10 | | - Note: This feature is in Public Preview and relies on experimental models, |
11 | | - which means that it is not subject to any SLA or deprecation policy and could |
12 | | - change in backwards-incompatible ways. |
13 | | -- [added] Added support for more `Schema` fields: `minItems`/`maxItems` (array |
14 | | - size limits), `title` (schema name), `minimum`/`maximum` (numeric ranges), |
15 | | - `anyOf` (select from sub-schemas), and `propertyOrdering` (JSON key order). (#14647) |
16 | | -- [fixed] Fixed an issue where network requests would fail in the iOS 18.4 |
17 | | - simulator due to a `URLSession` bug introduced in Xcode 16.3. (#14677) |
18 | | - |
19 | | -# 11.11.0 |
20 | | -- [added] Emits a warning when attempting to use an incompatible model with |
21 | | - `GenerativeModel` or `ImagenModel`. (#14610) |
22 | | - |
23 | | -# 11.10.0 |
24 | | -- [feature] The Vertex AI SDK no longer requires `@preconcurrency` when imported in Swift 6. |
25 | | -- [feature] The Vertex AI Sample App now includes an image generation example. |
26 | | -- [changed] The Vertex AI Sample App is now part of the |
27 | | - [quickstart-ios repo](https://github.com/firebase/quickstart-ios/tree/main/vertexai). |
28 | | -- [changed] The `role` in system instructions is now ignored; no code changes |
29 | | - are required. (#14558) |
30 | | - |
31 | | -# 11.9.0 |
32 | | -- [feature] **Public Preview**: Added support for |
33 | | - [generating images](https://firebase.google.com/docs/vertex-ai/generate-images-imagen?platform=ios) |
34 | | - using the Imagen 3 models. |
35 | | - <br /><br /> |
36 | | - Note: This feature is in Public Preview, which means that it is not subject to |
37 | | - any SLA or deprecation policy and could change in backwards-incompatible ways. |
38 | | -- [feature] Added support for modality-based token count. (#14406) |
39 | | - |
40 | | -# 11.6.0 |
41 | | -- [changed] The token counts from `GenerativeModel.countTokens(...)` now include |
42 | | - tokens from the schema for JSON output and function calling; reported token |
43 | | - counts will now be higher if using these features. |
44 | | - |
45 | | -# 11.5.0 |
46 | | -- [fixed] Fixed an issue where `VertexAI.vertexAI(app: app1)` and |
47 | | - `VertexAI.vertexAI(app: app2)` would return the same instance if their |
48 | | - `location` was the same, including the default `us-central1`. (#14007) |
49 | | -- [changed] Removed `format: "double"` in `Schema.double()` since |
50 | | - double-precision accuracy isn't enforced by the model; continue using the |
51 | | - Swift `Double` type when decoding data produced with this schema. (#13990) |
52 | | - |
53 | | -# 11.4.0 |
54 | | -- [feature] Vertex AI in Firebase is now Generally Available (GA) and can be |
55 | | - used in production apps. (#13725) |
56 | | - <br /><br /> |
57 | | - Use the Vertex AI in Firebase library to call the Vertex AI Gemini API |
58 | | - directly from your app. This client library is built specifically for use with |
59 | | - Swift apps, offering security options against unauthorized clients as well as |
60 | | - integrations with other Firebase services. |
61 | | - <br /><br /> |
62 | | - Note: Vertex AI in Firebase is currently only available in Swift Package |
63 | | - Manager and CocoaPods. Stay tuned for the next release for the Zip and |
64 | | - Carthage distributions. |
65 | | - <br /><br /> |
66 | | - - If you're new to this library, visit the |
67 | | - [getting started guide](http://firebase.google.com/docs/vertex-ai/get-started?platform=ios). |
68 | | - - If you used the preview version of the library, visit the |
69 | | - [migration guide](https://firebase.google.com/docs/vertex-ai/migrate-to-ga?platform=ios) |
70 | | - to learn about some important updates. |
71 | | -- [changed] **Breaking Change**: The `HarmCategory` enum is no longer nested |
72 | | - inside the `SafetySetting` struct and the `unspecified` case has been |
73 | | - removed. (#13686) |
74 | | -- [changed] **Breaking Change**: The `BlockThreshold` enum in `SafetySetting` |
75 | | - has been renamed to `HarmBlockThreshold`. (#13696) |
76 | | -- [changed] **Breaking Change**: The `unspecified` case has been removed from |
77 | | - the `FinishReason`, `BlockReason` and `HarmProbability` enums; this scenario |
78 | | - is now handled by the existing `unknown` case. (#13699) |
79 | | -- [changed] **Breaking Change**: The property `citationSources` of |
80 | | - `CitationMetadata` has been renamed to `citations`. (#13702) |
81 | | -- [changed] **Breaking Change**: The initializer for `Schema` is now internal; |
82 | | - use the new type methods `Schema.string(...)`, `Schema.object(...)`, etc., |
83 | | - instead. (#13852) |
84 | | -- [changed] **Breaking Change**: The initializer for `FunctionDeclaration` now |
85 | | - accepts an array of *optional* parameters instead of a list of *required* |
86 | | - parameters; if a parameter is not listed as optional it is assumed to be |
87 | | - required. (#13616) |
88 | | -- [changed] **Breaking Change**: `CountTokensResponse.totalBillableCharacters` |
89 | | - is now optional (`Int?`); it may be `null` in cases such as when a |
90 | | - `GenerateContentRequest` contains only images or other non-text content. |
91 | | - (#13721) |
92 | | -- [changed] **Breaking Change**: The `ImageConversionError` enum is no longer |
93 | | - public; image conversion errors are still reported as |
94 | | - `GenerateContentError.promptImageContentError`. (#13735) |
95 | | -- [changed] **Breaking Change**: The `CountTokensError` enum has been removed; |
96 | | - errors occurring in `GenerativeModel.countTokens(...)` are now thrown directly |
97 | | - instead of being wrapped in a `CountTokensError.internalError`. (#13736) |
98 | | -- [changed] **Breaking Change**: The enum `ModelContent.Part` has been replaced |
99 | | - with a protocol named `Part` to avoid future breaking changes with new part |
100 | | - types. The new types `TextPart` and `FunctionCallPart` may be received when |
101 | | - generating content; additionally the types `InlineDataPart`, `FileDataPart` |
102 | | - and `FunctionResponsePart` may be provided as input. (#13767) |
103 | | -- [changed] **Breaking Change**: All initializers for `ModelContent` now require |
104 | | - the label `parts: `. (#13832) |
105 | | -- [changed] **Breaking Change**: `HarmCategory`, `HarmProbability`, and |
106 | | - `FinishReason` are now structs instead of enums types and the `unknown` cases |
107 | | - have been removed; in a `switch` statement, use the `default:` case to cover |
108 | | - unknown or unhandled values. (#13728, #13854, #13860) |
109 | | -- [changed] **Breaking Change**: The `Tool` initializer is now internal; use the |
110 | | - new type method `functionDeclarations(_:)` to create a `Tool` for function |
111 | | - calling. (#13873) |
112 | | -- [changed] **Breaking Change**: The `FunctionCallingConfig` initializer and |
113 | | - `Mode` enum are now internal; use one of the new type methods `auto()`, |
114 | | - `any(allowedFunctionNames:)`, or `none()` to create a config. (#13873) |
115 | | -- [changed] **Breaking Change**: The `CandidateResponse` type is now named |
116 | | - `Candidate`. (#13897) |
117 | | -- [changed] **Breaking Change**: The minimum deployment target for the SDK is |
118 | | - now macOS 12.0; all other platform minimums remain the same at iOS 15.0, |
119 | | - macCatalyst 15.0, tvOS 15.0, and watchOS 8.0. (#13903) |
120 | | -- [changed] **Breaking Change**: All of the public properties of |
121 | | - `GenerationConfig` are now `internal`; they all remain configurable in the |
122 | | - initializer. (#13904) |
123 | | -- [changed] The default request timeout is now 180 seconds instead of the |
124 | | - platform-default value of 60 seconds for a `URLRequest`; this timeout may |
125 | | - still be customized in `RequestOptions`. (#13722) |
126 | | -- [changed] The response from `GenerativeModel.countTokens(...)` now includes |
127 | | - `systemInstruction`, `tools` and `generationConfig` in the `totalTokens` and |
128 | | - `totalBillableCharacters` counts, where applicable. (#13813) |
129 | | -- [added] Added a new `HarmCategory` `.civicIntegrity` for filtering content |
130 | | - that may be used to harm civic integrity. (#13728) |
131 | | -- [added] Added `probabilityScore`, `severity` and `severityScore` in |
132 | | - `SafetyRating` to provide more fine-grained detail on blocked responses. |
133 | | - (#13875) |
134 | | -- [added] Added a new `HarmBlockThreshold` `.off`, which turns off the safety |
135 | | - filter. (#13863) |
136 | | -- [added] Added an optional `HarmBlockMethod` parameter `method` in |
137 | | - `SafetySetting` that configures whether responses are blocked based on the |
138 | | - `probability` and/or `severity` of content being in a `HarmCategory`. (#13876) |
139 | | -- [added] Added new `FinishReason` values `.blocklist`, `.prohibitedContent`, |
140 | | - `.spii` and `.malformedFunctionCall` that may be reported. (#13860) |
141 | | -- [added] Added new `BlockReason` values `.blocklist` and `.prohibitedContent` |
142 | | - that may be reported when a prompt is blocked. (#13861) |
143 | | -- [added] Added the `PromptFeedback` property `blockReasonMessage` that *may* be |
144 | | - provided alongside the `blockReason`. (#13891) |
145 | | -- [added] Added an optional `publicationDate` property that *may* be provided in |
146 | | - `Citation`. (#13893) |
147 | | -- [added] Added `presencePenalty` and `frequencyPenalty` parameters to |
148 | | - `GenerationConfig`. (#13899) |
149 | | - |
150 | | -# 11.3.0 |
151 | | -- [added] Added `Decodable` conformance for `FunctionResponse`. (#13606) |
152 | | -- [changed] **Breaking Change**: Reverted refactor of `GenerativeModel` and |
153 | | - `Chat` as Swift actors (#13545) introduced in 11.2; The methods |
154 | | - `generateContentStream`, `startChat` and `sendMessageStream` no longer need to |
155 | | - be called with `await`. (#13703) |
156 | | - |
157 | | -# 11.2.0 |
158 | | -- [fixed] Resolved a decoding error for citations without a `uri` and added |
159 | | - support for decoding `title` fields, which were previously ignored. (#13518) |
160 | | -- [changed] **Breaking Change**: The methods for starting streaming requests |
161 | | - (`generateContentStream` and `sendMessageStream`) are now throwing and |
162 | | - asynchronous and must be called with `try await`. (#13545, #13573) |
163 | | -- [changed] **Breaking Change**: Creating a chat instance (`startChat`) is now |
164 | | - asynchronous and must be called with `await`. (#13545) |
165 | | -- [changed] **Breaking Change**: The source image in the |
166 | | - `ImageConversionError.couldNotConvertToJPEG` error case is now an enum value |
167 | | - instead of the `Any` type. (#13575) |
168 | | -- [added] Added support for specifying a JSON `responseSchema` in |
169 | | - `GenerationConfig`; see |
170 | | - [control generated output](https://firebase.google.com/docs/vertex-ai/structured-output?platform=ios) |
171 | | - for more details. (#13576) |
172 | | - |
173 | | -# 10.29.0 |
174 | | -- [feature] Added community support for watchOS. (#13215) |
175 | | - |
176 | | -# 10.28.0 |
177 | | -- [changed] Removed uses of the `gemini-1.5-flash-preview-0514` model in docs |
178 | | - and samples. Developers should now use the auto-updated versions, |
179 | | - `gemini-1.5-pro` or `gemini-1.5-flash`, or a specific stable version; see |
180 | | - [available model names](https://firebase.google.com/docs/vertex-ai/gemini-models#available-model-names) |
181 | | - for more details. (#13099) |
182 | | -- [feature] Added community support for tvOS and visionOS. (#13090, #13092) |
183 | | - |
184 | | -# 10.27.0 |
185 | | -- [changed] Removed uses of the `gemini-1.5-pro-preview-0409` model in docs and |
186 | | - samples. Developers should now use `gemini-1.5-pro-preview-0514` or |
187 | | - `gemini-1.5-flash-preview-0514`; see |
188 | | - [available model names](https://firebase.google.com/docs/vertex-ai/gemini-models#available-model-names) |
189 | | - for more details. (#12979) |
190 | | -- [changed] Logged additional details when required APIs for Vertex AI are |
191 | | - not enabled or response payloads when requests fail. (#13007, #13009) |
192 | | - |
193 | | -# 10.26.0 |
194 | | -- [feature] Initial release of the Vertex AI for Firebase SDK (public preview). |
195 | | - Learn how to |
196 | | - [get started](https://firebase.google.com/docs/vertex-ai/get-started?platform=ios) |
197 | | - with the SDK in your app. |
| 1 | +# 11.13.0 |
| 2 | +- [feature] Initial release of the Firebase AI SDK (`FirebaseAI`). This SDK |
| 3 | + replaces the previous Vertex AI in Firebase SDK (`FirebaseVertexAI`). This new |
| 4 | + SDK adds **public preview** support for the Gemini Developer API, including |
| 5 | + support for its free tier offering. To get started, import the `FirebaseAI` |
| 6 | + module and use the top-level `FirebaseAI` class. |
0 commit comments