Dear all, I am happy to announce new release of phpipam IP address management – version 1.3.

Quite some time has passed since last version was released, so this upgrade offers quite some new features!
  • Please read upgrade guide before upgrading!
  • As usual backup your database before upgrade.
  • New php modules are required (`php -m` to verify):
    • sockets
    • filter
    • openssl
    • mbstring
    • gd

If you find phpIPAM useful for your company donation would be highly appreciated to support further development of phpIPAM software!


Most "important" new features are:
  • Racks module (Rack drawing) for devices
  • NAT module
  • Locations module
  • Threshold module for subnets
  • PSTN number management module
  • Lots of API improvements
  • Performance improvements
And much more. You can find full changelog below, please read it.

You can demo it here: http://demo.phpipam.net/
You can download it on sourceforge site: phpipam-1.3 or on github.

Some screenshots:

Special thanks to all the people submitting bug reports, translators and feature testers!


Full changelog for this release is:

== 1.3

    New features:
    ------------
    + Multicast module (RFC1112, RFC2464) with IP to MAC mapping and multicast networks overview;
    + Threshold module for subnets;
    + Racks module (Rack drawing) for devices;
    + Address linking by selected field;
    + Custom logo for site and mails;
    + PSTN number management module;
    + SNMP module:
        + Subnets discovery from route table (all subnets, nested subnets, add new subnet);
        + Hosts discovery scans via ARP check/interface check;
        + Hosts discovery scans via ARP + MAC address check (detects interface);
        + VLAN discovery;
        + VRF discovery;
        + Status update scans via ARP check;
    + NAT module
        + Source / static / destination NAT;
        + Linking subnet to NAT
        + Show bindings under tools and next to IP address / subnet
    + Locations module
        + Map devices / racks / subnets to location;
        + Google maps integration;
    + SAML2 authentication (SSO)

    Enhancements, changes:
    ----------------------------
    + Folders can now contain addresses;
    + API:
        - Api v1 removed;
        + If subnet gateway defined gatewayId is returned in subnet details;
        + Automatically added nameservers to subnet results;
        + Added subnet usage result for each subnet in section;
        + Added custom fields for all controllers;
        + New subnets automatically get parent permissions;
        + Added IP calculation to subnet;
        + Changed all not_found when searching objects to 404 and all invalid parameters to 409 (conflict);
        + If new item is created id will be available in response field “id”;
        + New parameter $time_response in api/index.php that will return execution time in field “time";
        + Extensive first_free subnet calls search speedup;
        + POST transaction locking;
        + All first_free and first_address responses are now "data" instead of "ip" and "subnet" for consistency;
        + Subnet splitting now copies over custom fields values by default (user custom_fields=no to revert);
        + Added API option to nest custom_fields to assure correct structure;
        + Added option to show/hide links in api by default for each app;
        + Changed API http response codes;
        + New methods:
            + users:
                GET    /user/expires/                         // returns token expiration date
                GET    /user/token-expires/                   // returns token expiration date
                GET    /user/users/                           // returns all users (rwa app permissions required)
                GET    /user/admins/                          // returns all admin users (rwa app permissions required)
            + addresses:
                GET    /addresses/first_free/{subnetId}/      // returns first available address (subnetId can be provided with parameters)
                GET    /addresses/{ip}/{subnetId}/            // returns IP address from subnet
                GET    /addresses/search/{hostname}/          // Will search addresses by hostname
                DELETE /addresses/{ip}/{subnetId}/            // deletes IP address from subnet
                POST   /addresses/first_free/{subnetId}/      // will search for first free address in subnet, creating new address
            + subnets:
                GET    /subnets/{id}/addresses/{ip}/          // returns IP address from subnet
                GET    /subnets/{id}/first_free/              // returns first free address in subnet
                GET    /subnets/{id}/first_subnet/{mask}/     // returns first available subnets with specified mask
                GET    /subnets/{id}/all_subnets/{mask}/      // returns all available subnets with specified mask
                POST   /subnets/{id}/first_subnet/{mask}/     // creates first free subnet under master with specified mask
                DELETE /subnets/{id}/permissions/             // removes permissions
                PATCH  /subnets/{id}/permissions/             // sets subnet permissions (?grouname1=ro&groupname2=3&43=1)
        + New controller Prefix;
        + New controller Devices;
        + New subcontrollers:
            + /tools/nat/
            + /tools/racks/
            + /tools/locations/
    + Widgets:
        + New threshold widget;
        + New inactive hosts widget;
        + New Locations widget;
    + PowerDNS:
        + Default domain for PTR records (if hostname is not set);
        + When removing IP address additional option that removes all associated PDNS records (ip and hostname);
    + Permit normal users to manage VLANs / VRFs;
    + Inactive (offline) hosts tools page;
    + MAC address normalization;
    + jQuery tables;
    + Permission delegation now only delegates changes not whole permission set;
    + Users with RWA permission can manage IP requests and receive IP request mails + changelog mails for subnet;
    + IPv4 subnet link to IPv6 for dual-stack info;
    + Removed inacessible DNS servers if timeout to prevent page load timeouts;
    + Added option to only show supernets to limit pageload [#844 #816 #736];
    + Added last scan info to subnet details;
    + Added option to update address tags when address state change occurs (pingCheck) [#840];
    + Added mantaneance mode;
    + Added inactive addresses removal script;
    + Subnet overlapping now checked also inside folders to prevernt duplicates;
    + Subnet overlapping now checked also between sections if VRF defined;
    + Added new settings directive that requires unique subnets accross sections;
    + Added index check in verify database to detect and fix possible missing DB indexes;
    + Added MAC address vendor display option;

    Bugfixes:
    ----------------------------
    + PowerDNS regenerate PTR records now only updates current subnet (before whole zone);
    + Fixed visual bug on 32-bit systems;
    + Normal users with RWA permissions can scan subnets;
    + Changed default timestamp from 0000-00-00 00:00:00 to 1970-01-01 00:00:01 to avoid SQL install errors if strict mode;
    + Fixed https access on non-standard ports;
    + Extended username to 255 chars for LDAP logins;
    + Fixed search export invalid encoding and data may have been lost XLS file error;
    + Fixed invalid character encoding in API responses;
    + PowerDNS records cannot be created on slave zone;
    + Fixed subnet resizing bug if subnet contained slaves;
    + Added separate CSRF cookies for each address/subnet/pstn object;
    + Deleted items are now shown and searchable from changelog;

brm