<commit_before>Change Log
==========

Beta Releases
-------------

### b23 - 2013-12-02

* Breaking changes:
  * Changed the `CatmulRomSpline` and `HermiteSpline` constructors from taking an array of structures to a structure of arrays. For example, code that looked like:

           var controlPoints = [
               { point: new Cartesian3(1235398.0, -4810983.0, 4146266.0), time: 0.0},
               { point: new Cartesian3(1372574.0, -5345182.0, 4606657.0), time: 1.5},
               { point: new Cartesian3(-757983.0, -5542796.0, 4514323.0), time: 3.0},
               { point: new Cartesian3(-2821260.0, -5248423.0, 4021290.0), time: 4.5},
               { point: new Cartesian3(-2539788.0, -4724797.0, 3620093.0), time: 6.0}
           ];
           var spline = new HermiteSpline(controlPoints);

    should now look like:

           var spline = new HermiteSpline({
               times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ],
               points : [
                   new Cartesian3(1235398.0, -4810983.0, 4146266.0),
                   new Cartesian3(1372574.0, -5345182.0, 4606657.0),
                   new Cartesian3(-757983.0, -5542796.0, 4514323.0),
                   new Cartesian3(-2821260.0, -5248423.0, 4021290.0),
                   new Cartesian3(-2539788.0, -4724797.0, 3620093.0)
               ]
           });
  * `loadWithXhr` now takes an options object, and allows specifying HTTP method and data to send with the request.
* Added `Quaternion.log`, `Quaternion.exp`, `Quaternion.innerQuadrangle`, and `Quaternion.squad`.
* Added `LinearSpline` and `QuaternionSpline`.
* Added `perPositionHeight` option to `PolygonGeometry` and `PolygonOutlineGeometry`.
* Added `Math.nextPowerOfTwo`.
* Added `inverse` and `determinant` to `Matrix3`.
* Added `Ellipsoid.transformPositionFromScaledSpace`.

### b22 - 2013-11-01

* Breaking changes:
  * Reversed the rotation direction of `Matrix3.fromQuaternion` to be consistent with graphics conventions. Mirrored change in `Quaternion.fromRotationMatrix`.
  * The following prototype functions were removed:
    * From `Matrix2`, `Matrix3`, and `Matrix4`: `toArray`, `getColumn`, `setColumn`, `getRow`, `setRow`, `multiply`, `multiplyByVector`, `multiplyByScalar`, `negate`, and `transpose`.
    * From `Matrix4`: `getTranslation`, `getRotation`, `inverse`, `inverseTransformation`, `multiplyByTranslation`, `multiplyByUniformScale`, `multiplyByPoint`. For example, code that previously looked like `matrix.toArray();` should now look like `Matrix3.toArray(matrix);`.
  * Replaced `DynamicPolyline` `color`, `outlineColor`, and `outlineWidth` properties with a single `material` property.
  * Renamed `DynamicBillboard.nearFarScalar` to `DynamicBillboard.scaleByDistance`.
  * All data sources must now implement `DataSource.getName`, which returns a user-readable name for the data source.
  * CZML `document` objects are no longer added to the `DynamicObjectCollection` created by `CzmlDataSource`.  Use the `CzmlDataSource` interface to access the data instead.
  * `TimeInterval.equals`, and `TimeInterval.equalsEpsilon` now compare interval data as well.
  * All SVG files were deleted from `Widgets/Images` and replaced by a new `SvgPath` class.
  * The toolbar widgets (Home, SceneMode, BaseLayerPicker) and the fullscreen button now depend on `CesiumWidget.css` for global Cesium button styles.
  * The toolbar widgets expect their `container` to be the toolbar itself now, no need for separate containers for each widget on the bar.
  * `Property` implementations are now required to implement a prototype `equals` function.
  * `ConstantProperty` and `TimeIntervalCollectionProperty` no longer take a `clone` function and instead require objects to implement prototype `clone` and `equals` functions.<commit_msg>Update CHANGES.md<commit_after>Change Log
==========

Beta Releases
-------------

### b23 - 2013-12-02

* Breaking changes:
  * Changed the `CatmulRomSpline` and `HermiteSpline` constructors from taking an array of structures to a structure of arrays. For example, code that looked like:

           var controlPoints = [
               { point: new Cartesian3(1235398.0, -4810983.0, 4146266.0), time: 0.0},
               { point: new Cartesian3(1372574.0, -5345182.0, 4606657.0), time: 1.5},
               { point: new Cartesian3(-757983.0, -5542796.0, 4514323.0), time: 3.0},
               { point: new Cartesian3(-2821260.0, -5248423.0, 4021290.0), time: 4.5},
               { point: new Cartesian3(-2539788.0, -4724797.0, 3620093.0), time: 6.0}
           ];
           var spline = new HermiteSpline(controlPoints);

    should now look like:

           var spline = new HermiteSpline({
               times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ],
               points : [
                   new Cartesian3(1235398.0, -4810983.0, 4146266.0),
                   new Cartesian3(1372574.0, -5345182.0, 4606657.0),
                   new Cartesian3(-757983.0, -5542796.0, 4514323.0),
                   new Cartesian3(-2821260.0, -5248423.0, 4021290.0),
                   new Cartesian3(-2539788.0, -4724797.0, 3620093.0)
               ]
           });
  * `loadWithXhr` now takes an options object, and allows specifying HTTP method and data to send with the request.
* Added `Quaternion.log`, `Quaternion.exp`, `Quaternion.innerQuadrangle`, and `Quaternion.squad`.
* Added `LinearSpline` and `QuaternionSpline`.
* Added `perPositionHeight` option to `PolygonGeometry` and `PolygonOutlineGeometry`.
* Added `Math.nextPowerOfTwo`.
* Added `inverse` and `determinant` to `Matrix3`.
* Added `Ellipsoid.transformPositionFromScaledSpace`.
* Renamed `SceneTransition.onTransitionStart` to `SceneTransition.transitionStart`.
* Renamed `SceneTransition.onTransitionComplete` to `SceneTransition.transitionComplete`.
* Renamed `CesiumWidget.onRenderLoopError` to `CesiumWidget.renderLoopError`.
* Renamed `SceneModePickerViewModel.onTransitionStart` to `SceneModePickerViewModel.transitionStart`.
* Renamed `Viewer.onRenderLoopError` to `Viewer.renderLoopError`.
* Renamed `viewerDragDropMixin.onDropError` to `viewerDragDropMixin.dropError`.
* Renamed `viewerDynamicObjectMixin.onObjectTracked` to `viewerDynamicObjectMixin.objectTracked`.

### b22 - 2013-11-01

* Breaking changes:
  * Reversed the rotation direction of `Matrix3.fromQuaternion` to be consistent with graphics conventions. Mirrored change in `Quaternion.fromRotationMatrix`.
  * The following prototype functions were removed:
    * From `Matrix2`, `Matrix3`, and `Matrix4`: `toArray`, `getColumn`, `setColumn`, `getRow`, `setRow`, `multiply`, `multiplyByVector`, `multiplyByScalar`, `negate`, and `transpose`.
    * From `Matrix4`: `getTranslation`, `getRotation`, `inverse`, `inverseTransformation`, `multiplyByTranslation`, `multiplyByUniformScale`, `multiplyByPoint`. For example, code that previously looked like `matrix.toArray();` should now look like `Matrix3.toArray(matrix);`.
  * Replaced `DynamicPolyline` `color`, `outlineColor`, and `outlineWidth` properties with a single `material` property.
  * Renamed `DynamicBillboard.nearFarScalar` to `DynamicBillboard.scaleByDistance`.
  * All data sources must now implement `DataSource.getName`, which returns a user-readable name for the data source.
  * CZML `document` objects are no longer added to the `DynamicObjectCollection` created by `CzmlDataSource`.  Use the `CzmlDataSource` interface to access the data instead.
  * `TimeInterval.equals`, and `TimeInterval.equalsEpsilon` now compare interval data as well.
  * All SVG files were deleted from `Widgets/Images` and replaced by a new `SvgPath` class.
  * The toolbar widgets (Home, SceneMode, BaseLayerPicker) and the fullscreen button now depend on `CesiumWidget.css` for global Cesium button styles.
  * The toolbar widgets expect their `container` to be the toolbar itself now, no need for separate containers for each widget on the bar.
  * `Property` implementations are now required to implement a prototype `equals` function.
  * `ConstantProperty` and `TimeIntervalCollectionProperty` no longer take a `clone` function and instead require objects to implement prototype `clone` and `equals` functions.
{'fraction_non_alphanumeric': 0.11381418092909536, 'fraction_numerical': 0.07212713936430318, 'mean_word_length': 3.6615384615384614, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6452855', 'n_tokens_mistral': 2805, 'n_tokens_neox': 2410, 'n_words': 760}