Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118434 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 49709 invoked from network); 16 Aug 2022 14:30:17 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Aug 2022 14:30:17 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 4E928180506 for ; Tue, 16 Aug 2022 09:33:37 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_40, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 16 Aug 2022 09:33:36 -0700 (PDT) Received: by mail-pf1-f177.google.com with SMTP id q19so9781011pfg.8 for ; Tue, 16 Aug 2022 09:33:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc; bh=ONgJiSazaszXb54cAJbC91g8wEuJU3k3rWXAT6y6CqA=; b=GLcFcAP8cuBY2nzaqVAsAvJTxr0yb8YumP8R8/hML91cqYmPTIf9xpMSIjme8rxZQB LrexqqgRrN7FtqLlU+TCHQa412tqeoIw3PTvjPkxpg4wh2I7ZryddBWpwZkxlP6kazLg 7BC6tXGo8hrvjOwCMpEMH4sPxeZ/mq6lJmCdi/UrYQ0y4OG7M8goDOrnwARNRb9KojJ+ Qo4Cz40vheJXeLXUr1HojCbDB38kbl6qQ+ptJ6vw62kxyhaqw2xPGSbBYJh79Dz6mj2s 8xHTPe31bmufRhZ9P8xFBu+4IrJ4nzQW+qjCZQ80X5aciS28brScplmyFgP8AxJPILnO jfWQ== X-Gm-Message-State: ACgBeo3XmTMUunoU+Km1JM0SYp6TSrcy/i8b9xxKgTfYPOvW3WFAd0Fe ZASZKXLDi8yI1sjV7qrLYjc/1KkCA+nbizM7ujgJ3Q== X-Google-Smtp-Source: AA6agR7ZxigMWn5todYj86JbJ1S7bUQ5GxY0yJgYAdjPYt6rO/JlkcA2e6dTlA+diddk+RxhNXz8RbmVz1r6Jlasrgk= X-Received: by 2002:a05:6a00:23c5:b0:535:5c24:68df with SMTP id g5-20020a056a0023c500b005355c2468dfmr538250pfc.62.1660667615351; Tue, 16 Aug 2022 09:33:35 -0700 (PDT) MIME-Version: 1.0 Date: Tue, 16 Aug 2022 12:33:24 -0400 Message-ID: To: Sergey Panteleev , PHP internals Content-Type: multipart/alternative; boundary="0000000000004db0be05e65e4fb9" Subject: Strict properties and unserialization From: pierrick@php.net (Pierrick Charron) --0000000000004db0be05e65e4fb9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi internals, We (Sergey and I) would like to introduce you to a problem [1] that was reported by Tim D=C3=BCsterhus and others about the Strict Properties RFC [= 2] that was implemented in PHP8.2. The RFC missed a part about how PHP should handle unserialization of objects with undefined properties. Example : class Foo {} $foo =3D unserialize('O:3:"Foo":1:{s:3:"bar";i:42;}'); In this case PHP will not trigger any deprecation warnings but it probably should. It was something that was not thought about while writing the RFC (at least the RFC doesn't mention anything about this). PHP8.2beta3 will be announced this Thursday, and the next scheduled version is supposed to be RC1. So we are pretty late in the pre-release cycle. We have multiple options : First we could just do nothing in PHP8.2 about this and leave it like that and only fix it in PHP8.3. This is probably the way we should do it if we want to stick to the initial PHP8.2 release cycle calendar. The second option would be to fix this in PHP8.2 before RC1. We don't have any idea on how big the patch is and it may influence the final decision. If patching it for 8.2 is the best way to do, we may want to add another Beta (Beta4) and delay the RC1 release by 2 weeks. We would like to hear your thoughts about this issue. Regards Sergey and Pierrick [1] https://github.com/php/php-src021-11-26./issues/9186 [2] https://wiki.php.net/rfc/deprecate_dynamic_properties --0000000000004db0be05e65e4fb9--