<h2>MaraDNS roadmap</h2>

<h3>MaraDNS 1.2</h3>

I released MaraDNS 1.2 on December 21, 2005.

<p>

<A href="/tutorial/1.2/update.html">Document on transitioning
from 1.0 to 1.2</A>.

<p>

MaraDNS 1.2 has the following new features over 1.0:

<ul>
<li>MaraDNS can now run with only a single three-line
    configuration file.
<li>Expanded and improved documentation.
<li>A partial native Win32 port has been done; basic MaraDNS functionality
    is now available on Windows.
<li>Full Y2038 compliance; on systems with a 32-bit timestamp, MaraDNS will
    happily run until 2106 or so.
<li>A tool, called <code>duende</code> that can daemonize MaraDNS or any other
    non-daemonizing program, outputting the program's standard output
    to syslog.
<li>The ability to bind to multiple IP addresses.
<li>A new zone file format that works side-by-side with the MaraDNS 1.0 zone
    file format.
<li>A Perl tool for converting csv1 (older) zone files to csv2 (newer) zone 
    files.  Note that MaraDNS continues to parse csv1 zone files; this tool 
    is here for people who want to transition to the enhanced csv2 zone 
    files.
<li>Full support for processing DNS records over ipv4 TCP.
<li>Better RFC compliance: 
    Have the rcode in the DNS header for a reply reflect whether we have 
    any records for the host name in question.  
<li>The addition of a <code>+=</code> operator to the mararc file
    parser, so that long strings may be split up.
<li>It is now possible to have a default zonefile with stars at the end of
    hostnames
<li>It is possible to compile the server without recursive support, making
    the maradns binary 20% smaller and not needing to be linked to the  
    pthread library.
<li>There is a special DOS survival mode which resoves hostnames as 
    quickly as possible
    at the expense of not supporting some DNS features (such as CNAME records
    or star records)
<li>MaraDNS now has authoritative-only UDP ipv6 support.  AAAA records are 
    supported in csv2 zone files, and it is possible to run MaraDNS on
    an ipv6 address.  
<li>Cname records now point back for any record type, not just
    A records in the authoritative half.
</ul>

I have added the following features to the post-1.2.00 releases of MaraDNS:

<ul>
<li>Optional strict RFC-compliant handling of star records.
<li>Added special record which sets up both forward and reverse DNS lookup
    for a given IP.
<li>Added limited remove administrative features (disabled by default), and
    restricted all queries that give internal informaiton about MaraDNS to
    a list of IPs specified by the admin.
<li>Ability to customize the case of informing the DNS stub resolver how
    to handle the case of being unable to contact any remote servers.
<li>Daniel Zilli has translated all of Mara's documentation in to 
    Brazilian Portuguese.
</ul>

My next plan for the 1.2 branch is to add the ability to query all of the 
servers for a given zone multiple times before giving up.  I also
plan on eventually rewriting MaraDNS in C++.
<p>
- Sam (2006.05.03)

