Sticky filters in version 50

The dashboard filters in the latest release have become 'sticky' so that if I set a parameter's value in one dashboard, navigating to another applies the value there. That overrides any defaults already set.

Is there a way to turn this off? We have date parameters that need to default to a specific value when a dashboard is selected. I'd rather not have to rename them all.

Turns out it's a known issue that's more complicated than you think to fix.
It's caused by cloning dashboards, the filters on the new dashboard have the same id as on the original, so the values are locked.
Solution (for now) is to recreate the filters.

You are right! Updating filter on one dashboard automatically updates filters on other dashboards with cards referencing the same data · Issue #44858 · metabase/metabase · GitHub

Following SQL identifies the dashboards and filters that are expected. It's a bit more long winded than necessary as the interim steps are useful too:

with dash_params as
	(
select rd.id as dashboard_id, rd.name as dashboard_name, x.*
	from report_dashboard rd,
json_to_recordset((parameters::json)) x
(
	"id" text,
	"name" text,
	"slug" text,
	"type" text,
	"default" text,
	"sectionid" text
)
	where rd.archived =0::boolean
	)
, bad_params as
(
	select "id" as param_id
	from dash_params
	group by "id"
	having count("id") >1
	)
select * from dash_params where dash_params."id" in (select * from bad_params)
order by 1

(Edited to remove archived dashboards)

As if by magic, it's been fixed in 50.10. If only I'd waited 24 hours!