Release history for Joose:

3.50.0    2011-09-14 13:51

    [ENHANCEMENTS]
    
    - detect when a class (a function like: `func.meta.c == func`) has been provided as `init` value for the attribute
      and do not call it during initialization (use as "value")
    
    [API CHANGES]

    - removed the undocumented namespaces facility (not documented, low-level stuff)
    
    [BUG FIXES]
    
    - fixed 1 leaked global
    - fixed a bug, preventing roles to have `toString` (and other non-enumerable) methods 


3.018     2011-03-12 12:58


    [ENHANCEMENTS]
    
    - added a sanity checks before consuming a role or inheriting from superclass (should evalutes to "true")
    - from now on, include the "Task/Joose/Core" bundle in the root of distribution as "task-joose-core.js"
    - added a `Joose.C` symbol for configuration options; can be specified as the JOOSE_CFG prior Joose has been loaded
    
    [API CHANGES]

    - removed support for class extension via `Class` keyword - now it will throw the "Double declaration of [ClassName]" exception
      use ClassName.meta.extend() instead
    
    [BUG FIXES]
    
    - updated copyright years in docs


3.017     2011-01-12 18:33

    [ENHANCEMENTS]
    
    - added `strToClass` helper function
    - added Joose.A.eachR iterator
    
    [API CHANGES]

    - none
    
    [BUG FIXES]
    
    - none


3.016     2010-12-14 15:33

    [ENHANCEMENTS]
    
    - throw 'Error' instances instead of plain strings in various places
    - initial progress on reflection, allowing to receive the currently running method
    
    [API CHANGES]

    - setters no longer are being used for initial instance initialization (prior 'initialize' method)
    
    [BUG FIXES]
    
    - fixed a very specific bug, related to subclassing non-joose classes with custom constructor


3.015     2010-11-15 13:31


    [ENHANCEMENTS]
    
    - links to OpenJSAN in the documentation replaced with links to GitHub
    
    [API CHANGES]

    -none-
    
    [BUG FIXES]
    
    -none-


3.014     2010-11-01 10:32

    
    [ENHANCEMENTS]
    
    - switching to `npm` only as the distribution channel (migrating from JSAN)
    
    [API CHANGES]

    -none-
    
    [BUG FIXES]
    
    - fixed bug, when instantiating a class with traits and which is a subclass of non-joose class
      it could have been instantiated with wrong parameters

3.013     2010-10-11 15:57

    [ENHANCEMENTS]
    
    -none-
    
    [API CHANGES]

    - returned 'get/setRawValue' methods of the attribute with a bit different semantic (low-level, not documented)
    
    [BUG FIXES]
    
    - none 

3.012     2010-10-05 11:33

    [ENHANCEMENTS]
    
    - added 'hasValue/clearValue' methods for the attribute
    - removed 'get/setRawValue' methods of the attribute
    
    - minor fixes in package.json for `npm`
    
    [API CHANGES]

    -none-

    
    [BUG FIXES]
    
    -none-

3.011     2010-08-27 21:11

    [ENHANCEMENTS]
    
    - references to global RegExp object replaced with references to constructor of regexp instance,
      to allow the advanced optimizations with Google Closure optimizer (thanks to: sirrobert)
      
    - now its possible to inherit from non-Joose superclasses 
        (see http://openjsan.org/go/?l=Joose.Manual.Classes for details)
    
    - starting from this release, Joose will be also distributed via the `npm` package manager,
        > [sudo] npm install joose 
    
    - updated Joose.Manual.Installation entry
    
    [API CHANGES]

    -none-

    
    [BUG FIXES]
    
    - fixed bug, when calling `Module` over previously declared class didn't trigger a call to `body` 
    
    
3.010     2010-07-05 19:01

    [ENHANCEMENTS]
    
    - platform detection made exception-less
    
    - test suite is now passing on the NodeJS platform (has been adapted to recent changes Test.Run)
    
    [API CHANGES]

    -none-

    
    [BUG FIXES]
    
    - fixed bug, when aliases for static methods could be messed up during class mutation

3.009     2010-06-22 19:21

    [ENHANCEMENTS]
    
    - switched to Dist::Zilla for distribution management
    
    - some speed up of the core PropertySet iterators
    
    - if any value gets returned from `initialize` method, it gets returned as the result of the constructor,
      otherwise the instance itself is returned
      
    - added 'beforeConsumedBy' hook, allowing the property sets to act somehow before being consumed
    
    [API CHANGES]

    -none-

    
    [BUG FIXES]
    
    -none-


3.008   Thu, May 13, 2010

    [ENHANCEMENTS]
    
    - added ability to prefix the namespace declaration with '.' which will switch the current namespace to global
    
    - added ability to specify VERSION and AUTHORITY builders (AUTHORITY is reserved for future use with Jx.N.D)

    - added NodeJS detection

    - exporting created constructors to global NodeJS scope
    
    [API CHANGES]

    -none-
    
    
    [BUG FIXES]
    
    - fixed bug, related to fact, that typeof /a/ == 'function' in WebKit, it was preventing initializing of attributes with regexp  
    


3.007   Wed, Apr 27, 2010 

    [ENHANCEMENTS]
    
    - Class/Role/Module in the global scope aliased as Joose.Class/Joose.Role/Joose.Module
    
    - Joose no longer overwrites the Class/Role/Module symbols in global scope (should allow Prototype support)
    
    - Static instance ('my') now receives a special 'HOST' configuration parameter during instantiation, containing a hosting class constructor
    
    - Static methods are now aliased directly to the host constructor, and can be used without `my`
    
    - returning 'false' from Joose.A/O.each iterators stops the iteration and can be propagated further 
    
    - added `Joose.A.map` helper
    
    - attributes initialization moved from `initialize` method to constructor (it was somewhat restrictive - only allows `after` modifiers), this allows:
        1) the `before` modifier for `initialize` with already initialized attributes
        2) better support for inheriting from non-Joose classes (which may not have `initialize` at all)
    
    - added ability to specify the arbitrary method (by name) for attributes initialization ("builder" in Moose meaning)
    
    
    [API CHANGES]

    -none-
    
    
    [BUG FIXES]
    
    - fixed bug, when traits weren't applied to the class with already detached meta (when the meta already had traits)
    
    - fixed bug, when the metaclass of detached instance had no name 


3.006   Mon, Feb 22, 2010

    [ENHANCEMENTS]
    
    - Added 'Changes' log
    - the actual slot, to which the attribute of the class is applied became configurable
      this will allow to have nicer "private" attributes and combined accessors
    - some progress on docs (mentioned custom names for accessors and 'isPrivate' option)

    
    [API CHANGES]

    -none-
    

    [BUG FIXES]
    
    -none-
