From ca6f1d4f68e47321fded3bf788e88f39f21e23db Mon Sep 17 00:00:00 2001 From: Jan-Michael Brummer Date: Wed, 22 Mar 2023 11:26:40 +0100 Subject: Add CHANGELOG.md (#105) Co-authored-by: Jan-Michael Brummer --- CHANGELOG.md | 288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 288 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5e79958 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,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 -- cgit v1.2.1