0.1.0 (August 3rd, 2006)¶ ↑
-
First public release
0.2.0 (September 3rd, 2006)¶ ↑
-
Added model transformation language (Transformer)
-
Now RGen is distributed as a gem
-
More complete documentation
0.3.0 (October 9th, 2006)¶ ↑
-
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
0.4.0 (Aug 8th, 2007)¶ ↑
-
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
0.4.1 (Nov 25th, 2007)¶ ↑
-
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
0.4.2 (Mar 2nd, 2008)¶ ↑
-
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
0.4.3 (Aug 12th, 2008)¶ ↑
-
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
0.4.4 (Sep 10th, 2008)¶ ↑
-
Added “abstract” metamodel DSL command
-
Added ecore_ext.rb with convenience methods
-
Added XMI1.1 serializer, revised XMLSerializer super class
0.4.5 (Nov 17th, 2008)¶ ↑
-
Updated XMI1.1 serializer to support explicit placement of elements on content level of the XMI file
0.4.6 (Mar 1st, 2009)¶ ↑
-
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
0.5.0 (Jun 8th, 2009)¶ ↑
-
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
0.5.1 (Nov 10th, 2009)¶ ↑
-
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
0.5.2 (Jun 13th, 2010)¶ ↑
-
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
0.5.3 (Aug 13th, 2010)¶ ↑
-
Fixed string escaping in JSON instantiator and serializer
-
Fixed order of eClassifiers and eSubpackages within an EPackage created by reflection on a RGen module
0.5.4¶ ↑
-
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
0.6.0¶ ↑
-
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
0.6.1¶ ↑
-
Fixed metamodel builder to not overwrite a model element's 'class' method
-
Added enum type transformation to ECoreToUML13 transformer, primitive type mapping based on instanceClassName
-
Fixed default value appearing on read after setting a feature value to nil
-
Added eIsSet and eUnset methods
-
Added eContainer and eContainingFeature methods
-
Fixed ModelFragment#elements not containing root elements
-
Added optional output of invalidation reason to FileCacheMap#load_data
0.6.2¶ ↑
-
Made qualified name provider work with unidirectional containment references
-
Fixed array_extension breaking the Hash[] method
0.6.3¶ ↑
-
Added BigDecimal support
0.6.4¶ ↑
-
Made FileChangeDetector and FileCacheMap robust against missing files
0.6.5¶ ↑
-
Fixed missing default argument of FragmentedModel#resolve
-
Added to_str to methods which aren't forwarded by array extension on empty arrays
0.6.6¶ ↑
-
Added ModelFragment#mark_resolved and ResolutionHelper
-
Added ReferenceResolver option to output failed resolutions
-
Major performance improvement of FragmentedModel#resolve
-
Fixed a Ruby 2.0 related warning