Release Notes (Versions history)

From Liberty Eiffel Wiki
Jump to navigation Jump to search

LibertyEiffel (latest release first)

For upcoming releases see the list of names.

Curtiss (2016.09, named after Glenn Curtiss)

  • not yet released (see next section for current release notes)
  • User-visible changes:
    • C99 conforming C code generation
  • Developer changes:
    • RUN_FEATUREs now have clear names
  • Known bugs:
    • see [1] for the full list

Bell (2016.04, named after Alexander Graham Bell)

  • not yet released (see next section for current release notes)
  • first release since LibertyEiffel is the official GNU Eiffel compiler
  • User-visible changes:
    • changed Environment Variable name from SmartEiffel to LibertyEiffel (anyhow, normally it should not be necessary to set this one)
    • removed linebreaks in compiler output
    • many bugfixes
    • GC call at exit is optional
    • generic creation
  • Developer changes:
  • Known bugs:
    • there is still an issue in both GC implementations (classical SEGC and BDW), if it shows up, it often yields a "Bad target type" runtime error.
    • for the full list see [2]

Adler (2013.11, named after Charles Adler, Jr.)

  • First release as LibertyEiffel
  • User-visible changes:
    • Added NATURAL_8, NATURAL_16, NATURAL_32, and NATURAL_64 classes. See tutorial/natural.e for examples.
    • Even low-level features (i.e. external "built_in") are now checking their assertions. As an example, division by zero is now checked by assertions.
    • Inlined dynamic dispatch for better performance
    • A missing export clause is deprecated. Use {ANY} instead.
    • New core libraries: cli, json, log, parse (beware, these libraries are not yet tuned to be used without GC)
    • Improved libraries: string (with notably a new FIXED_STRING class)
    • Wrapper libraries: gtk, gdk, readline, ffi...
    • A new tool that can generate mocks to help unit testing
    • BDW GC support
  • Developer changes:
    • The web site now belongs to the repository
    • Automatic testing tools (ET on the web, and watch_eiffeltest.sh in the shell)
    • Automatic Debian packages generation
  • Known bugs:
    • BDW GC is not well tested; currently weak references seem not to work properly; and the GC is not run at program exit (it should run all finalizers)
    • Sometimes SmartEiffel's native GC behaves wrongly, analysis is welcome
    • Some of the newer core libraries do not work very well when there is no GC
    • See the bugs page

SmartEiffel (all releases which are predecessors of Liberty)

Release 2.3 [Antoine-Auguste Parmentier] - Wednesday July 11th 2007

Again, a lot of novelties for this release:

  • New typing rules have been revisited and are now crystal clear. See this page for details.
  • Implemented a new class loading algorithm, which takes into account the "distance" between classes, thus reifying the notion of clusters and sub-clusters. Everything is trans