You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// ❌ ValidationError: Field "email" must be a valid email address
229
+
230
+
// Invalid enum value
231
+
await table.add([{ status: 'Unknown'}]);
232
+
// ❌ ValidationError: Field "status" must be one of: Active, Inactive, Pending
233
+
234
+
// Invalid percentage
235
+
await table.add([{ discount: 1.5 }]);
236
+
// ❌ ValidationError: Field "discount" must be between 0.00 and 1.00
237
+
```
238
+
177
239
### Error Handling
178
240
179
241
All errors extend `AppSheetError` with specific subtypes:
180
242
- `AuthenticationError`(401/403)
181
-
-`ValidationError` (400)
243
+
- `ValidationError`(400) - Now includes field-level validation errors
182
244
- `NotFoundError`(404)
183
245
- `RateLimitError`(429)
184
246
- `NetworkError`(no response)
@@ -216,6 +278,44 @@ Retry logic applies to network errors and 5xx server errors (max 3 attempts by d
216
278
217
279
**Note**: The AppSheet API may return responses in either format. The AppSheetClient automatically normalizes both formats to the standard `{ Rows: [...], Warnings?: [...] }` structure for consistent handling.
218
280
281
+
## Breaking Changes (v2.0.0)
282
+
283
+
**⚠️ IMPORTANT**: Version 2.0.0 introduces breaking changes. See MIGRATION.md for upgrade guide.
284
+
285
+
### Removed Features
286
+
- ❌ Old generic types (`'string'`, `'number'`, `'boolean'`, `'date'`, `'array'`, `'object'`) are no longer supported
287
+
- ❌ Shorthand string format for field definitions (`"email": "string"`) is no longer supported
288
+
- ❌ `enum` property renamed to `allowedValues`
289
+
290
+
### New Requirements
291
+
- ✅ All fields must use full FieldDefinition object with `type` property
292
+
- ✅ Only AppSheet-specific types are supported (Text, Email, Number, etc.)
293
+
- ✅ Schema validation is stricter and more comprehensive
0 commit comments