Skip to main content

v2026.04.30 Release

· One min read
Redex Team
Redex Team

Optimizations

This release brings several code-size and inlining improvements:

  • RemoveUnreachablePass can now sweep annotation elements (via the sweep_annotation_elements option). This yields a large code-size reduction for apps that cannot enable AnnoKill, and a modest reduction for those that do.
  • More lenient cross-store reference (XStoreRefs) handling when normal_primary_dex is enabled, improving inlining across primary and secondary dex files for apps using native multidex.
  • ResolveRefsPass now does a better job resolving interface references.

Other improvements

  • New CompactPointerVector container, a memory-efficient alternative to std::vector for storing a small number of pointers inline without heap allocation.
  • Broader use of AtomicStatCounter for thread-safe stats collection.
  • Partial migration from boost::optional to std::optional.
  • Systematic include cleanup and const-correctness improvements across the codebase.