Return-Path: <tiff-bounces@lists.osgeo.org>
Received: from mailgate111.isp.belgacom.be ([195.238.20.43])
          by mailfep009.skynet.be
          (InterMail vM.8.04.03.28.4 201-2389-100-182-103-20180124)
          with ESMTP
          id <20210101193210.JVBH7563.mailfep009.skynet.be@mailgate111.isp.belgacom.be>
          for <chris.lindelaan@skynet.be>; Fri, 1 Jan 2021 20:32:10 +0100
Authentication-Results: mx101.skynet.be; dkim=none (message not signed) header.i=none; spf=None smtp.pra=tiff-bounces@lists.osgeo.org; spf=Pass smtp.mailfrom=tiff-bounces@lists.osgeo.org; spf=Pass smtp.helo=postmaster@lists.osgeo.org
Received-SPF: None (mx101.skynet.be: no sender authenticity
  information available from domain of
  tiff-bounces@lists.osgeo.org) identity=pra;
  client-ip=140.211.15.3; receiver=mx101.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible
Received-SPF: Pass (mx101.skynet.be: domain of
  tiff-bounces@lists.osgeo.org designates 140.211.15.3 as
  permitted sender) identity=mailfrom; client-ip=140.211.15.3;
  receiver=mx101.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org a:tracsvn.osgeo.osuosl.org -all"
Received-SPF: Pass (mx101.skynet.be: domain of
  postmaster@lists.osgeo.org designates 140.211.15.3 as
  permitted sender) identity=helo; client-ip=140.211.15.3;
  receiver=mx101.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="postmaster@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org a:tracsvn.osgeo.osuosl.org -all"
X-Ironport-Dmarc-Check-Result: validskip
IronPort-SDR: ZnKSGkcPofY1AulkgMdvnT6ozgReFWsladCZuebQtD3KP9hFavGn2tKrsjqK8ZjevHmINwh7LN
 3y6IRyOBYmUKwoUFc/v/ToHC0hi65q82D1Wy8Puc0WxvWKFGF5O127kEztqwiB0evkRh7qnZF0
 bjGMGQedUWIoDns3SZylhxSqChHqKnxrCbkq8MuqHqqvJmjg9B9cyYqXREF6IeK7/baRh86IIo
 zJ51sVLSt3ZySkuUCqHfQQ3QwkNfsjedTUhvA5z5WxsIK3E0ZrceRH/x4K3j/Xt5Cx38JfroIJ
 tHxnJjM6orKJOGI98qRmTVR2
IronPort-PHdr: =?us-ascii?q?9a23=3AyKOxYR20W0vb+dOAsmDT+DRfVm0co7zxezQtwd?=
 =?us-ascii?q?8ZsesXLPXxwZ3uMQTl6Ol3ixeRBMOHsq0C0bCJ+Pm6ByQp2tWoiDg6aptCVh?=
 =?us-ascii?q?sI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFR?=
 =?us-ascii?q?rhKAF7Ovr6GpLIj8Swyuu+54Dfbx9HiTagY75+Ngu6oRvTu8UZnIduNKc8wQ?=
 =?us-ascii?q?bVr3VVfOhb2XlmLk+JkRbm4cew8p9j8yBOtP8k6sVNT6b0cbkmQLJBFDgpPH?=
 =?us-ascii?q?w768PttRnYUAuA/WAcXXkMkhpJGAfK8hf3VYrsvyTgt+p93C6aPdDqTb0xRD?=
 =?us-ascii?q?+v4btnRAPuhSwaLDMy7n3ZhdJsg6JauBKhpgJww4jIYIGOKfFyerrRcc4GSW?=
 =?us-ascii?q?ZdW8pcUTFKDIGhYIsVF+cPPelXoYrzqVUQqhWwGBGsCeHtxDNViHL6wbE13P?=
 =?us-ascii?q?o6EQzd2QwsA9cOvW7UrNnpNqofV/2+wqnSzTXEavNbwSvz6I/Hch8/u/GHQL?=
 =?us-ascii?q?R+ftTQyUkgFwPOk1KdqZbhPzyL1+QNvGib4vF8WuKolmEotQVxojm0ycc2lI?=
 =?us-ascii?q?bFnIQVxU7Y9Shgxos+ONK3RlJhb9G+DJtQqz+VN5FwQs46Xm1kpiU3x7IHtJ?=
 =?us-ascii?q?C1ciUH1IgryhzbZvGDbYSG4g/vWumNLTl3inxpZbCyihiw/EagyuPwS9e43V?=
 =?us-ascii?q?lWoiZZjNTCuHYA3AHd5MiAT/ty5Eah2TCX2gDc6+FEPUQ0mrDAJJI73rEwkZ?=
 =?us-ascii?q?8TvELeFSH1gEX7lLKae0o49uSy9ejrf6jqqoWBO4J0kA3zPLwil8+iDegiLw?=
 =?us-ascii?q?QDXGqW9f6h2LDj/UD1WqhGg/4onqTfrZvUP94UprSjDA9Qyosj6wiwDzOh0N?=
 =?us-ascii?q?kAmXkHLUlFeA6cj4TzPFHOO//4Aum4g1i2lzdr3f/GMqXgApXLMHfDjK/sca?=
 =?us-ascii?q?ty5kJA0gY/081T649OBr0cIP//QEH8uMTdDhAjMgy0x+jnCM961oMbQW+PHq?=
 =?us-ascii?q?6ZMK3csVOR/e0vJPSMZIkJtznjMPgo/PrujX4imV8BZqmlx5wXaGu3Hvt4JE?=
 =?us-ascii?q?WVe33sgs0OEWsSpAoxUPTqiEGeUT5Uf3u9Q6I85is6CIK9F4vDQoGtgLqc0y?=
 =?us-ascii?q?ilGp1ZfHpJClaXHHfzdIWFW/EMZzyOIsN7iTMLS+vpdok6yBv7tBPm06E1aa?=
 =?us-ascii?q?3Q+zYErtTkz9d44KvUjx518DV1C8GU1SaKV311mWUTACM30q4snEpm113W1K?=
 =?us-ascii?q?F5h+BfR8BS6f0MSAojKJPH08R+CsvuQUTGZdiETxChWNrxGiw7TN8634oTZV?=
 =?us-ascii?q?1gEc6plBHJ0nmXBaQInZyGDZA56Pfcw2TpPJQ6jHLHz7U6yV49TcZIc2q8ie?=
 =?us-ascii?q?l6/gnXAofP1EKBi6etc79bwC/D+jS+y3GTtmFVWQJ9S/DAVHEbekyEsdX36A?=
 =?us-ascii?q?bYQqazBK87Gg9A0tKZbKxRZdDuy1JcS6D4Jd7cbmmtznq2HguC3biWbYDnKF?=
 =?us-ascii?q?kaiRncBkZMtwEI4T7SKQkwCA+lonnCF3ppDl3iZAXr6+Yo+12hSUph9QaFYl?=
 =?us-ascii?q?cp87e09R5d0eaYRvIc3poPvyssrzR+Blv72d/KXYnT7zF9dblRNItuqGxM0n?=
 =?us-ascii?q?jU4kkkZsT6dfJLm0IefgJrvkjnyxRwDMB6nNM3qG8xllIje6eIiQsYMSibzJ?=
 =?us-ascii?q?b9JvvdJzq68BOubvvQ3VfTmJaT97wU4fs141PkoEmyF0Uk/nkmm9lY2neR/N?=
 =?us-ascii?q?PLWQwVV5+iGl0v+U1coLfXKjI4+5uSzWdlZLW1vDGH0dU0AuAo0T6kfsxDK+?=
 =?us-ascii?q?WDDwD/FIsdHcf9YPcylQ2RZwkfdPtX6LZyOsqnc/Wc36v+IOduknesinlB64?=
 =?us-ascii?q?1m+kaN7DZnDOnT0JsChfaC0VjPTC/y2W+oqdu/goVYfXcSE264nDDjH5JUb7?=
 =?us-ascii?q?ZucJwjDWa1P9bxwc5xipmrXGRXrQTxPV4N1c63dBbXVGTThlQJh2IQp3Hv2S?=
 =?us-ascii?q?6olmQt1Soqv6ySwGrEzraqch1PIWNNSGR4xV7xPYi5icwbV0m0fm1L3FOk40?=
 =?us-ascii?q?j93a1SuKV4KSHaX05JeyH8K2wqXLG3s/KOZMtG6ZVgtisyMqz0fVGURPv3pA?=
 =?us-ascii?q?Yc2C74N29f3ywgMTaxtZj+2RtghyPVLXp+qmbYZdAl3Q3Wt7m+DbZa2jsLQj?=
 =?us-ascii?q?U9iCGCXwTkeYPwpJPNytGY4aikWmmsV4Nea3zu3drY7W2g5nxsDAH5lf3g/7?=
 =?us-ascii?q?+vWQU8zyL/0MFnECvSqxOpKJXq2ar/O+V6eEJlH3f46tFmAcd5iYQ9g9cXw3?=
 =?us-ascii?q?dQ1fD3tTIX1Hz+N9lWw/e0cHsDS3sBxMPT6wX+8EliNW6SgYXiWXiahMx7aJ?=
 =?us-ascii?q?PpBwFekjJ45MdMBqCO6bVCliYguVu0ozXaZv1llyscw/8jsSRIuewCtQszwy?=
 =?us-ascii?q?nYOYg8QRQIbxTljA/Ar9Wu9f0OIn2sYL69yAx0kILpALaHqwBaEHH3H/VqVT?=
 =?us-ascii?q?Nx4Ms6OlXR1nb+8angecLMdpQUrRKZlFHHlecdJJ8ql/UMjDZqIiqk4SVjkb?=
 =?us-ascii?q?diy0Uzm8rytZPiSS0l5K+jBx9EKjD5L9ge/D3gl+cWn8qb2ZyuAoQ0HzwKWJ?=
 =?us-ascii?q?XySvf7WDkWtPnhK0OPCGhl9i/dQ+OGW1bCrhw1yhCHW4qmPHyWOnQDmNByHU?=
 =?us-ascii?q?HEYldckQYZQHMwk81cdEjiycr/fUN+/j1U6ET/r04G1uNmOVz1VXrZrwqzQj?=
 =?us-ascii?q?M1U4SEah1N4QxFoUDPPobNi4A7VzEd5ZCnoAGXfyaHZgpGSGsOR0qPCkvLOr?=
 =?us-ascii?q?i1+cKG9POXC+34KOHBK+bry6QWR7KDwpSh1ZFj9jCHO5CUP3VsOPY831JKQX?=
 =?us-ascii?q?FzH8mK0yVKUSEckDjBKtKKvBrpsDMitdixqb64PWCnrZvKEbZZNs9jvgy7kb?=
 =?us-ascii?q?vWffDFnz53cH5dxtsFl3rBybxZ20UdhiYocCOiWb1SsS/WULmWnbRYAhldbD?=
 =?us-ascii?q?l8UakAp6tu2wBMPYjckdz40fh/leMyEFMDUkbu0sj7edYDKHqjMhXAH0mGM/?=
 =?us-ascii?q?KBPiDM2MWxZrmzAfhZiOEe7kfigzuQHk79MzjGrAHHC033Y9lFlzrTfBlO4d?=
 =?us-ascii?q?nkNA1uGG7uUJTsZ0/zPNhyhDwwibo64xGCfXYbKiR5elhRo6e46SJDnu45HH?=
 =?us-ascii?q?dO430jKvOL0yqU9OjXLJ8KvOAjW3gs0bgDuTJjlv0OpChfIZ490DPftNtvv0?=
 =?us-ascii?q?2rnqGUxzxrXQAP4jdHiYSXvFlzbKXU8p4TEX3A/R8L8SCRE0FT+4MjUIS2/f?=
 =?us-ascii?q?kNjIOc8cC7YC1P+N/V48YGUs3EcZredmEiIBzkBHjeAVhgL3bjOGfBikhaiP?=
 =?us-ascii?q?zX+GeSq81wtpnilt8ETaJdX1EuPvcbEVh+WtsZL5pwGDQ+nvTI6axArWr7tx?=
 =?us-ascii?q?TXSMhA69rfUemOBPz0NDuDpb1FfAcTh7TjIokUcIrh1AYxDzsy1JSPEE3WU9?=
 =?us-ascii?q?dXpyRnZQJhu0RB/k91SWgr0l7kYAegszcDUOS5lRkshk5icPwgoX3ytkwvKA?=
 =?us-ascii?q?OA905S2AEh3M/oijeLfHvtIbesCMtIXjHsuRF5N4OzSlRwZAy220t/OzrDAb?=
 =?us-ascii?q?VLgPNpJ2RqkxPH/5xUFvNbC6peb3pyjbmeNfAh0FAarT6oyEgB4vDYDoBm0g?=
 =?us-ascii?q?wwftal/W5a0gl4cthzIrffKa0PyUNNgbmK+Ciy2ah0yQsabR9colPXQzYBvQ?=
 =?us-ascii?q?kzDpdjIiOp+uJ27gnbxGlHeXMQTLwtuf1n8QU6IevSlnu9gY4GEVi4MqmkF4?=
 =?us-ascii?q?3cu2XEkpfXEFcxzV8T0U5e8rVxl8A5fBjNDhx9/P6qDx0McPH6B0RNdcMLqy?=
 =?us-ascii?q?rXfD2SqqPK2p14OMO6DO+6FeI=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0GzAQBXd+9fhwMP04xiHgEBCxIMQIN?=
 =?us-ascii?q?zGAFkWQEeAwc2hD+JBIgthACYLxYBAQIBAQEBAQkYAQoKAgQBAQGGPB8GAQQ?=
 =?us-ascii?q?0EwIDAQEBAwIFAQEBBAEBAQIBAQIDAgIBAQIQAQEBAQ0LCQgpLAZlWwRiBls?=
 =?us-ascii?q?EgXEHAzAMgjgFAgMfAQaDagIEAQEgIwoeDgMBAgYCDjAGBAQCAgMBIwE1EwW?=
 =?us-ascii?q?DIQGDBgQBCq5tAoEyhD8BgRiDOoE8BoE4jWqBQT+BOAwQgiiDSQEDAYR0NII?=
 =?us-ascii?q?sBIFVbw6BKSAPLGcZHwYDPo9DiyWBHQ2cG4MAiSqHPYN9hncfolCfG5I1hBe?=
 =?us-ascii?q?BbYF7MxoIJgo7KgGCPj4PAQIBAg0CAQIBAgECAgIBAQICAQECkg+FFIVEQgE?=
 =?us-ascii?q?xNwIGAQkBAQMJWCOLMoFtAQE?=
X-IPAS-Result: =?us-ascii?q?A0GzAQBXd+9fhwMP04xiHgEBCxIMQINzGAFkWQEeAwc2h?=
 =?us-ascii?q?D+JBIgthACYLxYBAQIBAQEBAQkYAQoKAgQBAQGGPB8GAQQ0EwIDAQEBAwIFA?=
 =?us-ascii?q?QEBBAEBAQIBAQIDAgIBAQIQAQEBAQ0LCQgpLAZlWwRiBlsEgXEHAzAMgjgFA?=
 =?us-ascii?q?gMfAQaDagIEAQEgIwoeDgMBAgYCDjAGBAQCAgMBIwE1EwWDIQGDBgQBCq5tA?=
 =?us-ascii?q?oEyhD8BgRiDOoE8BoE4jWqBQT+BOAwQgiiDSQEDAYR0NIIsBIFVbw6BKSAPL?=
 =?us-ascii?q?GcZHwYDPo9DiyWBHQ2cG4MAiSqHPYN9hncfolCfG5I1hBeBbYF7MxoIJgo7K?=
 =?us-ascii?q?gGCPj4PAQIBAg0CAQIBAgECAgIBAQICAQECkg+FFIVEQgExNwIGAQkBAQMJW?=
 =?us-ascii?q?COLMoFtAQE?=
X-URL-LookUp-ScanningError: 1
X-MGA-submission: =?us-ascii?q?MDFxWeRwm6cQaf0tXcK8vaMv+7Z2MI0okExcVM?=
 =?us-ascii?q?oPm3bzlCdCGZVPPf40id4dZoMxAJYCuKrFmRqozRLNogDDq6bO0AgkeC?=
 =?us-ascii?q?Xk5T/IvJESSE5KtdBwdfTnJ4piY48s0z+iT9o=3D?=
Received: from osgeo6.osgeo.osuosl.org (HELO lists.osgeo.org) ([140.211.15.3])
  by mx101.skynet.be with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 01 Jan 2021 20:32:00 +0100
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id 76663614591A;
	Fri,  1 Jan 2021 11:31:53 -0800 (PST)
Received: from b-painless.mh.aa.net.uk (b-painless.mh.aa.net.uk [81.187.30.52])
 by lists.osgeo.org (Postfix) with ESMTPS id 3F9176146DFD
 for <tiff@lists.osgeo.org>; Fri,  1 Jan 2021 11:31:52 -0800 (PST)
Received: from 182.155.187.81.in-addr.arpa ([81.187.155.182]
 helo=melaidhrin.home) by b-painless.mh.aa.net.uk with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <rleigh@codelibre.net>) id 1kvQ9O-00072T-VE
 for tiff@lists.osgeo.org; Fri, 01 Jan 2021 19:31:51 +0000
From: Roger Leigh <rleigh@codelibre.net>
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\))
Message-Id: <B36DC546-2948-43B2-B796-797B18D4413C@codelibre.net>
Date: Fri, 1 Jan 2021 19:31:47 +0000
To: Tiff List <tiff@lists.osgeo.org>
X-Mailer: Apple Mail (2.3608.120.23.2.4)
Subject: [Tiff] Enabling and requiring C99 language support
X-BeenThere: tiff@lists.osgeo.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.osgeo.org>
List-Unsubscribe: <https://lists.osgeo.org/mailman/options/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=unsubscribe>
List-Post: <mailto:tiff@lists.osgeo.org>
List-Help: <mailto:tiff-request@lists.osgeo.org?subject=help>
List-Subscribe: <https://lists.osgeo.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4126596435230466366=="
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>


--===============4126596435230466366==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_8FFC38C4-1D07-4D57-BA59-3AB0C1001C3F"


--Apple-Mail=_8FFC38C4-1D07-4D57-BA59-3AB0C1001C3F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi folks,


There is ongoing discussion of this on:

* !51 <https://gitlab.com/libtiff/libtiff/-/merge_requests/51> (older MR =
which was closed, relating to use of "long long" vs "long=E2=80=9D)
* !185 <https://gitlab.com/libtiff/libtiff/-/merge_requests/185/diffs> =
(new MR to enable C99 support without any compatibility break)

For anyone who isn=E2=80=99t following the discussion of the above, this =
is to bring it to a wider audience.

The main question to address is: how far can we go in switching over to =
C99?

* Do we stop at !185 and leave all the compatibility logic in place?
* Do we remove pre-C99 support and require stdint.h and inttypes.h?
* Do we remove the nonportable typedefs as well?

The main issue with !51 is this part of the public headers:

https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tiff.h#L66 =
<https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tiff.h#L66>=20

Here, we define the types int8, int16, int32, int64 and uint8, uint16, =
uint32, uint64.  These don=E2=80=99t have a =E2=80=9Ctiff_" prefix and =
so have the potential to clash with other libraries which also define =
these types nonportably.  Since this is now reported to happen in the =
real world, we do need to consider how to correct the problem.

Unfortunately, given that user code may be using these types, any change =
to the name would be a potential cause of breakage.  Two options are to =
add the =E2=80=9Ctiff_" prefix to the types.  Or if we require C99, to =
simply use the C99 int8_t =E2=80=A6 uint64_t types directly.  Neither =
would avoid the need for a  major version bump.


Kind regards,
Roger=

--Apple-Mail=_8FFC38C4-1D07-4D57-BA59-3AB0C1001C3F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
folks,<div class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div><div class=3D"">There is ongoing discussion of this =
on:</div><div class=3D""><br class=3D""></div><div class=3D"">*&nbsp;<a =
href=3D"https://gitlab.com/libtiff/libtiff/-/merge_requests/51" =
class=3D"">!51</a>&nbsp;(older MR which was closed, relating to use of =
"long long" vs "long=E2=80=9D)</div><div class=3D"">*&nbsp;<a =
href=3D"https://gitlab.com/libtiff/libtiff/-/merge_requests/185/diffs" =
class=3D"">!185</a>&nbsp;(new MR to enable C99 support without any =
compatibility break)</div><div class=3D""><br class=3D""></div><div =
class=3D"">For anyone who isn=E2=80=99t following the discussion of the =
above, this is to bring it to a wider audience.</div><div class=3D""><br =
class=3D""></div><div class=3D"">The main question to address is: how =
far can we go in switching over to C99?</div><div class=3D""><br =
class=3D""></div><div class=3D"">* Do we stop at !185 and leave all the =
compatibility logic in place?</div><div class=3D"">* Do we remove =
pre-C99 support and require stdint.h and inttypes.h?</div><div =
class=3D"">* Do we remove the nonportable typedefs as well?</div><div =
class=3D""><br class=3D""></div><div class=3D"">The main issue with !51 =
is this part of the public headers:</div><div class=3D""><br =
class=3D""></div><div class=3D""><a =
href=3D"https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tiff.h#L6=
6" =
class=3D"">https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tiff.h=
#L66</a>&nbsp;</div><div class=3D""><br class=3D""></div><div =
class=3D"">Here, we define the types int8, int16, int32, int64 and =
uint8, uint16, uint32, uint64. &nbsp;These don=E2=80=99t have a =
=E2=80=9Ctiff_" prefix and so have the potential to clash with other =
libraries which also define these types nonportably. &nbsp;Since this is =
now reported to happen in the real world, we do need to consider how to =
correct the problem.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Unfortunately, given that user code may be using these types, =
any change to the name would be a potential cause of breakage. &nbsp;Two =
options are to add the =E2=80=9Ctiff_" prefix to the types. &nbsp;Or if =
we require C99, to simply use the C99 int8_t =E2=80=A6 uint64_t types =
directly. &nbsp;Neither would avoid the need for a &nbsp;major version =
bump.</div><div class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div><div class=3D"">Kind regards,</div><div =
class=3D"">Roger</div></body></html>=

--Apple-Mail=_8FFC38C4-1D07-4D57-BA59-3AB0C1001C3F--

--===============4126596435230466366==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Tiff mailing list
Tiff@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/tiff

--===============4126596435230466366==--
