<a name="0.8.2"></a>
## 0.8.2 (2017-07-03)


* add anchors to examples ([bb623e3](https://github.com/kylefox/jquery-modal/commit/bb623e3))
* Added syntax modes to code samples (closes #47) ([97c043a](https://github.com/kylefox/jquery-modal/commit/97c043a)), closes [#47](https://github.com/kylefox/jquery-modal/issues/47)
* alias elm as $elm (fixes #205) ([c074130](https://github.com/kylefox/jquery-modal/commit/c074130)), closes [#205](https://github.com/kylefox/jquery-modal/issues/205)
* Bind to links with multiple `rel` values ([c6fc99c](https://github.com/kylefox/jquery-modal/commit/c6fc99c)), closes [#135](https://github.com/kylefox/jquery-modal/issues/135)
* Bump to 0.8.1 ([35b84c4](https://github.com/kylefox/jquery-modal/commit/35b84c4))
* Bump to 0.8.2 ([196c43d](https://github.com/kylefox/jquery-modal/commit/196c43d))
* Changelog 0.8.1 ([7a10b52](https://github.com/kylefox/jquery-modal/commit/7a10b52))
* fix merge conflict after 0.8.1 release ([5b83154](https://github.com/kylefox/jquery-modal/commit/5b83154))
* Merge branch 'master' of github.com:kylefox/jquery-modal ([beb02fa](https://github.com/kylefox/jquery-modal/commit/beb02fa))
* Merge branch 'sbussetti-master' ([2428d64](https://github.com/kylefox/jquery-modal/commit/2428d64))
* Update compositor.json ([511dd72](https://github.com/kylefox/jquery-modal/commit/511dd72))
* Update compositor.json ([6f9ebcb](https://github.com/kylefox/jquery-modal/commit/6f9ebcb))
* Update README.md ([334b18a](https://github.com/kylefox/jquery-modal/commit/334b18a))



<a name="0.8.1"></a>
## 0.8.1 (2017-07-03)


* add anchors to examples ([bb623e3](https://github.com/kylefox/jquery-modal/commit/bb623e3))
* Added syntax modes to code samples (closes #47) ([97c043a](https://github.com/kylefox/jquery-modal/commit/97c043a)), closes [#47](https://github.com/kylefox/jquery-modal/issues/47)
* alias elm as $elm (fixes #205) ([c074130](https://github.com/kylefox/jquery-modal/commit/c074130)), closes [#205](https://github.com/kylefox/jquery-modal/issues/205)
* Bind to links with multiple `rel` values ([c6fc99c](https://github.com/kylefox/jquery-modal/commit/c6fc99c)), closes [#135](https://github.com/kylefox/jquery-modal/issues/135)
* Bump to 0.8.1 ([35b84c4](https://github.com/kylefox/jquery-modal/commit/35b84c4))
* Merge branch 'master' of github.com:kylefox/jquery-modal ([beb02fa](https://github.com/kylefox/jquery-modal/commit/beb02fa))
* Update compositor.json ([511dd72](https://github.com/kylefox/jquery-modal/commit/511dd72))
* Update compositor.json ([6f9ebcb](https://github.com/kylefox/jquery-modal/commit/6f9ebcb))
* Update README.md ([334b18a](https://github.com/kylefox/jquery-modal/commit/334b18a))



<a name="0.8.0"></a>
# 0.8.0 (2016-09-11)


* Bump to 0.8.0 ([1bc2a6b](https://github.com/kylefox/jquery-modal/commit/1bc2a6b))
* document $.modal.getCurrent() ([1310ef1](https://github.com/kylefox/jquery-modal/commit/1310ef1))
* Make modal more responsive-friendly ([b721dda](https://github.com/kylefox/jquery-modal/commit/b721dda))



<a name="0.7.3"></a>
## 0.7.3 (2016-09-11)


* Add $.modal.getCurrent() to retrieve current instance (if any) ([aee8564](https://github.com/kylefox/jquery-modal/commit/aee8564)), closes [#178](https://github.com/kylefox/jquery-modal/issues/178)



<a name="0.7.2"></a>
## 0.7.2 (2016-09-11)


* Bump to 0.7.2 ([51575f3](https://github.com/kylefox/jquery-modal/commit/51575f3))
* contributing notes (resolves #164) ([b07d3ba](https://github.com/kylefox/jquery-modal/commit/b07d3ba)), closes [#164](https://github.com/kylefox/jquery-modal/issues/164)
* log AFTER_CLOSE event in examples ([019f03e](https://github.com/kylefox/jquery-modal/commit/019f03e))
* Merge pull request #177 from shane-tomlinson/jquery-3.1 ([b49206b](https://github.com/kylefox/jquery-modal/commit/b49206b))
* Support for jQuery 3.x ([0576775](https://github.com/kylefox/jquery-modal/commit/0576775))
* Update README.md ([9448759](https://github.com/kylefox/jquery-modal/commit/9448759))
* Update README.md ([9e5491b](https://github.com/kylefox/jquery-modal/commit/9e5491b))
* Update README.md ([e345ddb](https://github.com/kylefox/jquery-modal/commit/e345ddb))
* Update README.md ([6e50636](https://github.com/kylefox/jquery-modal/commit/6e50636))
* Update to jQuery 3.1.0 in examples ([181b31f](https://github.com/kylefox/jquery-modal/commit/181b31f))



<a name="0.7.1"></a>
## 0.7.1 (2016-08-18)


* add minified css ([4f43415](https://github.com/kylefox/jquery-modal/commit/4f43415))
* add snippet to be able to load jquery as a module ([a3f1508](https://github.com/kylefox/jquery-modal/commit/a3f1508))
* add the minified javascript source ([27c88ac](https://github.com/kylefox/jquery-modal/commit/27c88ac))
* Explain events. ([99034ae](https://github.com/kylefox/jquery-modal/commit/99034ae))
* Merge pull request #154 from YuriBrunetto/min-css ([8a45590](https://github.com/kylefox/jquery-modal/commit/8a45590))
* Merge pull request #166 from Cryde/master ([85267db](https://github.com/kylefox/jquery-modal/commit/85267db))



<a name="0.7.0"></a>
# 0.7.0 (2016-03-17)


### NEW

* Added a demo for closeExisting ([b311bb5](https://github.com/kylefox/jquery-modal/commit/b311bb5))
* CSS tweak: removed opacity on .behind > .modal ([35db0c4](https://github.com/kylefox/jquery-modal/commit/35db0c4))
* Updated README.md ([c87c3e4](https://github.com/kylefox/jquery-modal/commit/c87c3e4))
* NEW: closeExisting property ([c6c767e](https://github.com/kylefox/jquery-modal/commit/c6c767e))

* Update index.html ([f5dbf0e](https://github.com/kylefox/jquery-modal/commit/f5dbf0e))
* important lynx ([c7af630](https://github.com/kylefox/jquery-modal/commit/c7af630))
* Update README.md ([a57aee4](https://github.com/kylefox/jquery-modal/commit/a57aee4))


<a name="0.6.1"></a>
## 0.6.1 (2016-01-20)


### Fix

* Fix: modals with fade not displaying again after initial open/close (Closes #138) ([7dbe45f](https://github.com/kylefox/jquery-modal/commit/7dbe45f)), closes [#138](https://github.com/kylefox/jquery-modal/issues/138)



<a name="0.6.0"></a>
# 0.6.0 (2015-11-17)


### Feature

* Feature: CHANGELOG.md auto-updating ([10920d7](https://github.com/kylefox/jquery-modal/commit/10920d7))

### Refactor

* Refactor: wrap .modal in .blocker (fix #69) ([38e4a99](https://github.com/kylefox/jquery-modal/commit/38e4a99)), closes [#69](https://github.com/kylefox/jquery-modal/issues/69)

* Add CHANGELOG.md generated with conventional-changelog ([2529249](https://github.com/kylefox/jquery-modal/commit/2529249))
* Examples update ([d04a375](https://github.com/kylefox/jquery-modal/commit/d04a375))
* Remove deprecated version field from bower.json ([c280742](https://github.com/kylefox/jquery-modal/commit/c280742))
* Removed resize() remnant ([dc42d4e](https://github.com/kylefox/jquery-modal/commit/dc42d4e))
* Styling moved to CSS + center/resize() removed ([0ac5f7b](https://github.com/kylefox/jquery-modal/commit/0ac5f7b))



<a name="0.5.11"></a>
## 0.5.11 (2015-11-15)


* added style to package.json ([bdb577f](https://github.com/kylefox/jquery-modal/commit/bdb577f))
* Bump to 0.5.11 ([abd5556](https://github.com/kylefox/jquery-modal/commit/abd5556))
* Merge pull request #128 from mciparelli/add-style-to-package-json ([ec984b3](https://github.com/kylefox/jquery-modal/commit/ec984b3))
* Merge pull request #132 from muzll0dr/master ([82187e1](https://github.com/kylefox/jquery-modal/commit/82187e1))
* Replacing images with base64 encoded counterparts. ([dab8d0d](https://github.com/kylefox/jquery-modal/commit/dab8d0d))



<a name="0.5.10"></a>
## 0.5.10 (2015-10-23)


### Bugfix

* Bugfix: modal always fading ([b357293](https://github.com/kylefox/jquery-modal/commit/b357293))

* Bump to 0.5.10 ([893b6bf](https://github.com/kylefox/jquery-modal/commit/893b6bf))
* comma ([55cf9e1](https://github.com/kylefox/jquery-modal/commit/55cf9e1))
* Merge pull request #126 from xfra35/issue126 ([9fdbbde](https://github.com/kylefox/jquery-modal/commit/9fdbbde))



<a name="0.5.9"></a>
## 0.5.9 (2015-10-09)


* Add AFTER_CLOSE event (fixes #122) ([fc55c9e](https://github.com/kylefox/jquery-modal/commit/fc55c9e)), closes [#122](https://github.com/kylefox/jquery-modal/issues/122)
* Bump to 0.5.9 ([b99ee76](https://github.com/kylefox/jquery-modal/commit/b99ee76))
* gulp stuffs ([2a1f3bc](https://github.com/kylefox/jquery-modal/commit/2a1f3bc))
* Merge pull request #123 from paaatrick/master ([8192e84](https://github.com/kylefox/jquery-modal/commit/8192e84)), closes [#122](https://github.com/kylefox/jquery-modal/issues/122)



<a name="0.5.8"></a>
## 0.5.8 (2015-08-25)


* Add npm & Bower to README.md ([e35dd82](https://github.com/kylefox/jquery-modal/commit/e35dd82))
* Added main field to package.json ([14f1d75](https://github.com/kylefox/jquery-modal/commit/14f1d75))
* Bump to 0.5.8 ([f28d2cd](https://github.com/kylefox/jquery-modal/commit/f28d2cd))
* Merge pull request #117 from sebastiandedeyne/master ([2db7d68](https://github.com/kylefox/jquery-modal/commit/2db7d68))
* Type ([cc6107b](https://github.com/kylefox/jquery-modal/commit/cc6107b))



<a name="0.5.7"></a>
## 0.5.7 (2015-08-17)


* Add package.json ([d796397](https://github.com/kylefox/jquery-modal/commit/d796397))
* Bump to v.0.5.7 ([3040475](https://github.com/kylefox/jquery-modal/commit/3040475))
* comma comma comma comma comma chameleon ([4dd7519](https://github.com/kylefox/jquery-modal/commit/4dd7519))
* gtfo npm-debug.log ([705548b](https://github.com/kylefox/jquery-modal/commit/705548b))
* Merge pull request #107 from Useclark/node ([d4b8f9a](https://github.com/kylefox/jquery-modal/commit/d4b8f9a))
* More info to package.json ([f167be9](https://github.com/kylefox/jquery-modal/commit/f167be9))
* Update .gitignore ([8eabc58](https://github.com/kylefox/jquery-modal/commit/8eabc58))
* Version bump to 0.5.6 ([8e088df](https://github.com/kylefox/jquery-modal/commit/8e088df))



<a name="0.5.5"></a>
## 0.5.5 (2015-04-03)


* `var statement to prevent `that` from leaking into the global scope ([b7865f5](https://github.com/kylefox/jquery-modal/commit/b7865f5))
* Added a $.modal.isActive function to detect if a modal is currently open ([2997f7a](https://github.com/kylefox/jquery-modal/commit/2997f7a))
* Added bower.json (fix #68) ([95bfae2](https://github.com/kylefox/jquery-modal/commit/95bfae2)), closes [#68](https://github.com/kylefox/jquery-modal/issues/68)
* Added fadeDelay option ([2781b47](https://github.com/kylefox/jquery-modal/commit/2781b47))
* Added option to add css class(es) to close link ([33c0c20](https://github.com/kylefox/jquery-modal/commit/33c0c20))
* Best README update. ([36e6c4a](https://github.com/kylefox/jquery-modal/commit/36e6c4a))
* Bump to 0.5.4 — added fade transitions ([5d894b4](https://github.com/kylefox/jquery-modal/commit/5d894b4))
* Bumped version in bower.json ([4496fac](https://github.com/kylefox/jquery-modal/commit/4496fac))
* Correct code on readme ([ea66eb9](https://github.com/kylefox/jquery-modal/commit/ea66eb9))
* correct duration ([1b8311b](https://github.com/kylefox/jquery-modal/commit/1b8311b))
* Docs for $.modal.isActive() ([e7a43d9](https://github.com/kylefox/jquery-modal/commit/e7a43d9))
* examples bump to query 1.8 ([93140bd](https://github.com/kylefox/jquery-modal/commit/93140bd))
* experimenting with fade in/out. Not super clean, but works... ([15a00ca](https://github.com/kylefox/jquery-modal/commit/15a00ca))
* Fix blocker z-index issue ([e9f8035](https://github.com/kylefox/jquery-modal/commit/e9f8035))
* Fix jQuery Bower dependency to be less strict. ([3b97a42](https://github.com/kylefox/jquery-modal/commit/3b97a42))
* fix typo README.md ([1ead135](https://github.com/kylefox/jquery-modal/commit/1ead135))
* Link to jquery-modal-rails plugin ([e66cd21](https://github.com/kylefox/jquery-modal/commit/e66cd21))
* make the demo just a bit prettier. ([2f7292b](https://github.com/kylefox/jquery-modal/commit/2f7292b))
* Merge branch 'zjr-master' ([cf24354](https://github.com/kylefox/jquery-modal/commit/cf24354))
* Merge pull request #102 from kyaido/fix-typo ([0d06160](https://github.com/kylefox/jquery-modal/commit/0d06160))
* Merge pull request #31 from christiannaths/master ([ac052dd](https://github.com/kylefox/jquery-modal/commit/ac052dd))
* Merge pull request #37 from bensmithett/master ([3aba9bf](https://github.com/kylefox/jquery-modal/commit/3aba9bf))
* Merge pull request #54 from chrisjlee/patch-1 ([7df6e01](https://github.com/kylefox/jquery-modal/commit/7df6e01))
* Merge pull request #60 from xyanide/patch-1 ([c0de654](https://github.com/kylefox/jquery-modal/commit/c0de654))
* Merge pull request #72 from DubFriend/master ([c0141bb](https://github.com/kylefox/jquery-modal/commit/c0141bb))
* Merge pull request #84 from okuyan/modal_in_parent_with_zindex ([125da70](https://github.com/kylefox/jquery-modal/commit/125da70))
* Merge pull request #94 from CodeYellowBV/master ([c2a972f](https://github.com/kylefox/jquery-modal/commit/c2a972f))
* minification note ([8dfef26](https://github.com/kylefox/jquery-modal/commit/8dfef26))
* minify with closure compiler ([b7c16e6](https://github.com/kylefox/jquery-modal/commit/b7c16e6))
* Namespace automatically attached click event listeners ([08cfc99](https://github.com/kylefox/jquery-modal/commit/08cfc99))
* Update README ([a2abe80](https://github.com/kylefox/jquery-modal/commit/a2abe80))
* Update README to reflect transitions. ([bb8f6f2](https://github.com/kylefox/jquery-modal/commit/bb8f6f2))
* Update README.md ([d7aa798](https://github.com/kylefox/jquery-modal/commit/d7aa798))
* Update README.md ([5e9bdc3](https://github.com/kylefox/jquery-modal/commit/5e9bdc3))
* Update README.md ([28d746d](https://github.com/kylefox/jquery-modal/commit/28d746d))
* Update README.md ([a8f4b88](https://github.com/kylefox/jquery-modal/commit/a8f4b88))
* Update README.md ([ff0156f](https://github.com/kylefox/jquery-modal/commit/ff0156f))
* Update README.md ([8e237fe](https://github.com/kylefox/jquery-modal/commit/8e237fe))
* Update README.md ([9ee96e0](https://github.com/kylefox/jquery-modal/commit/9ee96e0))
* Update README.md ([8589421](https://github.com/kylefox/jquery-modal/commit/8589421))
* Update README.md ([9b178b4](https://github.com/kylefox/jquery-modal/commit/9b178b4))
* Update README.md ([35afe59](https://github.com/kylefox/jquery-modal/commit/35afe59))
* Version bump (minor bug fix) ([bb5da2d](https://github.com/kylefox/jquery-modal/commit/bb5da2d))
* Version bump (minor bug fix) ([de39bf9](https://github.com/kylefox/jquery-modal/commit/de39bf9))
* Would close #39 if necessary ([04e8fad](https://github.com/kylefox/jquery-modal/commit/04e8fad)), closes [#39](https://github.com/kylefox/jquery-modal/issues/39)
* wrapped this.remove with .remove ([787f8cc](https://github.com/kylefox/jquery-modal/commit/787f8cc))



<a name="0.5.2"></a>
## 0.5.2 (2013-01-26)


* Add a new event when I receive data via AJAX to become informed when the dialog is up and running ([2ca8ae5](https://github.com/kylefox/jquery-modal/commit/2ca8ae5))
* Added AJAX_BEFORE_SEND and AJAX_SUCCESS events. ([fbe9437](https://github.com/kylefox/jquery-modal/commit/fbe9437))
* Added example to demo. Minified js. ([d9145ff](https://github.com/kylefox/jquery-modal/commit/d9145ff))
* Added some AJAX spinners. ([f0b47e1](https://github.com/kylefox/jquery-modal/commit/f0b47e1))
* Added spinner custom events ([9af1c83](https://github.com/kylefox/jquery-modal/commit/9af1c83))
* Added spinner support ([2fc94c7](https://github.com/kylefox/jquery-modal/commit/2fc94c7))
* Bug fixing ([6267f6f](https://github.com/kylefox/jquery-modal/commit/6267f6f))
* Bumped to 0.5.1 - new Ajax complete event. ([da3509a](https://github.com/kylefox/jquery-modal/commit/da3509a))
* Bumped to v0.3.0 (requires jQuery 1.7) ([148d228](https://github.com/kylefox/jquery-modal/commit/148d228))
* Bumped to v0.4 ([0c7da49](https://github.com/kylefox/jquery-modal/commit/0c7da49))
* Changed bind/unbind and live with on/off methods ([421516e](https://github.com/kylefox/jquery-modal/commit/421516e))
* changed event name ([b32de0b](https://github.com/kylefox/jquery-modal/commit/b32de0b))
* demodemo ([cd84ce3](https://github.com/kylefox/jquery-modal/commit/cd84ce3))
* Issue #20: Added AJAX_FAIL event. ([4c72b25](https://github.com/kylefox/jquery-modal/commit/4c72b25))
* made plugin chainable ([71b7f03](https://github.com/kylefox/jquery-modal/commit/71b7f03))
* Manually bringing in 9f11170 from adrianolaru (closes #4 and #10) ([7786e73](https://github.com/kylefox/jquery-modal/commit/7786e73)), closes [#4](https://github.com/kylefox/jquery-modal/issues/4) [#10](https://github.com/kylefox/jquery-modal/issues/10)
* Manually fix #17 (Made code more object oriented) ([bd4331c](https://github.com/kylefox/jquery-modal/commit/bd4331c)), closes [#17](https://github.com/kylefox/jquery-modal/issues/17)
* Merge branch 'master' of github.com:kylefox/jquery-modal into ajax ([9c7c9cd](https://github.com/kylefox/jquery-modal/commit/9c7c9cd))
* Merge pull request #10 from adrianolaru/change-public-api ([168e30a](https://github.com/kylefox/jquery-modal/commit/168e30a))
* Merge pull request #11 from adrianolaru/bugfixing ([87d4e6b](https://github.com/kylefox/jquery-modal/commit/87d4e6b))
* Merge pull request #13 from adrianolaru/bugfixing ([f2fa333](https://github.com/kylefox/jquery-modal/commit/f2fa333))
* Merge pull request #16 from adrianolaru/bugfixing ([33a06fa](https://github.com/kylefox/jquery-modal/commit/33a06fa))
* Merge pull request #18 from RyanonRails/patch-1 ([bb12f5a](https://github.com/kylefox/jquery-modal/commit/bb12f5a))
* Merge pull request #20 from adrianolaru/spinner ([eb2dadc](https://github.com/kylefox/jquery-modal/commit/eb2dadc))
* Merge pull request #21 from adrianolaru/spinner ([a4a325d](https://github.com/kylefox/jquery-modal/commit/a4a325d))
* Merge pull request #22 from dei79/master ([3f68f34](https://github.com/kylefox/jquery-modal/commit/3f68f34))
* Merge pull request #8 from adrianolaru/new-events-methods ([ba3cda3](https://github.com/kylefox/jquery-modal/commit/ba3cda3))
* Merge pull request #9 from adrianolaru/bugfixing ([b86be47](https://github.com/kylefox/jquery-modal/commit/b86be47))
* Minor bug fixing ([2865c27](https://github.com/kylefox/jquery-modal/commit/2865c27))
* Missing comma :D ([89977d2](https://github.com/kylefox/jquery-modal/commit/89977d2))
* Missing words in README! ([5316599](https://github.com/kylefox/jquery-modal/commit/5316599))
* Moved static methods from $.fn.modal to $.modal ([9f11170](https://github.com/kylefox/jquery-modal/commit/9f11170))
* no newline at end of file ([3983c79](https://github.com/kylefox/jquery-modal/commit/3983c79))
* Nuke .DS_Store ([f04077f](https://github.com/kylefox/jquery-modal/commit/f04077f))
* One spinner style is sufficient. ([5005ae8](https://github.com/kylefox/jquery-modal/commit/5005ae8))
* Only create spinner where necessary, remove from DOM when "hidden" ([40bae80](https://github.com/kylefox/jquery-modal/commit/40bae80))
* opt out the spinner ([449671d](https://github.com/kylefox/jquery-modal/commit/449671d))
* Option for adding additional classes to the close button ([cdfb863](https://github.com/kylefox/jquery-modal/commit/cdfb863))
* Renamed AJAX events, updated README to document spinner & ajax events. ([c53fca7](https://github.com/kylefox/jquery-modal/commit/c53fca7))
* Resolves #30: Added explicit MIT license ([a7feb44](https://github.com/kylefox/jquery-modal/commit/a7feb44)), closes [#30](https://github.com/kylefox/jquery-modal/issues/30)
* Should fix #34 (Multiple Modals) without breaking anything... ([84b9e74](https://github.com/kylefox/jquery-modal/commit/84b9e74)), closes [#34](https://github.com/kylefox/jquery-modal/issues/34)
* Update README & examples to show that manually opened AJAX modals must be wrapped in a div with clas ([810f8d7](https://github.com/kylefox/jquery-modal/commit/810f8d7))
* updated README ([eab14ef](https://github.com/kylefox/jquery-modal/commit/eab14ef))
* v0.3.1 ([4dd79d3](https://github.com/kylefox/jquery-modal/commit/4dd79d3))
* Version 0.5 - AJAX feedback UI & events. ([cb76e3c](https://github.com/kylefox/jquery-modal/commit/cb76e3c))
* When invoking manually, make sure the $ selection is not empty ([f750f2a](https://github.com/kylefox/jquery-modal/commit/f750f2a))



<a name="0.2.5"></a>
## 0.2.5 (2012-02-03)


### Fix

* Fix: modal position should be fixed, not absolute. ([5bc6c9f](https://github.com/kylefox/jquery-modal/commit/5bc6c9f))

* 0.1 "release" ([30732cc](https://github.com/kylefox/jquery-modal/commit/30732cc))
* Actual min/pack versions ([38d3e66](https://github.com/kylefox/jquery-modal/commit/38d3e66))
* Added 'closeText' option & bumped patch version. ([effbffb](https://github.com/kylefox/jquery-modal/commit/effbffb))
* Added $.modal.resize().  All it does at the moment is re-centre the modal (because there is no fixed ([b191b8c](https://github.com/kylefox/jquery-modal/commit/b191b8c))
* Added an image ... *sigh*.  Bumped version to 0.2.1 (will start doing patch version increments for m ([3da2f27](https://github.com/kylefox/jquery-modal/commit/3da2f27))
* Added auto-binding based on "rel" attributes and an example page. ([54377f4](https://github.com/kylefox/jquery-modal/commit/54377f4))
* Added basic working version. ([2518eef](https://github.com/kylefox/jquery-modal/commit/2518eef))
* Added detection for AJAX links, updated README. ([468194e](https://github.com/kylefox/jquery-modal/commit/468194e))
* Added escape-key binding, update example. ([fc63faf](https://github.com/kylefox/jquery-modal/commit/fc63faf))
* Added events ([99aa155](https://github.com/kylefox/jquery-modal/commit/99aa155))
* Added link to README. ([e74bf96](https://github.com/kylefox/jquery-modal/commit/e74bf96))
* combined calls to $.addclass ([7c415ad](https://github.com/kylefox/jquery-modal/commit/7c415ad))
* Events are now triggered on the modal element itself.  Modals are automatically bound to links with  ([a49bf8c](https://github.com/kylefox/jquery-modal/commit/a49bf8c))
* Fix #7: pass jQuery to anonymous function and accept as '$' in argument ([4321d01](https://github.com/kylefox/jquery-modal/commit/4321d01)), closes [#7](https://github.com/kylefox/jquery-modal/issues/7)
* fix bug with escapeClose option ([d83677c](https://github.com/kylefox/jquery-modal/commit/d83677c))
* Fix issue #2 -- "Close" button element wasn't being removed when modal was closed. ([8998d63](https://github.com/kylefox/jquery-modal/commit/8998d63)), closes [#2](https://github.com/kylefox/jquery-modal/issues/2)
* Fixed #3 (use outerHeight), bumped to 0.2.3. Also dropped the packed file. ([e399651](https://github.com/kylefox/jquery-modal/commit/e399651)), closes [#3](https://github.com/kylefox/jquery-modal/issues/3)
* Link back to repo ([8838835](https://github.com/kylefox/jquery-modal/commit/8838835))
* make regex negligibly faster ([c56fe3e](https://github.com/kylefox/jquery-modal/commit/c56fe3e))
* Merge pull request #5 from elidupuis/master ([31c14a2](https://github.com/kylefox/jquery-modal/commit/31c14a2))
* Merge pull request #6 from elidupuis/master ([0e1cadc](https://github.com/kylefox/jquery-modal/commit/0e1cadc))
* Moved examples into examples/ ([c420fdc](https://github.com/kylefox/jquery-modal/commit/c420fdc))
* README LIVES ([f207b12](https://github.com/kylefox/jquery-modal/commit/f207b12))
* remove current class on modal close ([77fbf5f](https://github.com/kylefox/jquery-modal/commit/77fbf5f))
* some stuffs. ([a47db2c](https://github.com/kylefox/jquery-modal/commit/a47db2c))
* Updated README (ajax + events) ([5f576e4](https://github.com/kylefox/jquery-modal/commit/5f576e4))
* Updated README, renamed some files. ([2bafca0](https://github.com/kylefox/jquery-modal/commit/2bafca0))
* Updated README. ([1865c30](https://github.com/kylefox/jquery-modal/commit/1865c30))
* Version 0.2 ([b89392f](https://github.com/kylefox/jquery-modal/commit/b89392f))
* Version bump ([5350977](https://github.com/kylefox/jquery-modal/commit/5350977))
* wrap ajax content in div ([59c58be](https://github.com/kylefox/jquery-modal/commit/59c58be))



