Conversation
Upgrade Zod from ^4.0.5 to ^4.3.6 and redesign how schemas handle .partial(), .pick(), and .omit() — which Zod 4.3+ disallows on schemas containing refinements. - Rename extensibleCampaignSchema to campaignBaseSchema and export it, giving consumers a refinement-free schema they can derive from - Extract shared campaignChecks callback to eliminate refinement duplication between full and partial schemas - Remove partial schemas from softwareSchema union to fix zod2md generating inline HTML that breaks MDX compilation - Add schema tiers documentation to principles/schema-design.mdx - Add new how-to guide for using schema variants (base, full, partial)
…e, and relationship schemas
`.pick()`, `.partial()`, and `.omit()` disallowed on object schemas containing refinements
… partials Exporting groupChecks (et al) allows users to re-compose the original groupSchema and groupPartialSchema with modifications without concern of Zod conflicts introduced in Zod v4.3.6
feat(schemas): export refinement check bundles in schema modules with partial schemas
Replaces direct console.log/console.warn calls in registerDataSource,
parseStixBundle, and the relationship deprecation refinement with a
shared logger module. Defaults to the level so informational
messages emitted during data source registration are no longer printed
unless opted into.
Levels: debug, info, warn, error, silent. Configure via
configureLogger({ level, handler }) or the ADM_LOG_LEVEL env var.
A custom LogHandler can be supplied to forward messages to an external
logging system. resetLogger() restores defaults.
Fixes the noise problem when parsing many bundles in a row, and
introduces logger configuration as a public feature.
…rols feat(logger): add configurable logger to control console output
|
🎉 This PR is included in version 4.11.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
…n-x_mitre_platforms fix(platforms): remove support for `Google Workspace` and `Azure AD`
|
🎉 This PR is included in version 4.11.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
…_mitre_related_assets elements
…lds-in-x_mitre_related_assets fix(assets): make `related_asset_sectors` and `description` required in `x_mitre_related_assets` elements
|
🎉 This PR is included in version 4.11.2 🎉 The release is available on: Your semantic-release bot 📦🚀 |
…restriction Zod v4 throws ".pick() cannot be used on object schemas containing refinements", which broke parseStixBundles top-level id/type check against stixBundleSchema. Split the bundle schema into a refinement-free base (stixBundleBaseSchema) and the refined stixBundleSchema, and pick from the base.
…erprise-attack-data fix(bundle): allow bundle parsing under Zod v4 pick-with-refinements …
|
🎉 This PR is included in version 4.11.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
…ble-elements-for-analytics fix(analytics): validate no duplicate mutable elements
|
🎉 This PR is included in version 4.11.4 🎉 The release is available on: Your semantic-release bot 📦🚀 |
…ast-one-tactic-to-be-specified-for-techniques-in-the-adm fix(techniques): at least one kill chain phase is required
|
🎉 This PR is included in version 4.11.5 🎉 The release is available on: Your semantic-release bot 📦🚀 |
- Network is valid for ICS - Network Devices is valid for Enterprise
|
🎉 This PR is included in version 4.11.6 🎉 The release is available on: Your semantic-release bot 📦🚀 |
|
🎉 This PR is included in version 4.11.7 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This is merging recent changes that came from the doc-cleanup branch (which went directly into main, and then into next) into the beta branch