Skip to content

v0.3.1

Latest

Choose a tag to compare

@bintocher bintocher released this 25 Jul 19:50
b89fa6e

Fixed

  • Native filter tools crashed on dashboards whose json_metadata is null (#11). Superset returns json_metadata: null (not "{}") for dashboards that never had metadata written, so superset_dashboard_filter_add/list/update/delete/reset raised TypeError: the JSON object must be str, bytes or bytearray, not NoneType before making any API call. Null json_metadata and position_json are now read as empty objects everywhere.
  • List arguments were unusable when the client sent them JSON-encoded (#12). Some MCP clients serialise dashboards=[31] as the string "[31]", which pydantic rejected with list_type. All list parameters (dashboards, roles, owners, users, user_ids, role_ids, tables, permission_view_menu_ids, allowed_domains) now accept a native list, a JSON-encoded list, a bare value, or a comma-separated string.

Changed

  • Superset error responses of the form {"errors": [{"message": ..., "error_type": ..., "extra": {"issue_codes": [...]}}]} are unpacked into the raised error instead of being stringified, so a 500 carries the error type and issue codes rather than a bare "Fatal error".

Both fixes were reproduced and verified against a live Superset 6.0.1 instance, with regression tests running over the MCP layer. Thanks to @bymcs for the reports.