3. Release notes

This documentation corresponds to Lease version 1.99.8.20251104005426.4e37e60402.

3.1. Lease 1.99.8

The following are release notes for Lease 1.99.8:

  • RT1671: libevent and libzip deps are limited to just the border RPM package now.

3.2. Lease 1.99.7

The following are release notes for Lease 1.99.7:

  • RT1428: The packaging of Lease was updated. Lease is part of a source code tree with other components such as Loop and Border, and previously only Lease and Loop were packaged. Other components of the tree are also packaged now as part of a multi-package RPM spec file. The border-release package which installed the border-epel, border-epel-testing, border-fedora, and border-fedora-testing DNF package repositories and their package signing PGP key has been replaced with the akira-release package which installs the akira-epel, akira-epel-testing, akira-fedora, and akira-fedora-testing DNF package repositories and their package signing PGP key.

  • RT1672: A minor syntax error was fixed in the Lease RPM's post-installation script (it did not cause an actual issue other than the error report).

  • RT1613: All the programs of Loop and Lease were updated to use consistent command line options for version, verbosity, help, etc.

  • RT1618: DNS names were added to the list of items in the data and privacy section of the Loop and Lease user manuals.

To upgrade from a previous release of Lease on an RPM platform, first remove the obsolete border-release RPM:

$ sudo dnf remove border-release

Then, install the akira-release package as described in the installation instructions (see the chapter titled chap_installation). This will install the new DNF package repositories.

Then, upgrade the lease package, which should install it from the new DNF package repository:

$ sudo dnf upgrade lease

You may clean up the old Border Package Signer key using clean-rpm-gpg-pubkey:

$ sudo dnf install clean-rpm-gpg-pubkey
$ sudo clean-rpm-gpg-pubkey

3.3. Lease 1.99.6

This is the first release of Lease. Lease has been a part of a source code tree with other dependency components such as Loop for some time now, where it had been maintained with the extensive code refactoring that was done in the tree. It was not packaged for release previously.

The following are release notes for Lease 1.99.6:

  • RT1606: Lease packages are now built. Lease is part of a source code tree with other components such as Loop, and previously only Loop was packaged. Other components of the tree are also packaged now as part of a multi-package RPM spec file.

To install Lease, please see the chapter titled chap_installation.

3.4. Lease version numbering scheme

Lease version numbers have the grammar <MAJOR>.<MINOR>.<PATCH>.<COMMIT-TIMESTAMP>.<COMMIT-HASH>. The MAJOR and MINOR version numbers together represent a source code branch of Lease (see Lease branches).

  • The MAJOR version number is incremented when configuration options, API, and behavior of features change compared to the existing version. Switching to a new MAJOR version may require modifying existing config files to make them compatible with the new version.

  • The MINOR version number is incremented when new configuration options, API, and features are introduced that are compatible with existing configuration options. Switching to a new MINOR version will not require modifying existing config files to make them compatible with the new version.

  • The PATCH version number is incremented when only bugs have been fixed in a new version. Switching to a new PATCH version will not require modifying existing config files to make them compatible with the new version.

  • The COMMIT-TIMESTAMP field is auto-generated and contains the UTC timestamp of the source code commit from which the Lease release was made. The timestamp value is formatted as YYYYMMDDHHMMSS, as the output of:

    date +%Y%m%d%H%M%S
    
  • The COMMIT-HASH field is auto-generated and contains the abbreviated commit hash of the source code commit from which the Lease release was made. The hash value is formatted as the output of:

    git log -n1 --reverse --pretty=%h
    

For example,

  • If you're upgrading from version 1.2.1 to version 1.4.0, Lease's config files should not require any changes. You may also check for new features that have become available in the 1.4 branch.

  • If you're upgrading from version 1.2.1 to version 2.0.0, it is possible that some of the contents of your existing config files may need changes. You may also check for new features that have become available in the 2.0 branch.

  • If you're upgrading from version 1.2.1 to version 1.2.4, Lease's config files should not require any changes. The newer version only contains bugfixes.

Note

During a major version's release series, features and/or programs scheduled for removal in the next major release may be marked as deprecated. They will however still be supported until the end-of-life of that major release.

3.4.1. Stable and development versions

Even-numbered minor versions indicate stable branch releases, whereas odd-numbered minor versions indicate development banch releases. For example,

  • 1.2.0 is a stable branch release,

  • 1.3.0 is a development branch release,

  • 1.99.0 is a development branch release,

  • 2.0.3 is a stable branch release, and

  • 2.1.1 is a development branch release.

Warning

Development branch releases should not be used in production as their features and interfaces may change. Development branch releases may not work properly, may have unexpected behaviors, may crash, etc.

3.5. Lease branches

The following is information on current Lease branches.

Branch

Type

First release date

End-of-life date

1.99

Development

2024-12-10

To be announced

2.0

Stable

To be announced

To be announced

Development branches have no planned end-of-life. Typically, development on such branches is stopped when a new MINOR+1 or MAJOR+1 stable branch is created off it.

3.6. History of Lease

ISC DHCP was originally written by Ted Lemon under a contract with Vixie Labs with the goal of being a complete reference implementation of the DHCP protocol. Funding for this project was provided by Internet Systems Consortium. The first release of the ISC DHCP distribution in December 1997 included just the DHCP server. Release 2 in June 1999 added a DHCP client and a BOOTP/DHCP relay agent. DHCP 3 was released in October 2001 and included DHCP failover support, OMAPI, Dynamic DNS, conditional behaviour, client classing, and more. Version 3 of the DHCP server was funded by Nominum, Inc. The 4.0 release in December 2007 introduced DHCPv6 protocol support for the server and client.

After the project was abandoned upstream, Lease was started by a former Infoblox NIOS developer with the goal of upgrading the codebase to modern standards, and integrating better with Loop (which is a dependency of Lease). Lease forked from the last ISC-licensed ISC-DHCP codebase. While externally it resembles ISC-DHCP with its similar configuration language and programs, its code has undergone considerable changes and continues to evolve at a high rate.