From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: plum.tunbury.org; dkim=pass (1024-bit key; unprotected) header.d=inria.fr header.i=@inria.fr header.a=rsa-sha256 header.s=dc header.b=OCP8cVzs; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=polytechnique.org header.i=@polytechnique.org header.a=rsa-sha256 header.s=svoboda header.b=G1SDxjPj; dkim-atps=neutral Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=192.134.164.83; helo=mail2-relais-roc.national.inria.fr; envelope-from=caml-list-owner@inria.fr; receiver=tunbury.org Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by plum.tunbury.org (Postfix) with ESMTPS id 4234E400C5 for ; Tue, 28 Oct 2025 13:31:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:date:message-id:mime-version:subject:reply-to: sender:list-id:list-help:list-subscribe:list-unsubscribe: list-post:list-owner:list-archive; bh=DvEMj8U4NpA/vgjPdqIOUjven+Ve/5bpBLOTzbi3sHg=; b=OCP8cVzsAHS/vMXt1iVoc0BVKMn8vBu23fbCwrX1Nc89mVPq6LCF+BAG KaJ1/ATEtYiXrGrozOfIz7z0lcHWw+ElL8+PoGChRgA9VhqaMd4OCXSW2 0ybcO7Tod6OyD53CgBMTxRk/jyP2XyhGH2Z3wF6fAFtN5IJtoTGr4ATNk M=; X-CSE-ConnectionGUID: 7vXoCF0BTe2Eg8/0NEulRQ== X-CSE-MsgGUID: ZZaPylxWSpqkik/xdjYgpQ== Received-SPF: Pass (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr designates 128.93.162.160 as permitted sender) identity=mailfrom; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="caml-list-owner@inria.fr"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 include:mailout.safebrands.com a:basic-mail.safebrands.com a:basic-mail01.safebrands.com a:basic-mail02.safebrands.com ip4:128.93.142.0/24 ip4:192.134.164.0/24 ip4:128.93.162.160 ip4:128.93.162.3 ip4:128.93.162.88 ip4:89.107.174.7 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only Authentication-Results: mail2-relais-roc.national.inria.fr; spf=Pass smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@sympa.inria.fr; dkim=hardfail (body hash did not verify [final]) header.i=@polytechnique.org X-IronPort-AV: E=Sophos;i="6.19,261,1754949600"; d="scan'208,217";a="246512429" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 28 Oct 2025 14:31:02 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id B99BAE0CD8; Tue, 28 Oct 2025 14:31:01 +0100 (CET) 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 55EBCE0172 for ; Tue, 28 Oct 2025 14:30:56 +0100 (CET) X-CSE-ConnectionGUID: 5y3egpJYR7SCVZVBS1oqgQ== X-CSE-MsgGUID: VPTNmJNcRFOvc0Lh7w7aqQ== IronPort-SDR: 6900c58f_v2LbCAE5OUXFJj6q0cLzqx1IZNiH15n+SetWiMu4NcikUz0 16zT3xEX26TEc7lzlGpde8ht15GdsoiLEQjgBSQ== X-ThreatScanner-Verdict: Negative X-IPAS-Result: =?us-ascii?q?A0EXBQAUxABpdyIeaIFagluBO4EDGQFoXjMHCEmEVYNPj?= =?us-ascii?q?iSaGIIwgWmBLBYbHQEDAQ0uARUKAQIEAQEDAQIBhQCMUQIfBgEENBMBAgQBA?= =?us-ascii?q?QEBAwIDAQEBAQEBAQEBDQEBBQEBAQIBAQIEBgECEAFDSYZPDUkBDAGBblFxY?= =?us-ascii?q?QQDBjcBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QECBAgBQmUKEwEBOBgjAxAEBwMCEQE1AwETARIagmmCIAICTwMEAQwGlnabT?= =?us-ascii?q?HqBMoEBggwBAQaBCD4DCwICQAHaDIFkCYFKhW2CShoBKklrAoRHhD0nD4FVR?= =?us-ascii?q?IQOb4I/BAcXAgEBGH4mAQEGBEODLoJpgiZ6FB2GDIJ2gTOGDGEGhnKBRCIDJ?= =?us-ascii?q?jMsAVUTFwsHBVuBCAMqNC1uMh2BJ0EYc4EUg0kPEmgPBoESg1OJMQ+IWgMLb?= =?us-ascii?q?T03FBuUBkIZLIFbJg44BgE9Fg4TGgEpAiI2CCUECCMcGBovAQsLApMHKCoDs?= =?us-ascii?q?UqBCjQHhB+BXgYMiQiBJpYGhASBV4s8hwKSUiKYZCKCNkCGZwqBHAmBb2uVY?= =?us-ascii?q?IVZgX8jgUkMBzMaMEOCZwlGHA+SIYE+gSaBdDt9xQNCNQEBAQE4AgcBCgEBA?= =?us-ascii?q?wmFRR0BAYlNgjoQFwyBSwEB?= IronPort-PHdr: A9a23:L8c1YRLkzMXgMMmhu9mcuBRoWUAX0o4c3iYr45Yqw4hDbr6kt8y7e hCEvrM10BSQA92KtboE07OQ7/u7HzRboN6oizMrTt9lb1c9k8IYnggtUoauKHbQC7rHSRJ/N +l5EGFfwnegLEJOE9z/bVCB6le77DoVBwmtfVEtfre9FYHdldm42P6v8JPPfQpImCC9YbRvJ xmqsAndrMYbjIVsJ6or1hfErXREd/lXyG90IV+engv36sOs8JJ+6ShdtPws+sBaXanmcak0S KFTASg7PWwy+MDkuh7PQBeV6HABSGsWiB1IAwbE7BH+QJj8tzbxu/R+1ieHI8D4VKg4Vzu64 ahkURPlligJOSMh/G7YlsJ/gqRboAm8pxNk2I7bfJuVNPtlcazDe94RWHdMUdxQVyxFBYO8c pcPAu8cNutWs4Xxu10Dpga5CgexGePv0SdIiWHq0q0m3eohFgTG0xYhH9IIrX/YqNr4OaMXX e2z0aLGzyjMb+lO1Dn99obGbx4vr/KDUr1sasfe01UjGhnfg1mMtYDoPTWY3fkNvWiB6OpgU PqihnIjqw5rpDik29oihZXJhoIQy1DE6Tl5y5syKNKiTE50e9ikHIFLty6GN4t2R8IiQ310u Csh0r0Gvpq7fSgWyJs52xHfa/qHc4mR4hL+SumdOzB4hGhqeL+mgRu57EevxPHmWMauzFZKs jRKksPKtn0V2RLe68aJR/Rj8kmhxTuC1A7d5/xKL0womqTXNZ4vzLE+m5cSsUrNECH4lFn1g aKXdkgp++el5erjb7j4qZGQK4l5gRzwPKQpn8ywG+U4Mg4WUmiD5+u8yLzj/VHnT7VSif02l 6zZv47AKcQduKG5HxdZ0oE/5BmlCjem1M4UnX4dLFJKYB6HgInpO03OIPDlFvizmUijkDBux /zeMb3hA4nNLnjekLj6Z7px8VJTyA02zdxH5pJUDKoBIO7pVU/1sNzUFAQ5Mwysz+boCdV9y oMeWX+UDaODMaPStkeE6vwzL+WSZIIZoSvxJ+Q86/LwgnI1gFgdfbe30psNdnC4H+ppIkuAb XXwg9cNCH0FvhYiTOP0k12CTSRcZ2qzX6I74DE7E5iqDYLeSYy1h7yOwD20HphSZmxcEFyMF m3od4qcV/cCdi2dONVhkjIZVbilUoMh0gyhuxLhy7Z9NOrU/TEXtZH41NRt5+zTkgwy9SBpD 8uGzW6BVX17nmQNRzMu3aB/p1Z9ylaZ3qRijfxYD9pe7O5KXAciLZPQ0vJ2BtToVg7cYtuER 0yqT9u6DT0rQN88zMcCbkh/Ftm4kxzO3i6nD6URmrCRB5E47qTR1GXrKcln0XbJzqwhgkEmQ sRRMW2mgbZy9w3cBoLUiUmZj6GqdaAc3S7R6miM0WqOvEdZUA5pTKXKQ2oTZkzMrdT2/k/CT rmuBqo7MgZZ1MKONK9HZsf0gVlaS/rvItrTb36rl2q+ChuE3raMY5Dre2UZ0iXdEk8EkwUL8 HibKQYwGzutrnreDTFyF13jf1vh/Ol+pn6jVk80yAWKbk1917Wr5hEVhfqcS/IK3rIZpigts TJ0HEyy39/OEdWAoxBufKNGbdMm/FhH1WfZtw1hPpy8NK1tnVkecxlxv0zyyRp3EZ9Mkc0lo XIl1gZyLriY0FxZezOCwZ/wIqHXKnX1/B23d6HZwFTe0NKP9qcL6fQ4sEnjsRqyFksi9nVny 8Na32Gd5pXMFgoSUIj+Xlw59xhgv73aZDIy6JvO1XJwKam0riPC29UxCec40hqgcMlQMKSHG gHoC8AUB9SgJPQwm1e3cBIKP/pc+bYxP8KpaveKwrarPOFknDOmkWRI/pxy0kKK9yp9U+7Iw ogKz+uf3gudWDfwlEqussP2mYBBfTwcBmWxxib6CoBNeqB8e54HBnqrI8Kt3NVxm4bgVWZB+ lC7CF0KwNSpeQKcb1HlxwNdyVkZr2G/lSuj1zx0nSkmrqqB0yzKxOTvbAAJN3JWSmd/3h/QJ t3+i88cFgD8axcvvB+64wD8yrQN4Ox0JmzXBENJZDTeLmd4U6L2uKDRTdRI7cYBtSxRGN+3Y VWbVqK19xIe2iWlBGBewTEnaxmyvZHogxFxiGScNWt+6n3Ddpcjll/k+NXASKsJjXI9Ty5ih GyLVzBUXvGs9NSQzNLYt/ymEnmmTttVeDXqyoWJsG2643drCFuxhaP7gcXpRC491yKzzNx2T WPQth+pa43i0eKhOuJif1V0LEf779tmF4p+lIopmZxW3mIV1d2O5XRSqW7oKp1A3L7mKn8ER DoF2dnQtTPf4xU2P1u4n9ekeCCFxc9we9SxYmUXwz8wqcdQB/Kd6LVC2zB+ol+5sR75a/9gm DwQ0r0rtG5chPsG60I21ivIOrkJBgFDODD00RSF69frtKJMeGOmaqS9zmJ7jYnnFLaGsx1RU 3b/e44/EGl39MoX3Evk9nr158mkfdDRaYlWrRiIi1LbiPATLpstl/0MjC4hOGTnvHRjxfRpx RpplYq3uoSKMQAPtOqwHwJYOzvpZsgS5iCljKBQmdyT1pyuGZMpEysCXZ/hR/alWDwIsvGvO wGLGTw64nCVfNiXVQab4UEgtHnPFpG3K1mPI30I0dhpRB+cPVFSxgcOU3Ryn5I0EByr2N20a F1wtVVzrhbzrhpBzP4tNgGqCz2O4l7wNnFvEN7EcEkzjEkK/UrePM2A4/gmGihZ+sbktwmRM imAYBwOC2gVW0uCDlSlP7+05NCG/fLLY4j2Z/bIf7iKrvRTEvmSwpf6mLBcxG7ZJ+y+Ziw/I agj3U5SQX1yG8LYgigCDSsNmHfEa8ed4gy3+ih2styX+vP2Xgni/s2KV6sUNs9gsUPT4+/LJ 6uLiSB1JCwNnJoIzHmO07Mf2V8Olwl2cD28DbkLtSjMVb/d3KhNAFRIDkE7fNsN5KU60A5XP Mfdgd6gzb90gMk+DFJdXEDgkMWkDSATC1m0L0iPREOCNbDdYCbO39myeqSkD7tZkORTsRS0/ zedCU7qeDqZxXHlUBWmMOcEiy/+XlQWg7uGKkN8IFm7GY/IPwW8NM5rgDY2x7wtm36MMnQTZ DF4ekULtbaQ6CJEnt11HHFH5Xd+a+zYi2Ce9ea9SN5evfZwAytynv5X+zxjkeoTtXkYAqct3 nCO5td160mriOyO1iZqXFJVpzBHiZjK2CcqcaTV+59cWGrVqRcE7GGeERMP9JNuDtzivbwVy 8Cazfiibm4ar5SPpY1HW5uxSorPKncqPBv3FSSBCQIESWXuLmTDnwlGl+nU8HSJr588o5yqm ZwUS7YdWkZmc5FSQkljAtEGJ496Gz0+lrvOxvUy3iLrvTDgHJAHkMXfUfaDHfjkKDCYlKRJI RwSzubxKY0VcJbw20ljdkVSloPXHUHdRpZI/j0naRU76hYokjA2Xigo1kTpZxn4qkQpLqbhj zcH0l4jT7E18zP9/1o8JlzLvTY91k4rloDshTmXNiX6LKKxQZ1+AS3psUM8KdX+HxYzahe91 x8BVn+MV/daiL1ucnpugQnXtM5UGPJSeqZDZQcZ2fCdY/h7mUQZsCiswlVLoPfUEZY33hV/a oai9jgTvmArJM5wP6HbI7BFi0Rdlr7b9DH9zfg/mUddJl5RojrIKWhR4BBObeFgfHbgve10t V7bwWoFITBQEaFy5Kk3kyF1c6eB136ygucFcxrocbLFafrB5CCDlNbWEAlojhpayxBJpep/g 5gqfhfGBR4jk+vDTE9sV4KKagBNMZgIrCCKL3rXvb2fmMAkY4mwRLK3FrGC5vlI3RrsWQ8tG 85kAt0pJpC3ywmYKM7mKOVA0hAx/EHwI03DCv1VeRWNmTNBoselzZYx05MPbj0aBGx8N22w6 NO17kcyh+GfWd4tfnoAdo4UbzQuX8mrhyNSv3JBFSS6lOUDx0CO4iT9qSLZEDTnJ4M5NbHNP U8qU4nwoml3+rPT6xaf6pjEImDmKdlu8sTC7+8XvdfPCv9ZS6V8r1aJm4RcQC/iWGrOHNipY pnoPtB2PJqtUir8CQT50G5mKqW5dMygJaWJnwzyEINdsY3AmSsmKdf4DTYGXRF5u+AE4qt4I wwFeZsyJxDy5GFcf+SyJhmV1tK2TiOjMzxTGrNk997iMq1+/nJ5M8Hv0HwkX403xOmx8FcQS dcNlB6LzPKqYc9FWij2G2BBUw/IuCwymnMnM7oihOAlz1mb1DtUeyDOb+FvZGFe6pskAkiOJ HxtFmcib1qM1Mzb5Qq9w70Z/y1chstZl+pfvzKt2/2XKCLpU6utp5LPtiMmZtVzuKx9P7voJ c6evY/flDjSH9HA9xeIWymgG79Gi8BddWhGFeJQlzhvaqlk8cJRrFA8XcAkK/lTBbkw8/q0P CF8A3daxGdcXoeEllTqY8+5y+KcjhCUYYgvOxwCsYxfj50aSSEkO0v2QYe7UIHHi2KPSm4KO RoeqwNW61BY/mefVuri/YzDQYQKzmJG5fVuXXmSfqQ= IronPort-Data: A9a23:S3VEyKiu3YgHkNpb/NO9NNJtX161qBQKZh0ujC45NGQN5FlHY01je htvX22HPq7YamKmfYsib46woUhVv5bcz4M2QFQ5+ypjRH9jpJueD7x1DG+gZnLIdpWroGFPt phFNIGYdKjYaleG+39B55C49SEUOZmgH+e6VaidfHgsGGeIcQ954Tp7gek1n4V0ttawBgKJq LvartbWULOf82cc3lk8teTa+XuDgNyo4GlF5wRkNagQ1LPjvyB94Kw3dfnZw0TQGdE88t6SH 47r0Ly/92XFyBYhYvvNuqr7aEADXonJNgGIjHdMM4D66vSVjnFaPg4TbZLwWG8P49m7t4gZJ OZl6fRcfTwU0pjkw4zxZfX3/xZWZsWq8JefSZS2XFf6I0fuKxMAyN02ZK060BFxFk+azgii+ NRBQA3hYCxviMrr0em2RfFOt/58F+LVDr01gShn1D7gWKNOrZDrG80m5PddzG52nsdKDOrTb MofaCNyYVLHeRIn1lU/Uchv2r7w2j+kK3sD9Dp5poJvi4TX5DdL6+C4IfPkIonXa5BNmUKJu m/N/2L4GwwXctuFxm+M9nuqwPTEnSb6RJ46Hrql8PVnmxuWmnxVDwcZPbe+iaDj2xXnBo0Hc ST4/AIQlZQU8W6NRePTeAOz+FqE4QFDUsNpRrhSBAalkfeIvV3GXgDoVAVpY9UjsIoyRCc2/ kSYmsvgQz1pqrycD3yHnop4thu3KXFTNWgGdDMJRgsD4sD+rcc0lB2nostf/LCd08yuFD7o4 QGw8xMVuYctp/VS0Ly0xAWS696znaQlWDLZ8S35ZAqYAu5RYZ78IZSv7UnH4P1AKoeAU1THu 2IL8yR/0AzsJc/S/MBuaLxTdF1M2xpjGGaF6bKIN8J7nwlBA1b5IehtDMhWfS+FyProhgMFk GeI5F8Pv8ALVJdbRaJ8ZIa8Q9wtybn8GN/lUPHNc9cGb4BqfxfvwRyCkXW4hji3+GB1yPFXB HtuWZ/9ZZrsIf02lGLuLwrcuJd3rh0DKZT7HsqikEr/j+TFPxZ4i94taTOzUwzw14vcyC29z jqVH5LiJ8x3AbymMBrEu5UeN04LJnUdDJX74Z4fPO2aLwYsXClrB/bNyPlzM8ZojoZEpNfup 3udY05/zEagpHvlLQ7RVGtvRomyVrlCrFU6HxcWA3CW51YZb7ySsZgvL6kMQeF/9chI7+JFc P0eSsDRXtVNUmvm/hoeX7ncratjVhWh3jyTDnCbchw6J8ZtbFHX8drvfy/E1ioHPgyov+QQ/ pyi0QL6R8IYZgJAVcz5VtOm/2mTj1M8xt1gfhLvDIFIWUPO9INKFXTAvsUvKZtRFSSZlyqo6 QmGJDw5+8/PmtYR2/vUj/mmq4yJLbNPLnBCFTOG0YfsZDjoxUv984puS+3SQCv8Ulnz86CcZ el46fHwHfkEvVRSubpHDLdZ4vMi1uTruoNl4FxoLFfTY3SvL4FQEH2M8M1Ml69Kn5tymw+9X GCR8dh7Z5SNHu7YE2AqGQl0VdTbiMkomQTT488lf2T8xit8p4ScXWtoYhKjtS16LZlOCr0D/ 9sPgsAtxjKatgsLKfeD1yBdyHSNJCcPUoIhrZArP7XogQsKlHBHOMD5MXLp6sufNtljDEsjD WKMj5r8g5BZl1vwYlsoNH33xeEGr48/iBNL614jJlqyhdvOgMEs7iBR6TgaSgd0zA1N9vBaY 0xHFhRSC/2V3jFKgMNjYTidKztZDkfExn2rmko7qmLJamKJCErPFTQZEsSQ9hk792l8QGBqz IuAwjy4bQewLdDD5Qpsa0tLsPe5cMdQ8DfFk8WZH8ioOZk2TD7mo622b1oztBrVLpIttXLDu NVV0r58WY/jOQ4Uhp8LOY2Q+LATaRKDfUhpY/Vq+oEXFmD9JhC2/xWzKH6KR8AcHMySrHeEC PFvKPlfCDW49iKF9Q4ACYA2frRbof8O5fg5QI3NG1IoibWkgwBSgMrizRSm3G4PaPdyoPk5M bLUJm6jEHTPpH56mF3tjchjO0ina4MUOQHT4uK837gRHKI9tMVpIFAAw5qvnnCvKAA81Qmlj ADCQK73zuJZ1oVnmbX3IJhDHwmZLdDSVvyC1QKO7+R1ctLENPnRuzMvqlXIOxpcOZ0TUY9Vk YuhncHW3kSfmpoLSEHcxoe8EpdW6fWIXOZ4Ntz9KF9Yl3CgXO7u+x4yxHCqG6dWkd9y5tiVe CXgUZGeLeUqYtZ6wGFZTwN8EBxHUqT+UfrGlBOH9v+JDkAQ7BzDINaZ7kTWVGB8dBITGpjAG wTx6ueP5NdZkdx2PyU6JcpaWr12HFyyfpEdVYzBhWHNRC3gyFaPoaDrmhcc+CnGQCvMWtrz5 ZXeAAPyblKusaXP18tUqJF2ogZRNntmnO0sZQgIzraaUdxh4LIudozx8KnqC624VgT3xMi+f DbJfXcvAiX7XC1ZfFP7+tuLssK3GLkVItmgTtA21xr8Vst0LNro7HhdGuNI6XBrfDDu16eid cFY/Wf/VvR06o88Xv4dv5RXns8+rs43BRs0FYTVi8v2EgoTCrUM1WV8EUxKTyOv/wQhUqnUD TBdeF2oi31XhaI8/QiMtpKV9NwkUOvT8ggV IronPort-HdrOrdr: A9a23:O37Ke638fZUra9zpOeB9wAqjBI8kLtp133Aq2lEZdPU1SL36qy nKpp4mPHDP5gr5NEtMpTniAsm9qBHnlKKdiLN5VdyftWLd11dAQrsP0aLShxXeXwf++uRe2a oISdkdNPTASX5gg4Lf6Am8euxQpOVvHZrY4Nvj8w== X-Talos-CUID: 9a23:gYgqvmG10XfIWWJ9qmI65RUZFdgHQ0eC91zuEXGSMj9uUbKsHAo= X-Talos-MUID: 9a23:wnpShgtvgsuFXVtAEs2nugleEsJKxa+UJmcTms0iu5abaiVpAmLI X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.19,261,1754949600"; d="scan'208,217";a="129315702" X-MGA-submission: =?us-ascii?q?MDGo3/xMqChBPfqZuLhyQwLaNN0oCGhS2FnDyh?= =?us-ascii?q?TqbYqIDwjlMkfjs1gKa3UzGu19EZXCh8SU8P2D8EF6FxkcX7PAt5td/3?= =?us-ascii?q?yfiXNqcYr4pLKN3dYHhDPte+4mZQntATv9+5683smBiKOfJY43XsBe1e?= =?us-ascii?q?E1b88AOkvZQbhQG/2YzNpQVA=3D=3D?= Received: from mx1.polytechnique.org ([129.104.30.34]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Oct 2025 14:30:55 +0100 Received: from TM.local (unknown [37.169.9.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id 2B5761A316; Tue, 28 Oct 2025 14:30:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=polytechnique.org; s=svoboda; t=1761658254; bh=MdKToZNTGmx/li+uR0/Xf/qQwwPIlKJIX9M1//iFFnE=; h=From:To:Subject:Date:Message-ID; b=G1SDxjPjjtU7wkHBzWdmofdopVz5hXobfDPchj/1j5at7+ZU4igAFKz50XYyASrT7 J0UNxt69ix/YYBvE7eq3tU2nno8CQEtS0scK5XGyVetd7bbMTtR4FbkmjAu4AXwoC7 rAu293BdnN25MtizKKWVgy+1/CSiwXkSpnhdg3QM= From: Alan Schmitt To: "lwn" , caml-list@inria.fr Date: Tue, 28 Oct 2025 14:30:45 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-=-=" X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Tue Oct 28 14:30:54 2025 +0100 (CET)) X-Spam-Flag: Unsure, tests=bogofilter, spamicity=0.452553, queueID=835081A32D X-Org-Mail: alan.schmitt.1995@polytechnique.org Subject: [Caml-list] Attn: Development Editor, Latest OCaml Weekly News Reply-To: Alan Schmitt X-Loop: caml-list@inria.fr X-Sequence: 19393 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Here is the latest OCaml Weekly News, for the week of October 21 to 28, 2025. Table of Contents =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80 opam 2.5.0~alpha1 Release of Fmlib 0.6.0 MlFront 2.4.2.x Other OCaml News Old CWN opam 2.5.0~alpha1 =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90 Archive: Kate announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Hi everyone, We are happy to announce the first alpha release of opam 2.5.0. This version is an alpha, we invite users to test it to spot previously unnoticed bugs as we head towards the stable release. What=E2=80=99s new? Some highlights: =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2= =95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95= =8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C= =E2=95=8C=E2=95=8C=E2=95=8C =E2=80=A2 :high_speed_train: Speed up `opam update' up to 70%. Thanks to [@arozovyk], `opam update' now loads opam files incrementally, only parsing the files that have changed since the last time you called `opam update'. Before that, opam files in opam repositories were all loaded from the file system after an update if there was any change. The performance improvement of this change thus depends on how often you call `opam update' and what type of repository and OS you are using. ([#5824]) =E2=80=A2 :spiral_shell: Improved shell integration. A number of users ha= ve been hitting issues with opam's shell integration where parts of a previous environment was kept in the current environment, causing a number of issues. These can be triggered by, for example, nuking your opam root directory (by default `~/.opam' or `%LocalAppData%\opam'). For this particular case we are still working on a fix, but many other users have reported similar issues without nuking their root directory and in that case we believe to have fixed the majority of issues. ([dbuenzli/topkg#142], [#4649], [#5761]) =E2=80=A2 :spiral_shell:=C2=B2 We've also changed the default file to whi= ch `opam init' writes the opam shell integration to be `.bashrc' instead of the previous `.profile' or `.bash_profile' when `bash' is detected. Doing it this way prevents some issues with existing `.profile' files that source the `.bashrc' file and causing an infinite loop when opam asks users to ensure they source their `.bashrc' file in their `.profile' file. ([#5819], [#4201], [#3990]) =E2=80=A2 :shield: The opam install script now installs an appropriate `apparmor' profile on systems configured with `apparmor' (this is enabled by default on Ubuntu). This change is not strictly speaking related to this release as it is deployed for every version. ([#5968]) =E2=80=A2 :ocean: Many more UI additions and improvements, bug fixes, =E2= =80=A6 :open_book: You can read our [blog post] for more information about these changes and more, and for even more details you can take a look at the [release note] or the [changelog]. [@arozovyk] [#5824] [dbuenzli/topkg#142] [#4649] [#5761] [#5819] [#4201] [#3990] [#5968] [blog post] [release note] [changelog] Try it! =E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C=E2=95=8C The upgrade instructions are unchanged: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh) --v= ersion 2.5.0~alpha1" =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 or from PowerShell for Windows systems =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 Invoke-Expression "& { $(Invoke-RestMethod https://opam.ocaml.o= rg/install.ps1) } -Version 2.5.0~alpha1" =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Please report any issues to the [bug-tracker]. Happy hacking, <> <> The opam team <> <> :camel: [bug-tracker] Release of Fmlib 0.6.0 =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95= =90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90 Archive: Helmut announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 I have the pleasure to annouce the release of version 0.6.0 of `fmlib'. The main components of `fmlib' are 1. Web Applications in the Elm style 2. Pretty Printing 3. Combinator Parsing Documentation see [https://hbr.github.io/fmlib/odoc/index.html]. This release is mainly focussed on pretty printing and web applications. The new release has some breaking changes because some function names or function arguments have changed. The breaking changes can be easily fixed by looking into the documentation which contains all functions and the corresponding arguments. Web applications: =E2=80=A2 Single page applications are now fully supported. I.e. it is possible to manage several virtual pages in one application. The switching between the pages can be done by accessing the browser history. I.e. the user is capable of pressing back and forward buttons and the application remains the same. For an introduction to single page applications see [here]. An example of a single page application can be seen [here]. =E2=80=A2 Web applications can contain reference elements. These can be u= sed to optimize applications with really big doms (e.g. several hundreds or thousands of elements). Introduction to reference elements see [here]. A simple spreadsheet implemented as a web application can be found [here]. =E2=80=A2 Files on the local machine can be selected and loaded into the application. =E2=80=A2 Session and local storage of the browser can be used. Pretty Printing: A new algorithm based on Phil Wadler=E2=80=99s design is= used which makes the code more elegant, easy to read and fixes some bugs in the previous algorithm. The new algorithm is in a separate module `Pretty'. The old module `Print' is kept but will be removed in the next release. Combinator Parsing: As a convenience there are lexeme parsers which support languages with some standard syntax (like Haskell=E2=80=99s Parsec). Some bugfixes and minor additional functions. No breaking changes. [https://hbr.github.io/fmlib/odoc/index.html] [here] [here] [here] [here] MlFront 2.4.2.x =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90 Archive: jbeckford announced =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80 MlFront 2.4.2.30, a set of packages centered around language-agnostic build tooling, is available on opam. Changes include: =E2=80=A2 MlFront_Core: `FilePath.absolute' has flags to create Windows p= aths longer than 260-characters (`MAX_PATH'). =E2=80=A2 MlFront_ZipFile: Now has a `deterministic' mode when creating z= ip files. =E2=80=A2 MlFront_Cache: Now embeds the sqlite3 C library so you don=E2= =80=99t need pkg-config (etc.) to install it. =E2=80=A2 MlFront_Exec: Supports downloading attested (signed) binary pac= kages from GitHub. Confer with my article on GitHub attestations: =E2=80=A2 MlFront_Thunk: Its ThunkLexers and ThunkParsers include a JSONC parser that can be used to edit config files. Relies on the fmlib_parser library. I use it to autofix JSONC build files with correct checksums and file sizes. (Ping/reply if you would use it so I can separate it) Other OCaml News =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2= =95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90 >>From the ocaml.org blog =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Here are links from many OCaml blogs aggregated at [the ocaml.org blog]. =E2=80=A2 [Setting up Open Telemetry (OTel) with OCaml and Azure Monitor Integration] =E2=80=A2 [Hacking OCaml] [the ocaml.org blog] [Setting up Open Telemetry (OTel) with OCaml and Azure Monitor Integration] [Hacking OCaml] Old CWN =E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90 If you happen to miss a CWN, you can [send me a message] and I'll mail it to you, or go take a look at [the archive] or the [RSS feed of the archives]. If you also wish to receive it every week by mail, you may subscribe to the [caml-list]. [Alan Schmitt] [send me a message] [the archive] [RSS feed of the archives] [caml-list] [Alan Schmitt] --=-=-= Content-Type: text/html; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable OCaml Weekly News

OCaml Weekly News

Previous Week<= /a> Up Next Week

Hello

Here is the latest OCaml Weekly News, for the week of October 21 to 28, 202= 5.

opam 2.5.0~alpha1

Kate announced

Hi everyone,

We are happy to announce the first alpha release of opam 2.5.0.

This version is an alpha, we invite users to test it to spot previously unn= oticed bugs as we head towards the stable release.

What=E2=80=99s new? Some highlights:

  • :high_speed_train: Speed up opam update up to 70%. Thanks = to @arozovyk, opam update= now loads opam files incrementally, only parsing the files that hav= e changed since the last time you called opam update. Before t= hat, opam files in opam repositories were all loaded from the file system a= fter an update if there was any change. The performance improvement of this= change thus depends on how often you call opam update and wha= t type of repository and OS you are using. (#5824)
  • :spiral_shell: Improved shell integration. A number of users have been = hitting issues with opam's shell integration where parts of a previous envi= ronment was kept in the current environment, causing a number of issues. Th= ese can be triggered by, for example, nuking your opam root directory (by d= efault ~/.opam or %LocalAppData%\opam). For this = particular case we are still working on a fix, but many other users have re= ported similar issues without nuking their root directory and in that case = we believe to have fixed the majority of issues. (dbuenzli/topkg#142, #4649, #5761)
  • :spiral_shell:=C2=B2 We've also changed the default file to which opam init writes the opam shell integration to be .bashrc instead of the previous .profile or .bash_profile when bash is detected. Doing it this way prevents some i= ssues with existing .profile files that source the .bash= rc file and causing an infinite loop when opam asks users to ensure = they source their .bashrc file in their .profile = file. (#5819, #4201, #3990)
  • :shield: The opam install script now installs an appropriate appa= rmor profile on systems configured with apparmor (this = is enabled by default on Ubuntu). This change is not strictly speaking rela= ted to this release as it is deployed for every version. (#5968)
  • :ocean: Many more UI additions and improvements, bug fixes, =E2=80=A6

:open_book: You can read our blog post for more information about these changes and mor= e, and for even more details you can take a look at the release note or the changelog= .

Try it!

The upgrade instructions are unchanged:

bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh) --version 2.=
5.0~alpha1"

or from PowerShell for Windows systems

Invoke-Expression "& { $(Invoke-RestMethod https://opam.ocaml.org/insta=
ll.ps1) } -Version 2.5.0~alpha1"

Please report any issues to the bug-tracker.

Happy hacking, <> <> The opam team <> <> :camel:

Release of Fmlib 0.6.0

Helmut announced

I have the pleasure to annouce the release of version 0.6.0 of fmlib<= /code>. The main components of fmlib are

  1. Web Applications in the Elm style
  2. Pretty Printing
  3. Combinator Parsing

Documentation see h= ttps://hbr.github.io/fmlib/odoc/index.html.

This release is mainly focussed on pretty printing and web applications. Th= e new release has some breaking changes because some function names or func= tion arguments have changed. The breaking changes can be easily fixed by lo= oking into the documentation which contains all functions and the correspon= ding arguments.

Web applications:

  • Single page applications are now fully supported. I.e. it is possible t= o manage several virtual pages in one application. The switching between th= e pages can be done by accessing the browser history. I.e. the user is capa= ble of pressing back and forward buttons and the application remains the sa= me. For an introduction to single page applications see he= re. An example of a single page application can be seen here.
  • Web applications can contain reference elements. These can be used to o= ptimize applications with really big doms (e.g. several hundreds or thousan= ds of elements). Introduction to reference elements see here. A simple spreadsheet implemented as a web application can be found here.
  • Files on the local machine can be selected and loaded into the applicat= ion.
  • Session and local storage of the browser can be used.

Pretty Printing: A new algorithm based on Phil Wadler=E2=80=99s design is u= sed which makes the code more elegant, easy to read and fixes some bugs in = the previous algorithm. The new algorithm is in a separate module Pre= tty. The old module Print is kept but will be removed i= n the next release.

Combinator Parsing: As a convenience there are lexeme parsers which support= languages with some standard syntax (like Haskell=E2=80=99s Parsec). Some = bugfixes and minor additional functions. No breaking changes.

MlFront 2.4.2.x

jbeckford announced

MlFront 2.4.2.30, a set of packages centered around language-agnostic build= tooling, is available on opam. Changes include:

  • MlFront_Core: FilePath.absolute has flags to create Window= s paths longer than 260-characters (MAX_PATH).
  • MlFront_ZipFile: Now has a deterministic mode when creatin= g zip files.
  • MlFront_Cache: Now embeds the sqlite3 C library so you don=E2=80=99t ne= ed pkg-config (etc.) to install it.
  • MlFront_Exec: Supports downloading attested (signed) binary packages fr= om GitHub. Confer with my article on GitHub attestations: https://github.com/diskuv/dk/blob/V2_4/docs/posts/2025-10-24-overv= iew-ci-attestations.md
  • MlFront_Thunk: Its ThunkLexers and ThunkParsers include a JSONC parser = that can be used to edit config files. Relies on the fmlib_parser library. = I use it to autofix JSONC build files with correct checksums and file sizes= . (Ping/reply if you would use it so I can separate it)

Other OCaml News

From the ocaml.org blog

Old CWN

If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a loo= k at the archive or the <= a href=3D"https://alan.petitepomme.net/cwn/cwn.rss">RSS feed of the archive= s.

If you also wish to receive it every week by mail, you may subscribe to the= caml-list.

--=-=-=--