=head1 NAME

App::Netdisco::Manual::ReleaseNotes - Release Notes

=head1 Introduction

This document will list only the most significant changes with each release of
Netdisco. You are B<STRONGLY> recommended to read this document each time you
install and upgrade. Also see the Changes file, for more information.

=head1 Migrating from Netdisco 1.x

This distribution (App::Netdisco) is a complete rewrite of the Netdisco
application. Users often ask whether they can run both versions at the same
time, and whether the database must be copied. Here are the guidelines for
migrating from Netdisco 1.x:

=over 4

=item *

You can run both Netdisco 1.x and App::Netdisco web frontends at the same
time, using the same database.

=item *

Only enable the backend daemon and discovery jobs from I<either> Netdisco 1.x
I<or> App::Netdisco.

=item *

You can share a single database between Netdisco 1.x and App::Netdisco. The
deploy script for App::Netdisco will make some schema changes to the database,
but they are backwards compatible.

=back

=head1 2.017001_002

=head2 General Notices

The previous mentioned bug in Macsuck is now fixed.

During Arpnip, Node IPs are no longer resolved to DNS hostnames in real-time.
Another job is queued to perform this action for the device. You can therefore
control using the new C<nodenames_no> and C<nodenames_only> config parameters
which daemons run this job.

The idea here is to support sites where the SNMP polling node has no useful
DNS, but another system can update the DNS entries for nodes (yet do no
polling).

=head1 2.017000

=head2 General Notices

There is a bug in Macsuck whereby in rare circumstances some invalid SQL is
generated. The root cause is known but we want to take more time to get the
fix right. It should only be a few more days.

The C<no_port_control> configuration setting is now called C<check_userlog>
and its logic is inverted. Don't worry if this is not familiar to you - the
option is only used by Netdisco Developers.

=head1 2.016000

=head2 General Notices

The dangerous action log messages are now saved to the database. In a future
version there will be a way to display them in the web interface.

=head1 2.015000

=head2 Heath Advice

Some of the "dangerous action" confirmation dialogs offer to take a log
message (e.g. Port Control, Device Delete). Currently the log messages are
B<not saved>. This feature will be added in the next release.

=head1 2.014000

=head2 General Notices

The backend poller daemon is now considered stable. You can uncomment the
C<housekeeping> section of the example configuration and thereby enable
regular device (re-)discovery, arpnip and macsuck.

=head1 2.013000

=head2 General Notices

You can now configure LDAP authentication for users.

=head1 2.012000

=head2 Security Notices

The read-write SNMP community is now stored in the database, when used for the
first time on a device. If you don't want the web frontend to be able to
access this, you need to:

=over 4

=item *

Have separate C<deployment.yml> files for web frontend and daemon, such that
only the daemon config contains any community strings.

=item *

Use separate PostgreSQL users for web frontend and daemon, such that the web
frontend user cannot SELECT from the C<community> DB table.

=back

=head1 2.011000

=head2 General Notices

Users can be managed through the web interface (by admins only).

=head1 2.010000

=head2 General Notices

You can now simplify database configuration to just the following, instead of
the more verbose C<plugins/DBIC> setting which was there before:

 database:
   name: 'netdisco'
   host: 'localhost'
   user: 'someuser'
   pass: 'somepass'

Also, the C<REMOTE_USER> environment variable and C<X-REMOTE_USER> HTTP Header
are now supported for delegating authentication to another web server. See the
Deployment and Configuration documentation for further details.

=head1 2.008000

=head2 Heath Advice

This release contains the first version of our new poller, which handles
device and node discovery. Please make sure to backup any existing Netdisco
database before trying it out.

=head2 General Notices

You can remove any settings from C<~/environments/deployment.yml> which you
didn't edit or add to the file yourself. All defaults are now properly
embedded within the application.  See the new C<deployment.yml> sample which
ships with this distribution for an example.

=head1 2.006000

=head2 Incompatible Changes

The default environment configuration file C<develpment.yml> has been renamed
to C<deployment.yml>. This better reflects that users are not developers, and
also fits with the default for PSGI compatible cloud deployment services.

Please B<rename or copy> your environment file:

 mv ~/environments/development.yml ~/environments/deployment.yml

=head2 General Notices

The installation is now relocateable outside of a user's home directory by
setting the C<NETDISCO_HOME> environment variable. This defaults to your own
home directory.

=cut
