build 10661963 (Aug 16, 2023)
report-sample command: Remove small stack gaps to get a smoother view in Stack Chart.
Use prebult libsimpleperf_readelf (provided by Android clang prebuilts) for reading ELF files.
report_html.py: Speed up disassembling many functions in a binary.


build 10306210 (Jun 12, 2023)
record cmd: Add --decode-etm to decode ETM data while recording.
            It saves the space storing raw ETM data.
            Store lost/cut record info in recording file.
            Report lost samples in kernel space and user space.
inject cmd: Accept missing aux data.
            Add build id in AutoFDO output.
gecko_profile_generatory.py: color off-cpu frames blue and jit app cache frames green.


build 9796343 (March 22, 2023)
Fix dozens of security bugs detected by fuzzer.
record cmd:
  Increase the default user buffer size from 64M to 256M for devices having >= 4G memory. This is
  to reduce lost samples and incomplete callchains.
  Add --user-buffer-size to adjust the user buffer size.
record/stat cmd:
  Support using process name regex to select processes via the -p option.
  Raise file desciptors limit to better support "stat --per-thread -a".
report:
  Support demangling rust symbols.
  Suppress read symbol warnings for not-ELF files.
  Improve deobfuscating Java symbols (ndk issue 1836).
  In report scripts, add --aggregate-threads to merge samples for selected threads.
  In binary_cache_builder.py, support searching for binaries having different names from those
  recorded in perf.data. Also fix a bug supporting native libs embedded in apk.
  In gecko_profile_generator.py, remove small stack gaps to get a smoother view in Stack Chart.
doc:
  Update doc on the broken DWARF call graph issue.
  Add doc for trying the latest simpleperf builds and scripts.


build 9042912 (Sep 8, 2022)
Fix adhoc codesign for darwin binaries.
Release protobuf files in proto directory.
stat cmd: Update to work with CPU cores having different numbers of PMU counters.
doc: Update collect_etm_data_for_autofdo.md.


build 8355685 (March 25, 2022)
1. Add doc for getting boot-time profile, add doc view_the_profile.md.
2. Share report lib options between scripts.


build 8121221 (Jan 26, 2022)
1. On Android >= 13, allow an app profiling itself even after device reboot.
   The permission expiration time can be set by --days in api_profiler.py.
2. Improve --trace-offcpu in record cmd to support multiple report modes: pure on cpu samples,
   pure on-cpu samples, or both on-cpu and off-cpu samples.
3. Add --add-counter in record cmd to add additional event counts in samples.
4. Add --filter-file in report cmds and scripts to filter samples based on timestamps.
5. On Android >= 13, add boot-record cmd to record boot-time profiles on userdebug/eng devices.
6. For AutoFDO/ETM support, support multiple input files in inject cmd to speed up processing and
   combine output.


build 7848450
record cmd:
    Add support for new perf ETE files.
report cmd:
    Extend --percent-limit to report entries.
scripts:
    Add gecko_profile_generator.py, which generates reports for firefox profiler.
    Add stackcollapse.py, which generates reports to Folded Stacks.
    Improve support of proguard mapping file.
    Improve logging.
    pprof_proto_generator.py:
        Add thread, threadpool, pid, tid labels.
        Set units of common events.
        Add comments.
    app_profiler.py: Kill app process for current user.
    report_sample.py: add --header and --comm options.
doc:
    Add introduction slide.
    Use auto-generated tables of contents.
test: Fix flaky tests.


build 7649958
Build arm simpleperf for armv7-neon instead of armv8.
Support JIT method name with signature.
Doc improvement.


build 7549687
Use multithreading to speed up line annotation.
Add doc/debug_dwarf_unwinding.md.
Add doc/collect_etm_data_for_autofdo.md.
Move to file2 feature section.


build 7414587
Drop python2 support, scripts are tested on python3.8 and python3.9.
Refactor debug unwinding:
  1. Add --keep-failed-unwinding-result and --keep-failed-unwinding-stack options
     in record cmd, to generate additional records for failed unwinding cases.
  2. Refactor debug-unwind cmd and debug_unwind_reporter.py to report failed
     unwinding cases.
Support recording and converting kernel ETM data in record cmd and inject cmd.
Support using proguard mapping file for reporting.
Support vmlinux file when building binary_cache.
Support showing disassembly of vmlinux file in report_html.py. Use multithreading
to speedup disassembling.
Add app_type, android_sdk_version and android_build_type in meta_info of recording file.


ndk r23
build 7173446
Add visualization tool purgatorio.
Switch to llvm-objdump and llvm-readelf.

build 7119240
Reduce prepare recording time.
Add --kprobe option in record cmd.
Add --cpu option in report cmd.
Add -i option in dump cmd.
Add --exclude-perf option in inject cmd.
Add merge cmd to merge recording files recorded in the same environment using
the same event types.
Add monitor cmd to record and report events in real time.
Fix a few bugs about symbolization of kernel and kernel modules.
Support parsing kernel etm data in inject cmd.
Add --show-execution-type option in report-sample cmd.
Don't hide art jni methods in report_lib and report-sample cmd.


build 6859468
Add --csv option in report cmd.
Add --sort option in stat cmd.
Add --tp-filter option to filter tracepoint events in record cmd.
Add --addr-filter to filter etm recording in record cmd.
Fix finding symbols from kernel modules.
Better ART JIT support (dump jit symfiles to a single file instead of multiple
temporary files).
Support generic JIT symbols from symbol map file. See doc/jit_symbols.md.


ndk r22
build 6401870
Support multiple record files in pprof_proto_generator.py.
In stat cmd, add --per-thread and --per-core options to report per thread and per core.
In record cmd, add --exclude-perf option to exclude simpleperf samples in system wide
recording.
In inject cmd, support decoding coresight etm data to branch list data in protobuf format.
Fix and add doc for app_api, which can control simpleperf recording in app code.
Support pmu event types:
  list supported pmu events via `simpleperf list pmu`.
  record/stat pmu events via options like -e armv8_pmuv3/cpu_cycles/.
Switch to llvm-objdump.
Add doc for line and disassembly annotation in README.md.
Add doc for profiling profileable release app on Android >= Q.
Remove dependency on libncurses.

ndk r21
In record cmd, support recording coresight etm data (via -e cs-etm option).
Add inject cmd to decode coresight etm data.
Add doc for downloading unstripped libraries on device.
Fix scripts for using unstripped libraries without build ids for reporting.
Switch to llvm-symbolizer.
Add app_api and api_profiler.py, which can control simpleperf recording in app code.
Fix pprof_proto_generator.py to support line and disassembly annotation via pprof.

ndk r20
Skipped.

ndk r19
Fix report-sample command on Windows.

ndk r18
Improve support of profiling JITed/interpreted Java code on Android >= P:
  1) Support JITed/interpreted Java code in system wide recording.
  2) Support dex files extracted to memory.
  3) Fix some bugs and improve inefficient code.
Improve record command:
  1) Add a user space buffer and a high priority record reading thread to reduce sampe lost rate.
  2) Record full process name instead of only the last 16 bytes.
Improve report_html.py:
  1) Generate flamegraphs in Javascript code instead of using inferno, thus
	   reducing the time used to generate and load report.
  2) Use bootstrap 4 to format UI.
  3) Use progressbar to show progress of loading contents.
  4) Add --binary_filter option to only annotate selected binaries.
Export tracing data in simpleperf_report_lib.py.
Test python scripts with both python2 and python3.
Add document for using simpleperf in Android platform profiling.

ndk r17
(release)
Use new Android unwinder, which can unwind for archs different from build.
Support profiling interpreted and JITed java code on Android >= P.
Refactor app_profiler.py: improve option interface, simplify profiling from launch,
and improve native lib downloading.
Fix ndk issues 638, 644, 499, 493.
Add debug-unwind cmd and script to debug unwinding.
Update document, including the way using wrap.sh to profile released apk.

(beta 1)
Add report_html.py, reporting profiling result in html interface.
Improve inferno.
Refactor document.
Provide more complete dwarf based call graphs.

ndk r16

Add inferno, a flamegraph generator.
Add --trace-offcpu option in simpleperf record command and app_profiler.py to trace offcpu time.
Add --app option in simpleperf record command to remove need of using run-as.
Add --profile_from_launch option in app_profiler.py to start recording from Activity launch time.
Configure scripts from command lines, remove config files.
Wrap simpleperf report command with report.py, in which GUI mode is enabled with --gui option.
Add release tests for scripts.


ndk r15

Add three Android Studio project examples, show how to build optimized native libs containing
debug info, show how to fully compile app on Android O.
Add symbol info in perf.data by default, no need to add --dump-symbols in simpleperf record command.
Report brief call-graph in simpleperf report command.
Support raw cpu pmu events.


ndk r14

Add app_profiler.py to help recording profiling data.
Add annotate.py to annotate source code.
Add simpleperf_report_lib.py interface to support extracting samples from perf.data.
Release simpleperf binaries on host to support reporting on host.


ndk r13

Release simpleperf binaries on device.
Support recording and reporting stack frame based callgraphs and dwarf based callgraphs.
Add simpleperf_report.py to show callgraphs in GUI.
