123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627 |
- NOTE: uriparser is looking for help with a few things:
- https://github.com/uriparser/uriparser/labels/help%20wanted
- If you can help, please get in touch. Thanks!
- 2024-05-05 -- 0.9.8
- >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- * Fixed: [CVE-2024-34402]
- Protect against integer overflow in ComposeQueryEngine
- (GitHub #183, GitHub #185)
- * Fixed: [CVE-2024-34403]
- Protect against integer overflow in ComposeQueryMallocExMm
- (GitHub #183, GitHub #186)
- >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- * Changed: Require CMake >=3.5.0 (GitHub #172)
- * Added: CMake option URIPARSER_SHARED_LIBS=(ON|OFF) to control,
- whether to produce a shared or static library for uriparser
- and that alone, falls back to standard BUILD_SHARED_LIBS
- if available, else defaults to "ON" (GitHub #169, GitHub #170)
- * Improved: Document that scheme-based normalization a la
- section 6.2.3 of RFC 3986 is a responsibility of the application
- using uriparser (GitHub #173, GitHub #174)
- * Improved: Document supported code points for functions uriEscape(Ex)W
- (GitHub #171, GitHub #175)
- * Infrastructure: Update Clang from 15 to 18 (GitHub #161, GitHub #187)
- * Infrastructure: Adapt to breaking changes in Clang packaging (GitHub #160)
- * Infrastructure: Get sanitizer CFLAGS and LDFLAGS back in sync (GitHub #161)
- * Infrastructure: Pin GitHub Actions to specific commits for security
- (GitHub #165)
- * Soname: 1:31:0 — see https://verbump.de/ for what these numbers do
- 2022-10-05 -- 0.9.7
- * Fixed: Multiple issues with IPv6 and IPvFuture literal parsing
- (GitHub #146, GitHub #150)
- Thanks to Scallop Ye for the report and the pull request!
- * Fixed: Fix symbol visibility for -DBUILD_SHARED_LIBS=OFF (GitHub #139,
- GitHub #141); thanks to Mariusz Zaborski for the report!
- * Fixed: For MinGW, use size_t for inet_ntop declaration and fix macro
- checks for both MinGW and mingw-w64 (GitHub #131)
- * Fixed: Compiler warnings (GitHub #132, GitHub #152)
- * Improved: Use name UriConfig.h rather than generic config.h for the
- config header file to avoid name clashes and also include it through
- "UriConfig.h" with quotes rather than <UriConfig.h> so that it is found
- in quote path locations (GitHub #149)
- Thanks to Gaspard Petit for bringing this up!
- * Improved: Document need for UriConfig.h in UriMemory.c (GitHub #136)
- * Infrastructure: Add (support for) Visual Studio 17/2022 (GitHub #152)
- * Infrastructure: Drop (support for) Visual Studio <=14/2015 (GitHub #152)
- * Infrastructure: Update Clang from 13 to 15 (GitHub #143, GitHub #151)
- * Infrastructure: Make MinGW with 32bit Wine on Ubuntu 20.04 possible
- (GitHub #142, GitHub #144, GitHub #145)
- * Soname: 1:30:0 — see https://verbump.de/ for what these numbers do
- 2022-01-06 -- 0.9.6
- >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- * Fixed: [CVE-2021-46141]
- Fix a bug affecting both uriNormalizeSyntax* and uriMakeOwner*
- functions where the text range in .hostText would not be duped using
- malloc but remain unchanged (and hence "not owned") for URIs with
- an IPv4 or IPv6 address hostname; depending on how an application
- uses uriparser, this could lead the application into a use-after-free
- situation.
- As the second half, fix uriFreeUriMembers* functions that would not
- free .hostText memory for URIs with an IPv4 or IPv6 address host;
- also, calling uriFreeUriMembers* multiple times on a URI of this
- very nature would result in trying to free pointers to stack
- (rather than heap) memory (GitHub #121, GitHub #124)
- Commit 987b046e41f407d17c622e580fc82a5e834b4329
- Commit b1a34743bc1472e055d886e29e9b53f670eb3282
- * Fixed: [CVE-2021-46142]
- Fix functions uriNormalizeSyntax* for out-of-memory situations
- (i.e. malloc returning NULL) for URIs containing empty segments
- (any of user info, host text, query, or fragment) where previously
- pointers to stack (rather than heap) memory were freed (GitHub #122,
- GitHub #124)
- Commit c0483990e6b5b454f7c8752b36760cfcb0d093f5
- >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- * Fixed: CMake: Call "enable_language(CXX)" prior to tinkering with
- CMAKE_CXX_* variables (GitHub #110)
- Thanks to Alexander Richardson for the patch (originally at libexpat)
- * Fixed: CMake: Support absolute paths for both CMAKE_INSTALL_LIBDIR
- and CMAKE_INSTALL_INCLUDEDIR (GitHub #114)
- Thanks to Rafael Fontenelle for bringing this up (originally at libexpat)
- * Fixed: Windows: Address MSVC compiler warnings (GitHub #111, GitHub #113)
- * Fixed: Documentation: Space requirements for uriUriStringToUnixFilename
- did not take into account short form "file:/bin/bash" of RFC 8089 of 2017
- (with prefix "file:/" rather than "file:///") that uriparser supports
- since release 0.8.6 in 2018 (GitHub #118, GitHub #119)
- * Fixed: Compile error with MinGW GCC 9 related to a mismatched prototype
- for function inet_ntop (GitHub #117, GitHub #120)
- Thanks to Sandro Mani for the report!
- * Fixed: Compile warnings in test suite code (GitHub #120)
- * Improved: Respect variable ${CPP} in doc/preprocess.sh (GitHub #115)
- * Added: Test suite invocation for MinGW using Wine (GitHub #120)
- * Soname: 1:29:0 — see https://verbump.de/ for what these numbers do
- 2021-03-18 -- 0.9.5
- * Fixed: Fix a bug regarding section "5.2.4. Remove Dot Segments"
- of RFC 3986 that affected both normalization and reference resolution
- with regard to trailing slashes (GitHub #92, #97)
- Thanks to Dan Pape for the report!
- * Fixed: MinGW: Fix name of static library (GitHub #90)
- Thanks to SpaceIm for the patch and Sandro Mani for review!
- * Fixed: Use correct inline marker "__forceinline" for Intel C++ Compiler
- (GitHub #93)
- Thanks to jensenrichardson for the patch!
- * Fixed: Link against pthreads for (default) -DURIPARSER_BUILD_TESTS=ON
- (GitHub #99, #100)
- * Fixed: When integrated using CMake function add_subdirectory, installation
- could fail due to lack of prefix ${CMAKE_CURRENT_SOURCE_DIR} (GitHub #98)
- Thanks for the patch to Shehzan Mohammed!
- * Fixed: Addressed MSVC compile warning about lack of /EHsc when compiling
- the C++ test suite code (GitHub #102)
- * Fixed: Stopped misadvertising wide characters as Unicode support
- (GitHub #104)
- * Added: CMake option URIPARSER_WARNINGS_AS_ERRORS=(ON|OFF)
- to turn compile warnings into errors, defaults to "OFF" (GitHub #102)
- * Improved: pkg-config: Use ${prefix} and ${exec_prefix} to ease
- overriding variables using --define-variable=NAME=VALUE,
- e.g. as done on OpenWRT (GitHub #91)
- Thanks to Karel Kočí for the pull request!
- * Improved: Auto-detection of the qhelpgenerator command based on CMake
- package "Qt5Help" when available. CMake option "QHG_LOCATION" can still
- be used to enforce a specific location (GitHub #103)
- Thanks for his help to Andreas Sturmlechner!
- * Improved: Make documentation use pkg-config in example on how to
- check for uriparser from within configure.ac (GNU Autoconf)
- (GitHub #37, #106)
- * Improved: In testing code, add a missing 'extern "C"' (GitHub #109)
- Thanks to Jørgen Ibsen for the patch!
- * Soname: 1:28:0 — see https://verbump.de/ for what these numbers do
- 2020-05-31 -- 0.9.4
- * Fixed: testrunner: No longer crashes when compiled with NDEBUG (GitHub #67)
- * Fixed: CMake: Support GTest 1.8.0 (GitHub #68)
- Thanks to Ryan Schmidt for the related report!
- * Fixed: CMake: Use variable GTEST_INCLUDE_DIRS (with plural "S") rather than
- GTEST_INCLUDE_DIR (GitHub #79, #81)
- Thanks to Wouter Beek for the related report!
- * Improved: CMake: Send config summary to stdout, not stderr (GitHub #72)
- Thanks to Scott Donelan for the patch!
- * Improved: Make -DURIPARSER_BUILD_TESTS=OFF unlock compilation without
- a C++ compiler; thanks to Fabrice Fontaine for the patch! (GitHub #69)
- * Added: Functions to make UriUri[AW] instances independent of the original
- URI string (GitHub #77 and #78)
- New functions:
- uriMakeOwner[AW]
- uriMakeOwnerMm[AW]
- * Added: CMake option URIPARSER_ENABLE_INSTALL to toggle installation of
- files, defaults to "ON" (GitHub #74, #75)
- Thanks to Scott Donelan for the patch!
- * Soname: 1:27:0
- 2019-04-28 -- 0.9.3
- * Fixed: pkg-config: Fix version line in liburiparser.pc (GitHub #65)
- * Changed: MinGW: Add library version suffix to DLL name
- Thanks to Sandro Mani for the patch! (GitHub #63, #64)
- * Soname: 1:26:0
- 2019-04-22 -- 0.9.2
- * Fixed: Add missing extern "C" wrapper to UriIp4.h for use from C++
- * Fixed: Linking error for symbol defaultMemoryManager from mixing C and C++
- Thanks to Jørgen Ibsen for the report! (GitHub #52)
- * Fixed: Link errors on Haiku regarding function inet_ntop (GitHub #45)
- Thanks to Schrijvers Luc for the patch!
- * Fixed: Mark API functions with __declspec(dllexport) and
- __declspec(dllimport) in *.h files for Visual Studio (GitHub #60)
- * Improved: Use -fvisibility=hidden by default with supporting compilers,
- e.g. GCC and Clang (GitHub #60)
- * Changed: Migrated from GNU Autotools to CMake (GitHub #17, #47, #56, #59)
- Thanks for their support with the CMake migration to:
- - David Demelier
- - Jørgen Ibsen
- - KangLin
- - Kouhei Sutou
- - myd7349
- - Richard Hodges
- - Zachary Lund
- * Removed: All Windows-related build systems other than CMake
- * Soname: 1:25:0
- 2019-01-02 -- 0.9.1
- >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- * Fixed: [CVE-2018-20721]
- Out-of-bounds read in uriParse*Ex* for incomplete URIs with IPv6
- addresses with embedded IPv4 address, e.g. "//[::44.1";
- mitigated if passed parameter <afterLast> points to readable memory
- containing a '\0' byte.
- Commit cef25028de5ff872c2e1f0a6c562eb3ea9ecbce4
- Thanks to Joergen Ibsen for the report!
- >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- * Fixed: When parsing a malformed URI with an IPvFuture address
- (e.g. "http://[vA.123456" missing "]"), errorPos would point to the first
- character after "v" than the actual position of the error (here: the end
- of the string)
- * Fixed: uriToStringCharsRequired* reported 1 more byte than actually needed
- for IPv4 address URIs (GitHub #41); Thanks to @gyh007 for the patch!
- * Fixed: Compilation with MinGW
- Thanks to Sandro Mani for the patch!
- * Fixed: Drop use of asprintf from the test suite for MinGW (GitHub #40)
- * Improved: For parse errors, waterproof errorPos <= afterLast
- * Soname: 1:24:0
- 2018-10-27 -- 0.9.0
- >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- * Fixed: [CVE-2018-19198]
- Out-of-bounds write in uriComposeQuery* and uriComposeQueryEx*
- Commit 864f5d4c127def386dd5cc926ad96934b297f04e
- Thanks to Google Autofuzz team for the report!
- * Fixed: [CVE-2018-19199]
- Detect integer overflow in uriComposeQuery* and uriComposeQueryEx*
- Commit f76275d4a91b28d687250525d3a0c5509bbd666f
- Thanks to Google Autofuzz team for the report!
- * Fixed: [CVE-2018-19200]
- Protect uriResetUri* against acting on NULL input
- Commit f58c25069cf4a986fe17a80c5b38687e31feb539
- >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- * Fixed: Be fully compliant to C89 (Gitub #28) and C++98 in test code
- * Fixed: Fix off-by-one in uriComposeQueryCharsRequired* and ...Ex*
- Reported space requirements were 1 byte bigger than necessary
- * Changed: Marked as deprecated:
- Deprecated functions:
- uriNormalizeSyntaxMaskRequired[AW]
- uriParseUri[AW]
- uriParseUriEx[AW]
- * Added: Add convenience functions to ease user code to parse a single URI
- New functions:
- uriParseSingleUri[AW]
- uriParseSingleUriEx[AW]
- uriParseSingleUriExMm[AW]
- * Added: Support for custom memory managers (GitHub #26, #35), see Doxygen
- New functions (as extension of existing ones):
- uriAddBaseUriExMm[AW]
- uriComposeQueryMallocExMm[AW]
- uriDissectQueryMallocExMm[AW]
- uriFreeQueryListMm[AW]
- uriFreeUriMembersMm[AW]
- uriNormalizeSyntaxExMm[AW]
- uriParseSingleUriExMm[AW]
- uriRemoveBaseUriMm[AW]
- New functions (for convenience):
- uriCompleteMemoryManager
- uriEmulateCalloc
- uriEmulateReallocarray
- uriTestMemoryManager
- New error codes:
- URI_ERROR_MEMORY_MANAGER_FAULTY
- URI_ERROR_MEMORY_MANAGER_INCOMPLETE
- New types:
- UriFuncCalloc
- UriFuncFree
- UriFuncMalloc
- UriFuncRealloc
- UriFuncReallocarray
- UriMemoryManager
- * Added: Add non-void versions of uriNormalizeSyntaxMaskRequired*
- New functions:
- uriNormalizeSyntaxMaskRequiredEx[AW]
- * Changed: Migrate test suite from CppTest to GoogleTest 1.8.1
- * Improved: Make test suite free of memory leaks (GitHub #31)
- Thanks to AddressSanitizer!
- * Removed: Support for pointless define URI_SIZEDOWN (GitHub #29)
- Related configure option --enable-sizedown has also been removed.
- * Soname: 1:23:0
- 2018-08-18 -- 0.8.6
- * Fixed: Bad/NULL .hostText.afterLast when parsing certain rather pathologic
- but well-formed URIs with empty host (e.g. "//:%aa@") (GitHub #15)
- Thanks to Kurt Schwehr for the report!
- * Fixed: Fix uriRemoveBaseUri for case where scheme, host name,
- IPvFuture address or path segments of the source address were
- string prefixes of the related counterpart in the base URI.
- Thanks to Yang Yu for the patch! (GitHub #19, #20)
- * Fixed: Make UriStringToUnixFilename and UriStringToWindowsFilename
- support minimal representation a la RFC 8089, e.g. file:/bin/bash
- (compare to file:///bin/bash with three slashes) (GitHub #12, #14)
- Thanks to Zane van Iperen for the report!
- * Fixed: Documentation typos (GitHub #10, #11)
- Thanks to Graham Percival!
- * Improved: Made API docs of uriRemoveBaseUri more clear
- (related to GitHub #19)
- * Soname: 1:22:0
- 2018-02-07 -- 0.8.5
- * Changed: The uriparser project has moved from SourceForge to GitHub:
- Code + issue tracker: https://github.com/uriparser/uriparser
- New website: https://uriparser.github.io/
- Please update any links of yours, accordingly. Thank you!
- * Fixed: Memleak in out-of-memory clean-up code
- of URI normalization, related to SF.net bug #28.
- Thanks to Chris Hills for the report!
- * Fixed: Fix compilation of uriparse(1) on FreeBSD
- Thanks to Ed Schouten for the patch!
- * Fixed: Fix C90 compilation errors
- Thanks to Joel Cunningham for the patches!
- * Fixed: Space requirements documented for uriWindowsFilenameToUriStringA
- given URI "file://server1/file1.txt" (SF.net bug #31)
- Thanks to threedyd for the report!
- * Fixed: Compiler warnings
- Thanks to Joel Cunningham for the patches!
- * Fixed: Stop exporting internal function RemoveBaseUriImpl
- Thanks to Joel Cunningham for the report!
- * Fixed: API documentation front page no longer empty with Doxygen 1.8.13
- * Fixed: "make -C doc install" fixed for lack of .map files
- * Improved: Communicate that absolutePath is always URI_FALSE for URIs
- with a host in uriparse CLI tool output and Uri.h header
- (GitHub #2, SF.net #30)
- * Soname: 1:21:0
- 2015-10-12 -- 0.8.4
- * Fixed: Stack overflow on parsing malformed IPv6 addresses with
- more than eigtht quads. Thanks to Alexander Klink for the report!
- * Soname: 1:20:0
- 2015-10-04 -- 0.8.3
- * Fixed: uriCompareRange reported NULL pointer and range of
- length zero as equal, by mistake.
- Thanks to Robert Kausch and his Coverity report.
- * Fixed: Use-after-free in out-of-memory code of uriMakeOwner.
- Thanks to Chris Hills and his Klocwork-based report (SF.net bug #28)
- * Soname: 1:19:0
- 2015-04-27 -- 0.8.2
- * Fixed: Broken conversion from/to Windows network shares (SF.net bug #21)
- Thanks to Adam Gross and Dmitry Repkin!
- * Fixed: Limit uriCompareRange return values to -1/0/1 (SF.net bug #24)
- As a side effect, this fixes the test suite for AArch64.
- Thanks to Marcin Juszkiewicz for the patch!
- * Fixed: MinGW Makefile:
- LIB_DIR fixed from ../../lib leftover to ../../src (SF.net bug #27)
- Thanks to Dmytro Zagashev for the report!
- * Fixed: Add missing NULL checks to UriStringToFilename (SF.net bug #25)
- Thanks to Jerome Custodio for the report!
- * Changed: Leave inlining decisions to GCC
- * Soname: 1:18:0
- 2014-10-20 -- 0.8.1
- * Fixed: Sync URI_VER_* preprocessor defines (were at 0.7.6, SF.net bug #23)
- * Fixed: Bug in internal function that may flip uriEqualsUri results around
- * Added: Function uriAddBaseUriEx allowing to resolve URIs with
- a scheme identical to that of the base URI to resolve against
- as if the URI to resolve had no scheme specified, when flag
- URI_RESOLVE_IDENTICAL_SCHEME_COMPAT is specified
- (SF.net feature request #4)
- * Soname: 1:17:0
- 2014-07-12 -- 0.8.0.1
- * Fixed: ISO C90 warnings (SF.net bug #20)
- * Changed: No longer ship RFC documents (to make things easier for Debian)
- * Soname: 1:16:0
- 2013-12-20 -- 0.8.0
- * Fixed: Resolution of relative URI "/" broken
- Thanks to Mo McRoberts for the patch!
- * Fixed: uriAddBaseUri produced uriUri objects with both host
- and the absolutePath flag set (while the absolutePath flag
- should only be true for URI objects without a host) when
- resolving absolute URIs like "/" or "/foo/bar".
- Now the absolutePath flag is set to URI_FALSE and an empty
- segment is added as necessary
- * Fixed: .errorCode could end up unset, previously
- Thanks to Radu Hociung for the patch! (SF.net bug #16)
- * Fixed: Resolve use of non-POSIX "sed -r" used when building
- documentation (SF.net bug #18)
- Thanks to Ryan Schmidt for reporting!
- * Fixed: Build DLL with -no-undefined on Windows
- Thanks to Michel Zou for the patch! (SF.net bug #19)
- * Added: Command line tool "uriparse"
- Thanks to Radu Hociung for coding! (SF.net feature request #3)
- * Soname: 1:15:0
- 2013-08-24 -- 0.7.9
- * Fixed: Error position ended up as NULL for some syntax errors.
- Thanks to Daniel Solano Gómez for the patch! (SF.net bug #14)
- * Soname: 1:14:0
- 2013-05-13 -- 0.7.8
- * Fixed: Fix dissection of query string "q=hello&x=&y=" (SF.net bug #12)
- Thanks to Marc Novakowski for reporting!
- * Soname: 1:13:0
- 2012-04-05 -- 0.7.7
- * Fixed: Fix rejection of some valid characters for userinfo
- section, e.g. "http://%2Fuser:%2F21@host/" (SF.net bug #11)
- * Fixed: Fix rejection of valid double colon in userinfo
- section, e.g. "http://::@host/"
- * Soname: 1:12:0
- 2012-01-20 -- 0.7.6
- * Fixed: Qt Compressed Help file was not installed
- * Fixed: Shadow/VPATH build doc generation
- * Fixed: Compile error from Doxygen when configuring with
- neither --enable-doc nor --disable-doc
- * Fixed: Code documentation errors
- Thanks to Valentin Haenel for the patch!
- * Fixed: Fix include path in pkg-config, i.e. remove
- "/uriparser" suffix as uriparser's headers are meant to
- be included by statements like #include <uriparser/....> .
- Thanks to Philip de Nier for reporting!
- * Fixed: Compilation in context of Eclipse + Cygwin + wchar_t
- (SF.net bug #10)
- Thanks to Gary Mazzaferro for reporting!
- * Fixed: Selection of supported character widths at build
- time: <char *> or <wchar_t *> or both
- * Added: configure parameters to disable either character
- widths: --disable-char, --disable-wchar_t
- * Soname: 1:11:0
- 2009-03-04 -- 0.7.5
- * Added: pkg-config file
- * Fixed: File Doxyfile.in was missing from release archives
- Thanks to Rakesh Pandit for reporting!
- * Fixed: Doc generation troubles
- * Changed: No longer shipping bundled libcpptest
- * Changed: New dependencies:
- - libcpptest 1.1.0 or later
- - pkg-config
- The libcpptest dependency can be disabled through
- configuring with --disable-test, which excludes the
- test suite from compilation.
- * Soname: 1:10:0
- 2008-12-23 -- 0.7.4
- * Fixed: Null pointer de-referencing when dissecting query
- strings starting with "&" right after "?" (SF.net bug #7).
- Thanks to Harvey Vrsalovic for reporting!
- * Fixed: Memory leak in uriFreeQueryList function (SF.net bug #6)
- Thanks to Daniel Chapiesky for reporting!
- * Fixed: Memory leak in uriNormalizeSyntax(Ex) functions (SF.net bug #6)
- Thanks to Daniel Chapiesky for reporting!
- * Improved: Nested configure hacks resolved
- * Soname: 1:9:0
- 2008-11-08 -- 0.7.3
- * Fixed: Missing NULL check in parsing routines
- Thanks to Sezai Tekin for reporting!
- * Fixed: uriparser now builds on Cygwin
- * Fixed: Now shipping gnulib's config.guess from HEAD
- which is suitable for Haiku (SF.net bug #5)
- * Changed: swprintf requirement resolved
- * Changed: Build system changes:
- - configure option --enable-doc added
- - configure.in renamed to configure.ac
- - some Autotools files moved to build-aux directory
- * Added: Qt Assistant documentation output:
- - Qt Compressed Help (.qch) at <doc/uriparser-doc-*.qch>
- - Qt Help Project (.qhp) at <doc/html/index.qhp>
- Generation requires Doxygen 1.5.7.1-20081103 or later.
- * Soname: 1:8:0
- 2008-09-01 -- 0.7.2
- * Fixed: Bad cleanup logic in functions
- - uriAddBaseUri(..)
- - uriRemoveBaseUri(..)
- Previously you needed to call uriFreeUriMembers on return code
- URI_ERROR_MALLOC and only then. So that's why these functions now
- take cleanup off your shoulders. An extra call to uriFreeUriMembers
- from your side is still needed in case of success.
- * Soname: 1:7:0
- 2008-04-27 -- 0.7.1
- * Fixed: Bogus syntax error when parsing URIs with port-like
- passwords, e.g. "http://user:21@host/" (SF.net bug #1)
- Thanks to Friedrich Delgado Friedrichs for reporting!
- * Fixed: Parser did not handle trailing slashes correctly in some cases,
- which also made the structures produced from parsing "http://e.com/"
- and "http://e.com" indistinguishable. (SF.net bug #2)
- Thanks to Edward Z. Yang for reporting!
- 2008-04-04 -- 0.7.0
- * Added: Dissection and composition of query strings
- * Added: Documentation improvements
- (in|out|inout indicators, addition of \since and \see)
- * Changed: Code::Blocks project files updated from file format
- version 1.4 to 1.6, which is produced by Code::Blocks 8.02
- * Added: Code::Blocks workspace file
- * Soname: 1:5:0
- 2008-02-25 -- 0.6.4
- * Added: Syntax-based normalization can now handle relative URIs,
- e.g. "../../a/b/.././c" is normalized to "../../a/c"
- * Fixed: Normalization code could free foreign memory
- * Fixed: Normalization processed the path segment even when asked not to
- * Added: MinGW Makefile and related readme
- Thanks to Michael Anthony Puls II!
- * Fixed: Documentation bug not requiring enough memory for the output
- buffer when converting a relative file URI back to a filename
- * Soname: 1:4:0
- 2008-02-11 -- 0.6.3
- * Fixed: Two major crash bugs in normalization code
- Thanks to Adrian Manrique for the patch!
- * Added: Brief usage tutorial
- * Soname: 1:3:0
- 2008-02-08 -- 0.6.2
- * Fixed: Freeing a normalized URI like "http://test?"
- caused a crash. Thanks to Adrian Manrique for reporting!
- * Fixed: Filename <--> URI string conversion helpers can
- now handle relative URIs and filenames
- * Soname: 1:2:0
- 2007-12-23 -- 0.6.1
- * Fixed: Percent-encodings in hostnames were not repaired during normalization.
- Thanks to Adrian Manrique for reporting!
- * Fixed: Percent-encodings were fixed after dot removal not before during
- normalization.
- Thanks to Adrian Manrique for reporting!
- * Fixed: Include path order bug
- Thanks to Ed Schouten for reporting this!
- * Fixed: Shadow builds now possible
- Thanks to Adeodato Simó for the patch!
- * Added: Version guards for Autoconf/Automake
- Thanks to Martin Michlmayr for reporting!
- * Soname: 1:1:0
- 2007-09-17 -- 0.6.0
- * Fixed: Proper soname updates from now on, starting at 1:0:0
- * Removed: Visual Studio 2003 project files
- 2007-09-13 -- 0.5.2
- * Added: RemoveBaseUri function to create URI references
- * Added: Unix/Windows filename <--> URI string conversion helpers
- * Added: EscapeEx function to escape text blocks without zero termination
- * Fixed: Bug in ToString for URIs with scheme, path, but no host (e.g. "f:/.//g")
- * Fixed: AddBase now resolves ".//g" with base "f:/a" to "f:/.//g" instead of
- "f://g" which would result in "g" becoming the authority part when parsing
- a recomposition (ToString) of that URI structure. This is a whole in RFC 3986,
- see http://lists.w3.org/Archives/Public/uri/2007Aug/0003.html for details.
- 2007-08-09 -- 0.5.1
- * Fixed: Empty host bug (URIs like "///g")
- * Fixed: Relative URIs are no longer touched by normalization
- * Fixed: MergePath failed for empty paths
- * Fixed: Bug with "." segments in AddBase
- All of the above revealed by test cases from 4Suite (http://4suite.org/)
- 2007-07-28 -- 0.5.0
- * Added: Syntax-based normalization
- * Added: Percent-encoding function Escape
- * Improved: Malloc/NULL checks added
- * Added: New function UnescapeInPlaceEx can also decode '+' to ' '
- and convert line breaks
- * Added: Exact space computation for ToString, see ToStringCharsRequired
- * Added: --enable-sizedown for saving space and slower code
- * Fixed: Two internal functions were exposed in the API by mistake:
- uriPushToStack and uriStackToOctet
- * Added: Visual Studio 2005 project files
- * Removed: Legacy code (removal was announced for 0.5.0)
- 2007-07-06 -- 0.4.1
- * Fixed: ToString did not work for IPv4 and IPv6 hosts
- 2007-07-03 -- 0.4.0
- * Added: References resolution (think relative to absolute)
- * Added: Naive URI equality check
- * Added: URIs can now be converted back to strings
- * Fixed: The first path segment of a relative URI was eaten
- (functions ParseSegmentNz and ParseMustBeSegmentNzNc)
- * Fixed: uri->scheme.first was not reset in some cases
- (function ParseMustBeSegmentNzNc)
- * Improved: Test suite now built on "make check", not before
- * Fixed: Test suite always returned 0 (success)
- 2007-04-23 -- 0.3.4
- * Added: Shared library support (moved to libtool)
- 2007-04-03 -- 0.3.3
- * Fixed: Now unix EOLs constantly
- * Fixed: Added forgotten files to release package
- 2007-03-31 -- 0.3.2
- * Fixed: Now compiles on FreeBSD
- 2007-03-28 -- 0.3.1
- * Fixed: Now compiles on Mac OS X
- 2007-03-26 -- 0.3.0
- * Added: New API, old marked deprecated
- * Added: Added support for wide strings (think wchar_t)
- * Added: Doxygen code documentation
- * Added: Test suite using CppTest
- * Changed: Library code is now licensed under the new BSD license.
- The test suite code is licensed under LGPL.
- 2006-12-08 -- 0.2.1
|