This document describes the changes made to the Kernel application.

## Kernel 2.0.3

### Fixed Bugs and malfunctions

The code server did not treat the command line flags -pa and -pz correctly. Now they behave as code:add_pathsa/1 and code:add_pathsz/1, respectively.

Own Id: OTP-2008

The global name server could get out of sync when nodes were slave started.

Own Id: OTP-2011

When the pg2 server is started, disk_log could crash when a log was started.

Own Id: OTP-2028

The documentation of the functions pg2:get_members/1 and pg2:get_local_members/1 is updated.

Own Id: OTP-2028

## Kernel 2.0.2

### Fixed bugs and malfunctions

The absence of the file /etc/resolv.conf and /etc/nsswitch.conf on a UNIX system is now reported as a warning (if warnings are activated) instead of an error. See OTP-2037 below for how to activate warnings.

Own Id: OTP-2053
Aux Id: seq 552

An Erlang node could not connect to machines (lookup through DNS) when a search entry was missing in /etc/resolv.conf.

Own Id: OTP-2036
Aux Id:seq 542

The parsing of domain names was to restrictive, did not accept underscore in names. Now underscore is accepted but not as the first character in a name. If other suspicious names are found the Erlang system will warn about those , but only if warnings are explicitly activated with the kernel application environment variable inet_warnings set to on. The warnings can also be activated on the command line like this:
erl -kernel inet_warnings on

Own Id: OTP-2037
Aux Id:seq 543

## Kernel 2.0.1

Nothing to report.

## Kernel 2.0

### Incompatibilities with Kernel 1.3.2

Due to new functionality in global, and rewrite of the Application Controller, new Erlang nodes cannot be connected (through the distributed Erlang protocol) to old nodes.

application_controller is changed. Therefore Erlang nodes with this version of Kernel cannot cooperate with nodes with kernel 1.3.2 or older.

erl_prim_loader has a different way of loading code from another node. The old loader distributed (specified as -loader distributed) is replaced by another loader inet. This loader uses another loading protocol. The old flag -nodes cannot be used. There is another flag -hosts that should be used instead.

erl -s Module Function Arguments now crashes if Module:Function() fails.

Own Id:OTP-1697

The internal file structure for the Erlang installation has been modified. The directory with system version files (e.g. the boot file) is moved from the erts directory to the releases directory.

### Fixed Bugs and malfunctions

disk_log now handles reconfiguration of logs correctly.

Own Id: OTP-1435, OTP-1634
Aux Id: HA51162

Corrected the failure to load an application that includes another application that is not loaded yet.

Own Id: OTP-1586

When an Erlang system is started with the option -s Mod Func Args the Erlang system will exit with an error code if the execution of Mod:Func(Args) causes an exception (i.e returns {'EXIT',Reason}). In previous versions the Erlang system continued to run without giving any information about the failure in executing the Mod:Func(Args).

Own Id: OTP-1697

Corrected that disk_log always truncated internal wrap-logs.

Own Id: OTP-1869

Fixed bug in pg2:get_closest_pid/1 when the group did not exist.

Own Id: OTP-1945

### Improvements and new features

The syntax of the different files defined by Kernel is defined in separate documents. Check the reference manual for app(4) and config(4).

It is possible to customize the behaviour of global when it detects name conflicts (e.g. due to a partitioned net).

Own Id: OTP-1455

The Application Controller allows the functions in application to be called from within an application start.

Own Id: OTP-1629

The Application Controller is split into two processes; one that handles local applications, and one that handles distributed applications. If distributed applications are used, the configuration parameter start_dist_ac should be set.

Own Id: OTP-1629, OTP-1636

The Erlang distribution protocol is rewritten with more parts implemented in Erlang and a new driver for the communications part. This will make the distribution easier to maintain and enhance from now on.

Own Id: OTP-1643