Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions website/blog/2026-04-30-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
slug: 2026-04-30-release
title: v2026.04.30 Release
authors:
name: Redex Team
title: Redex Team
url: https://fbredex.com
image_url: https://fbredex.com/img/favicon.png
tags: [release]
---

## 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.
Loading