1# In Android 12 (upcoming)
2
3## New features
4* Support Custom Allocators. This allows developers to instrument their
5  applications to report memory allocations / frees that are not done
6  through the malloc-based system allocators.
7
8## Bugfixes
9* Fix problems with allocations done in signal handlers using SA_ONSTACK.
10* Fixed heapprofd for multi API. A 64-bit heapprofd service can now correctly
11  profile a 32-bit target.
12* Fixed a bug where specifying a sampling rate of 0 would crash the target
13  process.
14
15# In Android 11
16
17## New features
18* Allow to specify whether profiling should only be done for existing processes
19  or only for newly spawned ones using `no_startup` or `no_running` in
20  `HeapprofdConfig`.
21* Allow to get the number of bytes that were allocated at a callstack but then
22  not used.
23* Allow to dump the maximum, rather than at the time of the dump using
24  `dump_at_max` in `HeapprofdConfig`.
25* Allow to specify timeout (`block_client_timeout_us`) when blocking mode is
26  used. This will tear down the profile if the client would be blocked for
27  longer than this.
28* Try to auto-detect if a process uses `vfork(2)` or `clone(2)` with
29  `CLONE_VM`. In Android 10, doing memory operations in a vfork-ed child (in
30  violation of POSIX) would tear down the parent's profiling session early.
31
32## Bugfixes
33* Fixed heapprofd on x86.
34* Fixed issue with calloc being incorrectly sampled.
35* Remove benign `ERROR 2` bottom-most frame on ARM32.
36