diff --git a/CHANGELOG.md b/CHANGELOG.md
index 04450a1..4d6126c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,20 @@
+
+## 0.9.3 (2016-04-19)
+
+
+* added readonly to docs for type property, closes #235 ([afd7531](https://github.com/liabru/matter-js/commit/afd7531)), closes [#235](https://github.com/liabru/matter-js/issues/235)
+* Engine uses provided world; fixes issue #230 ([158c404](https://github.com/liabru/matter-js/commit/158c404)), closes [#230](https://github.com/liabru/matter-js/issues/230)
+* fix issue with removed bodies causing collisions ([23a773a](https://github.com/liabru/matter-js/commit/23a773a))
+* fix Matter.Engine.create docs to show element param is optional ([e2e7c0b](https://github.com/liabru/matter-js/commit/e2e7c0b))
+* handle missing options in Engine.create ([f36fe2c](https://github.com/liabru/matter-js/commit/f36fe2c))
+* improved release tasks ([e13d2d2](https://github.com/liabru/matter-js/commit/e13d2d2))
+* Merge branch 'master' of github.com:liabru/matter-js ([d373172](https://github.com/liabru/matter-js/commit/d373172))
+* Merge pull request #237 from iamjoshua/master ([b724959](https://github.com/liabru/matter-js/commit/b724959)), closes [#230](https://github.com/liabru/matter-js/issues/230)
+* set release task to default to patch ([9d396fe](https://github.com/liabru/matter-js/commit/9d396fe))
+* updated edge build ([7eb9ac7](https://github.com/liabru/matter-js/commit/7eb9ac7))
+
+
+
## 0.9.2 (2016-04-07)
diff --git a/bower.json b/bower.json
index a8f43e1..48a348f 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "Matter",
- "version": "0.9.2",
+ "version": "0.9.3",
"homepage": "https://github.com/liabru/matter-js",
"authors": [
"Liam Brummitt (http://brm.io/)"
diff --git a/build/matter.js b/build/matter.js
index d84d7d7..ef7545a 100644
--- a/build/matter.js
+++ b/build/matter.js
@@ -1,5 +1,5 @@
/**
-* matter-js master by @liabru 2016-04-09
+* matter-js 0.9.3 by @liabru 2016-04-19
* http://brm.io/matter-js/
* License MIT
*/
@@ -704,6 +704,7 @@ var Axes = require('../geometry/Axes');
* @property type
* @type string
* @default "body"
+ * @readOnly
*/
/**
@@ -1755,6 +1756,7 @@ var Body = require('./Body');
* @property type
* @type string
* @default "composite"
+ * @readOnly
*/
/**
@@ -3711,6 +3713,7 @@ var Common = require('../core/Common');
* @property type
* @type string
* @default "constraint"
+ * @readOnly
*/
/**
@@ -4029,6 +4032,7 @@ var Bounds = require('../geometry/Bounds');
* @property type
* @type string
* @default "constraint"
+ * @readOnly
*/
/**
@@ -4425,15 +4429,16 @@ var Body = require('../body/Body');
* All properties have default values, and many are pre-calculated automatically based on other properties.
* See the properties section below for detailed information on what you can pass via the `options` object.
* @method create
- * @param {HTMLElement} element
+ * @param {HTMLElement} [element]
* @param {object} [options]
* @return {engine} engine
*/
Engine.create = function(element, options) {
-
// options may be passed as the first (and only) argument
options = Common.isElement(element) ? options : element;
element = Common.isElement(element) ? element : null;
+
+ options = options || {};
var defaults = {
positionIterations: 6,
@@ -4465,7 +4470,7 @@ var Body = require('../body/Body');
engine.render = engine.render.controller.create(engine.render);
}
- engine.world = World.create(engine.world);
+ engine.world = options.world || World.create(engine.world);
engine.pairs = Pairs.create();
engine.broadphase = engine.broadphase.controller.create(engine.broadphase);
engine.metrics = engine.metrics || { extended: false };
diff --git a/build/matter.min.js b/build/matter.min.js
index 0ec7793..3b03a57 100644
--- a/build/matter.min.js
+++ b/build/matter.min.js
@@ -1,5 +1,5 @@
/**
-* matter-js master by @liabru 2016-04-09
+* matter-js 0.9.3 by @liabru 2016-04-19
* http://brm.io/matter-js/
* License MIT
*/
@@ -35,7 +35,7 @@ i.position.x-=y.x,i.position.y-=y.y,i.angle+=P),s&&!s.isStatic&&(P=r.cross(h,M)*
n.pointA=o.position,n.bodyB=e.body=s,n.pointB={x:o.position.x-s.position.x,y:o.position.y-s.position.y},n.angleB=s.angle,r.set(s,!1),a.trigger(e,"startdrag",{mouse:o,body:s});break}}}else n.bodyB=e.body=null,n.pointB=null,s&&a.trigger(e,"enddrag",{mouse:o,body:s})};var e=function(e){var t=e.mouse,o=t.sourceEvents;o.mousemove&&a.trigger(e,"mousemove",{mouse:t}),o.mousedown&&a.trigger(e,"mousedown",{mouse:t}),o.mouseup&&a.trigger(e,"mouseup",{mouse:t}),s.clearSourceEvents(t)}}()},{"../body/Composite":2,"../collision/Detector":5,"../core/Common":14,"../core/Events":16,"../core/Mouse":18,"../core/Sleeping":20,"../geometry/Bounds":24,"../geometry/Vertices":27,"./Constraint":12}],14:[function(e,t,o){var n={};t.exports=n,function(){n._nextId=0,n._seed=0,n.extend=function(e,t){var o,i,r;"boolean"==typeof t?(o=2,r=t):(o=1,r=!0),i=Array.prototype.slice.call(arguments,o);for(var s=0;s>16)+n,r=(o>>8&255)+n,s=(255&o)+n;return"#"+(16777216+65536*(255>i?1>i?0:i:255)+256*(255>r?1>r?0:r:255)+(255>s?1>s?0:s:255)).toString(16).slice(1)},n.shuffle=function(e){for(var t=e.length-1;t>0;t--){var o=Math.floor(n.random()*(t+1)),i=e[t];e[t]=e[o],e[o]=i}return e},n.choose=function(e){return e[Math.floor(n.random()*e.length)]},n.isElement=function(e){try{return e instanceof HTMLElement}catch(t){return"object"==typeof e&&1===e.nodeType&&"object"==typeof e.style&&"object"==typeof e.ownerDocument}},n.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e);
},n.clamp=function(e,t,o){return t>e?t:e>o?o:e},n.sign=function(e){return 0>e?-1:1},n.now=function(){var e=window.performance||{};return e.now=function(){return e.now||e.webkitNow||e.msNow||e.oNow||e.mozNow||function(){return+new Date}}(),e.now()},n.random=function(t,o){return t="undefined"!=typeof t?t:0,o="undefined"!=typeof o?o:1,t+e()*(o-t)},n.colorToNumber=function(e){return e=e.replace("#",""),3==e.length&&(e=e.charAt(0)+e.charAt(0)+e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)),parseInt(e,16)},n.log=function(e,t){if(console&&console.log&&console.warn)switch(t){case"warn":console.warn("Matter.js:",e);break;case"error":console.log("Matter.js:",e)}},n.nextId=function(){return n._nextId++},n.indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var o=0;o0&&d.trigger(n,"collisionStart",{pairs:S.collisionStart}),s.preSolvePosition(S.list),c=0;c0&&d.trigger(n,"collisionActive",{pairs:S.collisionActive}),S.collisionEnd.length>0&&d.trigger(n,"collisionEnd",{pairs:S.collisionEnd}),e(x),d.trigger(n,"afterUpdate",g),n},n.merge=function(e,t){if(v.extend(e,t),t.world){e.world=t.world,n.clear(e);for(var o=u.allBodies(e.world),i=0;i (http://brm.io/)",