Old Release Notes

Change logs and release notes for newer releases:

see our file release page at SourceForge

See also: Imaginable/desirable external contributions:

Releases: 0.7 0.6.4 0.6.3 0.6.2 0.6.1 0.6 0.5.4 0.5.3 0.5.2 0.5.1 0.5 0.4 0.3 0.2 0.1

Preview Release 0.7

(2004-03-25)

Now completed in this version Forthcoming
  1. This is the first release of the new, portable, Qt-based Lava version for the Linux and Windows XP platforms.
  2. You can now specify fonts and foreground/ background colors in Lava forms. See the (runnable) BigForm.lava sample.)
  3. OLE support (embedding of Lava forms in Word or other MS office documents isn't supported any longer in the Qt version of Lava.
  1. We shall concentrate on the generalization of the Lava GUI builder in the coming months: Support of application main windows. In particular:

    Class methods will be represented by tool buttons, push buttons and menu items (menu bar and context menus).
  2. Import of C++ class libraries (i.e., making them available through (semi?-) automatically generated Lava classes) will thereafter be the next major goal.

Preview Release 0.6.4

(2002-12-10)

Now completed in this version Forthcoming
  1. Enhanced refactoring support: Drag-and-drop for features between derived and base classes and between interfaces and implementations.
  2. Synchronized undo/redo for drag-and-drop operations between different files.
  3. New "find symbol by name" function img.
  4. Many bug fixes.
  1. A Lava-to-Linux port on the basis of Qt is now on the way since March 2003.

Preview Release 0.6.3

(2002-09-17)

Now completed in this version Forthcoming
  1. "Find references" provides more flexible search criteria now.
  2. Several bug fixes.
  1. Full refactoring support.
  2. Support (in a way) of AOP (= "Aspect-Oriented Programming") by generalizing the inner construct in BETA.

Preview Release 0.6.2

(2002-08-13)

Now completed in this version Forthcoming
  1. The Lava exec view provides two shortcut buttons now for the declaration / invocation of a new function in a single step.
  2. New section on "Comprehensive initialization checks" in Lava *) .
  3. Several bug fixes.
  1. Support (in a way) of AOP (= "Aspect-Oriented Programming") by generalizing the inner construct in BETA.
  2. Active Document server support (we still struggle with OLE/MFC).
  3. Full refactoring support.

Preview Release 0.6.1

(2002-07-11)

Now completed in this version Forthcoming
  1. "Go to implementation" of selected function or interface.
  2. "Find references" to selected symbol in all open and included Lava files.
  3. Lava installation runs now also on Windows 2000 and XP without error messages.
  4. LavaPE and Lava run now also on Windows 2000 and XP without error messages for non-administrators on startup.
  5. Lava/LavaPE can now be started also from the command line with or without a Lava file as a parameter.
  6. Various bug fixes.
  1. Active Document server support (we still struggle with OLE/MFC).
  2. Simplified creation of local recursive functions as a substitute for traditional loops.
  3. Full refactoring support.

Preview Release 0.6

(2002-04-05)

Important notes:

  1. Enumeration types have been re-implemented in an incompatible way. Enumeration constants in older Lava programs are automatically replaced with <expr> placeholders and must be re-inserted manually after the installation of the 0.6 release.

  2. Arrays have been implemented now. Existing references to array elements ("array[index]") should be deleted before installing the 0.6 release and re-inserted afterwards.

  3. Existing new expressions in rather old Lava programs could also cause troubles.

Recommendation: Use "Generate single HTML file" from the File Menu to keep a HTML representation of your existing Lava file. This can be used later to perform the above-mentioned corrections/reconstructions.

You can also keep the older LavaPE version and install the new version in a different directory. Then you can easily switch back to the old version and delete critical constructs. But note: once you have saved a Lava program in the 0.6 release you cannot re-open it successfully in an older release.

Now completed in this version Forthcoming
  1. Truly OO exception handling without special construct like "try...catch" but based on logical "or if exception" alternatives, on the type switch statement, and/or on an overridable Object::Catch method.
  2. Data persistence based on Lava components.
  3. Lava component objects can be embedded as forms in OLE containers like MS Word or Excel.
  4. Automatic storage management based on reference counts and optionally on an overridden Object::Finalize method. (See the Finalize.lava and Exception.lava samples for applications of Finalize.)
  5. Re-implementation of enumeration types, quantifiers over integer intervals and enumeration types. (See also the EnumAndInterval.lava sample.)
  6. Variable-length arrays. (See the Array.lava and TwoDimArray.lava samples.)
  7. Attributes with automatic generation of (customizable) Set/Get access methods: Combines the simplicity of variable access notation with the flexibility of access functions. (See sample SetGetFunctions.lava.)
  8. The "scale" expression provides more type-safety. It allows you to use Lava classes as scale units rather than using dimensionless numbers in scientific computing. (See the ScaleUnits.lava sample.)
  9. Exec keywords are no longer bold.
  10. Else branch of ifx expression is mandatory now.
  11. Error messages and comments on status line. (Proposed by Alexa Todorovic.)
  12. Initial function call templates without parameters now. (Proposed by Alexa Todorovic.)
  13. Selected variable names, constants, and comments are opened on a second click now. (Proposed by Alexa Todorovic.)
  14. Declaration view: Override view is synchronized with interface selection now. (Proposed by Alexa Todorovic.)
  15. Exec view: Automatic scrolling has been abandoned to avoid confusing jumps.
  16. Various bugs have been fixed.
  17. At run time, Lava/LavaPE now write only user settings to the registry (under HKCU).
  18. On Win2000/XP, installation of Lava/LavaPE requires administrator privileges, as usual.
  1. Active Document server support (we still struggle with OLE/MFC).
  2. Full refactoring support.

Envisaged long-term mile stones:

  1. Migration to VS.NET, access to .NET-based class libraries.
  2. Support of "Aspect-Oriented Programming" (AOP) by "method override via code extension" and possibly by "conditional code", which will both exploit the advantages of structure editors.
  3. Refinement of the user interface builder.
  4. Concurrency and transaction support.
  5. Possibly: Controlling LavaPE by voice input as an optional substitute for mouse usage.


Early Preview Release 0.5.4

(2001-10-04)

Now completed in this version Forthcoming
  1. Various bugs have been fixed.
  2. Documentation section on Lava component support has been rewritten.
  3. An FAQ has been added.
  1. Data persistence.

Early Preview Release 0.5.3

(2001-09-01)

Now completed in this version Forthcoming
  1. Various bugs have been fixed.
  2. Deficiencies of if-expression checks removed.
  3. Iteration/recursion and Visitor samples have been updated.
  4. Quantifier sample and select sample have been added.
  1. Data persistence.

Early Preview Release 0.5.2

(2001-08-18)

Now completed in this version Forthcoming
  1. Various bugs have been fixed.
  2. Iteration/recursion and Visitor samples have been added.
  1. Data persistence.

Early Preview Release 0.5.1

(2001-07-28)

Now completed in this version Forthcoming
  1. Select-construct (for set-oriented queries).
  2. Various bugs have been fixed.
  1. Data persistence.

Early Preview Release 0.5

(2001-05-06)

Now completed in this version Forthcoming
  1. Extension of virtual base classes.
  2. Bugs related to virtual types/functions/forms and HTML generation fixed.
  3. Documentation of virtual types (patterns), pattern samples and form IO dialogs corrected and completed.
  4. Index of HTML help updated.
  5. Constraints are now executed.
  6. Callback concept slightly revised.
  7. Keyboard-centric editing of Lava execs.
  1. Select-construct (for set-oriented queries).
  2. Data persistence.

Early Preview Release 0.4

(2000-12-21)

LavaPE:

Now completed in this version Forthcoming
  1. Virtual types including substitutable types.
  2. Static functions.
  3. Check for complete determination of all non-optional output parameters in all program branches of an exec.
  1. Select-construct (for set-oriented queries).
  2. Extension of virtual base classes.

Lava Interpreter and Run Time Environment:

Now completed in this version Forthcoming
  1. Run-time support for virtual types.

  1. Substitutable types.
  2. Static functions.
  3. Select-construct (for set-oriented queries).

Early Preview Release 0.3

(2000-08-19)

LavaPE:

Now completed in this version Forthcoming
  1. Revised concept of virtual types and assignment compatibility.
  2. Variable initialization checks.
  3. Single-assignment checks.
  1. Check for complete determination of all non-optional output parameters in all program branches of an exec.
  2. Functional compatibility / purely functional interface extension.

Lava Interpreter and Run Time Environment:

Now completed in this version Forthcoming
  1. Run-time support for virtual types.
  2. Quantifiers, type switch.

Early Preview Release 0.2

(2000-06-14)

LavaPE:

Now completed in this version Forthcoming
  1. Opaqueness properties of implementations and packages.
  2. "Protected" specifier of class members.
  3. "Details toolbar" split off from "declaration bar".
  4. Toolbars with "grips"; specific icons on child frames and on the tabs of the utility window.
  5. Additional comparison operations in basic class "Object".
  1. Virtual types.

Lava Interpreter and Run Time Environment:

Early Preview Release 0.1

(2000-04-04)

LavaPE:

Already implemented Partially implemented Not yet implemented

Virtually all major declarative and executable expressive means.

  1. Virtual types.
  2. "select" primitive for set-oriented queries.
  1. Bounded quantifiers (running over finite sets of objects), select expression.
  2. Opaqueness properties of implementations and packages.
  3. Most aspects of virtual types. (We hope to complete the VT implementation within a few weeks.)
  4. Check for complete initialization of objects by initializers.
  5. Check for complete determination of all non-optional output parameters in all program branches of an exec.
  6. Several other exec-related checks.
  7. A number of convenience and utility functions.
  8. More flexible GUI builder.
  9. XML support.
  10. "Organization-awareness", workflow support.
  11. "Security-awareness".
  12. Counterparts of various clauses of the SQL "select".
  13. More sample programs will be available within a few weeks.

Lava Interpreter and Run Time Environment:

Already implemented Partially implemented Not yet implemented

Most of the basic statements and expressions.

Most of the basic types and their member functions.

  1. Storage management by reference counts.
  2. Virtual types. (We hope to complete the VT implementation within a few weeks.)
  3. Asynchronous function calls / multi-threading.
  4. Transactions.
  5. Exception handling (try/throw statements).
  6. Callbacks.
  7. Database access.
  8. Producer/consumer synchronization by "consumable member variables".
  9. Lava ActiveX Controls/Documents and related COM/OLE capabilities.
  10. Local/remote interactive debugging support.