From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 4B5517EEBF for ; Wed, 17 Jun 2015 21:45:01 +0200 (CEST) X-IronPort-AV: E=Sophos;i="5.13,634,1427752800"; d="scan'208";a="136705635" Received: from mail-yk0-f181.google.com ([209.85.160.181]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 17 Jun 2015 21:45:00 +0200 Received: by ykdr198 with SMTP id r198so49140204ykd.3; Wed, 17 Jun 2015 12:44:59 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.13.236.18 with SMTP id v18mr9043007ywe.157.1434570299231; Wed, 17 Jun 2015 12:44:59 -0700 (PDT) Received: by 10.37.215.83 with HTTP; Wed, 17 Jun 2015 12:44:59 -0700 (PDT) Date: Wed, 17 Jun 2015 15:44:59 -0400 Message-ID: From: Damien Doligez To: caml-list@inria.fr, caml-announce@inria.fr Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Caml-list] OCaml release 4.02.2 Dear OCaml users, We have the pleasure of celebrating the birthdays of Cesar-Francois Cassini, Igor Stravinsky and Maurits Cornelis Escher by announcing the release of OCaml version 4.02.2. This release has a few new features and a lot of bug fixes, see the list of changes below. It is available: - as source code: < http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02.2.tar.gz > - as an OPAM switch: "opam switch 4.02.2" We would like to take the opportunity to thank all the third-party packagers who make this easy to install for end users. Happy hacking, -- Damien Doligez for the OCaml team. OCaml 4.02.2: ------------- (Changes that can break existing programs are marked with a "*") Language features: - PR#6583: add a new class of binary operators with the same syntactic precedence as method calls; these operators start with # followed by a non-empty sequence of operator symbols (for instance #+, #!?). It is also possible to use '#' as part of these extra symbols (for instance ##, or #+#); this is rejected by the type-checker, but can be used e.g. by ppx rewriters. (Alain Frisch, request by Gabriel Radanne) * PR#6016: add a "nonrec" keyword for type declarations (J=C3=A9r=C3=A9mie Dimino) Compilers: - PR#6600: make -short-paths faster by building the printing map incrementally (Jacques Garrigue) - PR#6642: replace $CAMLORIGIN in -ccopt with the path to cma or cmxa (Peter Zotov, Gabriel Scherer, review by Damien Doligez) - PR#6797: new option -output-complete-obj to output an object file with included runtime and autolink libraries (Peter Zotov) - PR#6845: -no-check-prims to tell ocamlc not to check primitives in runtime (Alain Frisch) - GPR#149: Attach documentation comments to parse tree (Leo White) - GPR#159: Better locations for structure/signature items (Leo White) Toplevel and debugger: - PR#5958: generalized polymorphic #install_printer (Pierre Chambart and Gr=C3=A9goire Henry) OCamlbuild: - PR#6237: explicit "infer" tag to control or disable menhir --infer (Hugo Heuzard) - PR#6625: pass -linkpkg to files built with -output-obj. (Peter Zotov) - PR#6702: explicit "linkpkg" and "dontlink(foo)" flags (Peter Zotov, Gabriel Scherer) - PR#6712: Ignore common VCS directories (Peter Zotov) - PR#6720: pass -g to C compilers when tag 'debug' is set (Peter Zotov, Gabriel Scherer) - PR#6733: add .byte.so and .native.so targets to pass -output-obj -cclib -shared. (Peter Zotov) - PR#6733: "runtime_variant(X)" to pass -runtime-variant X option. (Peter Zotov) - PR#6774: new menhir-specific flags "only_tokens" and "external_tokens(Foo= )" (Fran=C3=A7ois Pottier) Libraries: - PR#6285: Add support for nanosecond precision in Unix.stat() (J=C3=A9r=C3=A9mie Dimino, report by user 'gfxmonk') - PR#6781: Add higher baud rates to Unix termios (Damien Doligez, report by Berke Durak) - PR#6834: Add Obj.{first,last}_non_constant_constructor_tag (Mark Shinwell, request by Gabriel Scherer) Runtime: - PR#6078: Release the runtime system when calling caml_dlopen (J=C3=A9r=C3=A9mie Dimino) - PR#6675: GC hooks (Damien Doligez and Roshan James) Build system: - PR#5418 (comments) : generate dependencies with $(CC) instead of gcc (Damien Doligez and Michael Gr=C3=BCnewald) - PR#6266: Cross compilation for iOs, Android etc (Peter Zotov, review by Damien Doligez and Mark Shinwell) Installation procedure: - Update instructions for x86-64 PIC mode and POWER architecture builds (Mark Shinwell) Bug fixes: - PR#5271: Location.prerr_warning is hard-coded to use Format.err_formatter (Damien Doligez, report by Rolf Rolles) - PR#5395: OCamlbuild mishandles relative symlinks and include paths (Damien Doligez, report by Didier Le Botlan) - PR#5822: wrong value of Options.ext_dll on windows (Damien Doligez and Daniel Weil) - PR#5836, PR#6684: printing lazy values in ocamldebug may segfault (Gabriel Scherer, request by the Coq team) - PR#5887: move the byterun/*.h headers to byterun/caml/*.h to avoid header name clashes (J=C3=A9r=C3=B4me Vouillon and Adrien Nader and Peter Zotov) - PR#6281: Graphics window does not acknowledge second click (double click) (Kyle Headley) - PR#6490: incorrect backtraces in gdb on AArch64. Also fixes incorrect backtraces on 32-bit ARM. (Mark Shinwell) - PR#6573: extern "C" for systhreads/threads.h (Micka=C3=ABl Delahaye) - PR#6575: Array.init evaluates callback although it should not do so (Alain Frisch, report by Gerd Stolpmann) - PR#6607: The manual doesn't mention 0x200 flag for OCAMLRUNPARAM=3Dv (Alain Frisch) - PR#6616: allow meaningful use of -use-runtime without -custom. (Peter Zotov) - PR#6617: allow android build with pthreads support (since SDK r10c) (Peter Zotov) - PR#6626: ocamlbuild on cygwin cannot find ocamlfind (Gergely Szilvasy) - PR#6628: Configure script rejects legitimate arguments (Michael Gr=C3=BCnewald, Damien Doligez) - PR#6630: Failure of tests/prim-bigstring/{big,}string.ml on big-endian architectures (Pierre Chambart, testing by Mark Shinwell) - PR#6640: ocamlbuild: wrong "unused tag" warning on "precious" (report by user 'william') - PR#6652: ocamlbuild -clean does not print a newline after output (Damien Doligez, report by Andi McClure) - PR#6658: cross-compiler: version check not working on OS X (Gerd Stolpmann) - PR#6665: Failure of tests/asmcomp on sparc (St=C3=A9phane Glondu) - PR#6667: wrong implementation of %bswap16 on ARM64 (Xavier Leroy) - PR#6669: fix 4.02 regression in toplevel printing of lazy values (Leo White, review by Gabriel Scherer) - PR#6671: Windows: environment variable 'TZ' affects Unix.gettimeofday (Mickael Delahaye and Damien Doligez) - PR#6680: Missing parentheses in warning about polymorphic variant value (Jacques Garrigue and Gabriel Scherer, report by Philippe Veber) - PR#6686: Bug in [subst_boxed_number] (J=C3=A9r=C3=A9mie Dimino, Mark Shinwell) - PR#6690: Uncaught exception (Not_found) with (wrong) wildcard or unificat= ion type variable in place of a local abstract type (Jacques Garrigue, report by Mikhail Mandrykin) - PR#6693 (part two): Incorrect relocation types in x86-64 runtime system (Peter Zotov, review by Jacques-Henri Jourdan, Xavier Leroy and Mark Shin= well) - PR#6717: Pprintast does not print let-pattern attributes (Gabriel Scherer, report by Peter Zotov) - PR#6727: Printf.sprintf "%F" misbehavior (Beno=C3=AEt Vaugon, report by Vassili Karpov) - PR#6747: ocamlobjinfo: missing symbol caml_plugin_header due to underscore (Damien Doligez, Maverick Woo) - PR#6749: ocamlopt returns n for (n mod 1) instead of 0 (Mark Shinwell and J=C3=A9r=C3=A9mie Dimino) - PR#6753: Num.quo_num and Num.mod_num incorrect for some negative arguments (Xavier Leroy) - PR#6758: Ocamldoc "analyse_module: parsetree and typedtree don't match" (Damien Doligez, report by user 'maro') - PR#6759: big_int_of_string incorrectly parses some hexa literals (Damien Doligez, report by Pierre-yves Strub) - PR#6763: #show with -short-paths doesn't select shortest type paths (Jacques Garrigue, report by David Sheets) - PR#6768: Typechecker overflow the stack on cyclic type (Jacques Garrigue, report by user 'darktenaibre') - PR#6772: asmrun/signals_asm.c doesn't compile on NetBSD/i386 (Kenji Tokudome) - PR#6775: Digest.file leaks file descriptor on error (Valentin Gatien-Baron) - PR#6779: Cross-compilers cannot link bytecode using custom primitives (Damien Doligez, request by Peter Zotov) - PR#6787: Soundness bug with polymorphic variants (Jacques Garrigue, with help from Leo White and Gr=C3=A9goire Henry, report by Michael O'Connor) - PR#6790: otherlibs should be built with -g (Damien Doligez, report by Peter Zotov) - PR#6791: "%s@[", "%s@{" regression in Scanf (Beno=C3=AEt Vaugon) - PR#6793: ocamlbuild passes nonsensical "-ocamlc ..." commands to menhir (Gabriel Scherer, report by Damien Doligez) - PR#6799: include guards missing for unixsupport.h and other files (Andreas Hauptmann) - PR#6810: Improve documentation of Bigarray.Genarray.map_file (Mark Shinwell and Daniel B=C3=BCnzli) - PR#6812: -short-paths and -no-alias-deps can create inconsistent assumpti= ons (Jacques Garrigue, report by Valentin Gatien-Baron) - PR#6817: GADT exhaustiveness breakage with modules (Leo White, report by Pierre Chambart) - PR#6824: fix buffer sharing on partial application of Format.asprintf (Gabriel Scherer, report by Alain Frisch) - PR#6831: Build breaks for -aspp gcc on solaris-like OSs (John Tibble) - PR#6836: Assertion failure using -short-paths (Jacques Garrigue, report by David Sheets) - PR#6837: Build profiling libraries on FreeBSD and NetBSD x86-64 (Mark Shinwell, report by Michael Gr=C3=BCnewald) - PR#6841: Changing compilation unit name with -o breaks ocamldebug (Jacques Garrigue, report by Jordan Walke) - PR#6843: record weak dependencies even when the .cmi is missing (Leo White, Gabriel Scherer) - PR#6849: Inverted pattern unification error (Jacques Garrigue, report by Leo White) - PR#6857: __MODULE__ doesn't give the current module with -o (Jacques Garrigue, report by Valentin Gatien-Baron) - PR#6862: Exhaustiveness check wrong for class constructor arguments (Jacques Garrigue) - PR#6869: Improve comment on [Hashtbl.hash_param] (Mark Shinwell, report by Jun Furuse) - PR#6870: Unsoundness when -rectypes fails to detect non-contractive type (Jacques Garrigue, report by Stephen Dolan) - PR#6872: Type-directed propagation fails to disambiguate variants that are also exception constructors (Jacques Garrigue, report by Romain Beauxis) - PR#6878: AArch64 backend generates invalid asm: conditional branch out of range (Mark Shinwell, report by Richard Jones, testing by Richard Jones and Xavier Leroy, code review by Xavier Leroy and Thomas Refis) - PR#6879: Wrong optimization of 1 mod n (Mark Shinwell, report by Jean-Christophe Filli=C3=A2tre) - PR#6884: The __CYGWIN32__ #define should be replaced with __CYGWIN__ (Adrien Nader) - PR#6886: -no-alias-deps allows to build self-referential compilation units (Jacques Garrigue, report by Valentin Gatien-Baron) - PR#6889: ast_mapper fails to rewrite class attributes (S=C3=A9bastien Briais) - PR#6893: ocamlbuild: "tag not used" warning when using (p)dep (Gabriel Scherer, report by Christiano Haesbaert) - GPR#143: fix getsockopt behaviour for boolean socket options (Anil Madhavapeddy and Andrew Ray) - GPR#190: typo in pervasives (Guillaume Bury) - Misplaced assertion in major_gc.c for no-naked-pointers mode (Stephen Dolan, Mark Shinwell) Feature wishes: - PR#6452, GPR#140: add internal suport for custom printing formats (J=C3=A9r=C3=A9mie Dimino) - PR#6641: add -g, -ocamlcflags, -ocamloptflags options to ocamlmklib (Peter Zotov) - PR#6693: also build libasmrun_shared.so and lib{asm,caml}run_pic.a (Peter Zotov, review by Mark Shinwell) - PR#6842: export Typemod.modtype_of_package (Jacques Garrigue, request by Jun Furuse) - GPR#139: more versatile specification of locations of .annot (Christophe Troestler, review by Damien Doligez) - GPR#157: store the path of cmos inside debug section at link time (Hugo Heuzard, review by Damien Doligez) - GPR#191: Making gc.h and some part of memory.h public (Thomas Refis)