middleclass/CHANGELOG.md

56 lines
2.1 KiB
Markdown
Raw Normal View History

2013-09-18 21:21:49 +00:00
middleclass changelog
====================
2018-03-10 11:36:26 +00:00
# Version 4.1.1
* Fixed a bug in which `static` values which evaluated to `false` were not available
in subclasses (#51, thanks @qaisjp for the patch!)
* `isInstanceOf` does not throw an error any more when its first parameter is a
primitive (#55) (This effectively undoes the change introduced in 4.1.0)
# Version 4.1.0
2016-07-02 04:08:20 +00:00
* Simplifies implementation of `isInstanceOf` and `isSubclassOf`. They will now raise an error if their first
parameter (the `self`) isn't an instance or a class respectively.
2018-03-10 11:36:26 +00:00
# Version 4.0.0
2015-12-28 09:58:49 +00:00
* Unified the method and metamethod lookup into a single algorithm
* Added the capacity of setting up the `__index` metamethod in classes
* Removed global `Object` (classes created with `class(<name>)` have no superclass now)
* Removed default method `Class:implements(<mixin>)`
* Renamed several internal functions
2018-03-10 11:36:26 +00:00
# Version 3.2.0
2015-11-23 22:37:54 +00:00
* Changed the way metamethods were handled to fix certain bugs (un-stubbed metamethods could not be inherited)
2018-03-10 11:36:26 +00:00
# Version 3.1.0
2015-11-02 16:37:30 +00:00
* Added Lua 5.3 metamethod support (`__band`, `__bor`, `__bxor`, `__shl`, `__bnot`)
2018-03-10 11:36:26 +00:00
# Version 3.0.1
2013-12-06 21:04:31 +00:00
* Added `__len`, `__ipairs` and `__pairs` metamethods for Lua 5.2
2018-03-10 11:36:26 +00:00
# Version 3.0
2013-09-18 21:21:49 +00:00
* Anything that behaves reasonably like a class can be a class (no internal list of classes)
* The `class` global function is now just the return value of `require
'middleclass'`. It is a callable table, but works exactly as before.
* The global variable `Object` becomes `class.Object`
* The global function `instanceOf` becomes `class.Object.isInstanceOf`. Parameter order is reversed.
* The global function `subclassOf` becomes `class.Object.static.isSubclassOf`. Parameter order is reversed.
* The global function `implements` becomes `class.Object.static.implements`. Parameter order is reversed.
* Specs have been translated from telescope to busted
2018-03-10 11:36:26 +00:00
# Version 2.0
2013-09-18 21:21:49 +00:00
* Static methods are now separated from instance methods
* class.superclass has now become class.super
* It's now possible to do class.subclasses
* middleclass is now a single file; init.lua has dissapeared
* license is changed from BSD to MIT. License included in source FTW