v1.16.0 (Deprecated)
DEPRECATED RELEASE: do not use this - use release 1.17.0 instead.
Release run: #54
What's Changed
- Update logback-classic, logback-core to 1.5.33 by @scala-steward in #342
- Implement last-minute matches for filler sections (#339) by @sageserpent-open in #344
- Update sbt-version-policy to 3.3.0 by @scala-steward in #357
- Update americium, americium-junit5 to 2.1.3 by @scala-steward in #347
- Update sbt-stryker4s to 0.21.0 by @scala-steward in #348
- Update scala3-library to 3.3.8 by @scala-steward in #352
- Update sbt, scripted-plugin to 1.12.13 by @scala-steward in #354
- Update logback-classic, logback-core to 1.5.37 by @scala-steward in #356
- Update americium, americium-junit5 to 2.2.1 by @scala-steward in #358
- Update logback-classic, logback-core to 1.5.38 by @scala-steward in #361
- Update scalafmt-core to 3.11.3 by @scala-steward in #363
- Fix SectionedCodeTest bug reproduction failures by @sageserpent-open in #366
- Update sbt-stryker4s to 1.0.1 by @scala-steward in #367
- Avoid using zero-value hash codes in
SectionsSeenby @sageserpent-open in #368 - Managed to reproduce the stack overflow seen on the GitHub CI build. by @sageserpent-open in #369
- Improve SectionsSeen mutation coverage and multiplicity testing by @sageserpent-open in #370
- Update sbt, scripted-plugin to 1.12.14 by @scala-steward in #371
- Update sbt-scalafmt to 2.6.2 by @scala-steward in #372
- Update scalafmt-core to 3.11.4 by @scala-steward in #373
- Global Coalescence of Overlapping Three-Way Clumps and Refined LCS Tie-Breaking by @sageserpent-open in #379
- Malformed lcs from overlapping match reconciliation by @sageserpent-open in #378
- Jules 840739205032938925 356543ce by @sageserpent-open in #383
Improvements
- #339 Fix failure of BlockDuplicationAndCondensationTests#overlappingBlocksAreSeparatedOnOneSide
- #343 Outright removal of overlapping matches misses opportunities for legitimate non-overlapping matches.
- #374 Allow more matching overlaps.
Notes
The theme here is to allow more flexible match discovery and reconciliation, so overlapping matches (of either the same size or differing sizes) are permitted in match discovery, and have their own special-purpose reconcilation that produces non-overlapping fragments.
We'll see how this pans out in terms of real-world merging, but it looks promising.
The approximate section-level LCS construction from blocks is now a lot more robust, so the stage is set for a future release to address #312.
As part of issue #343, PRs #366, #368, #369 and #370 fixed a stack overflow problem in the treap implementation of SectionsSeen and yielded a modest performance boost, at least when running SectionsSeenTest.
Once again, Jules was all over this work, either in terms of submitting PRs as a contributor, or pair-programming with @sageserpent-open.
Full Changelog: v1.15.0...v1.16.0