Difference between revisions of "Release Notes (Versions history)"
Jump to navigation
Jump to search
Hzwakenberg (talk | contribs) m |
Hzwakenberg (talk | contribs) |
||
Line 13: | Line 13: | ||
** 'is_prime' feature added to class INTEGER_GENERAL |
** 'is_prime' feature added to class INTEGER_GENERAL |
||
** 'is_fibonacci' feature added to class INTEGER_GENERAL |
** 'is_fibonacci' feature added to class INTEGER_GENERAL |
||
+ | ** constants 'Tau', 'Sqr_tau' and 'Inv_tau' added to math_constants.e |
||
** C99 conforming C code generation (hopefully) |
** C99 conforming C code generation (hopefully) |
||
* Developer changes: |
* Developer changes: |
Revision as of 21:16, 28 August 2018
Liberty Eiffel (latest release first)
For other upcoming releases see the list of names.
Curtiss (2018.dev, to be named after Glenn Curtiss)
- not yet released (see next section for current release notes)
- User-visible changes:
- redesign of eiffeldoc generated HTML to reduce its size dramatically
- addition of a zsh completer for se
- finally got rid of obsolete classes GEN_RAND, MIN_STAND and STD_RAND
- removed support for some unused legacy platforms (Amiga, Elate, BeOS, OS/2, Macintosh)
- obsolete keyword 'creation' now generates an error
- obsolete class READY_DESCRIPTION removed from sequencer cluster
- 'is_prime' feature added to class INTEGER_GENERAL
- 'is_fibonacci' feature added to class INTEGER_GENERAL
- constants 'Tau', 'Sqr_tau' and 'Inv_tau' added to math_constants.e
- C99 conforming C code generation (hopefully)
- Developer changes:
- RUN_FEATUREs now have clear names (hopefully)
- to better support the user access rights model of the more recent Windows versions, the config file is no longer written to a root directory but rather to %ALLUSERSPROFILE% or %USERPROFILE%
- Known bugs:
- see [1] for the full list
Bell (2016.05, named after Alexander Graham Bell)
- released in May 2016
- first release since Liberty Eiffel 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 Liberty Eiffel
- 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
- Collections implementation of is_equal changed to compare the contained objects using their is_equal functions instead of = (which was formerly the functionality of is_equal_map). The old functionality of is_equal is available by fast_is_equal.
- 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