promotional bannermobile promotional banner

CompatScope

Modpack diagnostics, runtime analysis, simulation, change tracking and validated SAFE compatibility fixes.
Back to Files

CompatScope-NeoForge-1.21.1-1.0.29_beta2.jar

File nameCompatScope-NeoForge-1.21.1-1.0.29_beta2.jar
Uploader
KubicOfIceKubicOfIce
Uploaded
Sep 30, 2026
Downloads
7
Size
1.3 MB
Mod Loaders
NeoForge
File ID
9018824
Type
B
Beta
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:compatscope-1715256:9018824"

Learn more about Curse Maven

What's new

Highlights

  • Major improvements to diagnostic accuracy and attribution
  • More reliable Version Impact / Changes tracking
  • Safer SAFE Fix apply, rollback and recovery behavior
  • Significantly improved runtime and crash analysis
  • Large performance and memory optimizations
  • Improved support for very large modpacks
  • Better Fabric and NeoForge parity
  • More accurate Scan completeness reporting
  • Configurable resource and Knowledge Graph limits
  • Extensive GUI, CLI, persistence and build-system fixes

Diagnostics & Analysis

Diagnostic handling received a large correctness pass.

  • Improved root-cause attribution and actor identification
  • Improved runtime code ownership detection
  • Improved physical resource/provider ownership
  • Fixed cases where namespaces were incorrectly treated as mod ownership
  • Improved recipe, tag, resource, worldgen and registry diagnostics
  • Added more conservative causal attribution to reduce false positives
  • Improved handling of duplicated or related diagnostics
  • Added stable and collision-safe diagnostic IDs
  • Improved diagnostic grouping into Investigation Groups
  • Improved priority and impact-scope classification
  • Improved handling of runtime failures, degraded states, recoveries and observations
  • Improved detection of pack modifications and resource overrides
  • Improved KubeJS/script-related modification correlation
  • Improved blockstate, recipe and registry-tag diagnostics

Diagnostic IDs used by Fix History and generated fixes are now guaranteed to remain stable and unique.


Version Impact / Changes

  • The Changes system was extensively redesigned for more reliable comparisons between scans.
  • Version Impact now compares against the immediately previous completed Scan
  • Pack/content changes are separated from runtime and performance changes
  • Runtime events disappearing from a bounded log window are no longer automatically treated as resolved
  • Added runtime states such as:
    • Newly observed
    • Still observed
    • No longer observed
    • Aged out
    • Unverified missing
  • Performance state transitions are tracked separately instead of appearing as misleading add/remove pairs
  • Baseline scans now preserve runtime-window information
  • Improved snapshot and diagnostic history migration
  • Added compact history indexes to reduce repeated large JSON reads
  • Added semantic fast paths when the modpack has not actually changed
  • Improved timestamps on both NeoForge and Fabric
  • Added explicit target sampling metadata
  • Changes caused only by CompatScope's own analysis/schema updates are less likely to appear as false modpack changes.

    Runtime & Crash Analysis

  • Runtime analysis received major reliability improvements.
  • Improved crash attribution
  • Installed mods are no longer automatically treated as crash participants
  • Runtime stack traces preserve continuation lines
  • Raw runtime events are no longer unnecessarily clipped
  • Improved WARN-event semantic analysis
  • Improved runtime category detection
  • Improved Fabric nested-mod class ownership detection
  • Better handling of large crash reports
  • Runtime events from latest.log and debug.log are merged chronologically
  • Stale debug logs are prevented from contaminating the active session
  • Improved runtime deduplication
  • Fixed stale profiler data after disabling runtime systems
  • Improved first-seen / last-seen timestamp handling
  • Runtime history truncation is now explicitly tracked
  • Runtime history limits are intentionally treated separately from static Scan completeness.

Performance & Memory

  • Large internal optimizations were made for heavy modpacks.
  • Reworked Investigation Group generation to avoid expensive pairwise grouping
  • HTML reports are now streamed instead of being constructed multiple times in memory
  • Semantic fingerprints use streaming/bounded processing
  • Reduced large temporary snapshot allocations
  • Reduced Resource Scanner memory amplification
  • Reduced duplicate resource indexes
  • Added bounded filesystem traversal
  • Added bounded script traversal
  • Added bounded runtime ownership caches
  • Reused runtime resource ownership indexes
  • Added bounded Knowledge Graph construction
  • Reduced repeated expensive Fix History integrity work
  • Heavy CLI operations run outside the Minecraft server command thread using a bounded worker
  • CompatScope is now considerably better suited for large packs with hundreds of mods and very large resource sets.

Scan Coverage & Large Modpacks

  • Scan completeness reporting was redesigned after testing on large real-world NeoForge and Fabric packs.
  • Reports now expose an explicit Scan status:
    • COMPLETE
    • PARTIAL
    • FAILED
  • A Scan that reaches a safety budget can no longer silently present itself as fully complete.
  • PARTIAL scans now contain structured coverage reasons describing exactly which component and limit caused incomplete coverage.
  • Configurable Resource Scan Budgets
  • Resource scanning limits are now configurable instead of being hard-coded.
  • Current defaults include:
    • Static resource files: 250,000
    • Traversal entries: 500,000
    • Static resource budget: 1024 MiB on fresh/current migrated configurations
    • Scan time budget: 60 seconds
    • Live resources: 100,000
    • Live resource memory budget: 256 MiB
  • Resource-limit changes are included in analysis fingerprints so incompatible cached results are not reused.

Knowledge Graph

  • Knowledge Graph limits are now configurable.
  • Current defaults:
    • Nodes: 500,000
    • Edges: 1,000,000
    • Reference aliases: 500,000
    • Targets retained per alias: 8
  • Reports now expose:
    • Actual node/edge counts
    • Configured limits
    • Dropped nodes
    • Dropped edges
    • Dropped aliases
    • Suppressed ambiguous alias targets
  • Additional targets for an alias that is already proven ambiguous are safely compressed and no longer incorrectly cause a PARTIAL Scan.
  • Real-world validation now completes without graph truncation on both tested large NeoForge and Fabric packs.

SAFE Fix / Apply / Rollback

  • The generated compatibility Fix system received major safety improvements.
  • Multiple fixes can no longer overwrite each other inside the generated datapack
  • Apply and Rollback wait for the actual Minecraft reload result
  • Improved stale-snapshot detection
  • Improved source verification before applying changes
  • Staged resource overrides now contain the real resource
  • Improved Fabric nested-mod source verification
  • Added safer Fix transaction handling
  • Improved rollback-chain retention
  • Added cleanup of old Fix backups
  • Added crash-recoverable multi-file Apply transactions
  • Added safer rollback recovery
  • Added physical generated-pack reconciliation
  • Improved malformed-history handling
  • Added protection against symlink/junction path escapes
  • Rollback no longer blindly trusts paths stored in history
  • SAFE Fix behavior remains instance-wide/global, not per-world.

Persistence & Recovery

  • Persistence formats received stricter validation and safer migration behavior.
  • Unknown future persistence versions are no longer overwritten during downgrade
  • Corrupt history no longer silently becomes an empty baseline
  • Fix History now has an explicit versioned format
  • Fix History paths are portable when moving a Minecraft instance
  • Current diagnostic/snapshot files stay synchronized
  • Persisted JSON reads have size limits
  • Temporary report files left by crashes are cleaned automatically
  • Report map ordering is deterministic
  • Failed scans no longer publish mixed generations
  • Failed scans no longer pollute provenance of later reports
  • Fingerprints and snapshots are kept consistent across a Scan generation

GUI Improvements

  • A broad GUI correctness pass was completed.
  • Fixed issues include:
  • Search detail scrolling
  • Search layouts at narrow resolutions
  • Settings layouts at small GUI heights
  • Dependency Graph controls at high GUI scale
  • Simulation layouts
  • Lost selections after screen resize/reinitialization
  • Server API response layouts
  • Report Result button overlap
  • Fix Preview pagination and selection persistence
  • Fix Preview rebuilding after Rescan
  • Stale Stage button state
  • Developer screen state preservation
  • Search and several expensive operations were also moved away from blocking client/server threads.

Commands / CLI

  • The command system received a major usability and reliability pass.
  • Diagnostic IDs containing : and / now work correctly in Fix commands
  • Heavy commands run asynchronously through a bounded server worker
  • /fix history now supports pagination
  • Added dynamic tab completion for:
    • Mod IDs
    • Diagnostic IDs
    • Fix choices
    • Fix History IDs
  • Rules reload now reports actual I/O failures
  • Scan persistence failures are reported instead of displaying false success
  • Version Impact explains why history is unavailable
  • Corrupt Fix History reports an error instead of appearing empty
  • /status distinguishes disabled subsystems from empty results
  • Help documentation now includes rollback commands
  • Scan commands show explicit PARTIAL coverage reasons

Search / WHY / Developer Tools

  • Fixed nondeterministic custom-rule ordering
  • Improved custom severity override handling
  • Rules are applied at the correct stage of causal analysis
  • Improved Search registry coverage
  • Fixed invalid Entity/Fluid graph IDs
  • Improved multi-provider search result identity
  • Fixed parsing of composite graph IDs
  • WHY now better distinguishes colliding logical IDs
  • Related diagnostics behave consistently between screens
  • Developer Self Test respects the developer-mode setting
  • Search pagination no longer silently stops at the old 5000-result window

Datapacks, Resources & Ownership

  • Improved live external/world datapack ownership detection
  • Inactive-world datapacks no longer pollute the active pack identity
  • ResourceManager failures no longer look like removed resources
  • Large JSON resources are handled more accurately
  • Expanded registry scanning
  • Recipe provider attribution no longer assumes namespace ownership
  • External live loot/worldgen resources use structured models
  • Multiple physical resource providers are retained in the graph
  • #tag references are preserved
  • Improved external datapack reload lifecycle
  • Fixed generated datapack state handling on Fabric

Privacy & Path Safety

  • Removed absolute-path leaks from reports
  • Configurable directories are restricted to safe locations
  • Improved resource/source filename privacy handling
  • Privacy-related settings now correctly affect cache identity
  • Added stronger symlink/junction path protections
  • Improved report/export path sanitization

Reports

  • HTML and JSON reports received substantial improvements.
  • Reports expose reproducible analysis configuration
  • Investigation Groups are no longer silently limited to the first 16
  • Investigation action plans include stronger evidence context
  • Timing data separates top-level and nested stages
  • Nested timings are explicitly non-additive
  • Report-generation timings are separate from Scan timings
  • Target lists clearly indicate when they are sampled
  • Technical details include normalized first/last seen times
  • PARTIAL reports display coverage warnings and reasons
  • Knowledge Graph budgets and usage are exported
  • Runtime observation windows and truncation state are exported
  • Current report metadata:
    • Report format: 52
    • Diagnostic schema: diagnostics-28
    • Analysis schema: analysis-39

Configuration

  • Configuration handling was improved across both loaders.
  • Better Fabric JSON type validation
  • Invalid config roots are reported instead of silently ignored
  • Settings saves are safer
  • Related performance settings are cross-validated
  • Scan settings are immutable for the duration of one Scan generation
  • Resource and graph limits participate in analysis fingerprints
  • Config changes no longer incorrectly reuse incompatible analysis state

This mod has no additional files