# Changes in TIFF v4.3.0

References
Current Version | v4.3.0 (tag v4.3.0)
Previous Version | v4.2.0
Master Download Site | https://download.osgeo.org/libtiff/
Master HTTP Site #1 | http://www.simplesystems.org/libtiff/
Master HTTP Site #2 | https://libtiff.gitlab.io/libtiff/
Master HTTP Site #3 | http://libtiff.maptools.org/

This document provides a summary of significant changes made to the software between the previous and current versions (see above). A fully-detailed change summary is provided by the `ChangeLog` file included in the release package and by the Git commit history:

## Major changes

- Build and usage of the library and its utilities requires a C99 capable compiler.

- New optional codec for the LERC (Limited Error Raster Compression) compression scheme. To have it available, configure libtiff against the SDK available at https://github.com/esri/lerc

- CMake build: revamp of build scripts

## Software configuration changes

- cmake: revamp of the cmake build scripts. There are impacts on the case of some options.

- cmake: update minimum version and policy version to 3.9.

- Remove NMake build support. The functionality provided by the NMake build is now completely superseded by the CMake build.

- Remove antiquated Scons and makefile.lcc build support.

- Remove non-functional VMS and WinCE support.

- `autogen.sh` now updates `config.guess` and `config.sub` from master gnulib version.

## Library changes

- Use of `int8`, `uint8`, `int16`, `uint16`, `int32`, `uint32`, `int64`, `uint64` typedefs is now deprecated. libtiff code and headers no longer use them, and use their C99 standard equivalents (with `_t` suffix). Those typedefs are still available, with deprecation warnings, but external code is strongly encouraged to use the corresponding C99 `stdint.h` types. The deprecated types might be removed in a future release.

- Removal of unused, or now useless due to C99 availability, functions in `port/`

- A few issues spotted by static code analysis tools fixed. Compiler warnings addressed.

## Tools changes

- In usage text, insert a line of text summarizing each tool's purpose

- tiff tools: made display of compression methods and their parameters conditional on their actual availability

- tiff2ps: exit the loop in case of error (#232)

- tiff2pdf: check that tiff_datasize fits in a signed `tsize_t` (#202)

- tiffsplit: exit with `EXIT_FAILURE` if there are extra args on the command line

- tiffcmp: fix comparison with pixels that are fractional number of bytes (#53)

## Contributed software changes

- `iptcutil.c` - set `#ifdef _WIN32` (was `#ifdef WIN32`, which failed at build time)