Changelog¶
3.2.0 (2025-08-17)¶
Added several new fields returned in metadata models. - PR #434
3.1.1 (2025-04-07)¶
3.1.0 (2025-04-07)¶
Added
Field.field_schema()to type-annotated ORM fields. - PR #426Fix for incorrect type annotations on
FunctionCall. - PR #429
3.0.2 (2025-02-25)¶
3.0.1 (2024-12-06)¶
2.3.7 (2024-12-06)¶
Fix for #415 (see above).
3.0 (2024-11-15)¶
Added support for new enterprise API endpoints. - PR #407
Refactored methods/properties for constructing URLs in the API. - PR #399
Dropped support for Pydantic 1.x. - PR #397
Dropped support for Python 3.8. - PR #395
Added support for Upload attachment via
Table.upload_attachmentorAttachmentsList.upload. - PR #389Added
pyairtable.testing.MockAirtablefor easier testing. - PR #388Changed the return type of
Model.savefrombooltoSaveResult. - PR #387Changed the behavior of
Model.saveto no longer send unmodified field values to the API. - PR #381Added command line utility and ORM module generator. See Using the Command Line. - PR #376
Added Enterprise.grant_access <pyairtable.Enterprise.grant_access> and Enterprise.revoke_access <pyairtable.Enterprise.revoke_access>. - PR #373
Added support for memoization of ORM models. - PR #369
Refactored methods for accessing ORM model configuration. - PR #366
Added ORM fields that require a non-null value. - PR #363
Renamed
return_fields_by_field_id=touse_field_ids=. - PR #362Removed the
pyairtable.metadatamodule. - PR #360Added ORM field type
SingleLinkFieldfor record links that should only contain one record. - PR #354Changed the type of
created_timefromstrtodatetime, along with all other timestamp fields used in API: pyairtable.models. - PR #352TextFieldandCheckboxFieldreturn""orFalseinstead ofNone. - PR #347Rewrite of
pyairtable.formulasmodule. See Building Formulas. - PR #329
2.3.6 (2024-11-11)¶
Fix for #404 related to enterprise endpoint changes. - PR #405, PR #406
2.3.5 (2024-10-29)¶
2.3.4 (2024-10-21)¶
Fixed a crash at import time under Python 3.13. - PR #396
2.3.3 (2024-03-22)¶
2.3.2 (2024-03-18)¶
Fixed a bug affecting
pyairtable.metadata.get_table_schema(). - PR #349
2.3.1 (2024-03-14)¶
Fixed a bug affecting how timezones are parsed by
DatetimeField. - PR #342Fixed a bug affecting
create_table(). - PR #345
2.3.0 (2024-02-25)¶
A breaking API change was accidentally introduced. Read more in Migrating from 2.2 to 2.3.
Added support for Managing permissions and shares and Managing users. - PR #337
Added
Enterprise.audit_logto iterate page-by-page through audit log events. - PR #330Api.base,Api.table, andBase.tablewill use cached base metadata when called multiple times withvalidate=True, unless the caller passes a new keyword argumentforce=True. This allows callers to validate the IDs/names of many bases or tables at once without having to perform expensive network overhead each time. - PR #336
2.2.2 (2024-01-28)¶
2.2.1 (2023-11-28)¶
2.2.0 (2023-11-13)¶
2.1.0 (2023-08-18)¶
2.0.0 (2023-07-31)¶
See Migrating from 1.x to 2.0 for detailed migration notes.
Added
Commentclass; see Commenting on Records. - PR #282batch_upsert()now returns the full payload from the Airtable API. - PR #281ORM module is no longer experimental and has a stable API. - PR #277
Added
Model.batch_saveandModel.batch_delete. - PR #274Added
Api.whoamimethod. - PR #273pyAirtable will automatically retry requests when throttled by Airtable’s QPS. - PR #272
ORM Meta attributes can now be defined as callables. - PR #268
Removed
ApiAbstract. - PR #267Implemented strict type annotations on all functions and methods. - PR #263
Return Model instances, not dicts, from
Model.allandModel.first. - PR #262Dropped support for Python 3.7. - PR #261
1.5.0 (2023-05-15)¶
Add support for Airtable’s upsert operation (see Updating Records). - PR #255
Fix
return_fields_by_field_idinbatch_create()andbatch_update(). - PR #252Fix ORM crash when Airtable returned additional fields. - PR #250
Use POST for URLs that are longer than the 16k character limit set by the Airtable API. - PR #247
Added ORM
LookupField. - PR #182Dropped support for Python 3.6 (reached end of life 2021-12-23) - PR #213
1.4.0 (2022-12-14)¶
Added
pyairtable.retry_strategy().Misc fix in sleep for batch requests PR #180
1.3.0 (2022-08-23)¶
Added new
LOWERformula - PR #171. Seepyairtable.formulas.Added
match(..., match_any=True)tomatch()Added
return_fields_by_field_idinget()
1.2.0 (2022-07-09)¶
Fixed missing rate limit in
batch_update()- PR #162Added support for new parameter return_fields_by_field_id - PR #161. See updated Parameters.
Added new
ORformula - PR #148. Seepyairtable.formulas.
1.1.0 (2022-02-21)¶
Added support for
cellFormat- PR #140. See updated Parameters.
1.0.0 (2021-08-11)¶
pyAirtable rewrite for 1.x - see Migration Guide.