## Changes between 1.5.1 and 1.5.2

#### Backwards Compatibility

- Issue 86, fixed in 1.5.2, changes the priority in which parameters are applied to a connection. The documentation has always stated that source takes priority, but in fact the code was the other way round, with target taking priority. Now source does take priority.

#### Issues

- 84 - jsPlumb 1.5.1 Arrow Disappears on IE8 when connector is straight
- 85 - dragging target endpoints created by makeTarget not working
- 86 - Connection parameters override order

#### Miscellaneous

- An issue that caused the SVG renderer to paint overlays before the connector was ready when the types API was used was also fixed.

## Changes between 1.5.0 and 1.5.1

#### Issues

- 81 - Uncaught TypeError: Cannot read property 'uuid' of null
- 82 - Blank endpoint doesn't cleanup properly
- 83 - for connections made with makeTarget originalEvent is not set

## Changes between 1.4.1 and 1.5.0

Release 1.5.0 contains several bugfixes and one or two minor enhancements, but the biggest change since 1.4.1 is the way jsPlumb handles inheritance internally - it has switched from a 'module pattern' architecture to a prototypal-based setup. The module pattern is good for information hiding, but it makes objects bigger, and its far easier to leak memory with that sort of arrangement than it is with a prototypal inheritance scheme.

The build has been switched from the original Ant build to Grunt with release 1.5.0, and with this has come the ability to build versions of jsPlumb that omit functionality you do not need (see here).

1. Backwards Compatibility
2. New Functionality
3. Issues Fixed
4. Miscellaneous

### Backwards Compatibility

- `jsPlumb.addClass`, `jsPlumb.removeClass` and removed `jsPlumb.hasClass` removed. You don't need these. You can use the methods from the underlying library.
- `makeTargets` method removed from jsPlumb. You can pass an array or selector to `makeTarget`.
- `makeSources` method removed from jsPlumb. You can pass an array or selector to `makeSource`.
- `jsPlumb.detach` no longer supports passing in two elements as arguments. Use instead either

`jsPlumb.detach({source:someDiv, target:someOtherDiv});`

or

`jsPlumb.select({source:someDiv, target:someOtherDiv}).detach();`

- `jsPlumbConnectionDetached` event, which was deprecated, has been removed. Use `connectionDetached`.
- `jsPlumbConnection` event, which was deprecated, has been removed. Use `connection`.
- `Endpoint.isConnectedTo` method removed. it didnt work properly as it only checked for connections where the Endpoint was the source.
- Many places in jsPlumb that used to use library-specific selectors for elements now use pure DOM elements. It is best to re-select any elements you are getting from a jsPlumb object, even if you supplied them as a selector, as jsPlumb will have unwrapped your selector into a DOM element.

### New Functionality

- `jsPlumb.setSuspendDrawing` returns the value of `suspendDrawing` before the call was made.
- `Endpoint.setElement` works properly now.

### Issues Fixed

- 27 - investigate why a new connection is created after drag
- 37 - .addClass() not working - IE8
- 39 - problem about connectionDrag event
- 49 - Calling detachEveryConnection winds up calling repaintEverything once for each endpoint
- 51 - arrow overlay orientation at location 1 on flowchart connectors
- 54 - Memory Leak Issue
- 57 - DOMException while dragging endpoints
- 60 - flowchart connector start position wrong
- 63 - Flowchart midpoint=0 is ignored
- 65 - Uncaught exception in IE 8
- 69 - jsPlumb.detach(connection) is really slow with larger graphs
- 72 - Drag and drop connections fail to work correctly when using makeTarget
- 75 - changing continuous anchor is ignored
- 76 - jsPlumb doesn't work in XHTML documents

### Miscellaneous

Nothing to report.