# Version 1.2.0

## Changelog

### Changes

- PIL removed as a fallback if Pillow is not available in the pillow pixel data handler (#722)
- `uid.JPEGBaseLineLossy8bit` deprecated and will be removed in v1.3. Use `uid.JPEGBaseline` instead. (#726)
- `uid.JPEGBaseLineLossy12bit` deprecated and will be removed in v1.3. Use `uid.JPEGExtended` instead. (#726)
- `uid.JPEG2000Lossy` deprecated and will be removed in v1.3. Use `uid.JPEG2000` instead. (#726)
- Equality and inequality operator overrides removed from `UID`.
- `config.image_handlers` deprecated and will be removed in v1.3. - use `config.pixel_data_handlers` instead. There is also a change in behavior in that `image_handlers` previously used to only contain the pixel data handlers that had their dependencies met. Now `pixel_data_handlers` contains all handlers no matter whether or not their dependencies are met. To check if a handler is available for use (it has its dependency met) use the handler’s `is_available` method.
- `DeferredDataElement` class deprecated and will be removed in v1.3 (#291)
- The use of NumPyPy with PyPy is no longer supported, use NumPy instead.

### Enhancements

- Updated DICOM dictionary for 2018c edition (#677)
- Added possibility to set byte strings as value for VRs that use only the default character set (#624)
- Functions for encapsulating frames added to `encaps` module (#696)
- Added `Dataset.fix_meta_info()` (#584)
- Added new function for bit packing `pack_bits` for use with BitsAllocated = 1 (#715)
- Added/corrected encoding and decoding of text and person name VRs using character sets with code extensions, added handling of encoding/decoding errors (#716)
- Handle common spelling errors in Specific Character Set values (#695, #737)
- Added `uid.JPEGLosslessP14` for UID 1.2.840.10008.1.2.4.57
- Added `uid.JPEG2000MultiComponentLossless` for UID 1.2.840.10008.1.2.4.92
- Added `uid.JPEG2000MultiComponent` for UID 1.2.840.10008.1.2.4.93
- Added full support for Planar Configuration (#713)
- Added support for single frame pixel data where BitsAllocated > 8 and SamplesPerPixel > 1 (#713)
- Small improvement in RLE decoding speed (~10%)
- Added support for non-conformant RLE segment ordering (#729)

### Fixes

- Removed unused `original_string` attribute from the `DataElement` class (#660)
- Improve performance for Python 3 when dealing with compressed multi-frame Pixel Data with pillow and jpeg-ls (#682)
- Fixed handling of private tags in repeater range (#689)
- Fixed Pillow pixel data handler for non-JPEG2k transfer syntax (#663)
- Fixed handling of elements with ambiguous VR (#700, #728)
- Adapted pixel handlers where endianess is explicitly adapted (#704)
- Improve performance of bit unpacking (#715)
- First character set no longer removed (#707)
- Fixed RLE decoded data having the wrong byte order (#729)
- Fixed RLE decoded data having the wrong planar configuration (#729)
- Fixed numpy arrays returned by the pixel data handlers sometimes being read-only. Read-only arrays are still available for uncompressed transfer syntaxes via a keyword argument for the numpy pixel data handler and should help reduce memory consumption if required. (#717)
- Fixed deprecation warning in Python 3.7 (#740)