taler-www

Main taler.net website
Log | Files | Refs | Submodules | README | LICENSE

2024-04.html.j2 (5297B)


      1 {% extends "common/news.j2" %}
      2 {% block body_content %}
      3 <h1>GNU libmicrohttpd 1.0 released</h1>
      4 <p>
      5 We are glad to announce the release of GNU libmicrohttpd v1.0, and
      6 future plans for the library.
      7 </p>
      8 <h2>About GNU libmicrohttpd</h2>
      9 <p>
     10 GNU libmicrohttpd is a small C library that makes it easy to run an
     11 HTTP server as part of another application. GNU libmicrohttpd is free
     12 software and an official GNU package.
     13 </p>
     14 <p>
     15 Key features that distinguish
     16 GNU libmicrohttpd from other projects are:
     17 <ul>
     18 <li>C library: fast and small</li>
     19 <li>API is expressive and fully reentrant</li>
     20 <li>Implementation is HTTP 1.1 compliant</li>
     21 <li>HTTP server can listen on multiple ports</li>
     22 <li>Various threading modes</li>
     23 <li>Three different sockets polling modes</li>
     24 <li>Broad platform support</li>
     25 <li>Support for IPv4 and IPv6</li>
     26 <li>Support for incremental processing of POST data</li>
     27 <li>Support for basic and digest authentication</li>
     28 <li>Support for TLS (requires libgnutls)</li>
     29 </ul>
     30 <p>
     31 Do not use GNU libmicrohttpd if you are looking for a standalone HTTP
     32 server, there are many other projects out there that provide that kind
     33 of functionality already. However, if you want to be able to serve
     34 HTTP requests from within your C or C++ application, check it out!
     35 </p>
     36 <p>
     37 GNU libmicrohttpd has been primarily developed by the GNU maintainers
     38 Evgeny Grin and Christian Grothoff over the last 16 years with the
     39 help of a large community contributing features, bug reports and bug
     40 fixes. We are especially grateful for code security audits performed
     41 or paid for by Mozilla and Red Hat.
     42 </p>
     43 
     44 <h2>Changes</h2>
     45 <p>
     46 This is the first non-bugfix release since version 0.9.75 and the first
     47 ever stable release of GNU libmicrohttpd. It is a huge one with new features
     48 and fixes.
     49 </p>
     50 The major changes include:
     51 <ul>
     52 <li>Rewritten parsing of clients' requests, fully aligned with current
     53   RFCs (9110 and 9112) requirements. Added detailed control of strict
     54   or lenient specification enforcement. Application may choose between
     55   more compatible mode or more strict and secure mode.</li>
     56 <li>Reworked Digest Auth, greater enhanced support for current RFC 7617
     57   features. MHD currently is the only known server-side implementation
     58   with support for SHA-512/256, userhash and username in extended
     59   notation. At the same time the very old RFC2069 is supported, as
     60   well as MD5 and SHA-256.</li>
     61 <li>Improved functionality in multi-threading environment, especially with
     62   external sockets polling modes.</li>
     63 <li>Reworked Basic Auth, adding new convenient API functions.</li>
     64 <li>Re-implemented GnuTLS initialisation. Now supported
     65   libmicrohttpd-specific system-wide configuration, as well as generic
     66   GnuTLS system-wide configuration. Application may adjust settings based
     67   on system configuration instead of specifying its own full
     68   configuration.</li>
     69 <li>Tons of other new functionality and various fixes. For detailed changes
     70   see the ChangeLog or Git commit logs.</li>
     71 </ul>
     72 
     73 <h2>Download</h2>
     74 <p>
     75 You can download GNU libmicrohttpd from:
     76 <ul>
     77 <li><a href="https://ftp.gnu.org/gnu/libmicrohttpd/ and all GNU FTP mirrors">https://ftp.gnu.org/gnu/libmicrohttpd/</a> and all GNU FTP mirrors.</li>
     78 <li>Our Git repository at <a href="https://git.gnunet.org/libmicrohttpd.git">https://git.gnunet.org/libmicrohttpd.git</a></li>
     79 </ul>
     80 </p>
     81 <p>
     82 Please report bugs to our
     83 <a href="https://bugs.gnunet.org/set_project.php?project_id=10">bugtracker</a>.
     84 </p>
     85 <p>
     86 The documentation (including a reference manual and tutorial) can be
     87 found at <a href="https://gnu.org/s/libmicrohttpd">https://gnu.org/s/libmicrohttpd</a>.
     88 </p>
     89 
     90 <h2>Future Development</h2>
     91 <p>
     92 We will now begin work on a 2nd major version of GNU libmicrohttpd.  This
     93 version will have an easier to use API, add support for HTTP2 and HTTP3, as
     94 well as multiple TLS backends.  Initial work on this will be done by <a
     95 href="https://taler-ops.ch/">Taler Operations AG</a> under a commission from
     96 the <a href="https://mastodon.social/@sovtechfund">German Sovereign Technology
     97 Fund</a>.  The Sovereign Tech Fund supports the development, improvement, and
     98 maintenance of open digital infrastructure. Its goal is to sustainably
     99 strengthen the Free Software ecosystem, focusing on security, resilience,
    100 technological diversity, and the people behind the code.  The result will of
    101 course be Free Software and continue to be released under the Lesser GNU
    102 General Public License.
    103 </p>
    104 
    105 <p> If you are interested in commercial support or would like to financially
    106 support our development, please <a href="mailto:mhd@taler-ops.ch">contact
    107 us</a>. We would like to see if we can transition from purely volunteer work
    108 to paid work to accelerate development.  We would especially like to hear from
    109 you if your business might be interested in purchasing (CE) certifications for
    110 GNU libmicrohttpd (say for compliance with the EU 
    111 <a href="https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act">
    112 Cyber Resilience Act</a>). That would help Taler Operations AG to assess this
    113 potential business case.
    114 </p>
    115 
    116 <p>
    117 Of course we will continue our best to provide gratis support -- but
    118 no warranties -- to developers via the GNU libmicrohttpd mailing-list.
    119 </p>
    120 <p>
    121 Happy hacking!
    122 </p>
    123 <p>
    124 Evgeny &amp; Christian
    125 </p>
    126 {% endblock body_content %}