06-Apr-2003  Don Moore  <bboy@bboy.net>  [0.9.9]

   * Fixed serious bug in delegation code that was causing
     NOERROR responses to be returned with NS information in
     AUTHORITY instead of the SOA record.
   * Cleaned up CFLAGS construction in m4/mydns.m4.


27-Mar-2003  Don Moore  <bboy@bboy.net>  [0.9.8]

   * WARNING!  Load balancing now works exactly the opposite way
     that it did in previous versions!  They are now ordered
     similarly to MX records, with lower 'aux' values meaning
     "higher preference".  See the manual for full details.
   * Support for SRV (RFC2782) records.  If you're running an old
     version, just add a SRV enum value to the "type" column in
     your "rr" table, then read the manual to see how they work.
   * New reply cache; saves lots of database traffic on often-
     requested records that don't have any dynamic content (like
     load balancing, MX records, etc.).  The "cache-size" and
     "cache-expire" options have been replaced by
     "reply-cache-size", "reply-cache-expire", "zone-cache-size",
     and "zone-cache-expire".  The old variables will still work,
     however, and will allocate 1/3 of cache area to the reply
     cache.  Current users may want to use "mydns --dump-config"
     to update their mydns.conf files.
   * Default "timeout" changed to 120 seconds.
   * mydns.conf(5) updated - had some very old information.
   * zlib is now properly checked if compiling with MySQL client.
   * malloc() et al wrapper functions removed to save function
     calls.  Each memory allocation is now checked inline.
   * Restructured "doc" directory - it makes much more sense now.
   * Many enhancements to contrib/admin.php.
   * Records appearing in the ANSWER section no longer duplicated
     in ADDITIONAL.
   * ADDITIONAL data is sorted where it would be sensible.
   * Bug fixed in 'mydnsimport' where importing was broken for
     non-standard 'soa' table name.  Thanks to Matthias Goebl.
   * PostgreSQL SQL code changed to allow views.  More thanks to
     Matthias Goebl.
   * Merged David Phillips' ALIAS patch (via "--enable-alias").
   * More bugfixes to delegation code.  It should be fixed now,
     I swear.
   * Improved RR sorting code.  "aux" value for load balancing
     may now contain any valid number (no longer clamped at 10);
     lower values are more likely to be listed first.


07-Mar-2003  Don Moore  <bboy@bboy.net>  [0.9.7]

   * "mydnsimport" bug fixed - RR data consisting of exactly
     the zone origin was being truncated to the empty string,
     which won't work.  Thanks to Ari Pollak <ari@alienhosting.com>.
   * If soa.ns or soa.mbox do not end in a dot, the zone origin
     is appended.
   * MyDNS now refuses to build packets containing labels that
     do not end in a dot.  The server will return SERVFAIL and
     the error ERR_NAME_FORMAT.
   * PostgreSQL connection routine now attempts connection via
     Unix socket if TCP connection fails.  Thanks to Lee
     Brotherston <lee@nerds.org.uk> for the info.


04-Mar-2003  Don Moore  <bboy@bboy.net>  [0.9.6]

   * Server now uses reliable signals via sigaction().
     Thanks very much to Joost Damad <Joost.Damad@siemens.com>
     who generously fixed the problem and supplied a patch.
   * Did away with --enable-axfr-debug, which is now just
     included with --enable-debug.  DEBUG define renamed
     DEBUG_ENABLED.  PROFILING renamed PROFILING_ENABLED.
     Added -d, --debug option to all util programs, for
     consistency.
   * Fixed bug when specifying multiple 'listen' addresses
     when the first began with '*'.
   * Added 'mydns' configuration option 'no-listen', specifying
     a list of address[:port] that should not be listened on,
     even if they are specified in 'listen' - this makes it
     easier to create a generic configuration file that says
     "listen on every address except 127.0.0.1", for example.
   * "mydnsimport" now removes trailing origins on all names
     by default, to decrease database size.  To inhibit this
     behavior, use the '--notrim' option.
   * "mydnsimport" now correctly tries all A records returned
     when looking up a hostname.  If the first fails, it tries
     the second, etc.
   * Fixed malformed packet bug when RR data contained non-FQDN
     name values.


08-Dec-2002  Don Moore  <bboy@bboy.net>  [0.9.5]

   * PostgreSQL support added; many source changes,
     especially in src/lib - All source now uses
     generic SQL types - SQL, SQL_RES, SQL_ROW.
   * The "mysql-*" config vars are now called "db-*".
     "mysql-*" still work though, for backwards compatibility.
   * mysql_options() is only being called for MySQL client
     libraries with versions later than 3.23.49.  3.23.49
     in particular is known to segfault when mysql_options()
     is called.  I am assuming that earlier versions fail as
     well, and that newer versions do not segfault.
   * LOG_NOTICE and LOG_VERBOSE messages changed to LOG_WARNING;
     apparently most syslog configurations do not actually log
     the lower priorities.
   * Changed verbose time output format to human-readable.
   * contrib/admin.php updated to support PostgreSQL.  Also
     several minor enhancements/bugfixes.
   * Fixed bug with top-level RR's in zone when the name was
     equal to the zone origin.
   * New "./configure" option --enable-axfr-debug.
   * Fixed AXFR-related file descriptor leak.
   * If the TTL for a record is shorter than "cache-expire",
     the TTL is used instead.
   * Removed gettext() calls around debug output -- it changes
     too often for translations to be useful.  Besides, very
     few messages contain much English text.
   * Fixed several serious bugs in the handling of NS and glue
     records.  Thanks to Russell Weiss.
   * Added support for classless IN-ADDR.ARPA delegations.
   * Fixed bugs in mydnsexport when listing IN-ADDR.ARPA zones.
   * Several changes to fix compiling on Solaris.


25-Sep-2002  Don Moore  <bboy@bboy.net>  [0.9.3]

   * Fixed major "omission" in admin.php from last version
     - I accidentally erased a line that caused RR's not
     to show up.  Oops!
   * Fixed error when compiling on Solaris due to LOG_PERROR
     being undefined.
   * Added typedefs for machines without u_intX_t.
   * Fixed handling of referrals and glue records.
   * Rewrote AXFR; should work now.
   * Removed all references to u_int64_t, PRINTF_NEEDS_QUAD, etc.


20-Sep-2002  Don Moore  <bboy@bboy.net>  [0.9.2]

   * Fixed bug when attempting to AXFR in-addr.arpa zones
     from versions of BIND prior to BIND 9.
   * Added support for "in-addr.arpa." zones in the SOA
     table, if non-default values are desired.
   * Added support for non-class-C in-addr.arpa zones.
   * contrib/admin.php now supports in-addr.arpa format.
   * Added $auto_update_serial option to contrib/admin.php.


17-Sep-2002  Don Moore  <bboy@bboy.net>  [0.9.1]

   * "mydnscheck -C" option did not work correctly - fixed.
   * Fixed bug that caused AXFR to fail when transferring to
     hosts running versions of BIND prior to BIND 9.
   * Fixed bug that caused AXFR to generate bad packets for
     CNAME/NS/MX RR's whose data did not contain the origin.


13-Sep-2002  Don Moore  <bboy@bboy.net>  [0.9.0]

   * Spanish native language support by Jose Luis Domingo Lopez.
   * AXFR import moved into separate program, "mydnsimport".
     "mydnsimport" no longer updates the databases directly, but
     outputs SQL statements that will perform the updates.
   * When returning an answer containing multiple equal-preference
     MX records, MyDNS now shuffles them randomly each time, so
     that the first one on the list doesn't get a heavier load.
     Also corrected non-problematic bug where ADDITIONAL data was
     sometimes not inserted if round-robin or load balancing was
     used.
   * "mydnsdump" program renamed to "mydnsexport" and now supports
     exporting to tinydns-data format.
   * SOA output changed.  AUTHORITY section now contains list of
     authoritative nameservers on exact match.  On inexact match,
     SOA is now output in AUTHORITY instead of ANSWER.
   * Resource records containing an FQDN in the 'name' column
     (instead of just a hostname) now work properly.
   * TTL on response RRs are now adjusted if below the minimum
     for the zone.
   * SOA records with blank ns/mbox now provided default values
     and warned about by mydnscheck.  Thanks to David Phillips.
   * New optional database column 'xfer' in the 'soa' table, to
     support restricting DNS-based zone transfers to specified
     IP addresses.  If present, this will be used by MyDNS and
     also in admin.php.
   * Added request time to verbose output.
   * Add warning about truncated UDP replies if TCP support is
     disabled.
   * Added David Phillips' ALIAS patch to 'contrib'.
   * Fixed rare DNS-encoding bug.
   * Verbose (-v, --verbose) output now goes to stdout instead
     of stderr.
   * Added support for native language documentation.
   * Enhanced admin.php (SOA browser, PTR brower, zone create)


10-Aug-2002  Don Moore  <bboy@bboy.net>  [0.8.3]

   * Fixed "0 length reply" problem for NOTIMP reply due to
     invalid query class.
   * Removed the "test" program from the package.  It's useless
     really to anybody but me.
   * Modified listening code so that INADDR_ANY is never used.
     Instead, interfaces will be scanned and added individually,
     so that replies always come from the correct interface.
   * Fixed bug in '--import' option when updating existing SOA.
   * Added command line option "-D, --database"
   * Added support for AAAA records on machines without IPv6.
     Added Paul Vixie's inet_ntop() and inet_pton() to the
     util library. Tested on FreeBSD 3.1-STABLE.
   * Added support for interface-specific ports.  Removed
     "port" config variable (but it is still supported).
   * Multiple "listen" config vars may now be listed on separate
     lines.
   * Fixed log output with 64-bit integers on 4.4BSD, when "%llu"
     is broken.
   * "mysql-host" config var now supports optional ":port" to
     specify nonstandard MySQL port number.
   * Fixed DNS encoding bug in AXFR code.
   * Numerous enhancements to resolution algorithm to (hopefully)
     include more additional data.  CNAME resolution now handled
     somewhat differently.
   * Added full list of record types to --verbose output (old
     list had only supported types).
   * French native language support by Helios de Creisquer.
   * Brazilian Portugese native language support by Davi Arnaut.
   * Util programs now installed by default (in PREFIX/bin) -
     "mydnsdump" to output a zone BIND-style, and "mydnscheck"
     to check the correctness of your table data.
   * Documentation added for util programs.


02-Aug-2002  Don Moore  <bboy@bboy.net>  [0.8.2]

   * Fix for resolution behavior: Server was matching down past
     the first label specified in the initial query, and returning
     answers for labels below the original query.  This means that
     if RRs existed for "bar.example.com", the server would return
     RRs for "foo.bar.example.com" in error.  Thanks to Marc
     Jauvin for finding this bug.
   * Fix for SOA resolution: 'aa' flag was not being set for
     SOA queries for which the server is indeed authoritative.
   * Fix for "." zone, thanks to Marc Jauvin.
   * Many updates to "admin.php".
   * Fixed axfr.c and import.c to support table name config vars.
   * The "libmydns" C library is no longer installed.


29-Jul-2002  Don Moore  <bboy@bboy.net>  [0.8.1]

   * Serious bug fixed in handling queries from recursive
     DNS servers.  Thanks to Simon Dick and Arnaud de Bermingham.
   * Possibly bad bug fixed: Some elements of the task structure
     were being accessed after the task had been freed.
     However, because it was the very next statement, it still
     worked fine on my box.  Upgrading is recommended.
   * Added support for multiple addresses in "bind" config var.
   * "bind" config var now called "listen" (but "bind" still works)
   * New config var: "ptr-table"
   * New config var: "soa-table"
   * New config var: "rr-table"
   * If any table contains an "active" column, it will be examined
     when loading records.  It must be an ENUM with the first
     value meaning "active" and the second meaning "inactive".
     It ought to be indexed.


27-Jul-2002  Don Moore  <bboy@bboy.net>  [0.8]

   * Created "src/util" for small utility programs that don't
     get installed.
   * Wrote "dumpzone", a utility to dump zone info in BIND format.
   * Fixed bug in which PTR records without a dot a the end
     of the "name" data were being served as-is, resulting in
     a "protocol error".  PTR records without the trailing dot
     now have the dot appended automatically.
   * Added round robin DNS ability (random order).
   * Added support for TCP requests.
   * Added AXFR support.
   * Added config option "allow-tcp".
   * Added config option "allow-axfr".
   * Added config option "log".
   * Added configure script option "--with-confdir".
   * Added checks for database access and table presence
     at server start.
   * Fixed bug with "bind" option under FreeBSD.
   * Changed size of "rr.name" field from 64 to 63.  Current
     users don't need to alter their tables unless they want to.
   * Added support for load balancing using the "aux" field on
     A and AAAA records.  (See the documentation)


18-Jul-2002  Don Moore  <bboy@bboy.net>  [0.7.1]

   * Added support for "bind" configuration option contributed
     by Andreas Ljunggren.
   * Clarified contents of PTR table in the documentation.
   * Enhanced the "admin.php" web administration script to support
     PTR records and to display very large result sets more cleanly.
   * Fixed bug with PTR record resolution (question was being
     examined in incorrect byte order).


17-Jul-2002  Don Moore  <bboy@bboy.net>  [0.7]

   * Fixed a serious bug in resolution routines when the
     cache was used.
   * Added multi-CPU support.


14-Jul-2002  Don Moore  <bboy@bboy.net>  [0.6]

   * Initial public release as version 0.6.


## vi:set ts=3:
