Revision: 1.85
Date: 2002/11/01
Latest Version:
Editor: Remus Pereni <>

Back to: Overview

MN8 - History of Changes

Table of Contents
1. Version 0.7a (October 23 2002)
2. Version 0.6a (June 05 2002)
3. Version 0.5a (May 06 2002)
4. Version 0.1a4 (Octomber 22 2001)
5. Legend

1. Version 0.7a (October 23 2002)

[Add] New wrappers for PrimaTV, Antena1, ProTV, TVR1, TVR2, TVR International. [SB]

[Add] A first attempt of an MN8 Tutorial. [RP]

[Fix] Operators overloading/declaration works again. [RP]

[Fix] In case the type of an attribute definition was custom it wan not initialized during the concept initialization, instead the attribute was always getting Nil value. [RP]

[Fix] In case of custom MN8 script based concepts used as attribute values, the XML serialization obeys the toXML method of the custom concepts. [RP]

[Update] Every Java package now has a package.html with a bit of information improving that way the MN8 Java API. [RP]

[Update] Updated SOAP, now working with Axis 1.0 [AA]

[Update] The XMLRPC client and handler concepts now can make a secure connection using the xmlrpcs:// protocoll [AA]

[Update] Added a new task type to a Cron concept, you can now add tasks which can execute a static method call with optional parameters. [AA]

[Fix] Fixing bug in Cron concept, the bad orders when you removing and adding new tasks and a little synchonizing problem for the executor thread. Fixes bug nr: NLNT:201. [AA]

[Update] New setValue method in Series to allow the replacement of a series value. [RP]

[Update] New setDate, getDate and create methods for Date to allow parsing and extracting Date value for different locales. You can parse now French, German, Romanian or any other day and months strings as you can display a date in any of the locales available. [RP]

[Add] New script WP_ZeldmanCOM which wraps the news in an RSS 0.92 news feed. [RP]

[Fix] Small refactoring on String.getLines the end of line parser was not working properly. [RP]

[Update] The threaded interpreter now accepts also method specification in order to also allow the execution of requested static methods instead of just the main method. Feature required by the MN8 XML-RPC web service server. [AA]

[Add] HyperPad is now part of MN8 distribution. It didn't made enough sense on it's own. Now it will be the default GUI execution environment and editor for MN8. [SB]

[Update] MN8 can load now concepts not only from the files system but also from a DataStore by putting in the searchPath the URL to the DataStore path where the concepts resides. Ex: beep:// . [AA]

[Update] Added getParameterNames to method. [AA]

[Update] Small improvements in ErrorHandling. Instead of null pointer exception now MN8 throws and UnexpectedError which can be handled. [RP]

[Update] Small refactoring to the Zip concept. Now it works faster and accepts direct file paths which are not correct file URL's. [SC]

[Update] SOAP Interop test scripts. [AA]

[Fix] Ugly ANTLR bug when the file ended with comments MN8 just hanged. Fixes bug nr: NLNT:168. [RP]

[Update] Updated Xalan to 2.4.0 and Xerces to 2.1.0. [RP]

[Fix] Corrected the scripts to automatically do $file/content.toTXT in the case of XML and XSL files where content types might not be set properly. [RP]

[Fix] Fixed abs method in BigDecimal. [SB]

[Update] The result of an from operation remains the same but the content is String or ByteArray depending on the content type of the file (URL resource). if the content type starts with text/ then the content will be String, else it will be ByteArray. The content type of a particular file type can be specified in the mime.types file from the JAVA_HOME/jre/lib/ directory. [SC]

[Update] The FTPClient, putFile and getFile methods has now two work modes. getFile returns now a String if the transfer mode is text (ascii) and ByteArray if the transfer mode is binary. putFile can get now as parameter a String or ByteArray. [SC]

[Add] New Byte and ByteArray concept to support operations with binary files. [SC]

[Fix] Incorrect order of static and synchronized or final generated warnings with the latest jikes. [RP]

[Update] $file from beep://user:paasswd@host:port/profile/dbName/path/file Now get's the file directly. Also it supports the to operation. [SC]

[Update] Refactoring on env://, mem:// and beep:// url handlers. [SC]

[Fix] Date and String equals method fixed. [SB]

[Update] Improved IMDB Wrapper, we have now more information extracted. [SB]

[Fix] Fixes in the XEmacs mode package. [AA]

[Update] Every method in the documentation has now a working example. [SB]

[Update] Small updates in the concept loading process with direct results as twice as fast startup time and less initiall memory footprint. [RP]

[Fix] Out of memory exception fixed. The amount of maximal memory was specified in the Java command line. Fixes bug nr: NLNT186. [RP]

[Add] New concept: SOAPClient [AA]

[Update] Refactoring for POP3ClientConcept, POP3Handler, POP3URLConnection. Applying the Mbox arhitecture. [AA]

[Add] Added getResourceURI and setResourceURI at concept level. These methods allow the specification of the underlying resource from which the concept's data was created.

This is important in the case of concepts loaded from XML files with relative DTD. Also allows better error reporting in the case of loading a concept from a not well-formatted document. [RP]

[Add] New concept: Emx to convert emails to XML. [AA]

[Add] New concept: Mbox to handle mailbox content. [AA]

[Fix] Language reference link on the index page is broken. Fixes bug nr: NLNT163. [RP]

[Fix] Custom concept label is lost after any assign operation. Fixes bug nr: NLNT162. [RP]

[Fix] Inside a code block if a value is assigned from a method which returns from another code block (if, while, ...) outside the current block it looses it's value. Fixes bug nr: NLNT158. [RP]

[Add] JDBC client for database connection ,and BigDecimal concept for MN8. New JDBCClient, JDBCConnection, JDBCStatement, JDBCResultSet and BigDecimal concepts. [SC]


2. Version 0.6a (June 05 2002)

[Update] Improved mn8-mode for XEmacs. [AA]

[Update] Refactored the AST interpreter in order to allow multiple concepts to be interpreted simultaneously without synchronization blocks. [RP]

[Update] Refactored the output and error streams handling in order to allow different execution paths to output the results on different streams. This was needed to allow multiple MN8 scripts/concepts to be run concomitant inside the servlet engine. [RP]

[Fix] The and operation was not conditional. Now, it evaluates its right-hand operand only if the value of its left-hand operand is true. Fixes bug nr: NLNT155. [RP]

[Fix] The or operation was not conditional. Now, it evaluates its right-hand operand only if the value of its left-hand operand is false. Fixes bug nr: NLNT156. [RP]

[Add] New static methods (print and println) in Error concept to allow signaling on the error stream. [RP]

[Fix] $args parameter in MN8 scripts works again. Fixes bug nr: NLNT148. [RP]

[Fix] Attributes where case sensitive. Fixes bug nr: NLNT150. [AA]

[Fix] Fixed insert bug in Series and TypedSeries. Fixes bug nr: NLNT152. [AA]

[Fix] Fixed missing documentation for the System concept. [RP]

[Fix] Missing runtime attributes of the current data source in the where clause. Fixes bug nr: NLNT151. [RP]

[Update] Updated documentation for the URIHandlers. [SC]

[Update] A couple of new methods and operators for the Date concept. [RP]

[Add] Servlet for running MN8 concepts or scripts on a web server side. New ServletRequest, ServletSession, ServletResponse concepts. [RP]

[Add] New concept: Cron to allow a time scheduled execution of concepts or scripts. [AA]

[Add] New concept: Locale. [AA]

[Update] Updated DSClientConcept, now the methods of DSClientConcept returns DSResponse concept. [SC]

[Add] New concept: DSResponse, represents DataStore responses. [SC]

[Fix] Can use HTML forms with post method. [AA]

[Update] Added methods to store forms and get stored forms in HTMLForm concept. [AA]

[Update] Added methods to control follow redirects on HTMLPage concept. [AA]

[Update] Added methods to handle responses on HTMLPage concept. [AA]

[Fix] Lots of fixes in Cookie concept. [AA]

[Fix] Fixed typeof bug. [AA]

[Fix] Fixed the reinitialize problem of interpreter, now HyperPad can call reinitialize properly. [AA]


3. Version 0.5a (May 06 2002)

[Fix] The getConceptsAtPath method doesn't work. Fixes bug nr: NLNT145. [RP]

[Fix] The hasPath method doesn't work. Fixes bug nr: NLNT144. [RP]

[Add] The end of line separator now is configurable. The default value is system specific (Windows -\r\n, Mac - \r, Unix -\n) but can be overridden in mn8config.xml file by putting a bind element in the context element as follows: <bind path="env:/system/properties/EOL" value="\n" />. [RP]

[Fix] The config file bind element worked only for env bindings, now also works for mem bindings. Fixes bug nr: NLNT138. [RP]

[Fix] The uri in the to and from statements accepts now full blown expressions. Fixes bug nr: NLNT127. [RP]

[Fix] The rigth side of typeof now accepts full blown expressions. Fixes bug nr: NLNT93. [RP]

[Add] Basic Documentation for every concept Developed. [SB]

[Add] Equals added system wide with special implementations for Element Attribute, Series. Now two Elements/Attributes/Series/Concepts can be compared to test equality. [AA]

[Fix] Negative numbers finally working. Fixes bug nr: NLNT137. [RP]

[Fix] The parser parses each concept from a mn8 script file in order. If one concept uses another one which is defined bellow the current one it gets in an endless loop. Make the parser also work with filters so only specified concepts will be loaded.

Now is also possible to specify at the command prompt which subconcept is wanted ex: mn8 XConcept:XSubConcept. As a note in case a script file is given instead of a concept then the first concept in the script will be executed

Fixes bug nr: NLNT75. [RP]

[Fix] mn8 now works well with JDK 1.4 (runs and compiles). Tested under Windows. [RP]

[Update] Updated unit tests to use the new JUnit assert style for compatibility with JDK 1.4. [AA]

[Update] Many small updates to concepts. [RP]

[Fix] Many small bug fixes. [RP]

[Add] Integrated the ReferenceBuilder in the build process. Now every time a new distribution is made, the whole mn8 reference is generated. [RP]

[Add] mn8 Reference is now available mn8 DocReference --f conceptName to generate the documentation template for a concept, mn8 ReferenceBuilder ref_dir to generate the whole mn8 reference in the specified directory. [RP]

[Fix] In the case of more imbricated each on the same source the inner eache's don't work. Fixes bug nr: NLNT124. [RP]

[Update] Under regular mn8 invocation if the script file it is not found now it also checks if it is a concept with the given name in the concept path. If it is available it will be executed. With this direct concept invocation like: mn8 DocReference becomes possible from any directory of the system. [RP]

[Update] mn8 -c Works again, now with the possibility to use regular streams, like: cat /tmp/x.mn8 | mn8 -c. Also improved interpreter which now can detect if it is a regular script or it is a concept. [RP]

[Update] New constructors for Element and Attribute. [RP]

[Fix] Type checking for forced types is case sensitive therefore a variable forced to Element will raise exceptions sometimes. Fixes bug nr: NLNT123. [RP]

[Fix] The sorting code in each/find doesn't work well for depths more than two. There are also some Java exception (index out of bounds) from time to time. Fixes bug nr: NLNT122. [RP]

[Add] Implemented the DocReference concept to generate template reference/man documentation templates for concepts or scripts. [RP]

[Fix] The getName on method is incorrectly defined. Fixes bug nr: NLNT121. [RP]

[Fix] At value addition to a multi element, if the multi element override the default concept label this was not taken into consideration. Fixes bug nr: NLNT120. [RP]

[Fix] getConceptOperators.toXML the attributes are not normalized. Fixes bug nr: NLNT119. [RP]

[Update] Implemented toXML on the FieldConcept. [RP]

[Add] Implemented the Style concept. [RP]

[Fix] Missing concept labels for Character, String, Real. Fixes bug nr: NLNT102. [RP]

[Fix] Missing end of line in script files gives errors. Fixes bug nr: NLNT103. [RP]

[Add] Implemented fromXML:String and loadContent:Concept on concepts. It really needs some serious testing do :) . [RP]

[Add] Implemented contains:String on String concept. [RP]

[Add] Implemented toXML: on Logical, was forgotten. [RP]

[Add] Implemented String + any concept operation. [RP]

[Update] Major refactoring in the way concept elements are defined. [RP]

[Fix] Null pointer exception in Nil.getConceptElementFields@length and Nil.getConceptAttributeFields@length. Fixes bug nr: NLNT101. [RP]

[Fix] Null pointer exception in Map.getConceptElements concept. Fixes bug nr: NLNT108. [RP]

[Fix] Null pointer exception in AttributeConcept concept. Fixes bug nr: NLNT118. [RP]

[Fix] Null pointer exception in String concept. Fixes bug nr: NLNT117. [RP]

[Fix] Element order inversion in concepts. Fixes bug nr: NLNT116. [RP]

[Add] Implemented the ? operator at elements/attributes definition and system wide showEmpty to denote elements/attributed which should not be rendered if content empty. [RP]

[Add] Implemented the ! operator at elements/attributes definition and system wide isHidden to allow hidden elements and attributes in concepts. [RP]

[Add] Implemented TypedSeries. It replaces the Series usage in elements. [RP]

[Update] Implemented the +=,-=,*=,/= operations. [RP]

[Add] Added new Zip concept to allow Zip and Jar files handling. [SC]

[Fix] The clear: method in MapConcept doesn't update the Map length to 0. Fixes bug nr: NLNT111. [SB]

[Fix] insert:Integer,Concept,Concept method in MapConcept has inserted the new concept on a wrong position. Fixes bug nr: NLNT110. [SB]

[Fix] Switch block conditions now working well. Fixes bug nr: NLNT113. [SC]

[Add] EnvHandler and MemHandler implemented. [SC]

[Fix] Can't create an empty cookie, can't use the equals method for Cookie. Fixes bug nr: NLNT107. [AA]

[Fix] Invoke had a lot of problems with a the stack. Now is cool, working well. Fixes bug nr: NLNT109. [AA]

[Fix] Improper handling of dynamically created elements with one element as child. Fixes bug nr: NLNT106. [RP]

[Fix] In the mn8 parser the check for an attribute field was made on the concept definition instead of the concept instance not allowing that way method overloading to work properly when related to attributes. Fixes bug nr: NLNT105. [RP]

[Add] Full mn8 script based mn8Unit implemented, similar to JUnit, allowing that way the testing of mn8 scripts and concepts through test cases and test suites. [AA]

[Add] New Flex concept, which is a flexible concept allowing dynamic element and attributes addition during run-time. [RP]

[Fix] Null pointer exception durring Attribute concept creation. Fixes bug nr: NLNT98. [RP]

[Fix] At each, find first and find last the navigator concept gets a reference to the current element in the data source and not a copy of the value. Fixes bug nr: NLNT94. [RP]

[Fix] Null pointer exception during assignments related to this keyword and a forced type variable. Fixes bug nr: NLNT92. [RP]

[Fix] During parameter downcasting at method invocation only the current inherited concepts are taken in consideration not all the inherited concepts as it should. Fixes bug nr: NLNT89. [RP]

[Fix] Improper constructor behaviours. Fixes bug nr: NLNT87. [RP]

[Add] Implemented super and super(ConceptType) keyword. [RP]

[Fix] Downcasting parameter types at constructor invocation doesn't work. Fixes bug nr: NLNT86. [RP]

[Fix] Setting the @index attribute has no effect on a Series. Fixes bug nr: NLNT84. [RP]

[Fix] Improper result (not Nil) returned from find first or find last if the where clause always evaluated false. Fixes bug nr: NLNT83. [RP]

[Update] The Date concept now is fully implemented. [SC]

[Update] invoke and getMethodSignature added to the Method concept. [RP]

[Fix] During method invocation down-casting for the methods with multiple parameters doesn't work. Fixes bug nr: NLNT82. [RP]

[Update] Every concept now has an default create() constructor. [RP]

[Add] Proper exit command implemented. [RP]

[Add] FTPClient implemented. [SC]

[Add] XMLRPCClient and XMLRPCHandler implemented. [SC]

[Add] BEEPClient and BEEPHandler implemented. [SC]

[Add] POP3Client and POP3Handler implemented. [SC]

[Add] SMTPHandler implemented. [SC]

[Add] HTMLForm implemented. [SC]

[Add] ZipConcept implemented. [SC]

[Add] TarConcept and TarUnit implemented. [SC]

[Update] The File and FTPFileconcept now support setter and getter. [SC]

[Fix] During method invocation down-casting for the method parameters doesn't work. Fixes bug nr: NLNT78. [RP]

[Fix] Imbricated if-then-elif-else control value aliasing problem. Fixes bug nr: NLNT76. [RP]

[Fix] Element's text not escaped resulting in invalid XML documents. Now all content is normalized first. Fixes bug nr: NLNT72. Thanks to Brad Burdick. [SC]


4. Version 0.1a4 (Octomber 22 2001)

[Add] The first version of mn8 that actually does something :) [RP]

[Add] First version of SpaceMapper Coding Standards. [NF]

[Add] Complete documentation framework based on XML documents and XSLT transformations. Now all the documentation is generated on the fly without any human intervention. [RP]


5. Legend

[Update]: - Update [Add]: - Add [Remove]: - Remove [Fix]: - Fix

© 2001