# Revision history for llvm-pretty-bc-parser
## 0.5.0.0 (March 2025)
* `Data.LLVM.BitCode` now defines funtions (whose names all end with
`*WithWarnings`) that return any parser-related warnings (`ParseWarning`s)
alongside the parsed `Module`. Users can decide whether or not to display
these warnings (e.g., by printing them to `stderr` using `ppParseWarnings`).
The existing functions which do not return warnings have been deprecated in
favor of the their `*WithWarnings` variants.
* The functions in `Data.LLVM.BitCode` no longer produce a fatal error when
encountering metadata records of unexpected sizes. Instead, these are now
treated as warnings.
## 0.4.2.0 (August 2024)
* Add support for GHC 9.8 and drop official support of 9.2.
* Add support for new atomic operations in LLVM 9+.
## 0.4.1.0 (January 2024)
* Add preliminary support for LLVM versions up through 16.
* Require building with `llvm-pretty-0.12.*`.
* Add preliminary support for parsing opaque pointers. For now,
`llvm-pretty-bc-parser` will still fill in the types of certain instructions
with non-opaque pointer types (e.g., the type of memory to store in a `store`
instruction), so be wary of this if you are parsing a bitcode file that
contains opaque pointers. See also the discussion in
https://github.com/GaloisInc/llvm-pretty-bc-parser/issues/262.
* Improve the runtime performance of the parser.
* A variety of bugfixes. Some notable fixes include:
* Fix a bug in which the parser would fail to parse `DIDerivedType` nodes
produced by Apple Clang on macOS.
* Fix a bug in which the DWARF address space field of a `DIDerivedType` node
was parsed incorrectly.
* Fix a bug in which constant `fcmp`/`icmp` expressions would parse their
operands incorrectly.