kiwix-lib 9.4.1
===============

 * Fix `M/Counter` parsing.
 * [SERVER] Adjust body padding-top for taskbar
 * Fix potential crash when stoping a server not started.
 * Various fix in build system and the CI.

kiwix-lib 9.4.0
===============

 * [SERVER] Make the headers handling case insensitive.
 * [SERVER] Make server answer 204 http status code for empty search
 * [PACKAGING] Made CI build deb packages.
 * [SERVER] Add a way to prevent taskbar and external link bloquer at article
   level.
 * Fix meson file to be compatible with meson 0.45
 * [SERVER] Update search requests to use pageStart/pageLength instead of
   pageStart/pageEnd arguments.
 * [SERVER] Set a fixed favicon size in the main page.
 * [SERVER] Refactor the response system code to better handling future new
   libzim api.
 * Fix segmentation fault around exchange with aria2 process making
   kiwix-desktop crash at exit.

kiwix-lib 9.3.1
===============

 * Fix handling of samba path on windows.
 * Do not include `kiwix_config.h` in public header.
 * Fix compilation with libmicrohttpd v0.97.1
 * Increase default test timeout to 160seconds/test.
 * Add automatic debian packaging.
 * Use non-minified version of jquery-ui.js
 * Pass `-latomic` compile option for sh4 architecture.
 * Make mesion install `kiwix-compile-resources` man page.

kiwix-lib 9.3.0
===============

 * Add a thread safe method to search suggestions.
   Old methods are now deprecated.

kiwix-lib 9.2.3
===============

 * Add test on byte-range
 * Fix compilation on bionic and windows.
 * Allow building using debian packaged kainjow-mustache
 * Pass `-latomic` compile option for architectures that need it

kiwix-lib 9.2.2
===============

 * Fix handling on empty content in byte range management (wrong assert)

kiwix-lib 9.2.1
===============

 * Fix support of byte range request.

kiwix-lib 9.2
=============

 * Add tests
 * Refactoring server code.
 * [SERVER] Add HEAD, Etag and If-None-Match support.
 * [SERVER] Compress opds catalog answers.

kiwix-lib 9.1.2
===============

 * Do not use the pathToSave if it is empty.

kiwix-lib 9.1.1
===============

 * Fix the detection of the dataDirectory on windows.

kiwix-lib 9.1.0
===============

 * [JAVA] Add a method to get the size of an article.
 * Add a new method to the libray to get the book by path.
 * Add a option to make the server blocks external link.
   Links are intercepted by js an redirected to a "portail" page.
 * [ODPS] Correctly handle book's articleCount and mediaCount.

kiwix-lib 9.0.1
===============

 * [JAVA] Use a long to store the offset of an article in the zim file instead
    of an int.

kiwix-lib 9.0.0
===============

 * [OPDS] Correctly set the id of the OPDS stream.
 * [OPDS] Do not try to filter the catalog if no filter field is given in the
   request.
 * [WINDOWS] Correctly convert path to wide chars when opening the library.xml
 * [LIBRARY] Remove the function the read file using a native path.
   All path must be utf8, no need to pass a native path along the utf8 path.
 * [TEST] Fix tests using the main function of gtest instead of custom one.
 * [CI] Move to github CI instead of Travis.
 * The `Book::update` method always update the book's fields. Even if they are
   not empty.
 * [JAVA] Add wrapping around the library manager (opds parsing)
 * [ARIA2] Add api option to start download with option (destination folder)
 * [OPDS] Fixes about opds parsing, generation (missing attributes)
   and requesting (server)
 * Add methods on `Book` to get specific tag values (was on `Reader` only)
 * Add flavour attribute to `Book`
 * Fix opensearch description.
 * Trust the given library.xml (by default) instead of reading the value from
   the zim files.
 * [OPDS] Be able to filter the content by name or size.
 * [WINDOWS] Fix launching subcommand when there is spaces in the path.

kiwix-lib 8.2.2
===============

 * Improve a few compilation scripts

kiwix-lib 8.2.1
===============

 * Reintroduce kiwix-serve taskbar

kiwix-lib 8.2.0
===============

 * More debug information if aria2c command fails
 * Allow to set kiwix-serve port
 * Better (dead) bookmarks mgmt

kiwix-lib 8.1.0
===============

 * Fix pathTools manipulation.
 * Add missing implementation of getArticleCount and getMediaCount on android.
 * Correctly convert windows path to utf8.
 * Add code coverage in the CI

kiwix-lib 8.0.1
===============

 * Fix join function

kiwix-lib 8.0.0
===============

 * Add new methods to get all (and new) metadata from the zim file.
 * Add methods to get the value of a specific tag.
 * [API Change] Convert tags value to the new convention.
 * [API Change] Rename `getMatatag` method to `getMetadata`
 * [ABI Change] Correctly detect executable path in appimage.

kiwix-lib 7.0.0
===============

 * [API break] Add a argument to kiwix-serve to specify the library to use.

kiwix-lib 6.0.4
===============

 * Fix HTML rendering of the search result if there is no result.
 * Do not crash at html rendering if request ask for 0 results (start == end)
 * Correctly find the executable path if we are using AppImage

kiwix-lib 6.0.3
===============

 * force one column suggestion in kiwix-serve suggestions
 * fix fulltext search link in suggestions
 * UI fixes in kiwix-serve rendering

kiwix-lib 6.0.2
===============

 * Correctly set the groupId in the pom file.

kiwix-lib 6.0.1
===============

 * Generate the pom file for android/maven

kiwix-lib 6.0.0
===============

 * Move the server code in kiwix-lib (from kiwix-serve).
 * Add unit test on regex functions.
 * Fix computerAbsolutePath (thread safe, memory leak).
 * Correctly set the book's path as valid if we construct the book from a
   reader.
 * [JNI] Add a method to know if a article is a redirection.
 * Do not embed the gtest dependency.
 * [JNI] Add a constructor to JNIKiwixString.
 * Change order of search of the favicon urls.
 * Clean a lot of unecessary includes in headers. (potential "API break")

kiwix-lib 5.2.0
===============

 * kiwix-serve integration (as a seperated process).
 * Fix crash in the suggestion search.
 * Better API to filter the library books.
 * New kiwix-lib application for android. (.aar)
 * Use ReLinker to link with libkiwix.so in android.
 * Correctly set the verbosity of zim search.

kiwix-lib 5.1.0
===============

 * Add function to pause, resume and stop downloads.
 * Add zim's tags in the opds stream.
 * Addapt to new libzim 5.0.0 API.

kiwix-lib 5.0.0
===============

 * Remove error message when trying to open an wrong zim file.
 * Rewrite `makeTmpDirectory` to not use uuid functions on windows.
 * [API break] Remove `getNetworkInterfaces` and `getBestPublicIp`.
 * Remove rpath
 * Detect infinite (and too long) redirect loops.

kiwix-lib 4.1.0
===============

 * Allow the library to be filtered by tags.
 * Fix language mapping.
 * Update README about mustache dependency.

kiwix-lib 4.0.1
===============

 * Fix "maybe uninitialize variable" issue.
 * Ensure path are stored correctly (absolute path) in the library.
 * [CI] Use the new deps archive xz

kiwix-lib 4.0.0
===============

 * [API break] Remove support for external index.
 * Move to the mustache templating system instead of ctpp2.
 * Make meson.build works for meson>=0.43.0
 * [API break] Move the basic tools from the `common` directory to `tools`.

kiwix-lib 3.1.1
===============

 * The OPDS feed book's date must be the date of the book, not the date of the
 feed generation.
 * Convert the standard opds date to our format (YYYY-MM-DD)
 * Remove duplicate language attribute in the libxml dumper.
 * Create the datadirectory to not fail to write a file in a non-existent
   directory

kiwix-lib 3.1.0
===============

 * Add a method to get the favicon url of book (if available).
 * Move dump code of library.xml in a specific class.
 * Add a first support to bookmarks

kiwix-lib 3.0.3
===============

 * Add the 'en' language to the mapping alpha2-code ('en') to alpha3-code
 ('eng').
 * Correctly write the 'ArticleCount' and 'MediaCount' in the library.xml.
 * Correctly fill the book size for the zim file size.
 * Fix launch of aria2c.

kiwix-lib 3.0.2
===============

 * Use the correct path separator when computing relativePath on Windows.

kiwix-lib 3.0.1
===============

 * Small fix about parsing the opdsStream.

kiwix-lib 3.0.0
===============

 * Change the downloader to use aria2 using a separated process (with rpc)
   instead of using the libaria2. This simplify a lot the link process to
   libaria2 on Windows.
    - kiwix-lib doesn't depend on libaria2 anymore.
    - kiwix-lib now depends on libcurl.
 * [API break] Library class API has been updated :
    - Books are referenced by id, not index. A lot of methods have been
      updated this way.
    - Books "list" is now private.
    - There is no more "current" book.
    - listBooksIds's filters have been updated.
 * [API break] Book class API has been updated :
    - Move the definition of Book in `book.h`.
    - Use getter/setter methods instead public members.
    - Size (getSize/setSize) is now returned in bytes, not kB.
    - Dependending of how the book has been initialized (opdsfeed), the
      faviconUrl may be stored in the book, the favicon being downloaded when
      using `getFavicon`.
    - The path (and indexPath) are always absolute path.
    - Book has now a downloadId, corresponding to the aria2 download id (if
      exists)
  * [API break] Manager class API has been updated :
    - The manager is mainly use to fill a Libray from a "library.xml" file or
      opds feed. Other operations (has removeBookById, setBookPath, filter, ...)
      have been removed.
    - The manager use a intermediate class (LibraryManipulator) to add book to
      the library. This dependency injection allow caller code to hook the add
      of a book to the library.
    - The manager work on a existing Library. It doesn't how a internal
      Library.
  * [API break] OpdsDumper class API has been updated :
    - dumpOPDSFeed method now take the list of bookIds to dump instead of
      dumping all books in the library.
    - OpdsDumper can now dump openSearch result information (total result
      count, start index, ...).
  * [API break] Common tools API has been updated :
    - `base64_encode` and `base64_decode` take std::string as arguments.
    - New `download` function in networkTools.h using libcurl.
    - New `getDataDirectory` function in pathTools.
    - Better `beautifyInteger` and `beautifyFileSize` functions.
    - New `nodeToString` function serializing a pugi::xml_node to a string.
    - New `converta2toa3` function to convert alpha2 language code to aplha3
      language code.


kiwix-lib 2.0.2
===============

 * [Android] Forward c++ errors message de Java world.
 * Follow redirection of favicon.
 * Make aria2 dependency optional.
 * Inculde unistd.h only on unix platform.

kiwix-lib 2.0.1
===============

 * Fix parsing of url.
 * Remove unused static resources.
 * Correctly decode reserved characters in URLs.
 * Explicitly use icu namespace to allow use of packaged icu lib.

kiwix-lib 2.0.0
===============

 * Introduce a new API to retrive content from a reader.
   * Introduce the `Entry` class.
   * Reader's methods return an `Entry`.
   * Content and other information can be retrieved from the `Entry`.
   * Older Reader's methods are depreciated.
 * Add an `OPDSDumper` class to dump a whole `Library` as an OPDS feed.
 * Add a tool function to get the content of a file.
 * Add a tool function to create a tempory directory.
 * Add a `Downloader` class to download a file.
 * Allow the manager to populate a `Library` from an OPDS feed.
 * Try to locate libctpp2 in default system libdir and then fallback in 'lib'
   directory.
 * Build kiwix-lib setting RPATH.
 * Build kiwix-lib without warning (werror=true)
 * Build kiwix-lib on macos.

kiwix-lib 1.1.1
===============

 * Correct the name of kiwix-lib (from `kiwixlib`) in meson.build to generate
   dist archive with the correct name.
 * Libzim version need to be at least 3.2.0

kiwix-lib 1.1.0
===============

 * Allow for more than 70 search result per page in html results rendering
   (kiwix/kiwix-tools#92)
 * Add a small api to do geo queries.
 * Add multi-search support in the JNI (#67)
 * Add an API to get only one part of an article.
 * Add an API to get direct location of an article content in the zim file.
 * Improve urlencoding
 * Fix pagination in html results rendering.
 * Compile using gcc-5 on Travis.
 * Allow JNI to access search snippets.
 * JNI throw an exception instead of returning an invalid object if something
   goes wrong.
 * Add doctext documentation. (#116)
 * Various bug fixes.

kiwix-lib 1.0.0
===============

 * Correctly regenerate template resource using cttp2c at compilation time.
 * Suggestion use xapian database when available
 * Support multi-zim search in kiwix-lib (a search can now search on several
   embedded database in zims in the same time)
 * Fix some wording
 * Fix license issues
 * Add out argument to jni getContent* method to get the title of article in
   the same time we get the content
 * Rename `compile_resources.py` script to `kiwix-compile-resources`
 * Use static lib when building for android or in "static mode"
 * Make the ResourceNotFound exception public

kiwix-lib 0.2.0
===============

 * Generate the snippet from the article content if the snippet is not
 directly in the database.
   This provide better snippets as they now depending of the query.
 * Use the stopwords and the language stored in the fulltext index database to
 parse the user query.
 * Remove the indexer functionnality.
 * Move to C++11 standard.
 * Use the fulltext search of the zimlib.
   We still have the fulltext search code in kiwix-lib to be able to search in
   fulltext index by side of a zim file. (To be remove in the future)
 * Few API hanges
   * Change a lot of `Reader` methods to const methods.
 * Fix some crashes.
