Difference between revisions of "Release Notes (Versions history)"
Jump to navigation
Jump to search
m (Ramack moved page Versions history to Release Notes (Versions history): Release Notes seems the more common name for this kind of info) |
|||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[Category: Releases]] |
[[Category: Releases]] |
||
== Liberty Eiffel (latest release first) == |
== Liberty Eiffel (latest release first) == |
||
− | For other upcoming releases see the [[upcoming |
+ | For other upcoming releases see the [[upcoming release names|list of names]]. |
− | === Curtiss ( |
+ | === Curtiss (2024.dev, to be named after [https://en.wikipedia.org/wiki/Glenn_Curtiss Glenn Curtiss]) === |
* not yet released (see next section for current release notes) |
* not yet released (see next section for current release notes) |
||
* User-visible changes: |
* User-visible changes: |
||
+ | ** added installation script: [[Installing on Windows using the Tiny-C compiler]] |
||
+ | ** added support for assign (note: it applies to the setter, while ISE version applies to the getter) |
||
** redesign of eiffeldoc generated HTML to reduce its size dramatically |
** redesign of eiffeldoc generated HTML to reduce its size dramatically |
||
** addition of a zsh completer for se |
** addition of a zsh completer for se |
||
Line 18: | Line 20: | ||
** '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 |
** constants 'Tau', 'Sqr_tau' and 'Inv_tau' added to math_constants.e |
||
+ | ** C-runtime now C99 compliant |
||
− | ** C99 conforming C code generation (hopefully) |
||
+ | ** C-runtime now thread-safe |
||
− | * Developer changes: |
||
+ | ** C-code generator does not yet generate C99 compliant C-code, currently being worked on (likely for the Dennis-release). |
||
** RUN_FEATUREs now have clear names (hopefully) |
** RUN_FEATUREs now have clear names (hopefully) |
||
** to better support the user access rights model of the current Windows versions, the config file is no longer written to a root directory but rather to %ALLUSERSPROFILE% or %USERPROFILE% |
** to better support the user access rights model of the current Windows versions, the config file is no longer written to a root directory but rather to %ALLUSERSPROFILE% or %USERPROFILE% |
||
+ | ** support for NetBSD, FreeBSD and OpenBSD added (Thanks to KOIZUMI Satoru) |
||
* Known bugs: |
* Known bugs: |
||
** see [https://savannah.gnu.org/bugs/?group=liberty-eiffel] for the full list |
** see [https://savannah.gnu.org/bugs/?group=liberty-eiffel] for the full list |
Latest revision as of 10:17, 10 November 2024
Liberty Eiffel (latest release first)
For other upcoming releases see the list of names.
Curtiss (2024.dev, to be named after Glenn Curtiss)
- not yet released (see next section for current release notes)
- User-visible changes:
- added installation script: Installing on Windows using the Tiny-C compiler
- added support for assign (note: it applies to the setter, while ISE version applies to the getter)
- redesign of eiffeldoc generated HTML to reduce its size dramatically
- addition of a zsh completer for se
- updated dependency of BDW GC to version 8.x
- installation script (install.sh) now supports the latest libgc-dev library (external garbage collector)
- finally removed the obsolete classes GEN_RAND, MIN_STAND and STD_RAND
- removed support for some unused legacy platforms (OpenVMS, Amiga, Elate, BeOS, OS/2, Macintosh, HP RISC, IBM370, NS32000, MIPS, Pyramid 9810, SPARC, VAX, Motorola 68000) - in case you have a real use case for those we are happy to readd it
- removed support for some unused backend C-compilers (i.e. Watcom-C)
- removed obsolete feature "is_basic_expanded_type" from class ANY
- 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
- C-runtime now C99 compliant
- C-runtime now thread-safe
- C-code generator does not yet generate C99 compliant C-code, currently being worked on (likely for the Dennis-release).
- RUN_FEATUREs now have clear names (hopefully)
- to better support the user access rights model of the current Windows versions, the config file is no longer written to a root directory but rather to %ALLUSERSPROFILE% or %USERPROFILE%
- support for NetBSD, FreeBSD and OpenBSD added (Thanks to KOIZUMI Satoru)
- 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