Version 0.31 Download Now 

  * Add DNSSec Support (Disabled by default on existing zones, can be set to
    automatic if needed). The administrator must create the keys and activate
    them with :
    rndc loadkeys DOMAIN.TLD IN VIEWNAME
  * Record : check if the double quotes are even, and if the parenthesis are
    balanced. Otherwise, Bind could not reload the zone

  * Bind : Zone export zone start by SOA and the zone @ records, even if the SOA
    was added later. Otherwise, Bind cry about missing $TTL
  * The Debian package for SSH in PHP has changed its name to "php-ssh2"
  * Remove multiple records : do not update DNS each entry, but at the end
  * Delete Zone : if there is an alert, don't let the wait image and restore
    the standard message to enable a second try
  * When the zone is disabled, do not try to reload it after removing a record,
    or there is an alert sent

  Need Database Update ! Do a backup !
  For SQLite :
    PRAGMA foreign_keys=off;
    zone VARCHAR(255) NOT NULL,
    viewname VARCHAR(255) DEFAULT 'default',
    viewclients VARCHAR(255),
    dnssec INTEGER,
    comment VARCHAR(1024),
    opendate DATETIME NOT NULL,
    closedate DATETIME,
    UNIQUE (zone,viewname));
    INSERT INTO new_table(id,zone,viewname,viewclients,comment,opendate,
      SELECT id,zone,viewname,viewclients,comment,opendate,closedate
        FROM dns_zones;
    UPDATE new_table SET dnssec='0';
    DROP TABLE dns_zones;
    ALTER TABLE new_table RENAME TO dns_zones;
    PRAGMA foreign_keys=on;

  For MySQL :
    ALTER TABLE dns_zones ADD COLUMN dnssec INTEGER AFTER viewclients;
    UPDATE dns_zones SET dnssec='0';

Version 0.30 Download Now 

  * Add CAA Record support (
  * Add SSHFP Record support

  * SSH is now done by the SSH2 library integrated in PHP (allow IPv6 support)
  * BUG Bind import with long DKIM key

Version 0.29 Download Now 

  * Add long target entry : database update needed if MySQL
    table dns_records 255->2048 : target VARCHAR(2048) NOT NULL,
  * Allow underscore in source record (Needed for DKIM). Should only be allowed
    in SRV and TXT types
  * Bug can not reload the zone at : available in two views
  * BUG : Don't allow the same zone to be defined twice with the same clients
    (with different viewname)

Version 0.28 Download Now 

  * Update Debian Package to PHP7
  * Update the Domframework requirements in index.php

Version 0.27 Download Now 

  * Display the DataTables sort arrows instead of Bootstrap ones
  * BUG : Error in calculation in matrix page
  * CLI : Allow the CLI to update all the zones in servers
  * Force the record ID in edition to be compliant with domframework 0.30
  * Authentication error : the error class is now viewerror

Version 0.26 Download Now 

  * Rename error to viewerror to be compatible with PHP7
  * Add the multiple add range functionality
  * Delete multiple record : missing space in confirmation modal between number
    and selections
  * If the zone is disabled, do not allow to click on "Activate the zone" when
    adding records. Do not allow the automatic "push and active" to activate the
    zone. There is an error raised by Bind : not found:
  * Display the flag "disabled" on the top of record page if needed
  * Create a matrix view of used IP (too found easily a block of IP addresses).
    Only in reverse zones
  * Update to DataTables 1.10.12
  * Add the multiple selection of records by mouse with shift/control
  * Delete confirmation : do not remove the window until all the records are

Version 0.25 Download Now 

  * Datatables : when resizing screen from small to big, the Datatables is not
    resized and stay small
  * Publish the soft on Freshcode <>
  * BUG Reverse record creation IPv6 : check the number of elements : don't
    create if there is missing part of the IP (which can be a valid IP if the
    part is a 0)
  * BUG Do not have warning if the view name is not provided to zone list for a
  * Add a button to create the reverse of a record if it doesn't exists (with
    a select box of RW enabled reverse zones and submit)
    There is a fill (when clicking on Add, do not display the filled values,
    and clicking on Go, should)

Version 0.24 Download Now 

  * Need Domframework 0.24
  * Allow one server to be on views and another to be without view (the command
    will be rndc reload zone in view / rndc reload zone) (need modification of
    domframework config.php)
  * SSH connection : allow another port than 22 (need modification of
    domframework config.php)
  * Sort zones in bind export
  * Delete last record : error warned by the server 'Pas de données fournies
    pour créer le fichier de zone'
  * exportAll : in case of error with bind, invalid SSH port by example, manage
    the error on the modal instead of alert.
  * BUG : Disable zone : invalid if all the dates are in the future and the
    close date is before the open date (should be enable until the close date is
    crossed, then reopened)

Version 0.23 Download Now 

  * Add the cron configuration to web site
  * Add the delete wait gif when deleting a records (with automatic, the time
    can be long)
  * BUG : Manual mode push but nevertheless reload the zone
  * BUG : joker (*) forbidden in import zone and in source of record
  * ReloadAllZones button : Add 2 more steps in percent calculation : the
    creation of zones file and reload
  * exportAll : refactory all the JS code
  * exportAll : display the errors in the window instead of an alert box
  * BUG : Reload all the zones if the server is not in view support

Version 0.22 Download Now 

  * When deleting a zone, add a waiting when clicking on delete confirm button
  * Add a comment on "any" keyword for view clients
  * Add a "Open now" button to activate a zone in one click
  * Add the CRON support to disable zones when the close date has passed
  * Hide the seconds in the date display for zones (shorter and not available in
  * Hide the seconds in the date display for records (shorter and not available
    in CRON)
  * BUG : If zone add, a right text inbox is visible : shouldn't
  * Display on the records list when the record is disabled (Datatables REST)
  * Add the disabled state of records when exporting the zone in bind
  * BUG : The automatic update of the zones entries was defective since the
    default preferences add
  * Add the CRON support to disable records when the close date has passed
  * `rndc reconfig` when adding/removing/updating a zone instead of `rndc
     reload`. The zone will really be enable when the recrds will be reloaded
  * `rndc reload <zone> in <view>` instead of `rndc reload` when modifing one
  * servers :  limit the reload without zone to editrightZone right
  * Cron : the update of the zones disabling by cron run 'rndc reconfig' instead
    of 'rndc reload'
  * Authentication : in case of error in POST, reload in GET with an error
    message in session
  * Button Manual/Automatic : display directely the right value/color : no more
  * cron : check if the process takes more than 59s and warn the administrator
  * cron : reduce the iterations from N² to 2N : much quicker !!
  * cron : if there is an error with a server, redo the action next minute
  * Add a garbage cleaner to remove older unused entries of cron cache
  * cron : don't display "true" if all run well
  * The exportAll doesn't create the server named.conf
  * rndc reload zone in view : view is the clients NOT the viewname !

Version 0.21 Download Now 

  * phpunit : use assertSame in place of assertEquals
  * Create a named.conf.local with the actives zones (if the close date is
    defined and is in past, the zone is inactive)
  * Update the named.conf.local when adding/modifing/delete a zone
  * Add a comment to viewclients fields about the comma separated
  * BUG : shortcuts : don't apply the shortcuts in INPUT, SELECT and TEXTAREA
  * Add a configuration option to allow/disable views and hide the columns in
    Datatables. Export in Bind only the needed ConfLocal.
  * Add a flag to display when the zone is disabled.
  * Zones return the disabled state when using read
  * Add a button to complete the close date automatically in zone details to
    disable a zone in one click
  * When the config is without view, disable the view input in zone edit

Version 0.20 Download Now 

  * Need Domframework 0.23 !
  * JSON decode the error messages
  * A bad request method POST provided instead of PUT for zoneAutoActivate
  * zoneAutoActivate.js : the Ajax update of the information is not needed
  * Check if there is "$datas" in code, check if there is "$informations"
  * If there is no zone in the database, have a beautiful error message instead
    of a invalid HTML page
  * If there is no record in zone, have a beautiful error message
  * Import bind: The source is always a @
  * Import bind: better support of end of lines
  * Add transaction in database when doing a importBind with rollback in case of
  * When there is an error in importBind, display the wrong line
  * When the error page is displayed, add the breadcrumb to go to the main page
  * Create a progress bar when exporting all the zones to DNS servers
  * importBind : better parsing (except if a field is missing with the error
  * Allow the importBind to be an uploaded file
  * Records : remove a record should not refresh all the page (just removing the
    Datatable line)
  * records : change the confirm message with the number of rows to delete
  * Module authorization : add the "use $route" to index.php
  * Display all the groups of the current user when editing the user page
  * Help keys to add/remove/update an entry (like [del] to remove an entry)
  * Add the focus on the forms (on the first element if there is no error, on
    the field with an error if there is one) [done in domframework 0.23]
  * Do a Help page (with shortcuts)

Version 0.19 Download Now 

  * Don't allow the double-clicks to select the word (and clear the clipboard)
  * Display the number of errors or the error in the flash or the right error if
    it is global (and not field dependent)
  * Logs : when delete an entry, display the content of the deleted entry
    instead of the key
  * Display the right (RO / RW) by zone
  * Don't send the RO zones when clicking on refreshAllZones (no error
  * The refreshAllZones button stay active until all the zones are reloaded
  * Remove the Ajax async:false to be without error in console
  * Display the default mouse pointer in the datatables
  * If the zone is in RO mode, don't allow the buttons "Modify" and "Delete"
  * Convert the datatables functions from legacy to new API
  * Display a label with Read-Only zones in zone list
  * Manage the autoactivation by default user preference.
  * Add userprefs management (with language selector, recorded information like
    the automatic/manual mode)
  * Manage in userprefs the deletion of an recorded parameter
  * Userprefs : don't save the state of the autoactivate for a zone if it is in
    the same state as the default one
  * Reject pages with 403 must log the username and the rejected page
  * Do beautiful error page
  * Display the name of the application on the authentication page
  * Display a warning if the target reverse address doesn't resolve

Version 0.18 Download Now 

  * Update locales

Version 0.17 Download Now 

  * Take a look to unit tests : they are failed !
  * BUG : The sorting of destination column if it contains IPv6 address is not
    working (direct zones)
  * Add a placeholder in fields to help the users to fill the information
  * The sorting of first column (source) if IPv6 is not working (reverse zones)
  * record : don't save the TTL value if it not defined
  * record : Allow the ttl to be empty (use the zone ttl by default)

Version 0.16 Download Now 

  * If a user don't have the RW rights on /, the button to edit the records is
    not displayed
  * Import a bind file into the records from the Web interface
  * Layout : translate the fixed words/sentences in layout.html
  * records : after import, do an automatic reload if the user have defined the
  * Allow to remove multiple records in one operation, but not edit them
  * authentication : if the user is already authenticated and the URL back is
    provided, add a link to the defined URL [corrected in Domframework]
  * servers : ratelimit the reload of BIND to 10 for one minute
  * record : Limit the TTL value to the allowed range 0 to 2147483647
  * Put the timezone in the configuration
  * config : add the first meta information to prepare a configuration
  * routing : allow Apache to have mod_rewrite activated or not
  * Display the zone records in bind format (export)
  * CLI : correct the cli to not generate errors when using it

Version 0.15 Download Now 

  * Automatic Updates are now again functionnal
  * BUG : CSRF Ticket refused sometimes : favicon problem
  * Add an official favicon, and icon (from libreoffice)

Version 0.14 Download Now 

  * Debian packaging correction

Version 0.13 Download Now 

  * JS/CSS : add timestamp to force the browser cache to be updating when the
    file is changed
  * Add a log for each modification with user name
  * Add logs for authentication
  * the userprefs have to be saved by user instead of nobody
  * Allow deletion with token to remove the use of REST support for HTML pages
  * authentication : ratelimit by IP the authentication process
  * configuration : if missing entry in an array of the configuration, use the
    default value instead of don't defining the entry (corrected in

Version 0.12 Download Now 

  **** YOU NEED TO RUN './cli/cli.php install createDB' TO INSTALL THE RIGHTS
  **** TABLES
  **** AND THEN './cli/cli.php install updateDB' TO INSTALL THE OBJECTS
  **** DOMFRAMEWORK Version 0.11 minimum
  * Add the right managements (user done, group done, object done, group rights
    done, object rights done, using in all the functions : done)
  * Allow REST authentication. The login and password must be sent in the HTTP
    header. Use this only in HTTPS ! The password is sent non-encrypted !
  * Check the authorization for all the controllers (zones : OK, records : OK,
    server : OK)
  * Add a new zone in the objects of a default group for the user. Push in the
    configuration to be easier
  * Add right management to authorization module
  * Don't display the Modules/Authorizations link if the user is not in the
    administrators list
  * Layout : display a menu to login when we are the anonymous user
  * Display all the members of a group when editing the group page
  * Cache the authentication result when the user is authenticated for 3 minutes
  * Permit the push all the zones when the zone nmae is '.'
  * http://localhost/ProgSVN/domdns/authorization/group/8/user -> remove idgroup
  * delete a read-only zone : JS alert with just "error" message instead of the
    error coming from the PHP in the JSON
  * Refuse to create a new record with zoneid,source,class,rr,target identical
    to another
  * Rewrite the index page to use custom errors page and a custom renderer
    (permit to remove the XXXrest.php and XXXhtml.php pages)
  * The underscore is forbidden in source for A,AAAA,NS,MX records and in target
    in PTR records
  * BUG : if the zone "." is used, it can't be modified because of URL rewriting
    in the browser. The "." is converted in "dot"
  * Allow DNS entries to be imported if zone is a "dot"
  * Allow Zones to not have a SOA. In this case, the exports don't update the
  * Check if the view name can contains special chars (forbidden in Bind conf
  * Write more Unit Tests
  * Add the button in the navbar of bootstrap to allow the user to disconnect,
    in mobile size

Version 0.11 Download Now 

  * Allow to re-push all the displayed zones in automatic and then do the reload
  * The sorting of first column (source) in reverse zones is not correct
  * When renaming zone or viewname, correct all the associated userpref
  * Limit the zone name to lowercase chars
  * Add internationalisation (dataTables and in the other parts of the soft)
    DomFramework version 0.7 minimum
    Selection by Browser default language/Cookie (and auth page when it will be

Version 0.10 Download Now 

  ATTENTION : Prefix support in database : you need to add the line :
              "tableprefix" => "", in your configuration (in database section)
  ATTENTION : Database update done. Run "./cli/cli.php install createDB" after
              installing new version. Actual data are not modified
  *** Upgrade Domframework to version 0.6 minimum ***
  * Add support to prefix in SQL tables : update configuration file !
  * Add SPF RR support (Thanks to Stanislav Filavtev suggestion)
  * Modify Bind import to be allow TTL in lines
  * Big rewrite of bind Import to be more maintainable
  * Start the unit tests of DomDNS
  * Add the automatic push/reload of a zone after modification of records
  * Fix the width of the Automatic/Manual button
  * Add support to double-click on record to edit it

Version 0.9 Download Now 

  * add SRV record support
  * add sudo functionnal support
  * after create/edit a record in HTML, return to the zone/view list
  * Remember the layout of DataTables in cookie
  * WebSite : Add CLI/REST page to describe the fonctionnalities
  * Display the default pointer on the table of zones
  * Display the list of views available with {baseurl}{zone} (breadcrumb records
  * Add a double-click on zones to edit records

Version 0.6 Download Now 

  * BUG : Packaging error : bad model file applied

Version 0.5 Download Now 

  * BUG : Create the user in the group bind correctely
  * BUG : Remove warning in debian user creation

Version 0.4 Download Now 

  * Allow username to be used by sudo to move the zones or reload DNS server
  * Debian package : add /etc/sudoers.d/domdns with chmod 0440
  * Debian package : add the domdns user to the system
  * Allow to create/modify/delete zone
  * Don't allow multiple SOA in insert record
  * Ask the confirmation before deleting an entry with a bootstrap modal
  * Create the database in CLI if the configuration is done (by adding a
    controller "install")
  * Add foreign keys in database to remove records associated to a zone
  * Debian package : add jquery.min.js because the official Debian package don't
    work (number of records don't displayed on the DataTable)
  * Add default pointer to zone list

Version 0.3 Download Now 

  * Create Debian package

Version 0.2 Download Now 

  * Go to new dataTables version
  * Sort the source column by default
  * Use dataTables for zone listing
  * BUG : Bind Import don't work for source = @ : try to add an ending dot
  * BUG : Bind Import don't work if there is no $ORIGIN in file -> use now the
        zone name
  * BUG : Bind Import corrupt by adding erroneous zone in targets

Version 0.2 Download Now 

  * Records (forms) : don't stay on POST page (record in session et go back in
  * Check HTML validation on each page
  * Ask the confirmation before deleting an entry with a bootstrap modal
  * Ask the confirmation before deleting an entry