CompatScope-NeoForge-1.21.1-1.0.29_beta2.jar
Curse Maven Snippet
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.loganddebug.logare 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:
COMPLETEPARTIALFAILED
- A Scan that reaches a safety budget can no longer silently present itself as fully complete.
PARTIALscans 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
PARTIALScan. - 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 historynow 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
/statusdistinguishes 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
#tagreferences 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

