Changelog - 2026-10-18
FilterSchema has a real type
Type ChangeIn one line. FilterSchema and InclusionSchema were any in the emitted types - their recursion collapsed them - and are now typed zod schemas.
What changed
FilterSchemaandInclusionSchemaare typed. One annotation on the recursivescopebreaks the cycle that turned both intoany. A schema that embedsFilterSchemanow infersfilteras optional and precisely typed instead of a requiredany.- No implicit
anyleft in IGNIS. Every package compiles withnoImplicitAnyon: string-key reads useObject.entriesor annotated views, a reduce has its generic, and the browserlocationis read through a typed accessor. No behaviour changes.
Who is affected
- Code that relied on
FilterSchemabeingany. A value that does not match the filter shape is now a compile error where it used to pass silently. Fix the value or the schema it is assigned to. - Everyone else. No change.