- 0.2.8
- Add a new
ExAirtable.Table.from_schema
method, which is the reverse ofto_schema
.
- Add a new
- 0.2.7
- Add a new
ExAirtable.Table.list_params
callback, to allow for all list operations against Airtable to be pre-filtered, pre-sorted, etc. This can do a lot to keep data from coming down the wire, and it's easier to uselist_params
than to keep having to redefineTable.list
and/orTable.list_async
each time you want to do that.
- Add a new
- 0.2.6
- Add Airtable ID to exported table schemas. See
ExAirtable.Table.to_schema
andExAirtable.Airtable.Record.to_schema
for more details.
- Add Airtable ID to exported table schemas. See
- 0.2.5
- Make
Table.list_async
overrideable in situations where you want to change the default table listing parameters. - Clean up
params
forTable.list
andTable.list_async
to use Keyword lists in both places (instead of a map in one and a keyword list in the other)
- Make
- 0.2.4
- Add
to_schema()
methods, to make it easier to define a conversion between Airtable field names and in-app field names. Realistically, this will likely be used most in apps that use Ecto schemas internally to validate Airtable data. SeeExAirtable.Table.to_schema
andExAirtable.Airtable.Record.to_schema
for more details.
- Add
- 0.2.3
- More fixing of bugs around table naming. Everything is picky about weird table names!
- 0.2.2
- Fixed a bug that prevented starting a supervisor with multiple tables.
- Fixed a bug in URI encoding that prevented tables with crazy characters in their names (like "/") from being queried.
- 0.2.1
- Upgraded to Elixir 1.11.1, and fixed some bugs that came with that. Added ASDF
.tool-versions
to the repo to help with developers who want to pitch in.
- Upgraded to Elixir 1.11.1, and fixed some bugs that came with that. Added ASDF
- 0.2.0
- Removed the
:delete_on_refresh
startup option. The new solution takes inspiration from the hashing approach taken here, and removes any need to worry about the cache staying up to date. It's relatively performant, and will only churn the whole cache if the Airtable result and the local cache are different. - Converted the
RateLimiter
from twoGenStage
modules to a singleGenServer
module. This is conceptually simpler, and also runs much faster! To be clear, the problem was my misunderstanding and mis-application ofGenStage
, not any inherent problem withGenStage
.
- Removed the
- 0.1.0 - Initial commit. The thing works!