# Breaking Changes

## ImagePlane

The following deprecated constructors have been removed:

    ImageTilePtr( float* ptr, int stride );
    ImageTileReadOnlyPtr( const float* ptr, int stride );

These should be replaced with the alternative constructors that allow bounds checking:

    ImageTilePtr(float* ptr, float* startptr, float* endptr, int stride);
    ImageTileReadOnlyPtr( const float* ptr, const float* startptr, const float* endptr, int stride );

## Knob

The deprecated call to make_widget() without a WidgetContext has now been removed. The version that takes a WidgetContext should be used instead:

    virtual WidgetPointer make_widget(const WidgetContext& context);

## LUT

The deprecated `builtin` functions have been removed:

    static LUT* builtin(BuiltinLUTId n);
    static LUT* builtin(const char* name);

Readers and Writers should use `builtin( type, Reader* )` or `builtin( type, Writer* )` instead to allow OCIO support. All other code should use `GetBuiltinLUT` or `GetBuiltinLutByName` instead.

Deprecated functions to get and set LUTs have also been removed:

    static LUT* getLut(DataType);
    static void setLut(DataType, LUT*);

To get LUTs, Readers and Writers should use `GetLut( DataType, Reader* )` or `GetLut( DataType, Writer* )` to allow OCIO support. All other code should use GetDefaultLutForType() instead.

To set LUTs, use `SetLut(DataType, LUT*)`.

## LightContext

LightContext has been made non-copyable and non-assignable.

## MultiTile

MultiTile.h has been removed from DDImage and replaced by MultiTileIop.h. See New Features for details.

## Op

The `root_fps()` function has been removed. You should now use:

    extern DDImage_API float (* root_real_fps)();

## OutputContext

The `frame(double v)` function has been removed. Use:

    void setFrame(double v) { frame_ = v; }