Skip to content
Curbai edited this page May 10, 2023 · 4 revisions

Release date : 09/26/2016

New features

  • Added class:subclasses() returns the list of all classes which extend from class
  • Added class:instances(), returns the list of all instances of class
  • Added class:classOf(), checks if class is a superclass of arg
  • Added class:subclassOf(), checks if class is a subclass of arg
  • Added instance:instanceOf(), checks if instance is an instance of arg
  • Added class:without() to remove a mixin from a class
  • Added class:with(), includes a mixin to a class

Breaking changes

  • Changed implementation of class.isClass, now only checks if arg is a class
  • Changed implementation of class.isInstance, now only checks if arg is an instance
  • Removed class:include()
  • An instance of class is considered to be the instance of any superclass of class
  • A class is considered to be the subclass of any of its direct superclass's superclasses

Release date : 01/09/2015

New features

  • require "30log" now returns a callable table
  • Added class.isClass
  • Added class.isInstance
  • Adding mixins can be chained
  • subclass.super returns the superclass of subclass
  • instance.class returns the class of instance

Breaking changes

  • Changed class prototype to class(name, params)
  • Renamed class:__init() to class:init()
  • Renamed class.__name to class.name
  • Renamed class:extends() to class:extend
  • Renamed class:is() to class:extends
  • Renamed class:has() to class:includes
  • Changed class:extend prototype to class:extend(name, params)
  • Changed tostring(class) and tostring(instance) output.

Release date : 03/02/2014

  • Internal objects/classes registers made tables with weak keys.

Release date : 02/07/2014

  • Added class.is and instance.is to inspect inheritance relationship between two objects.
  • Removed spaces in class/instance tostring output.

Release date : 01/11/2014

  • Mixins are now included with include, not with
  • Objects (instances) cannot call new
  • Shortened class/instances __tostring output (class (?) instead of class (Unnamed))
  • Bugfixes for 30logclean (Thanks zorfmorf)
  • Updated specification tests and README

Release date : 01/05/2014

  • Fix for chained class extension attributes overriding when given a prototype (Thanks Italo Maia)
  • Updated specs
  • Removed class-commons plugin, moved to 30logclasscommons

Release date : 08/08/2013

  • Added global source
  • Made call to class methods available through initializers
  • Made class attributes instantly available upon derivation
  • Updated clean source
  • Updated Class Commons compatibility to meet with the its specifications
  • Added Class Commons test suite
  • Updated specs
  • Added performance benchmark
  • 2 whitespaces as tabs, for indentation

Release date : 06/13/2013

  • Added mixins
  • Added clean source
  • Updated Readme and specs tests

Release date : 02/14/2013

  • named classes

Release date : 02/13/2013

  • __init can either be a table or a function
  • Added the abitlity to turn classes and objects into strings.

Release date : 09/01/13

  • Added Class-Commons support (Thanks to TsT2005)
  • Added Tracis-CI validation
  • Updated Readme with chained initialization sample
  • Updated specs

Release date : 10/31/12

  • Added specs
  • Added local shortcuts to global functions internally used
  • Typo fix in Readme's snippets

0.2

Release date : 08/28/12

  • Now returns a local function when required. No longer pollutes the global env.
  • Some code compression, to meet with the 30lines rule!
  • Added version history.
  • Updated Readme

0.1

Release date : 08/25/12

  • Initial Release