mulk Changelog

What's new in mulk 0.6.0

Aug 26, 2011
  • New features:
  • large file support (LFS) has been added
  • new option to read, from an external text file, a list of metalink URLs to download
  • new option to set HTTP proxy and port to use
  • new option to avoid downloading of html dependencies (images, CSS, etc.)
  • new option to save the report files progressively. It's possible to specify the number of lines (downloads) to be saved each time.
  • depth option with value 0 now means infinite recursion
  • new parameters have been added to report files (error code, http code, local filename and mime-type filename)
  • new functions to rationalise the process of inserting options
  • static and dynamic libraries creation has been added to configure
  • static and dynamic libraries creation has been added to MSVC's solution
  • new --with-libmetalink option in configure in order to specify different path for libmetalink library
  • new arguments (--with-libcurl and --with-uriparser) in configure in order to specify different paths for libcurl and uriparser libraries.
  • gcc's visibility option has been managed in "include/mulk/mulk.h"
  • check in configure.ac for malloc, calloc, free and vsnprintf has been added
  • Mulk license has been changed to LGPL, in order to lead to wider use of libmulk
  • m_malloc.c has been totally rewritten for license compatibility
  • a short notice about license has been added. It is visible with version option
  • the options can be evaluated by callbacks
  • the option directories are now evaluated only once at startup
  • dependency between new metalink URLs and related options has been removed. The options are evaluated when download process is running
  • specific Mulk return codes have been added to the library functions
  • unique DEBUG compilation flag has been created
  • MSVC solution has been revisited and rationalized
  • Bug fixes:
  • some URL strings were not released in case of error
  • when creating a directory in Windows using an absolute path, there was a wrong behavior
  • in configure, where tidy.h and openssl/sha.h were requested even if they were disabled
  • the total number of downloaded files was wrong if an error occurred
  • Metalink download, when the filesize was missing and the URLs were wrong, Mulk tried anyway to control the checksum
  • Metalink download, FTP protocol was used erroneously to find the missing filesize
  • downloading Metalink file size, under some circumstances not all the possible URLs were tried
  • downloading Metalink file size, with a 200 HTTP code the size was considered valid also if not sent correctly
  • whole checksum of a file sometimes was miscomputed due to unsynchronized file
  • http://www.example.com and http://www.example.com/ have to be considered the same url
  • correct behaviour in accepted domains if the the host is represented as an IP
  • a "(null)" string was printed to reports when a not HTTP protocol was used
  • avoid recursive calls in option file
  • several fixes made in order to assure that the library's functions can called more than once for each instance

New in mulk 0.5.1 (Aug 26, 2011)

  • i18n gettext internationalisation has been added
  • new options to go to foreign hosts, accept and reject specific domains
  • new options to specify username and password for the connections
  • new options to follow FTP links in HTML documents
  • new option to change temporary directory
  • new output directory to save downloaded files
  • Italian translation has been added
  • main process simplified and functions moved to a new file
  • new declarations to include code as static library
  • configuration flag to disable recursion in HTML documents
  • new macro for debugging purposes
  • code to debug dynamic memory allocation and find memory leaks
  • options initialisation revisited

New in mulk 0.5.0 (Aug 26, 2011)

  • Windows compatibility has been added
  • Metalink option added to resume download of a file
  • Metalink support for FTP added
  • Metalink max number of connections per file parameter supported
  • new option to follow Metalink in HTML documents
  • option to change default user agent identity
  • save URLs with specified mime-type to output directory
  • output data and temporary directories are now separated
  • new HTML tags are parsed in order to download whole site. The new tags are FRAME, IFRAME, AREA, MAP, LINK, and SCRIPT.
  • each file has an extension assigned when saved to the output directory
  • bug fix, when an url doesn't have a filename in the path, a name is automatically added in order to save the file locally
  • better parsing of mime types present in HTTP header
  • all strings are now dynamically allocated
  • created new macros for printing messages
  • off_t data type used for file size
  • check for a recent curl version to avoid a bug when performing intensive downloads

New in mulk 0.4.3 (Aug 26, 2011)

  • chunk checksum verification for Metalink downloads (support for md2, md4, md5, sha1, sha224, sha256, sha384, sha512)
  • Metalink continent option added. It's possible to choose the continent of origin of the Metalink files to download
  • bug fix, when a checksum type isn't recognised, the checksum isn't computed correctly

New in mulk 0.4.2 (Aug 26, 2011)

  • mulk now supports all protocols supported by libcurl (HTTP, HTTPS, FTP, FTPS, TFTP, TELNET, DICT and FILE)
  • checksum verification for Metalink downloads (support for md2, md4, md5, sha1, sha224, sha256, sha384, sha512)
  • Metalink download supports also HTTPS
  • Metalink language option added
  • GNU getopt and getopt_long used for parsing options. Now the program is more flexible to read options.
  • fixed a bug when downloading a Metalink file composed by a single chunk

New in mulk 0.4.1 (Aug 26, 2011)

  • liburi replaced by liburiparser (http://uriparser.sourceforge.net/) which is more active and packetised
  • libmetalink is now dynamically loaded and external to the project in order to ease the packetisation process
  • Metalink location option added
  • Metalink OS option added
  • Metalink preference parameter supported
  • Metalink max number of connections per resource parameter supported
  • code cleaned in order to follow GNU coding standards

New in mulk 0.4.0 (Aug 26, 2011)

  • Metalink feature added to the project
  • Metalink library added to the source code
  • ability to read a list of options from a text file
  • option to write to a text file a brief report
  • option to write to a csv file a brief report
  • quiet option to avoid printing messages
  • DEBUG compilation flag inserted
  • fixed a bug, under particular conditions some URLs in download queue were skipped
  • fixed a compilation problem when tidy header isn't

New in mulk 0.3.1 (Aug 26, 2011)

  • new option to read URLs to download from a text file
  • new option to list more than one URL to download on the command line
  • some bugs fixed

New in mulk 0.3.0 (Aug 26, 2011)

  • uri static library added to the project
  • saving and filtering of GIF and PNG images by width and height
  • JPEG library removed, no more needed
  • user manual added to the software installation

New in mulk 0.2.0 (Aug 26, 2011)

  • up to 50 simultaneous connections, 5 for each per host
  • better recognition of file types based on mime types