Difference between revisions of "Release Notes (Versions history)"
Jump to navigation
Jump to search
Hzwakenberg (talk | contribs) |
Hzwakenberg (talk | contribs) |
||
Line 13: | Line 13: | ||
=== Bell (2016.05, named after [https://en.wikipedia.org/wiki/Alexander_Graham_Bell Alexander Graham Bell]) === |
=== Bell (2016.05, named after [https://en.wikipedia.org/wiki/Alexander_Graham_Bell Alexander Graham Bell]) === |
||
* released in May 2016 |
* released in May 2016 |
||
− | * first release since LibertyEiffel |
+ | * first release since LibertyEiffel has become the official GNU Eiffel compiler |
* User-visible changes: |
* User-visible changes: |
||
** changed Environment Variable name from SmartEiffel to LibertyEiffel (anyhow, normally it should not be necessary to set this one) |
** changed Environment Variable name from SmartEiffel to LibertyEiffel (anyhow, normally it should not be necessary to set this one) |
||
Line 21: | Line 21: | ||
** GC call at exit is optional |
** GC call at exit is optional |
||
** generic creation |
** generic creation |
||
− | ** |
+ | ** agents are now [https://en.wikipedia.org/wiki/Closure_(computer_programming) closures ] |
** finder now finds all classes in the universe with the given name, not only the first one |
** finder now finds all classes in the universe with the given name, not only the first one |
||
** keyword '''is''' at the beginning of a feature is now deprecated |
** keyword '''is''' at the beginning of a feature is now deprecated |
Revision as of 23:08, 26 May 2016
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.05, named after Alexander Graham Bell)
- released in May 2016
- first release since LibertyEiffel has become 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)
- new tool Mock
- removed linebreaks in compiler output
- many bugfixes
- GC call at exit is optional
- generic creation
- agents are now closures
- finder now finds all classes in the universe with the given name, not only the first one
- keyword is at the beginning of a feature is now deprecated
- Added support for alias "[]" and alias "()"
- constants are now visible in the eiffeldoc generated documentation
- 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