v6.4.40
Tue Oct 06 2026
Bug Fixes
API
- stamp CreatorId on rows the worker inserts handle_task opened its session without a user, so the CreatorMixin listener wrote NULL — hitting the attribution-set dataset and auto-activated sets.
- price attribution investment only on dates with effects Set investment was summed over the whole set's date span for every market, and null-date attributions over the whole dataset; recompute the affected caches.
- earlier member wins each segment-date block Set merge deduplicated per variable, so a variable the winning member lacked was filled in from the loser, double-counting effects (#967). The lowest-order member now contributes all of its rows per (Country, Region, Grouping, Date); other segments and dates still union. Port of the merge part of !1533. Existing sets are not re-merged. Creating a set from an attribution made by a simulation, prediction or optimization is now rejected (400), even as its only member: their UpdateVariable overrides have no market, so they can't be merged per market. The auto_activate set of a job is unaffected. Remove the never-deployed hotfix7 job that deleted and recomputed metric caches while the app is live (metric endpoints return [] in the gap), and its skip-on-error wrapper. The #963 pricing fix for new caches stays. Instead, report_stale_attribution_metrics logs, read-only and once per tenant, the IDs of sets/attributions likely hit by #963, #967 or a job-derived member. Targeted set/attribution metrics and set tests pass locally.
Unknown commit type
API
- lint
- lint