Re: [calsify] JSContact and Versioning
Michael Douglass <mikeadouglass@gmail.com> Sun, 07 January 2024 19:22 UTC
Return-Path: <mikeadouglass@gmail.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 27073C14F60B for <calsify@ietfa.amsl.com>; Sun, 7 Jan 2024 11:22:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id us0X5kRLjEjo for <calsify@ietfa.amsl.com>; Sun, 7 Jan 2024 11:22:33 -0800 (PST)
Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 41844C14F60A for <calsify@ietf.org>; Sun, 7 Jan 2024 11:22:33 -0800 (PST)
Received: by mail-qt1-x82a.google.com with SMTP id d75a77b69052e-42987bc95ffso8801321cf.1 for <calsify@ietf.org>; Sun, 07 Jan 2024 11:22:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704655352; x=1705260152; darn=ietf.org; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=itoEHo9tKK8kxIdFu/m0ykf1gxXak4Guj+Sz/y2T0zA=; b=WsvqXGAfN0VZLXfoOgvwQ1KNNvJE5JvNG+9USRT4XLy28MyIX5wYouinDGBdHEQpfF jHQCjz+72h+UdlLuB95b2Ya0K9YWX7r70GzRaGGvb3zpdwfVlQTAELY8sEqZLXjFUj15 jSyP6BkzDMGsqMSmdsSD5on2sAx6JBtWsqwWmTw2blQJBVPywTN5XKvltbnJ9Wnbt/mX 2YQfoB6Lf2RC8xrPXOeuv1TDiYx+GaEboPg0xR5mlmEKZDkNzTY3Lt6848QLHAyF0bCH EiJSLn4Zi3lzMg3t4jsnbD/iDbQHZFYuj9wYygs/doRGTAebeh8OFZaETZLBA0xnAJsM bQlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704655352; x=1705260152; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=itoEHo9tKK8kxIdFu/m0ykf1gxXak4Guj+Sz/y2T0zA=; b=C6K6q1iIAYxNRJoHilkgfvzlYD4OS7MXM/4ffpk41uL+wFlm1uTmfdwsAd0yteatMm FJragQHs89AfL6XFqxZr6TLxiv5f2rqbHKEiJiz5GKdtQh0ykcRwGHz/KjxFKTTQtbcq lPlqpvsZBX+n1ed8QhoBhqcNeZJuyjVJgWuQ/Wa4xzng3tgZvIcp1dqQmfZEI6nkzXLm ZjIblrfsqz8Z3DcTim/vHrGY6I2DSRETBxMLdEy3Xe4g6qTsDQXS60ab5P8Uo6WhJuBw VvP6ezvCvvfhoX8SpP5XEv8Lq/3K4tGGu4V9K59wYFQW2P+iKErHWtSr/hT7vKZb/R+N biww==
X-Gm-Message-State: AOJu0YwQo71S9Jk9z6nyBbT+WHfc9qnnogE8KcBexLrKEO7gquPRPBDo 6vgVdcFPmk6iEV4/0Alvly81bdIHyEg=
X-Google-Smtp-Source: AGHT+IH/42uohw1FpeB0Asa3NM7Sm+7119CLxs4+7Eoio9VUXYC6ZCYcijEuXeSvvYL+eutB/agP0g==
X-Received: by 2002:a05:622a:13d4:b0:429:7f20:1287 with SMTP id p20-20020a05622a13d400b004297f201287mr4781028qtk.34.1704655351889; Sun, 07 Jan 2024 11:22:31 -0800 (PST)
Received: from [192.168.1.192] (074-070-070-237.res.spectrum.com. [74.70.70.237]) by smtp.googlemail.com with ESMTPSA id bs11-20020ac86f0b000000b0042996ed2943sm136928qtb.85.2024.01.07.11.22.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Jan 2024 11:22:31 -0800 (PST)
Content-Type: multipart/alternative; boundary="------------SeRS7w0NBnKg0w6Orr0UebXn"
Message-ID: <09b1dbae-86fb-4465-be26-954ad5eb5176@gmail.com>
Date: Sun, 07 Jan 2024 14:22:30 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Robert Stepanek <rsto=40fastmailteam.com@dmarc.ietf.org>, calsify@ietf.org
References: <6bf85925-2b9d-4be0-825a-e9e2284b722a@app.fastmail.com>
From: Michael Douglass <mikeadouglass@gmail.com>
In-Reply-To: <6bf85925-2b9d-4be0-825a-e9e2284b722a@app.fastmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/KuisbzNTpg7tkgO8DKEFXic9dgM>
Subject: Re: [calsify] JSContact and Versioning
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Calendaring and Scheduling Standards Simplification <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 07 Jan 2024 19:22:34 -0000
A bit late in the day again... I think we should mandate at least an official versioning scheme rather than just a simple incrementation. As developers we already have a example of how that might work e.g. <major>.<minor>.<patch>.<extension>* Without specifying exactly what triggers a change in those numbers (or any other scheme) - we're going to have to assume the worst at each change. I would suggest something like - 1. An non-backward compatible change requires incrementing <major>. e.g. we remove a property and replace it with a differently named property, or we change the specification of a property enough that it would break implementations. 2 Update minor when properties are added (and possibly removed) and ignoring the added property does not result in an invalid object 3. Update patch when? I was going to suggest that just <major> could be valid as could be <major>.<minor>. However that can led to some weird contortions. <extension>* is a suggestion to get around some of the odd versioning in maven - it would allow a suffix to be added to indicate the version of proprietary extensions I guess it's clear that a monotonically increasing version is a must. I think this means that i think the last point needs to be changed. It's not up to those registering to bump the value(s) but it should be made a requirement of any review - otherwise - what encourages developers/software to check for changes? Maybe the 3rd value could be bumped when a new property is added and the minor value updated after it goes through expert review On 12/7/22 05:42, Robert Stepanek wrote: > We would like to revisit versioning in JSContact and would appreciate > your feedback before end of WGLC. Specifically, we plan to change the > currently proposed version scheme such that: > > * Rather than using the RFC number as a version, we propose to use > version strings that are independent from the RFC numbering > scheme. We define the initial JSContact version to be "1", but we > also explicitly state that for now the only thing implementations > can rely on is that future version values lexicographically sort > after former ones. In a future JSContact RFC we might introduce a > more sophisticated version scheme. > * We replace the current "Version" field in the IANA registration > templates with "Minimum Version" and "Maximum Version", such that > the IANA registry is enough to identify which properties or values > are supported in which versions. They can then follow the > according RFC references in the same registry. > > > Also, we'll slightly rephrase the RFC document section about > versioning. The following bullets paraphrase what we intend to define. > Most of this already is in the current document, but it might be > simpler to review here as a whole: > > * Version changes may add new property and value definitions that > are so significant that implementations should be made aware of > their presence by only inspecting the version value. This can be > useful for protocols to allow clients or servers to advertise > which JSContact version they are able to process, or to select one > of multiple MIME body parts with JSContact data by version. > * Version changes may obsolete or update existing property and value > definitions such that they are incompatible with their definitions > of earlier versions. This should always be the last tool in the > box, but introducing versions now hopefully allows us to handle > these situations in the future. > * Version changes always require a RFC that defines the impact on > future JSContact version. > * Not every new property or value definition that gets registered at > IANA requires to change the version. The majority of changes > should not, because we want to encourage people to register their > JSContact additions. Since our IANA-registration policy is Expert > Review, it's always up to the discretion of the designated experts > if the proposed additions require a RFC document or JSContact > version bump. > > > Cheers, > Robert > > _______________________________________________ > calsify mailing list > calsify@ietf.org > https://www.ietf.org/mailman/listinfo/calsify
- [calsify] JSContact and Versioning Robert Stepanek
- Re: [calsify] JSContact and Versioning Michael Douglass
- Re: [calsify] JSContact and Versioning Robert Stepanek