Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127897 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id DFF911A00BC for ; Fri, 4 Jul 2025 23:30:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1751671707; bh=aaFtyqXicInHy1fC9A8O/Xy8H8micgBNQK9XvlM6orA=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=C7puytv6WPlkOfadO8oJgY6EFolGKS2SRzRIEA8M4KW1WwGxuAHTurAXnzQ3OAkTs hIA5lZtGu/sW9QhWSC5LHW9/nqRyzrrrLnnpWqedggXw+0VJ8wqZy6fJhyI58RZU+8 YFfkbCqwpyTQqevCa+ROMsAj/i6DpM1tTc1Mx3908uTXHsWu+6lnoWSZ8x+8oeYPWo GI7sf3x9Ra+NW95h5qpu+FGNq6iP/TU896HJDIEMjYF3PA+u4mrqLjgRHFDR+b4bFi O/fJvzFdlmKbT2fTVjz1+JJT5rXAOB6NYOjG/2iGb/swEl7grlqymNzSxambVLdxk5 PwcKPClN0ctkw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 193271804F6 for ; Fri, 4 Jul 2025 23:28:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: ** X-Spam-Status: No, score=2.7 required=5.0 tests=BAYES_50,DMARC_NONE, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com [209.85.167.177]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 4 Jul 2025 23:28:22 +0000 (UTC) Received: by mail-oi1-f177.google.com with SMTP id 5614622812f47-40af40aeef6so485347b6e.3 for ; Fri, 04 Jul 2025 16:30:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751671814; x=1752276614; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=aaFtyqXicInHy1fC9A8O/Xy8H8micgBNQK9XvlM6orA=; b=DB9SmodcCtQbICFs8PeKGBdG5oK212Ws9G3vZslv6XjKYlsWtPulZXvmWvg7hGWuTq KHPdZ/0B7h+fxFItOSoeRTKieI9SER3pqc4VxRc1UFQBfW+3hdx7nNkw9SWHcRJXndyT RCOLfvEzojYi1Bza4mRWPrh5/AH26nPxELvSV7DGeI7sUNbtTIw2UAF+uIF1wXTBhRey Byf8Hpq+pPiMatr3kn4I98ndW3NEuOa+DN4povmSv4xGzeHuY7NXr7DCILTyz4pnPAvO rNlUJ2lPLAgXuey7gBNZYP/FuiO8A9yipmq071H0bbgj7K756IKgmF0GFlbvn59tv/2U ykIg== X-Gm-Message-State: AOJu0YyBzYcONBQfo3yQZel5cDw7TrkSYfRL9QFnunNhUaRjRRmZf9z7 ha85fErHl+RaaQQhNdPCxASVSY7iI57mMxQBYk5Ig2cslCORIfmlQePUaGud7bNygEkWj2fz3Wv wQy/iA5t8Bu60notVRMsLhhxbOsE/dhrzziVW X-Gm-Gg: ASbGnctcjim8cN5WJCXLOcB6zc8QMOkA11JNuoofdJo+lLlmAsPEqo5h/UCTABkg3s1 Mcpk+lWf+UlJXcP6uGmSjEexi3SdzGSZ8+mRdc6rhDSJ6P0AfK+/lCUQs/zrUWVB2PIPlHYM74x E/yvHYj+FIbXSGV1KvKXyGi5ORol64wDZOkQ8udRRmYgE= X-Google-Smtp-Source: AGHT+IEEp5U6rIdsGxo1kBDqmR/Vd7MXuUvVqL9RQSdThEXufq/gCIJbDwRs4sT84kpv1kBLHr+IehCzNimS42256FY= X-Received: by 2002:a05:6808:1705:b0:403:3521:2475 with SMTP id 5614622812f47-40d2e1e169amr376794b6e.37.1751671814049; Fri, 04 Jul 2025 16:30:14 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: <9B2997E3-21C9-47D9-BB54-99C83A481ED8@php.net> In-Reply-To: <9B2997E3-21C9-47D9-BB54-99C83A481ED8@php.net> Date: Sat, 5 Jul 2025 01:30:02 +0200 X-Gm-Features: Ac12FXyROXGu90wlDEuCLKBvgLNa8Y5Dfqa2umo8GIMZZllx0LBCS06bUw-Aj78 Message-ID: Subject: Re: [PHP-DEV] [RFC] JSON Schema validation support To: Ben Ramsey Cc: PHP internals list Content-Type: multipart/alternative; boundary="0000000000003d563d063922e035" From: bukka@php.net (Jakub Zelenka) --0000000000003d563d063922e035 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi On Sat, Jul 5, 2025 at 1:10=E2=80=AFAM Ben Ramsey wrote: > There are 9 versions of JSON Schema and 11 Internet-Drafts, all of which > have expired. Many of these versions are still widely used in the wild > (draft-04, draft-05, and draft-06 come to mind as heavily used, despite > several newer versions). > > Which version do you plan to target with this RFC, or will it be able to > parse all versions, depending on what the input has specified in the > `$schema` properties? > This is noted in the implementation section: > The current status is almost complete draft 4 and 6 support. Draft 7 support is coming soon. By almost I mean that it needs to implement dependencies (which I plan to sort out before this goes to vote) and it didn't go through complete regression pack which should happen before the first RC. Draft 7 is pretty much just "if" so it should be supported as well as it's pretty similar to dependencies. I will see about other drafts if they could make it to 8.5 but the plan to support eventually all. I will make it a bit clearer in the RFC. Technically this is more library implementation thing but as it's bundled it should be properly noted in the RFC as well. > > I think your RFC needs to address all these versions and how you plan to > address compatibility issues between them all. > > All drafts except 4 require $schema to be there so it's the way how to currently select the version. The future scope actually lists the default draft for schemas without $schema so it could be selected by users. We could maybe look into some auto-identification in the future but again it would be the future scope. I will add some note about it to the RFC. Since all the I-Ds have expired without a formal IETF RFC being voted on > and passing, you should probably call attention to the fact that JSON > Schema, while not moving much right now, is still a moving target and any > new versions will require updates to the core to support them. > Yeah good point I should mention that new version will be treated as features. Cheers Jakub --0000000000003d563d063922e035 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi

On Sat, Jul 5, 2025 at 1:10= =E2=80=AFAM Ben Ramsey <ramsey@php.net= > wrote:
There are 9 versions of JSON Schema and 11 Internet-Drafts, all of which ha= ve expired. Many of these versions are still widely used in the wild (draft= -04, draft-05, and draft-06 come to mind as heavily used, despite several n= ewer versions).

Which version do you plan to target with this RFC, or will it be able to pa= rse all versions, depending on what the input has specified in the `$schema= ` properties?

This is noted in the impl= ementation section:

>=C2=A0The current status i= s almost complete draft 4 and 6 support. Draft 7 support is coming soon.

By almost I mean that it needs to implement depende= ncies (which I plan to sort out before this goes to vote) and it didn't= go through complete regression pack which should happen before the first R= C. Draft 7 is pretty much just "if" so it should be supported as = well as it's pretty similar to=C2=A0dependencies. I will see about othe= r drafts if they could make it to 8.5 but the plan to support eventually al= l. I will make it a bit clearer in the RFC. Technically this is more librar= y implementation thing but as it's bundled it should be properly noted = in the RFC as well.
=C2=A0

I think your RFC needs to address all these versions and how you plan to ad= dress compatibility issues between them all.


All drafts except 4 require $schema to= be there so it's the way how to currently select the version. The futu= re scope actually lists the default draft for schemas without $schema so it= could be selected by users. We could maybe look into some auto-identificat= ion in the future but again it would be the future scope. I will add some n= ote about it to the RFC.

Since all the I-Ds have expired without a formal IETF RFC being voted on an= d passing, you should probably call attention to the fact that JSON Schema,= while not moving much right now, is still a moving target and any new vers= ions will require updates to the core to support them.

Yeah good point I should mention that new version will be t= reated as features.=C2=A0

Cheers

Jakub
--0000000000003d563d063922e035--