summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 5e799585e684ac9bad4a21921f1d3fd7758e35b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
# Release Notes

## [Unreleased]

### Changed

- Total rewrite in order to address current pain points:
  - No documentation
  - ABI crashes
  - No tests
  - No CI
  - Missing async API

## [0.4.18]

### Changed

- build: Allow configuration of sysconfig module
- config_envvar: Add environment variable for pacrunner debugging
- build: disable mozjs by default
- python: Support Python 3.10 and above
- Add Duktape pacrunner module
- config_kde: Compute list of config file locations ourselves
- cpmfog_gnome3: Add gnome-wayland to permitted DESKTOP_SESSION

## [0.4.17]

## Changed

-  python bindings: fix "TypeError: _argtypes_ must be a sequence of types" (#125)

## [0.4.16]

### Changed

- Port to, and require, SpiderMonkey 68
- Use closesocket() instead of close() on Windows 
- Add symbol versions - be ready to introduce new APIs as needed
- Add public px_proxy_factory_free_proxies function
- Add PacRunner config backend (largely untested; feedback welcome!)
- Small performance improvements
- pxgsettings: use the correct syntax to connect to the changed signal (silences annoying output on console)
- Support python3 up to version 3.9
- Fix buffer overflow when PAC is enabled (CVE-2020-26154)
- Rewrite url::recvline to be nonrecursive (CVE-2020-25219)
- Remove nonfunctional and crashy pacrunner caching
- Never use system libmodman (no other consumers, not maintained)

## [0.4.15]

### Changed

- Port to, and require, SpiderMonkey 38.
- Fix "NetworkManager plugin not being built" (gh#libproxy/libproxy#53).
- Fix "networkmanager plugin not working (gh#libproxy/libproxy#58).
- Fix "Invalid read after free" (gh#libproxy/libproxy#59).
- Fix intermittent unit test failures.

## [0.4.14]

### Changed

- Parallel build support for python2 and python3.
  -DWITH_PYTHON has been replaced with -DWITH_PYTHON2 and
  -DWITH_PYTHON3 to have full control over this. Default is
  ON for both (issue#22)
- Minor fixes to the PAC retriever code (issue#40)
- Fallback to mcs instead of gmcs for the mono bindings (issue#37)
- Fix build using cmake 3.7
- Fix deprecation warnings of pxgsettings with glib 2.46
- Improve the get-pac test suite (issue#47)

## [0.4.13]

### Changed

- Allow linking webkit pacrunner against javascriptcore-4.0
  (webkit2).
- Allow to disable building of the KDE module (-DWITH_KDE=ON/OFF).
- Fix compilation errors with CLang on MacOSX.
- bindings: perl: Add an option to explicitly link against libperl.so
  Some distributions want to do it, other prefer not to, the library
  is anyway in context of perl.
- config_kde: Add a basic cache and invalidation: performance improvement
  for the KDE module.

## [0.4.12]

### Changed

- Move development to github.com/libproxy/libproxy
- Fix fd leak in get_pac (Bug #185)
- Detect running MATE session (Bug #186, Part1).
- Fix linking of perl bindings to pthread (Bug #182)
- Correctly detect spidermonky (mozjs185) (Bug #188)
- Stop pxgsettings from segfaulting on exit (Bug #192)
- Fix test #10 (Bug #189)
- Fix build on Mac OS X (Bug #183)
- Add a generic KDE Config module (fix crashes of Qt5 based
  apps) (issue#4)

## [0.4.11]

### Changed

- Build fixes with cmake 2.8.10+
- Quick release without built binaries / files (Address Bug #184)

## [0.4.10]

### Changed

- Fix http chunk encoded PAC that was broken in previous release
- Add HTTP client unit test
- Fix more coding style issues

## [0.4.9]

### Changed

- CVE-2012-4504 Fixed buffer overflow when downloading PAC
- Fix infinit loop uppon network errors

## [0.4.8]

### Changed

- Only support standalone mozjs185 as mozilla js engine.
  xulrunner being part of the now lightning fast moving firefox
  is impossible to be tracked as a dependency and it is not
  supported by Mozilla to be used in this scenario.
- Support building with javascritpcoregtk 1.5
  (got split out of webkitgtk).
- Support sending multiple results.
- Issues fixed:
  - #166: Libproxy does not parse NO_PROXY correct when the line
          contains spaces
  - #164: If gconf's value is an empty list, pxgconf will make
          /usr/bin/proxy wait forever
  - #60: use lib js for embedded solutions
  - #160: strdup and gethostbyname not declared on OSX 10.7
  - #168: .pc file should be installed under OSX as well.
  - #170: Also check for "Transfer-Encoding: chunked".
  - #171: mozjs pacrunner: Fix parameters of dnsResolve_()
  - #172: Allow to forcibly build pacrunner as module (-DBIPR={ON,OFF})
  - #173: Libproxy doesn't build with gcc 4.7
  - #147: Use ${CMAKE_DL_LIBS} instead of assuming libdl is correct.
  - #176: python bindings: guard the destructor.
  - #177: Speed up importing of libproxy in python.
  - #179: CMAKE 2.8.8 does not define PKG_CONFIG_FOUND

## [0.4.7]

### Changed

- Support/require xulrunner 2.0+
- Support linking againgst libwebkit-gtk3 (-DWITH_WEBKIT3=ON)
- Port to gsettings for gnome3. (-DWITH_GNOME3=ON[default])
- Issues closed:
  - #149: always test for the right python noarch module path
  - #155: Cannot compile with Firefox 4
  - #156: libproxy should build against webkitgtk-3.0
  - #158: Won't compile w/ xulrunner 2.0 final
  - #159: libproxy fails with autoconfiguration "http://proxy.domain.com"
  - #131: GSettings-based GNOME plugin
  - #150: SUSE sysconfig/proxy config support

## [0.4.6]

### Changed

- Fixed a crash in the URL parser
- Fixed build issues with Visual Studio
- Updated the INSTALL file
- Install Python binding in prefix path if site-packages exists
- Fixed compilation with Visual Studio


## [0.4.5]

### Changed

- C# bindings are installable (-DWITH_DOTNET=ON)
- C# bindings installation path can be changed using -DGAC_DIR=
- Internal libmodman build fixed
- Installation dirs are now all relative to CMAKE_INSTALL_PREFIX
- Fixed test while using --as-needed linker flag
- Fixed generation of libproxy-1.0.pc
- Basic support for Mingw added (not yet 100% functional)
- Ruby binding implemented (not yet in the build system)
- Fixed modules not being found caused by relative LIBEXEC_INSTALL_DIR
- Fixed bug with builtin plugins (Issue 133)
- Vala bindings installation path can be changed using -DVAPI_DIR=
- Python bindings installation path can be changed using -DPYTHON_SITEPKG_DIR=
- Perl bindings can be installed in vendor directory (-DPERL_VENDORARCH=ON)
- Perl bindings installation path can be change using -DPX_PERL_ARCH=
- Unit test now builds on OSX

## [0.4.4]

### Changed

- Add support for optionally building using a system libmodman
- Rework build system to be cleaner
- Fix two major build system bugs: 127, 128

## [0.4.3]

### Changed

- Test can now be out-compiled using BUILD_TESTING=OFF
- Fixed python binding not handling NULL pointer
- Pyhton binding now support Python version 3
- Rewrote URL parser to comply with unit test
- Username and password are now URL encoded
- Scheme comparison is now non-case sensitive
- Fixed deadlock using WebKit has PAC runner
- Fixed OS X compilation of Perl bindings

## [0.4.2]

### Changed

- Fixed python binding that failed on missing px_free symbole
- Workaround cmake bug with dynamic libraries in non-standard folders

## [0.4.1]

### Changed

- Perl bindings have been integrated into the CMake Build System
- Vala bindings are installed if -DWITH_VALA=yes is passed to cmake
- All extensions can be disabled using WITH_*=OFF cmake options
- socks5:// and socks4:// can now be returned
- Many bugfixes

## [0.4.0]

### Changed

- C++ rewrite
- Small API change (px_proxy_factory_get_proxy() can now return NULL)
- SOVERSION bump 
- libmodman is now a seperate library
- Migrate to cmake
- Windows support (config_w32reg, ignore_hostname; VC++ support)
- MacOSX support (config_macosx, ignore_hostname)
- Built-in modules support
- Support for chunked encoding
- Move to hidden visibility by default
- KDE's KConfig symantics are fully supported
- Removeal of all PX_* env variables (no longer needed)
- Symbol based detection of relevant pacrunner
- Reworked config_gnome to not suck (its *much* faster)
- Many other things I can't remember

## [0.3.1]

### Changed

- Bugfixes
  + config file parser reads all sections
  + KDE session detection based on environment varibales,
    as suggested by KDE upstream.
- KDE configuration module is the first module in C++ and
  now links to libkdecore4 in order to properly detect the
  configuration folder for kde.
- At the moment we're not compatible with KDE3. Sorry.
- .NET bindings can now properly be installed and it should
  be possible for packagers to provide them.

## [0.3.0]

### Changed

- WARNING!!! Slight API change!!! see docs 
  for px_proxy_factory_get_proxies()
- Credentials support (see API change above)
- A complete rewrite of the module manager
- file:// as valid PAC URLs
- Sample Mono application
- Automake 1.11 shaved output
- gnome backend rewrite (now w/o thread issues)
- Test suite base functionality exists
- Many solaris build fixes
- Seamonkey support as JS pacrunner
- Bugfixes
- Compiles for MS Windows using Mingw