First public release
Added model transformation language (Transformer)
Now RGen is distributed as a gem
More complete documentation
Improved XML Instantiator (Namespaces, Resolver, Customization)
Added many_to_one builder method
Added attribute reflection to MMBase (one_attributes, many_attributes)
Added copy method to Transformer
Added simple model dumper module
Fixed mmgen/mmgen.rb
Added ECore metamodel and use it as the core metametamodel
Revised and extended MetamodelBuilder language
There is an ECore instance describing each metamodel built using MetamodelBuilder now
Metamodel generator is now ECore based
Added Ruby implementation of Boolean and Enum types
Switched XML Instantiator to xmlscan for performance reasons
Cleaned up instantiator file structure
Renamed RGen::XMLInstantiator into RGen::Instantiator::DefaultXMLInstantiator
Included xmlscan as a redistributed module
Added support for chardata within XML tags
Added (Enterprise Architect) XMI to ECore instantiator
Some minor fixes in NameHelper
Some fixes to template language
Added UML1.3 Metamodel
Added tranformation from UML1.3 to ECore
Template language performance improvement
Bugfix: use true/false instead of symbols for boolean attribute default values in metamodel classes
Minor fixes on metamodel generator and ecore primitive type handling
Made transformer implementation non-recursive to prevent "stack level too deep" exception for large models
Minor fixes on EAInstantiator
Made transformer search for matching rules for superclasses
Bugfix: Enums are now added to EPackages created using the "ecore" method on a module
Bugfix: Metamodel generator now writes enum names
Performance improvement: don't require ecore transformer every time someone calls "ecore"
Major performance improvement of template engine (no Regexps to check n at end of line)
Major performance improvement: AbstractXMLInstantiator optionally controls the garbage collector
Major performance improvement: ERB templates are reused in metamodel_builder
Added delete method to Environment
Performance improvement: collection feature of array extension uses hashes now to speed up array union
Performance improvement: find on environment hashes elements by class
Extended Transformer to allow sharing of result maps between several Transformer instances
Bugfix: User defined upper bound values are no longer overwritten by -1 in all "many" metamodel builder methods
Performance improvement: significant speed up of metamodel reverse registration
Bugfix: Use object identity for metamodel to-many add/remove methods
Bugfix: If expand's :for expression evaluates to nil an error is generated (silently used current context before)
Template language indentation string can be set on DirectoryTemplateContainer and with the "file" command
Added "abstract" metamodel DSL command
Added ecore_ext.rb with convenience methods
Added XMI1.1 serializer, revised XMLSerializer super class
Updated XMI1.1 serializer to support explicit placement of elements on content level of the XMI file
Bugfix: expand :foreach silently assumed current context if :foreach evalutated to nil
Bugfix: fixed unit test for non-Windows plattforms (rn)
Bugfix: depending on the Ruby version and/or platform constants used in templates could not be resolved
Added automatic line ending detection (n or rn) for template language nl command
Added ModelBuilder and ModelSerializer
Added template language "define_local" command
Added template language "evaluate" command
Fixed template language bug: indentation problem when expand continues a non-empty line
Fixed template language bug: template content expands several times when a template container is called recursively
Fixed template language bug: template resolution problem if a template file has the same name as a template directory
Cleaned up EA support
Added method to clear ecore metamodel reflection cache
Improved overriding of metamodel features in reopened classes
Fixed metamodel builder bug: _register at one-side did not unregister from the element referenced by the old value
Added helper class for building simple model comparators
Added has_many_attr to metamodel builder, support for "many" attributes
Added JSON support (json instantiator and serializer)
Added QualifiedNameResolver instantiation helper
Added reference proxy support
Added more generic access methods on metaclasses
Added ReferenceResolver resolver mixin
Fixed ecore xml instantiator and serializer to handle references to builtin datatypes correctly
Fixed bug in ecore xml serializer to not output references which are opposites of containment references
Fixed string escaping in JSON instantiator and serializer
Fixed order of eClassifiers and eSubpackages within an EPackage created by reflection on a RGen module
Fixed undeterministic order of child elements in ModelSerializer
Fixed undeterministic order of attributes in XMI serializers
Fixed ModelSerializer to always serialize the to-one part of bidirectional 1:N references
Fixed ModelSerializer to add :as => in case of ambiguous child roles
Made JsonInstantiator search subpackages for unqualified class names
Added exception when trying to instantiate abstract class
Replaced xmlscan by dependency to nokogiri
Made RGen work with Ruby 1.9
Cleaned up intermediate attribute and reference description, improvement of metamodel load time
Added optional data property for MMProxy
Added ECoreToRuby which can create Ruby classes and modules from ECore models in memory (without metamodel generator)
Refactored out QualifiedNameProvider and OppositeReferenceFilter
Added model fragment/fragmented models support
Extended Instantiator::ReferenceResolver and changed it into a class
Moved utilities into util folder/module
Added FileCacheMap
Fixed template language bug: indenting not correct after callback into same template container and iinc/idec
Added support for fragmented models
Added FileChangeDetector utility
Added CachedGlob utility
Added index parameter to model element add methods
Added MMGeneric
Modified has_many_attr to allow the same value in the same attribute multiple times
Made Environment#delete faster on large models
Added type check of ecore defaultValueLiteral content in MetamodelBuilder
Many-feature setters can work with an Enumerable instead of an Array
Added pattern matcher utility
Fixed problem of Ruby hanging when exceptions occur
Fixed metamodel generator to quote illegal enum literal symbols
Imporved UML to ECore transformer and EA support
Fixed metamodel builder to not overwrite a model element's 'class' method
Generated with the Darkfish Rdoc Generator 2.