# Changelog

## 0.2.3a

### Improvments
- diff/patching
- added a 'children' hook. Get triggered when children are attached to DOM
- added option so attributes and properties are recieved as arguments in the 'children' hook.
- mimized memory usage during calculations
- cleaning up the code

### Bug fixes
- fixed a minor issue with events
- fixed so parent node get set correctly

## 0.1.9

### Improvments
- diff/patching

### Bug fixes
- fixed minor issues with server-side rendring
- fixed a overhead issue with diffing / patching
- solved issues with events management

## 0.1.8

THE END!

## 0.1.7

### Improvments
- memory optimizing
- code optimizing
- better performance all over
- stabelize the core
- better performance for handheld devices

## 0.1.6

### Improvments
- server-side rendring re-factoring
- mount / unmount and update a virtual tree
- added hooks for setting / patching attributes
- optimized the code
- made the code more ES6 friendly
- event management re-factoring

### Bug fixes
- fixed minor issues with server rendring
- solved issue where checkbox input handler get empty sting instead of true. Issue #[54](https://github.com/trackira/trackira/issues/54)

## 0.1.5c

### Bug fixes
- multiselect didn't get selected correctly in webkit browsers

## 0.1.5b

### Improvments
- performance
- stability
- stability and performance on handhold devices
- event handling
- re-factored how attributes and properties works
### Bug fixes
- fixed IE related issues
- prevented double patching for option properties

## 0.1.4c

### Improvments
- improved readme
- improved hyperscript
- re-factored how attributes and properties works for faster rendring
- added two new functions for Trackira.Tree - children() and mountPoint()

## 0.1.4a

### Improvments
- improved readme
- re-factored some of the specs
- added a hyperscript function

### Bug fixes
- fixed issues on client-side
- fixed failing 'specs' on client-side
- fixed an rendring issue

## 0.1.4

### Improvments
- improved diffing performance on critical points.
- simplified the code
- improved server-side rendring
- smaller size
- less memory usage on hight CPU load

### Bug fixes
- fixed a bug on server rendring side when invalid markup could fuck up the whole thing

## 0.1.3a

### Improvments
- re-factored diffing method
- removed deprecated code

## 0.1.2

### Improvments
- improved performance
- avoid using internal each() in critical parts of the code
- re-factoring detaching nodes
- simplified

### Bug fixes
- fixed several bugs

## 0.1.1

### Bug fixes
- fixed issue with boolean attributes where false value was acting as an true value on disable

### Improvments
- added support for rendring video/audio properties server-side
- fixed namespace detection for removing NS attributes
- improved patching/diffing performance
- improved rendring - 26% better performance
- improved mounting - 20% better performance

## 0.1.0

### Breaking changes
- removed dataset support

### Improvments
- performance
- refactored event management
- general cleanup
- attach() now handle comments

### Bug fixes
- fixed critical issue where focus was lost but not found
- fixed issue with attach() where 'null' wasn't ignored
- fixed issue with mounting and CSS selector not found
- fixed issue with patching / diffing children
- fixed performance issue with patching on large arrays

## 0.0.19

### Breaking changes
- `htmlify()` changed to `.toHTML()`
- `uniqueID` renamed to `guid` and added support for weak map
- `Trackira()` are no longer a hyperscript function, but a pure object

### Improvments
- performance
- refactored `.toHTML()`
- refactored rendring / patching CSS styles
- separated event manager from Element
- refactored test specs

### Features
- added option for `.toHTML()` className properties
- added option for stringify style property values
- allow to create a empty div - `new Trackira.Element();`


### Bug fixes
- fixed issue where properties touch DOM more then once
- fixed pivot issue in patching sequence when two keys are identical
- fixed issue where className properties didn't stringify

## 0.0.17

### Improvments
- performance
- better attribute / properties treatment
- touch DOM less
- bug fixes

## 0.0.16

### Improvments
- EventHandler renamed to EventManager (internally)
- Refactored how attributes and properties works
- camelCazing properties where they differ from attribute names
- simplified `Trackira.patch` API method
- improved performance with 3 - 5 %
- reduced code size to a minimum of what is possible
- `.htmlify()` re-factoring
- improved custom element support

### Features
- hooks for attributes and properties
- added `Trackira.updateChildren()` API method for updating the children of a virtual node

### Bug fixes
- fixed eventdelegation issue where .parentNode was not found
- fixed a serious bug caused by Deam
- fixed a bug where children got stuck

## 0.0.15


### Improvments
- readme changed to reflect the new API changes
- better event handling
- minor bug fixes

### Features

  - events are set automaticly if you use Trackira()
  - unit tests now running client-side and server-side
