"Fossies" - the Fresh Open Source Software Archive

Member "uriparser-0.9.5/ChangeLog" (18 Mar 2021, 22075 Bytes) of package /linux/www/uriparser-0.9.5.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "ChangeLog": 0.9.4_vs_0.9.5.

    1 NOTE: uriparser is looking for help with a few things:
    2       https://github.com/uriparser/uriparser/labels/help%20wanted
    3       If you can help, please get in touch.  Thanks!
    4 
    5 2021-03-18 -- 0.9.5
    6 
    7   * Fixed: Fix a bug regarding section "5.2.4. Remove Dot Segments"
    8       of RFC 3986 that affected both normalization and reference resolution
    9       with regard to trailing slashes (GitHub #92, #97)
   10       Thanks to Dan Pape for the report!
   11   * Fixed: MinGW: Fix name of static library (GitHub #90)
   12       Thanks to SpaceIm for the patch and Sandro Mani for review!
   13   * Fixed: Use correct inline marker "__forceinline" for Intel C++ Compiler
   14       (GitHub #93)
   15       Thanks to jensenrichardson for the patch!
   16   * Fixed: Link against pthreads for (default) -DURIPARSER_BUILD_TESTS=ON
   17       (GitHub #99, #100)
   18   * Fixed: When integrated using CMake function add_subdirectory, installation
   19       could fail due to lack of prefix ${CMAKE_CURRENT_SOURCE_DIR} (GitHub #98)
   20       Thanks for the patch to Shehzan Mohammed!
   21   * Fixed: Addressed MSVC compile warning about lack of /EHsc when compiling
   22       the C++ test suite code (GitHub #102)
   23   * Fixed: Stopped misadvertising wide characters as Unicode support
   24       (GitHub #104)
   25   * Added: CMake option URIPARSER_WARNINGS_AS_ERRORS=(ON|OFF)
   26       to turn compile warnings into errors, defaults to "OFF" (GitHub #102)
   27   * Improved: pkg-config: Use ${prefix} and ${exec_prefix} to ease
   28       overriding variables using --define-variable=NAME=VALUE,
   29       e.g. as done on OpenWRT (GitHub #91)
   30       Thanks to Karel Kočí for the pull request!
   31   * Improved: Auto-detection of the qhelpgenerator command based on CMake
   32       package "Qt5Help" when available.  CMake option "QHG_LOCATION" can still
   33       be used to enforce a specific location (GitHub #103)
   34       Thanks for his help to Andreas Sturmlechner!
   35   * Improved: Make documentation use pkg-config in example on how to
   36       check for uriparser from within configure.ac (GNU Autoconf)
   37       (GitHub #37, #106)
   38   * Improved: In testing code, add a missing 'extern "C"' (GitHub #109)
   39       Thanks to Jørgen Ibsen for the patch!
   40   * Soname: 1:28:0 — see https://verbump.de/ for what these numbers do
   41 
   42 2020-05-31 -- 0.9.4
   43 
   44   * Fixed: testrunner: No longer crashes when compiled with NDEBUG (GitHub #67)
   45   * Fixed: CMake: Support GTest 1.8.0 (GitHub #68)
   46       Thanks to Ryan Schmidt for the related report!
   47   * Fixed: CMake: Use variable GTEST_INCLUDE_DIRS (with plural "S") rather than
   48       GTEST_INCLUDE_DIR (GitHub #79, #81)
   49       Thanks to Wouter Beek for the related report!
   50   * Improved: CMake: Send config summary to stdout, not stderr (GitHub #72)
   51       Thanks to Scott Donelan for the patch!
   52   * Improved: Make -DURIPARSER_BUILD_TESTS=OFF unlock compilation without
   53       a C++ compiler; thanks to Fabrice Fontaine for the patch! (GitHub #69)
   54   * Added: Functions to make UriUri[AW] instances independent of the original
   55       URI string (GitHub #77 and #78)
   56       New functions:
   57         uriMakeOwner[AW]
   58         uriMakeOwnerMm[AW]
   59   * Added: CMake option URIPARSER_ENABLE_INSTALL to toggle installation of
   60       files, defaults to "ON" (GitHub #74, #75)
   61       Thanks to Scott Donelan for the patch!
   62   * Soname: 1:27:0
   63 
   64 2019-04-28 -- 0.9.3
   65 
   66   * Fixed: pkg-config: Fix version line in liburiparser.pc (GitHub #65)
   67   * Changed: MinGW: Add library version suffix to DLL name
   68       Thanks to Sandro Mani for the patch! (GitHub #63, #64)
   69   * Soname: 1:26:0
   70 
   71 2019-04-22 -- 0.9.2
   72 
   73   * Fixed: Add missing extern "C" wrapper to UriIp4.h for use from C++
   74   * Fixed: Linking error for symbol defaultMemoryManager from mixing C and C++
   75       Thanks to Jørgen Ibsen for the report! (GitHub #52)
   76   * Fixed: Link errors on Haiku regarding function inet_ntop (GitHub #45)
   77       Thanks to Schrijvers Luc for the patch!
   78   * Fixed: Mark API functions with __declspec(dllexport) and
   79       __declspec(dllimport) in *.h files for Visual Studio (GitHub #60)
   80   * Improved: Use -fvisibility=hidden by default with supporting compilers,
   81        e.g. GCC and Clang (GitHub #60)
   82   * Changed: Migrated from GNU Autotools to CMake (GitHub #17, #47, #56, #59)
   83       Thanks for their support with the CMake migration to:
   84       - David Demelier
   85       - Jørgen Ibsen
   86       - KangLin
   87       - Kouhei Sutou
   88       - myd7349
   89       - Richard Hodges
   90       - Zachary Lund
   91   * Removed: All Windows-related build systems other than CMake
   92   * Soname: 1:25:0
   93 
   94 2019-01-02 -- 0.9.1
   95 
   96 >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
   97   * Fixed: [CVE-2018-20721]
   98       Out-of-bounds read in uriParse*Ex* for incomplete URIs with IPv6
   99       addresses with embedded IPv4 address, e.g. "//[::44.1";
  100       mitigated if passed parameter <afterLast> points to readable memory
  101       containing a '\0' byte.
  102       Commit cef25028de5ff872c2e1f0a6c562eb3ea9ecbce4
  103       Thanks to Joergen Ibsen for the report!
  104 >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  105   * Fixed: When parsing a malformed URI with an IPvFuture address
  106       (e.g. "http://[vA.123456" missing "]"), errorPos would point to the first
  107       character after "v" than the actual position of the error (here: the end
  108       of the string)
  109   * Fixed: uriToStringCharsRequired* reported 1 more byte than actually needed
  110       for IPv4 address URIs (GitHub #41); Thanks to @gyh007 for the patch!
  111   * Fixed: Compilation with MinGW
  112       Thanks to Sandro Mani for the patch!
  113   * Fixed: Drop use of asprintf from the test suite for MinGW (GitHub #40)
  114   * Improved: For parse errors, waterproof errorPos <= afterLast
  115   * Soname: 1:24:0
  116 
  117 2018-10-27 -- 0.9.0
  118 
  119 >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  120   * Fixed: [CVE-2018-19198]
  121       Out-of-bounds write in uriComposeQuery* and uriComposeQueryEx*
  122       Commit 864f5d4c127def386dd5cc926ad96934b297f04e
  123       Thanks to Google Autofuzz team for the report!
  124   * Fixed: [CVE-2018-19199]
  125       Detect integer overflow in uriComposeQuery* and uriComposeQueryEx*
  126       Commit f76275d4a91b28d687250525d3a0c5509bbd666f
  127       Thanks to Google Autofuzz team for the report!
  128   * Fixed: [CVE-2018-19200]
  129       Protect uriResetUri* against acting on NULL input
  130       Commit f58c25069cf4a986fe17a80c5b38687e31feb539
  131 >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  132   * Fixed: Be fully compliant to C89 (Gitub #28) and C++98 in test code
  133   * Fixed: Fix off-by-one in uriComposeQueryCharsRequired* and ...Ex*
  134       Reported space requirements were 1 byte bigger than necessary
  135   * Changed: Marked as deprecated:
  136       Deprecated functions:
  137         uriNormalizeSyntaxMaskRequired[AW]
  138         uriParseUri[AW]
  139         uriParseUriEx[AW]
  140   * Added: Add convenience functions to ease user code to parse a single URI
  141       New functions:
  142         uriParseSingleUri[AW]
  143         uriParseSingleUriEx[AW]
  144         uriParseSingleUriExMm[AW]
  145   * Added: Support for custom memory managers (GitHub #26, #35), see Doxygen
  146       New functions (as extension of existing ones):
  147         uriAddBaseUriExMm[AW]
  148         uriComposeQueryMallocExMm[AW]
  149         uriDissectQueryMallocExMm[AW]
  150         uriFreeQueryListMm[AW]
  151         uriFreeUriMembersMm[AW]
  152         uriNormalizeSyntaxExMm[AW]
  153         uriParseSingleUriExMm[AW]
  154         uriRemoveBaseUriMm[AW]
  155       New functions (for convenience):
  156         uriCompleteMemoryManager
  157         uriEmulateCalloc
  158         uriEmulateReallocarray
  159         uriTestMemoryManager
  160       New error codes:
  161         URI_ERROR_MEMORY_MANAGER_FAULTY
  162         URI_ERROR_MEMORY_MANAGER_INCOMPLETE
  163       New types:
  164         UriFuncCalloc
  165         UriFuncFree
  166         UriFuncMalloc
  167         UriFuncRealloc
  168         UriFuncReallocarray
  169         UriMemoryManager
  170   * Added: Add non-void versions of uriNormalizeSyntaxMaskRequired*
  171       New functions:
  172         uriNormalizeSyntaxMaskRequiredEx[AW]
  173   * Changed: Migrate test suite from CppTest to GoogleTest 1.8.1
  174   * Improved: Make test suite free of memory leaks (GitHub #31)
  175       Thanks to AddressSanitizer!
  176   * Removed: Support for pointless define URI_SIZEDOWN (GitHub #29)
  177       Related configure option --enable-sizedown has also been removed.
  178   * Soname: 1:23:0
  179 
  180 2018-08-18 -- 0.8.6
  181 
  182   * Fixed: Bad/NULL .hostText.afterLast when parsing certain rather pathologic
  183       but well-formed URIs with empty host (e.g. "//:%aa@") (GitHub #15)
  184       Thanks to Kurt Schwehr for the report!
  185   * Fixed: Fix uriRemoveBaseUri for case where scheme, host name,
  186       IPvFuture address or path segments of the source address were
  187       string prefixes of the related counterpart in the base URI.
  188       Thanks to Yang Yu for the patch! (GitHub #19, #20)
  189   * Fixed: Make UriStringToUnixFilename and UriStringToWindowsFilename
  190       support minimal representation a la RFC 8089, e.g. file:/bin/bash
  191       (compare to file:///bin/bash with three slashes) (GitHub #12, #14)
  192       Thanks to Zane van Iperen for the report!
  193   * Fixed: Documentation typos (GitHub #10, #11)
  194       Thanks to Graham Percival!
  195   * Improved: Made API docs of uriRemoveBaseUri more clear
  196       (related to GitHub #19)
  197   * Soname: 1:22:0
  198 
  199 2018-02-07 -- 0.8.5
  200 
  201   * Changed: The uriparser project has moved from SourceForge to GitHub:
  202       Code + issue tracker: https://github.com/uriparser/uriparser
  203       New website: https://uriparser.github.io/
  204       Please update any links of yours, accordingly. Thank you!
  205   * Fixed: Memleak in out-of-memory clean-up code
  206       of URI normalization, related to SF.net bug #28.
  207       Thanks to Chris Hills for the report!
  208   * Fixed: Fix compilation of uriparse(1) on FreeBSD
  209       Thanks to Ed Schouten for the patch!
  210   * Fixed: Fix C90 compilation errors
  211       Thanks to Joel Cunningham for the patches!
  212   * Fixed: Space requirements documented for uriWindowsFilenameToUriStringA
  213       given URI "file://server1/file1.txt" (SF.net bug #31)
  214       Thanks to threedyd for the report!
  215   * Fixed: Compiler warnings
  216       Thanks to Joel Cunningham for the patches!
  217   * Fixed: Stop exporting internal function RemoveBaseUriImpl
  218       Thanks to Joel Cunningham for the report!
  219   * Fixed: API documentation front page no longer empty with Doxygen 1.8.13
  220   * Fixed: "make -C doc install" fixed for lack of .map files
  221   * Improved: Communicate that absolutePath is always URI_FALSE for URIs
  222       with a host in uriparse CLI tool output and Uri.h header
  223       (GitHub #2, SF.net #30)
  224   * Soname: 1:21:0
  225 
  226 2015-10-12 -- 0.8.4
  227 
  228   * Fixed: Stack overflow on parsing malformed IPv6 addresses with
  229       more than eigtht quads.  Thanks to Alexander Klink for the report!
  230   * Soname: 1:20:0
  231 
  232 2015-10-04 -- 0.8.3
  233 
  234   * Fixed: uriCompareRange reported NULL pointer and range of
  235       length zero as equal, by mistake.
  236       Thanks to Robert Kausch and his Coverity report.
  237   * Fixed: Use-after-free in out-of-memory code of uriMakeOwner.
  238       Thanks to Chris Hills and his Klocwork-based report (SF.net bug #28)
  239   * Soname: 1:19:0
  240 
  241 2015-04-27 -- 0.8.2
  242 
  243   * Fixed: Broken conversion from/to Windows network shares (SF.net bug #21)
  244       Thanks to Adam Gross and Dmitry Repkin!
  245   * Fixed: Limit uriCompareRange return values to -1/0/1 (SF.net bug #24)
  246       As a side effect, this fixes the test suite for AArch64.
  247       Thanks to Marcin Juszkiewicz for the patch!
  248   * Fixed: MinGW Makefile:
  249       LIB_DIR fixed from ../../lib leftover to ../../src (SF.net bug #27)
  250       Thanks to Dmytro Zagashev for the report!
  251   * Fixed: Add missing NULL checks to UriStringToFilename (SF.net bug #25)
  252       Thanks to Jerome Custodio for the report!
  253   * Changed: Leave inlining decisions to GCC
  254   * Soname: 1:18:0
  255 
  256 2014-10-20 -- 0.8.1
  257 
  258   * Fixed: Sync URI_VER_* preprocessor defines (were at 0.7.6, SF.net bug #23)
  259   * Fixed: Bug in internal function that may flip uriEqualsUri results around
  260   * Added: Function uriAddBaseUriEx allowing to resolve URIs with
  261       a scheme identical to that of the base URI to resolve against
  262       as if the URI to resolve had no scheme specified, when flag
  263       URI_RESOLVE_IDENTICAL_SCHEME_COMPAT is specified
  264       (SF.net feature request #4)
  265   * Soname: 1:17:0
  266 
  267 2014-07-12 -- 0.8.0.1
  268 
  269   * Fixed: ISO C90 warnings (SF.net bug #20)
  270   * Changed: No longer ship RFC documents (to make things easier for Debian)
  271   * Soname: 1:16:0
  272 
  273 2013-12-20 -- 0.8.0
  274 
  275   * Fixed: Resolution of relative URI "/" broken
  276       Thanks to Mo McRoberts for the patch!
  277   * Fixed: uriAddBaseUri produced uriUri objects with both host
  278       and the absolutePath flag set (while the absolutePath flag
  279       should only be true for URI objects without a host) when
  280       resolving absolute URIs like "/" or "/foo/bar".
  281       Now the absolutePath flag is set to URI_FALSE and an empty
  282       segment is added as necessary
  283   * Fixed: .errorCode could end up unset, previously
  284       Thanks to Radu Hociung for the patch!  (SF.net bug #16)
  285   * Fixed: Resolve use of non-POSIX "sed -r" used when building
  286      documentation  (SF.net bug #18)
  287      Thanks to Ryan Schmidt for reporting!
  288   * Fixed: Build DLL with -no-undefined on Windows
  289       Thanks to Michel Zou for the patch!  (SF.net bug #19)
  290   * Added: Command line tool "uriparse"
  291       Thanks to Radu Hociung for coding!  (SF.net feature request #3)
  292   * Soname: 1:15:0
  293 
  294 2013-08-24 -- 0.7.9
  295 
  296   * Fixed: Error position ended up as NULL for some syntax errors.
  297       Thanks to Daniel Solano Gómez for the patch!  (SF.net bug #14)
  298   * Soname: 1:14:0
  299 
  300 2013-05-13 -- 0.7.8
  301 
  302   * Fixed: Fix dissection of query string "q=hello&x=&y=" (SF.net bug #12)
  303       Thanks to Marc Novakowski for reporting!
  304   * Soname: 1:13:0
  305 
  306 2012-04-05 -- 0.7.7
  307 
  308   * Fixed: Fix rejection of some valid characters for userinfo
  309       section, e.g. "http://%2Fuser:%2F21@host/" (SF.net bug #11)
  310   * Fixed: Fix rejection of valid double colon in userinfo
  311       section, e.g. "http://::@host/"
  312   * Soname: 1:12:0
  313 
  314 2012-01-20 -- 0.7.6
  315 
  316   * Fixed: Qt Compressed Help file was not installed
  317   * Fixed: Shadow/VPATH build doc generation
  318   * Fixed: Compile error from Doxygen when configuring with
  319       neither --enable-doc nor --disable-doc
  320   * Fixed: Code documentation errors
  321       Thanks to Valentin Haenel for the patch!
  322   * Fixed: Fix include path in pkg-config, i.e. remove
  323       "/uriparser" suffix as uriparser's headers are meant to
  324       be included by statements like #include <uriparser/....> .
  325       Thanks to Philip de Nier for reporting!
  326   * Fixed: Compilation in context of Eclipse + Cygwin + wchar_t
  327       (SF.net bug #10)
  328       Thanks to Gary Mazzaferro for reporting!
  329   * Fixed: Selection of supported character widths at build
  330       time: <char *> or <wchar_t *> or both
  331   * Added: configure parameters to disable either character
  332       widths: --disable-char, --disable-wchar_t
  333   * Soname: 1:11:0
  334 
  335 2009-03-04 -- 0.7.5
  336 
  337   * Added: pkg-config file
  338   * Fixed: File Doxyfile.in was missing from release archives
  339       Thanks to Rakesh Pandit for reporting!
  340   * Fixed: Doc generation troubles
  341   * Changed: No longer shipping bundled libcpptest
  342   * Changed: New dependencies:
  343       - libcpptest 1.1.0 or later
  344       - pkg-config
  345       The libcpptest dependency can be disabled through
  346       configuring with --disable-test, which excludes the
  347       test suite from compilation.
  348   * Soname: 1:10:0
  349 
  350 2008-12-23 -- 0.7.4
  351 
  352   * Fixed: Null pointer de-referencing when dissecting query
  353       strings starting with "&" right after "?" (SF.net bug #7).
  354       Thanks to Harvey Vrsalovic for reporting!
  355   * Fixed: Memory leak in uriFreeQueryList function (SF.net bug #6)
  356       Thanks to Daniel Chapiesky for reporting!
  357   * Fixed: Memory leak in uriNormalizeSyntax(Ex) functions (SF.net bug #6)
  358       Thanks to Daniel Chapiesky for reporting!
  359   * Improved: Nested configure hacks resolved
  360   * Soname: 1:9:0
  361 
  362 2008-11-08 -- 0.7.3
  363 
  364   * Fixed: Missing NULL check in parsing routines
  365       Thanks to Sezai Tekin for reporting!
  366   * Fixed: uriparser now builds on Cygwin
  367   * Fixed: Now shipping gnulib's config.guess from HEAD
  368       which is suitable for Haiku (SF.net bug #5)
  369   * Changed: swprintf requirement resolved
  370   * Changed: Build system changes:
  371       - configure option --enable-doc added
  372       - configure.in renamed to configure.ac
  373       - some Autotools files moved to build-aux directory
  374   * Added: Qt Assistant documentation output:
  375       - Qt Compressed Help (.qch) at <doc/uriparser-doc-*.qch>
  376       - Qt Help Project (.qhp) at <doc/html/index.qhp>
  377       Generation requires Doxygen 1.5.7.1-20081103 or later.
  378   * Soname: 1:8:0
  379 
  380 2008-09-01 -- 0.7.2
  381 
  382   * Fixed: Bad cleanup logic in functions
  383       - uriAddBaseUri(..)
  384       - uriRemoveBaseUri(..)
  385       Previously you needed to call uriFreeUriMembers on return code
  386       URI_ERROR_MALLOC and only then. So that's why these functions now
  387       take cleanup off your shoulders. An extra call to uriFreeUriMembers
  388       from your side is still needed in case of success.
  389   * Soname: 1:7:0
  390 
  391 2008-04-27 -- 0.7.1
  392 
  393   * Fixed: Bogus syntax error when parsing URIs with port-like
  394       passwords, e.g. "http://user:21@host/" (SF.net bug #1)
  395       Thanks to Friedrich Delgado Friedrichs for reporting!
  396   * Fixed: Parser did not handle trailing slashes correctly in some cases,
  397       which also made the structures produced from parsing "http://e.com/"
  398       and "http://e.com" indistinguishable. (SF.net bug #2)
  399       Thanks to Edward Z. Yang for reporting!
  400 
  401 2008-04-04 -- 0.7.0
  402 
  403   * Added: Dissection and composition of query strings
  404   * Added: Documentation improvements
  405       (in|out|inout indicators, addition of \since and \see)
  406   * Changed: Code::Blocks project files updated from file format
  407       version 1.4 to 1.6, which is produced by Code::Blocks 8.02
  408   * Added: Code::Blocks workspace file
  409   * Soname: 1:5:0
  410 
  411 2008-02-25 -- 0.6.4
  412 
  413   * Added: Syntax-based normalization can now handle relative URIs,
  414       e.g. "../../a/b/.././c" is normalized to "../../a/c"
  415   * Fixed: Normalization code could free foreign memory
  416   * Fixed: Normalization processed the path segment even when asked not to
  417   * Added: MinGW Makefile and related readme
  418       Thanks to Michael Anthony Puls II!
  419   * Fixed: Documentation bug not requiring enough memory for the output
  420       buffer when converting a relative file URI back to a filename
  421   * Soname: 1:4:0
  422 
  423 2008-02-11 -- 0.6.3
  424 
  425   * Fixed: Two major crash bugs in normalization code
  426       Thanks to Adrian Manrique for the patch!
  427   * Added: Brief usage tutorial
  428   * Soname: 1:3:0
  429 
  430 2008-02-08 -- 0.6.2
  431 
  432   * Fixed: Freeing a normalized URI like "http://test?"
  433       caused a crash. Thanks to Adrian Manrique for reporting!
  434   * Fixed: Filename <--> URI string conversion helpers can
  435       now handle relative URIs and filenames
  436   * Soname: 1:2:0
  437 
  438 2007-12-23 -- 0.6.1
  439 
  440   * Fixed: Percent-encodings in hostnames were not repaired during normalization.
  441       Thanks to Adrian Manrique for reporting!
  442   * Fixed: Percent-encodings were fixed after dot removal not before during
  443       normalization.
  444       Thanks to Adrian Manrique for reporting!
  445   * Fixed: Include path order bug
  446       Thanks to Ed Schouten for reporting this!
  447   * Fixed: Shadow builds now possible
  448       Thanks to Adeodato Simó for the patch!
  449   * Added: Version guards for Autoconf/Automake
  450       Thanks to Martin Michlmayr for reporting!
  451   * Soname: 1:1:0
  452 
  453 2007-09-17 -- 0.6.0
  454 
  455   * Fixed: Proper soname updates from now on, starting at 1:0:0
  456   * Removed: Visual Studio 2003 project files
  457 
  458 2007-09-13 -- 0.5.2
  459 
  460   * Added: RemoveBaseUri function to create URI references
  461   * Added: Unix/Windows filename <--> URI string conversion helpers
  462   * Added: EscapeEx function to escape text blocks without zero termination
  463   * Fixed: Bug in ToString for URIs with scheme, path, but no host (e.g. "f:/.//g")
  464   * Fixed: AddBase now resolves ".//g" with base "f:/a" to "f:/.//g" instead of
  465       "f://g" which would result in "g" becoming the authority part when parsing
  466       a recomposition (ToString) of that URI structure. This is a whole in RFC 3986,
  467       see http://lists.w3.org/Archives/Public/uri/2007Aug/0003.html for details.
  468 
  469 2007-08-09 -- 0.5.1
  470 
  471   * Fixed: Empty host bug (URIs like "///g")
  472   * Fixed: Relative URIs are no longer touched by normalization
  473   * Fixed: MergePath failed for empty paths
  474   * Fixed: Bug with "." segments in AddBase
  475       All of the above revealed by test cases from 4Suite (http://4suite.org/)
  476 
  477 2007-07-28 -- 0.5.0
  478 
  479   * Added: Syntax-based normalization
  480   * Added: Percent-encoding function Escape
  481   * Improved: Malloc/NULL checks added
  482   * Added: New function UnescapeInPlaceEx can also decode '+' to ' '
  483       and convert line breaks
  484   * Added: Exact space computation for ToString, see ToStringCharsRequired
  485   * Added: --enable-sizedown for saving space and slower code
  486   * Fixed: Two internal functions were exposed in the API by mistake:
  487       uriPushToStack and uriStackToOctet
  488   * Added: Visual Studio 2005 project files
  489   * Removed: Legacy code (removal was announced for 0.5.0)
  490 
  491 2007-07-06 -- 0.4.1
  492 
  493   * Fixed: ToString did not work for IPv4 and IPv6 hosts
  494 
  495 2007-07-03 -- 0.4.0
  496 
  497   * Added: References resolution (think relative to absolute)
  498   * Added: Naive URI equality check
  499   * Added: URIs can now be converted back to strings
  500   * Fixed: The first path segment of a relative URI was eaten
  501       (functions ParseSegmentNz and ParseMustBeSegmentNzNc)
  502   * Fixed: uri->scheme.first was not reset in some cases
  503       (function ParseMustBeSegmentNzNc)
  504   * Improved: Test suite now built on "make check", not before
  505   * Fixed: Test suite always returned 0 (success)
  506 
  507 2007-04-23 -- 0.3.4
  508 
  509   * Added: Shared library support (moved to libtool)
  510 
  511 2007-04-03 -- 0.3.3
  512 
  513   * Fixed: Now unix EOLs constantly
  514   * Fixed: Added forgotten files to release package
  515 
  516 2007-03-31 -- 0.3.2
  517 
  518   * Fixed: Now compiles on FreeBSD
  519 
  520 2007-03-28 -- 0.3.1
  521 
  522   * Fixed: Now compiles on Mac OS X
  523 
  524 2007-03-26 -- 0.3.0
  525 
  526   * Added: New API, old marked deprecated
  527   * Added: Added support for wide strings (think wchar_t)
  528   * Added: Doxygen code documentation
  529   * Added: Test suite using CppTest
  530   * Changed: Library code is now licensed under the new BSD license.
  531       The test suite code is licensed under LGPL.
  532 
  533 2006-12-08 -- 0.2.1