summaryrefslogtreecommitdiffstats
path: root/Changes
diff options
context:
space:
mode:
Diffstat (limited to 'Changes')
-rw-r--r--Changes54
1 files changed, 45 insertions, 9 deletions
diff --git a/Changes b/Changes
index 08871adc9..515aefb4a 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
-OCaml 3.13.0:
+OCaml 4.00.0:
-------------
+(Changes that can break existing programs are marked with a "*")
+
- The official name of the language is now OCaml.
Language features:
@@ -52,34 +54,57 @@ Standard library:
- String: new function "map" (PR#3888)
Bug Fixes:
+- PR#1643: functions of the Lazy module whose named started with 'lazy_' have
+ been deprecated, and new ones without the prefix added
- PR#4549: Filename.dirname is not handling multiple / on Unix
-- PR#4688: (Windows) special floating-point values aren't converted to strings correctly
+- PR#4688: (Windows) special floating-point values aren't converted to strings
+ correctly
+- PR#4697: Unix.putenv leaks memory on failure
+- PR#4705: camlp4 does not allow to define types with `True or `False
+- PR#4746: wrong detection of stack overflows in native code under Linux
- PR#4869: rare collisions between assembly labels for code and data
- PR#4880: "assert" constructs now show up in the exception stack backtrace
+- PR#4937: camlp4 incorrectly handles optional arguments if 'option' is
+ redefined
+- PR#5024: camlp4r now handles underscores in irrefutable patern matching of
+ records
- PR#5064, PR#5485: try to ensure that 4K words of stack are available
before calling into C functions, raising a Stack_overflow exception
otherwise. This reduces (but does not eliminate) the risk of
segmentation faults due to stack overflow in C code
+- PR#5211: updated Genlex documentation to state that camlp4 is mandatory for
+ 'parser' keyword and associated notation
+- PR#5238, PR#5277: Sys_error when getting error location
+- PR#5301: camlp4r and exception equal to another one with parameters
+- PR#5309: Queue.add is not thread/signal safe
- PR#5313: ocamlopt -g misses optimizations
+- PR#5316: objinfo now shows ccopts/ccobjs/force_link when applicable
- PR#5322: type abbreviations expanding to a universal type variable
- PR#5325: (Windows) blocked Unix.recv in one thread blocks Unix.send in
another thread
-- PR#5309: Queue.add is not thread/signal safe
- PR#5327: (Windows) Unix.select blocks if same socket listed in first and
third arguments
+- PR#5328: under Windows, Unix.select leaves sockets in non-blocking mode
- PR#5330: thread tag with '.top' and '.inferred.mli' targets
+- PR#5331: ocamlmktop is not always a shell script
+- PR#5335: Unix.environment segfaults after a call to clearenv
- PR#5343: ocaml -rectypes is unsound wrt module subtyping
+- PR#5344: some predifined exceptions need special printing
+- PR#5356: ocamlbuild handling of 'predicates' for ocamlfind
+- PR#5364: wrong compilation of "((val m : SIG1) : SIG2)"
+- PR#5370: ocamldep omits filename in syntax error message
+- PR#5380: strange sscanf input segfault
- PR#5394: Documentation for -dtypes is missing in manpage
- PR#5416: (Windows) Unix.(set|clear)_close_on_exec now preserves blocking mode
- PR#5436: update object ids on unmarshaling
- PR#5453: configure doesn't find X11 under Ubuntu/MultiarchSpec
+- PR#5461: Double linking of bytecode modules
- PR#5469: private record type generated by functor loses abbreviation
+- PR#5475: Wrapper script for interpreted LablTk wrongly handles command line
+ parameters
- PR#5476: bug in native code compilation of let rec on float arrays
-- emacs mode: colorization of comments and strings now works correctly
-- PR5475: Wrapper script for interpreted LablTk wrongly handles command line parameters
-- PR5461: Double linking of bytecode modules
- PR#5498: Unification with an empty object only checks the absence of
- the first method
+ the first method
- PR#5503: error when ocamlbuild is passed an absolute path as build directory
- PR#5509: misclassification of statically-allocated empty array that
falls exactly at beginning of an otherwise unused data page.
@@ -87,14 +112,18 @@ Bug Fixes:
- PR#5511: in Bigarray.reshape, unwarranted limitation on new array dimensions.
- PR#5513: Int64.div causes floating point exception (ocamlopt, x86)
- PR#5516: in Bigarray C stubs, use C99 / GCC flexible array types if possible
+- problem with printing of string literals in camlp4 (reported on caml-list)
+- emacs mode: colorization of comments and strings now works correctly
Feature wishes:
- PR#352: new option "-stdin" to make ocaml read stdin as a script
+- PR#4444: new String.trim function, removing leading and trailing whistespace
+- PR#4898: new Sys.big_endian boolean for machine endianness
- PR#5199: tests are run only for bytecode if either native support is missing,
or a non-empty value is set to "BYTECODE_ONLY" Makefile variable
-- PR#5297: compiler now checks existence of builtin primitives
- PR#5236: new '%revapply' primitive with the semantics 'revapply x f = f x',
and '%apply' with semantics 'apply f x = f x'.
+- PR#5297: compiler now checks existence of builtin primitives
- PR#5329: (Windows) more efficient Unix.select if all fd's are sockets
- PR#5358: first class modules don't allow "with type" declarations for types
in sub-modules
@@ -105,7 +134,11 @@ Feature wishes:
- PR#5454: Digest.compare is missing and md5 doc update
- PR#5467: no extern "C" into ocaml C-stub headers
- PR#5478: ocamlopt assumes ar command exists
-- PR#5479: Num.num_of_string may raise an exception, not reflected in the documentation.
+- PR#5479: Num.num_of_string may raise an exception, not reflected in the
+ documentation.
+- ocamldebug: ability to inspect values that contain code pointers
+- ocamldebug: new 'environment' directive to set environment variables
+ for debugee
Shedding weight:
* Removed the obsolete native-code generators for Alpha, HPPA, IA64 and MIPS.
@@ -113,6 +146,9 @@ Shedding weight:
longer part of this distribution. It now lives its own life at
https://forge.ocamlcore.org/projects/camldbm/
+Other changes:
+- Copy VERSION file to library directory when installing.
+
OCaml 3.12.1:
-------------