airtable_crud
A Flutter plugin for seamless integration with Airtable's API, enabling CRUD operations and record filtering with ease.
1.3.0
Katoemma/airtable_crud
What this package is like to depend on
Last release 10 months ago
16 Oct 2025
Release timing varies
gaps range from 2 weeks to 8 months
Rarely documented
notes for 2 of 11 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
11 releases · first in 2024
1 release in the last 12 months
see the full history below
Release timeline
11 releases · Oct 2024 to Oct 2025Releases
latest 11-
1.3.016 Oct 2025Release notes
Open source →Major Improvements in v1.3.0
This release brings significant modernization to the
airtable_crudpackage with improved API design, better error handling, and enhanced type safety—all while maintaining 100% backward compatibility!✨ What's New
- Unified API: Single
fetchRecords()method for all queries - Better Error Handling: Specific exception types (
AuthException,NetworkException,RateLimitException, etc.) - Immutable Updates: New
copyWith()andupdateField()methods - Advanced Configuration:
AirtableConfigfor timeouts, retries, and logging - Enhanced Return Values: Operations now return useful data
- New Bulk Operations: Bulk update and delete support
⚠️ Deprecation Notices
Some methods are deprecated but still work (removed in v2.0.0):
- Import path: Use
airtable_crud.dartinstead ofairtable_plugin.dart - Use
fetchRecords(filter: ...)instead offetchRecordsWithFilter() - Use immutable updates instead of direct field mutation
Migration guide: MIGRATION.md
📚 Documentation
- Full Changelog: CHANGELOG.md
- Migration Guide: MIGRATION.md
- Updated Examples: README.md
🎯 Who Should Upgrade?
Everyone! This release is fully backward compatible. Your existing code will work without changes, but you'll get:
- Better error messages
- More type safety
- Cleaner APIs to use going forward
Release notes
Open source →⚠️ Deprecations (All still work!)
airtable_plugin.dartimport → Useairtable_crud.dartinsteadfetchRecordsWithFilter()method → UsefetchRecords(filter: ...)instead- Direct
AirtableRecord.fieldsmutation → Use.copyWith()or.updateField()instead - Basic
AirtableCrud()constructor → UseAirtableCrud.withConfig()for advanced features
✨ New Features
Core Improvements:
- Unified
fetchRecords()method with optional filter parameter - Exception hierarchy for better error handling:
NetworkException- Connection and timeout errorsAuthException- Authentication and authorization errors (401/403)RateLimitException- Rate limit errors with retry guidance (429)ValidationException- Data validation errors (422)NotFoundException- Resource not found errors (404)
AirtableConfigclass for centralized configurationAirtableCrud.withConfig()constructor for advanced setup- Configurable timeouts, retry logic, and logging
Enhanced Models:
AirtableRecord.copyWith()method for immutable updatesAirtableRecord.updateField()convenience methodAirtableRecord.removeField()methodAirtableRecord.getField<T>()type-safe field accessorAirtableRecord.hasField()field existence checkDeleteResultmodel with deletion metadata
Improved Return Values:
updateRecord()now returns the updatedAirtableRecorddeleteRecord()now returnsDeleteResultwith metadata- Better operation feedback and logging capabilities
New Bulk Operations:
updateBulkRecords()- Update multiple records efficientlydeleteBulkRecords()- Delete multiple records in batch
HTTP Client Improvements:
- Automatic retry with exponential backoff
- Configurable timeout handling
- Better error parsing and reporting
- Optional request/response logging
🏗️ Architecture Improvements
- Separated concerns: client, config, models properly organized
AirtableClientclass for HTTP operations abstractionRequestBuilderclass for URL constructionAirtableConstantsclass for centralized constants- Better code organization and maintainability
- Improved testability with dependency injection support
📝 Documentation
- Added
MIGRATION.mdwith detailed upgrade guide - Updated
README.mdwith new patterns and examples - Added
PLAN.mddocumenting the modernization strategy - Added
STRUCTURE.mdwith architecture overview - Comprehensive inline documentation
- More code examples throughout
🔧 Technical Details
- No new external dependencies added
- Still using
http: ^1.3.0 - SDK requirement:
^3.5.3 - 100% backward compatible - no breaking changes
- All deprecated features still work with warnings
🚀 Migration
See MIGRATION.md for a detailed upgrade guide. TL;DR: Just change your import to
airtable_crud.dartand you're good!🔮 Future (v2.0.0)
Deprecated items will be removed in v2.0.0 (estimated 6-12 months). Plenty of time to migrate!
- Unified API: Single
-
1.2.421 Feb 2025Nothing published for this version
-
1.2.308 Feb 2025Release notes
Open source →🔥 Enhancements
- Added
fieldsparameter support tofetchRecordsWithFilter, allowing users to retrieve only specific fields along with filters. - Improved query string encoding to correctly format
fields[]parameters. - Ensured proper pagination handling while using filters.
- Added
-
1.2.127 Dec 2024Nothing published for this version
-
1.2.027 Dec 2024Nothing published for this version
-
1.1.317 Oct 2024Nothing published for this version
-
1.1.214 Oct 2024Nothing published for this version
-
1.1.114 Oct 2024Nothing published for this version
-
1.1.014 Oct 2024Nothing published for this version
-
1.0.614 Oct 2024Nothing published for this version
-
1.0.514 Oct 2024Nothing published for this version