Metabase API requirement for case-sensitive boolean strings in v47+

In Metabase v0.45.4.3, the /api/collection PUT endpoint argument "archived" used to accept any casing boolean, i.e. True, False, true, false. In Metabase v0.47.9, the same endpoint now accepts only "true" or "false".

In my case, I have a Python client for this API, using the requests library. In the older Metabase version, I could just feed Python booleans into the request, and JSON serialisation would take care of converting to a string, in this case to "True" or "False". Now I need to override that behaviour to convert bools to a lowercase "true" or "false".

That's not a huge deal but I'm wondering why Metabase made this change? It's mentioned in the docs in some places but will probably trip up a lot of other developers wanting to use the API.


Hey Lindsay, I don't think that change is anywhere in the docs. I'm also using python for some scripts but I'm fine sending True or False from python booleans, but they all get converted into actual booleans in the json