Releases: facebookexperimental/object-introspection
Releases · facebookexperimental/object-introspection
Release 12th July 2023
What's Changed
- TypeGraph: Respect [[codegen.ignore]] config value by @ajor in #159
- clean up common.h by @JakeHillion in #162
- elfutils: leak cu_tree to avoid double free by @JakeHillion in #164
- ensure oi_name is never a nullptr by @tyroguru in #165
- set function oi_name to null rather than garbage by @JakeHillion in #166
- Add copyright header to all source files by @ajor in #167
- Tooling improvements by @ttreyer in #169
- Typed Data Segment by @JakeHillion in #157
- features: clean up old flags by @JakeHillion in #174
- Code Coverage: Reduce irrelevant partial branch matches by @ajor in #173
- CodeGen unit tests by @ajor in #171
- Printer: Improvements for displaying large type graphs by @ajor in #176
- Flattener: Handle classes which inherit from containers by @ajor in #177
- NameGen: Handle containers with zero template params by @ajor in #178
- features: add GenJitDebug by @JakeHillion in #181
- DrgnParser: Handle enum values in template params by @ajor in #179
- TypeGraph: Make original fully qualified names available for Class types by @ajor in #182
- feature flag jit-logging by @tyroguru in #183
- remove unused old code from trace code by @tyroguru in #186
- Flattener: Attempt to take params from parent allocator in case of bad DWARF by @ajor in #172
- Integration tests: Set up CI testing for TypeGraph by @ajor in #161
- TypeGraph: Create dummy containers by @ajor in #185
- ci: retry tests once on failure by @JakeHillion in #188
- Flattener: Flatten class template parameters by @ajor in #191
- Add missing namespace to folly::IOBuf container TOML by @ajor in #192
- AddPadding: Move common code into a function by @ajor in #193
- integration: add GLOB with CONFIGURE_DEPENDS to pick up toml files by @JakeHillion in #196
- ci: enable testing for typed data segment by @JakeHillion in #198
- static types: place in own header for testing by @JakeHillion in #197
- codegen: store prev defined containers as a class field by @JakeHillion in #199
- help: improve feature descriptions by @JakeHillion in #202
- Timing: add generated code jit timing feature by @JakeHillion in #180
- CodeGen: Add support for capturing Thrift isset data by @ajor in #184
- Unit tests: Remove unnecessary make_unique calls by @ajor in #205
- TopoSorter: Fix sorting of container template parameters by @ajor in #194
- TypeGraph: Support bitfields by @ajor in #195
- Take list of pass-through types from config instead of hardcoding by @ajor in #190
- TypeGraph: Make Primitive types singletons by @ajor in #206
- thrift isset: add type handler by @JakeHillion in #203
- add drgn aranges & non-debug patches by @JakeHillion in #209
- fix resources names with symlinks by @JakeHillion in #211
- typed data segment: fix vector handler for custom allocators by @JakeHillion in #204
- TypeGraph: Add Node IDs to non-leaf types by @ajor in #207
- drgn: elfutils: Implement 64-bits offsets reconstruction for CU/TU In… by @JakeHillion in #214
- TypeGraph: Switch from pointers to references by @ajor in #208
- TypeGraph: Add "--tree-builder-v2" flag by @ajor in #210
- TypeIdentifier: Preserve container types by @ajor in #212
- TypeGraph: Rename visit(Type) functions to accept(Type) by @ajor in #217
- create strict mode and enable it for tests by @JakeHillion in #216
- Flattener: Pull up children of children by @ajor in #218
- comment existing typed data segment work by @JakeHillion in #221
- NameGen: Remove invalid characters from member names by @ajor in #219
- Flattener: Fix seg-fault in the case of specific bad DWARF by @ajor in #215
- AddChildren: Filter out false children by @ajor in #220
- Add container without template params to container map by @arsarwade in #223
- Stop stubbing tuple by @arsarwade in #224
- TypeGraph: Introduce NodeTracker for efficient cycle detection by @ajor in #222
- RemoveIgnored: Set names for removed members to AddPadding::MemberPrefix by @ajor in #227
Full Changelog: v2023-06-08...v2023-07-12
Release 8th June 2023
What's Changed
This release primarily adds support for Dwarf4 Debug-Fission binaries. It also adds the base support for Type Graph, kept behind a feature flag.
- drgn: rebase on main by @JakeHillion in #138
- Integration test: Add "target_function" option by @ajor in #140
- resources: manage headers properly by @JakeHillion in #139
- Integration test README: Document "skip" and "oil_disable" by @ajor in #141
- features: switch to bitset by @JakeHillion in #133
- Fix all warnings and enable -Werror for all targets by @ajor in #142
- Add Alignment Tests by @ajor in #144
- OID: Set glog VLOG level globally for all modules by @ajor in #145
- DrgnUtils: Add isSizeComplete and underlyingType helper functions by @ajor in #146
- CodeCov: Collect coverage from all source files by @ajor in #147
- TypeGraph: Update container TOML format by @ajor in #148
- Add TypeGraph code by @ajor in #150
- tomlplusplus: compile header once by @JakeHillion in #149
- TypeGraph: Add new CodeGen by @ajor in #151
- TypeGraph: Fix std::string container by @ajor in #152
- TypeGraph: Handle alias templates by @ajor in #154
- Turn FeatureSet into a generic EnumBitset by @ajor in #155
- TypeGraph: Allocator improvements by @ajor in #156
- TypeGraph: Fix multi dimensional arrays by @ajor in #153
- integration_py: fix expected sizes by @JakeHillion in #158
- drgn: add split dwarf support by @JakeHillion in #160
Full Changelog: v2023-04-27...v2023-06-08
Release 27th April 2023
What's Changed
- Integration tests: Remove typedefs from cycles.toml by @ajor in #117
- codegen: carry decl and func with containerinfo by @JakeHillion in #103
- Fix warning in drgn pure name changes by @jgkamat in #119
- Build with tests by default by @ajor in #120
- add test for folly::fbstring by @JakeHillion in #122
- Cycles by @JakeHillion in #121
- fix offset in generated code by @tyroguru in #129
- Add folly shims to avoid linking against folly by @ajor in #128
- Pass in CodeCov.io token through CI env var by @ajor in #130
- Add a feature system to OI to make it easier to add optional features in the future by @JakeHillion in #125
- clang-format: set BinPackParameters=false by @JakeHillion in #126
- Faster locateSymbol by re-using dwfl across calls by @ttreyer in #127
- move src directory to oi by @tyroguru in #134
Full Changelog: v2023-03-30...v2023-04-27
Release 30th March 2023
What's Changed
- reduce race window for breakpoint trap in prologue by @tyroguru in #85
- oilgen: change interface to support multiple calls in one cu by @JakeHillion in #91
- Split codegen into separate build targets by @ajor in #72
- FuncGen: Make functions static where possible by @ajor in #89
- Add integration tests for basic C++ language features by @ajor in #77
- Add support for exclusive size reporting by @jgkamat in #90
- Fix remove mappings by @tyroguru in #93
- website: yarn upgrade by @JakeHillion in #96
- uintptr_t: prevent stubbing and renaming by @JakeHillion in #99
- Warnings cleanup by @JakeHillion in #100
- Migrate
folly
androcksdb
to FetchContent by @JakeHillion in #102 - oil: remove fields in options by @JakeHillion in #101
- Integration tests: Set expected results for cycles.toml by @ajor in #40
- Integration tests: Pass config to OIL tests on the command line by @ajor in #105
- std::variant: change to use std::visit by @JakeHillion in #108
- formatting: force pointers/references with the type by @JakeHillion in #106
- tests: build integration.py targets with cmake by @JakeHillion in #110
- Quit oid when upload/download is requested but cache is disabled by @jgkamat in #107
- Test niggles by @ajor in #112
- Avoid following weak_ptrs by @jgkamat in #109
- Add drgn function for looking up by "pure name" by @jgkamat in #113
- Display the logo by @samuelnair in #116
New Contributors
- @samuelnair made their first contribution in #116
Full Changelog: v2023-03-01...v2023-03-30
Imported in D44539602
Release 1st March 2023
What's Changed
- CI: Split build and test into separate jobs by @ajor in #49
- Parallel tests by @ajor in #51
- OIDebugger: Remove extra "0x" prefix when logging addresses by @ajor in #54
- Code Coverage by @ajor in #47
- Code coverage: Checkout repo before running by @ajor in #57
- add missing virtual destructors by @JakeHillion in #56
- oilgen: add an --exit-code option to fail on noop by @JakeHillion in #58
- Oilgen fixes by @JakeHillion in #60
- Fix folly::sorted_vector_set and minor codegen comment change by @tyroguru in #63
- ci: bump repeat-until-pass to 4 by @JakeHillion in #64
- Remove type path printing debug code by @tyroguru in #65
- remove unused ManifoldCache.h from OICompiler by @JakeHillion in #66
- oil: removed unused cache in OILibrary by @JakeHillion in #68
- Bump minimum CMake version to 3.19 by @ajor in #69
- Fix/remove some log statements by @arsarwade in #67
- Move getRootType from OICodeGen to SymbolService by @ajor in #71
- Update drgn to fix invalid pop from iterator code by @jgkamat in #73
- Stop enumerating template params for sorted_vector_set by @tyroguru in #74
- integration/primitives.toml: Add char8_t test by @ajor in #30
- Special case conditional_t type name handling by @tyroguru in #75
- oilgen: add check for drgn_type_has_name by @JakeHillion in #78
- add std::conditional test by @tyroguru in #79
- sorted_vec_set: finish changing to a container adapter by @JakeHillion in #80
- Update rocksdb to 7.9.2 by @JakeHillion in #83
- Replace nop instructions with ud2 by @tyroguru in #84
- tests: make relative config paths absolute when copying by @JakeHillion in #86
New Contributors
- @arsarwade made their first contribution in #67
Full Changelog: v2023-02-02...v2023-03-01
Imported in D43706233
Release 2nd February 2023
What's Changed
- Codegen review changes by @tyroguru in #18
- Skipped test cleanup by @JakeHillion in #23
- remove setcap by @JakeHillion in #25
- Stop over optimising drgn by @JakeHillion in #26
- reduce typeToNameMap lookups by @JakeHillion in #28
- Add bits to send oid version information to cache build service by @jgkamat in #27
- oilgen: set DRGN_ENABLE_TYPE_ITERATOR by @JakeHillion in #31
- Support std::multimap with comparator template parameter by @tyroguru in #33
- Delete oi_compile by @ajor in #35
- Add CMake hook for defining custom build rules by @ajor in #39
- Integration test readme: Add example of how to run a single test by @ajor in #38
- Delete old files from test/ by @ajor in #41
- Polymorphic inheritance by @ajor in #37
- Update small vec types to reflect folly update by @jgkamat in #45
- Oil interface cleanup by @JakeHillion in #42
- config: look up paths relative to config file by @JakeHillion in #48
- CI: Output junit result format directly from CTest by @ajor in #50
- oil: switch to using an impl function with no default implementation by @JakeHillion in #46
Full Changelog: v2023-01-04...v2023-02-02
Imported in D42974150
Release 4th January 2023
Imported in D42344848.