Skip to content

v1.4.1

Choose a tag to compare

@hooji hooji released this 31 Mar 19:53
· 18 commits to main since this release
483f4e4

What's New

EnumSet & EnumMap Support

  • Full freeze/restore support for EnumSet (both RegularEnumSet and JumboEnumSet) and EnumMap
  • EnumSet elements captured via bitmask reading; EnumMap entries via keyUniverse/vals arrays

Improved Type Safety

  • Better UncapturableTypeException messages for threading types (ThreadLocal, locks, latches, barriers, atomics, executors/thread pools)
  • All unsupported JDK types fail fast with actionable advice

Code Improvements

  • DurableTransformer: replaced fragile per-class exclusion list with package-level prefix + whitelist
  • JdiValueConverter: removed unused restoredHeap/heapRestorer parameters
  • NullRef: singleton with readResolve() reduces allocation during heap walking
  • ObjenesisHolder: shared singleton eliminates per-call instantiation
  • waitForThreadAtMethod polling interval reduced from 10ms to 1ms for faster restore

Documentation

  • All 7 architecture docs updated to reflect current codebase
  • Stale references to removed dead code cleaned up
  • Audit items marked as resolved

Tests

  • 219 unit tests, 44 E2E integration tests (4 new unit + 1 new E2E for EnumSet/EnumMap)