1# Changelog
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
8## [0.3.26] - 2022-10-26
9
10### Added
11
12- Support for handling full paths to libraries in addition to normal `-l`
13  linker flags (#134).
14
15## [0.3.25] - 2022-03-31
16
17### Added
18
19- Support for parsing `-Wl` linker arguments from the `Libs` lines and
20  passing them to the linker as well as making them available via
21  `Library::ld_args` (#131).
22
23### Changed
24
25- Use SPDX license format and remove obsolete badge info (#129).
26
27## [0.3.24] - 2021-12-11
28
29### Fixed
30
31- Re-add `target_supported()`, which was accidentally removed in 0.3.15 (#128).
32
33## [0.3.23] - 2021-12-06
34
35### Changed
36
37- Improve error messages when a `pkg-config` package can't be found (#127).
38
39## [0.3.22] - 2021-10-24
40
41### Fixed
42
43- `pkg-config` compiles again with Rust 1.30 or newer. 0.3.21 accidentally
44  made use of API only available since 1.40 (#124, #125).
45
46### Changed
47
48- Switched from Travis to GitHub Actions for the CI. Travis is dysfunctional
49  since quite some time (#126).
50
51## [0.3.21] - 2021-10-22
52
53### Fixed
54
55- Tests succeed again on macOS (#122).
56
57### Changed
58
59- Improve error message in case of missing pkg-config and provide instructions
60  how it can be installed (#121).
61
62## [0.3.20] - 2021-09-25
63
64### Fixed
65
66- Use target-specific pkg-config consistently everywhere (#121, #118).
67
68## [0.3.19] - 2020-10-13
69
70### Added
71
72- Add `README.md` to be displayed on crates.io (#111).
73
74- Support for `-isystem`, `-iquote` and `-idirafter` include flags (#115).
75
76### Changed
77
78- Improve documentation for cross-compilation (#113).
79
80- Allow overriding system root via the `PKG_CONFIG_SYSROOT_DIR` or `SYSROOT`
81  environment variable (#82).
82
83## [0.3.18] - 2020-07-11
84
85### Fixed
86
87- Use `env::var_os()` almost everywhere to handle non-UTF8 paths in
88  environment variables, and also improve error handling around environment
89  variable handling (#106).
90
91### Changed
92
93- Default the `env_metadata` build parameter to `true` instead of `false`.
94  Whenever a pkg-config related environment variable changes it would make
95  sense to rebuild crates that use pkg-config, or otherwise changes might not
96  be picked up. As such the previous default didn't make much sense (#105).
97
98## [0.3.17] - 2019-11-02
99
100### Fixed
101
102- Fix support for multiple version number constraints (#95)
103
104## [0.3.16] - 2019-09-09
105
106### Changed
107- Stop using deprecated functions and require Rust 1.30 (#84)
108
109### Fixed
110- Fix repository URL in README.md
111- Fix various clippy warnings
112
113### Added
114- Run `cargo fmt` as part of the CI (#89)
115- Derive `Clone` for `Library` and `Debug` for `Config (#91)
116- Add support for `PKG_CONFIG_ALLOW_SYSTEM_CFLAGS` and enable by default (#93)
117
118## [0.3.15] - 2019-07-25
119
120### Changed
121- Changes minimum documented rust version to 1.28 (#76)
122
123### Fixed
124- Fix Travis CI badge url (#78)
125- Fix project name in README.md (#81)
126
127### Added
128- Support specifying range of versions (#75)
129- Allow cross-compilation if pkg-config is customized (#44, #86)
130
131## [0.3.14] - 2018-08-28
132
133### Fixed
134- Don't append .lib suffix on MSVC builds (#72)
135
136## [0.3.13] - 2018-08-06
137
138### Fixed
139- Fix MSVC support to actually work and consider library paths too (#71)
140
141## [0.3.12] - 2018-06-18
142
143### Added
144- Support for MSVC (#70)
145- Document and test Rust 1.13 as minimally supported version (#66)
146
147## [0.3.11] - 2018-04-24
148
149### Fixed
150- Re-added AsciiExt import (#65)
151
152## [0.3.10] - 2018-04-23
153
154### Added
155- Allow static linking of /usr/ on macOS (#42)
156- Add support for parsing `-Wl,` style framework flags (#48)
157- Parse defines in `pkg-config` output (#49)
158- Rerun on `PKG_CONFIG_PATH` changes (#50)
159- Introduce target-scoped variables (#58)
160- Respect pkg-config escaping rules used with --cflags and --libs (#61)
161
162### Changed
163- Use `?` instead of `try!()` in the codebase (#63)
164