Breaking Changes

Describes breaking changes between releases

# 0.9.14 - June release

## Installation - Java now needs to be installed manually

Due to the new Apple Notarization process, we had to remove the Java SDK from the install image, and it has now be installed manually. In a later release, we will add back automated Java installation.

## Page has new default layout type

The default layout type of the page is **now AutoLayout**. It used to be Grid Layout.

## API New and Removed

* Added **SCDLayoutAutoLayout** and **SCDLayoutAutoLayoutData**
* Removed **SCDLayoutXYLayout**. Was replaced with **SCDLayoutAutoLayout**

## API Changes

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Before
      </th>
      <th>
        Now
      </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        **Font Style** let style = SCDWidgetsFontStyle() let textstyle = widget.getStyle(style.eClass()) as! SCDWidgetsFontStyle textstyle.color = SCDGraphicsRGB(red: 255, green: 0, blue: 0)
      </td>
      <td>
        widget.font!.color = SCDGraphicsRGB(red: 255, green: 0, blue: 0)
      </td>
    </tr>
    <tr>
      <td>
        **Text Style**\
        let style = SCDWidgetsTextStyle()\
        let textstyle = widget.getStyle(style.eClass()) as! SCDWidgetsTextStyle\
        textstyle.horizontalAlignment = SCDLayoutHorizontalAlignment.center\
        textstyle.baselineAlignment = SCDWidgetsBaselineAlignment.alphabetic
      </td>
      <td>
        widget.horizontalAlignment = .center\
        widget.baselineAlignment = .alphabetic
      </td>
    </tr>
    <tr>
      <td>
        **Background Color**\
        if let backgroundStyle = widget.getStyle(SCDWidgetsBackgroundStyle.eClass) as? SCDWidgetsBackgroundStyle {\
        backgroundStyle.type = .color\
        backgroundStyle.color = color\
        }
      </td>
      <td>
        widget.backgroundColor = color
      </td>
    </tr>
    <tr>
      <td>
        **Bitmap control renamed to Image**\
        SCDWidgetsBitmap
      </td>
      <td>
        SCDWidgetsImage
      </td>
    </tr>
    <tr>
      <td>
        **Ugly constructor fixed**\
        SCDWidgetsCheckbox.create()\
        <control>.create()
      </td>
      <td>
        SCDWidgetsCheckbox()
      </td>
    </tr>
    <tr>
      <td>
      </td>
      <td>
      </td>
    </tr>
  </tbody>
</Table>

## Page model changes

The **page model** has changed a little bit with 0.9.14. Please modify your pages following these steps:
* Remove all **styles** tags

* Rename **Bitmap** to **Image**
* Rename **drawableChilds** to **children**

This video demonstrates the necessary changes

<HTMLBlock>{`
 <video width="100%" height="100%" controls>
  <source src="https://d18afic5r4m8dk.cloudfront.net/breakingChanges_0914.mp4" type="video/mp4">
  Your browser does not support the video tag.
</video>
`}</HTMLBlock>

# 0.9.9.0

## Start.swift File changes

We took the liberty to make the **start.swift class** file more elegant and remove some boilerplate code. Now, the code is even clearer. The old syntax is on the left, the new on the right:

* we added the **onFinishLaunching()** method. Override this method to add that should be executed after the app has loaded its internal library and is ready to execute app code.

<HTMLBlock>{`
<img src="https://d5rrulwm8ujxz.cloudfront.net/UGBreakingChanges_startSwiftChanges.png" width="100%" height="100%">
`}</HTMLBlock>