diff options
Diffstat (limited to 'Changes')
-rw-r--r-- | Changes | 54 |
1 files changed, 45 insertions, 9 deletions
@@ -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: ------------- |