Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126451 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 qa.php.net (Postfix) with ESMTPS id 69E2A1A00BC for ; Tue, 18 Feb 2025 15:12:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1739891387; bh=Ldp0d7Vq/bFxFDuIbPFUZ3tHGIBmtwKqTUO0+D5ESiQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=b9cCxypksi+OvJuHHVPELEhXMX92rO5443EQsccx4+mFRDBMTNSjnb5fAd+8vyz2K frmvtfwDvcw7Eir6hnmVTWmgcyRbuNCsuRZEQfBXDSk8jJ8LifieCrnq2cRuuSy9t1 RstR8S87ms+CgaXJPDGJMJVXyl9tZ7a8CzwRekKG/93z5cqj2DshkuNMs9O6AvqJFf kusY+QMIqdjf+MJ6Hl27VNqRRDHlqN4vNPm/3FiHrmf31sM15cbDuOy5aDW1ROAsft FYEA8GkvlRE76k4be4BfvLRS8/sI545jgdc2+DTxn84y3BEP6zNFScBjnogC8/aPV3 cOinhGrbBhKVw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A4EA718007C for ; Tue, 18 Feb 2025 15:09:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from forward500b.mail.yandex.net (forward500b.mail.yandex.net [178.154.239.144]) (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 ; Tue, 18 Feb 2025 15:09:45 +0000 (UTC) Received: from mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net [IPv6:2a02:6b8:c1c:34c0:0:640:cba7:0]) by forward500b.mail.yandex.net (Yandex) with ESMTPS id B96B56166D for ; Tue, 18 Feb 2025 18:12:23 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id LCXtncNMcSw0-yMJgrj6j; Tue, 18 Feb 2025 18:12:22 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=php.watch; s=mail; t=1739891543; bh=8kZ8LWE7VnWlMEZe4m0JNpLAA8D3yE89RZtF/mpaz/I=; h=To:Subject:Message-ID:References:Date:From:Cc:In-Reply-To; b=RENQC8//iVOOPkpDIXaf1rlDJdbDOAVdUtnv5ZW0/Lcdy0VIY5MkrTIvVe+DGTv8X LBC3Xhk6pPoPn8m2dzBYmQqMdohF7ElyHhsZvLzrygcWzFVyEbNeL7J/oSfoXu6lgu tMP6o4UiyPaRD9PtiMjZEukNh7BSC8HtOzLlRyUA= Authentication-Results: mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net; dkim=pass header.i=@php.watch Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-abbc38adeb1so93597966b.1 for ; Tue, 18 Feb 2025 07:12:22 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCX2rKgV60ssXnaNwVnYZEf0EQYzbh1TNXjBMOBtyDg8+OuH2Ok9xR1kqbvezBB1xAqR/ddwuc+oQWs=@lists.php.net X-Gm-Message-State: AOJu0YxxibPuBzEr6ObSp+JdC06vlRJdjvd9WlZvXTkiLCk+NTi+h7cv T9dUReZAqFaMDZVxMaYKgoUHRPiPCtKg2VwLk6/z0FPEP/i07qgNVh23nEIa2E/7w/FU2axFn3e nqVbVfNw+X13toZ8BEGSq3TWgF1I= X-Google-Smtp-Source: AGHT+IE7ODe8OaY/tJk37Ln1mss+BorDIBHs3dXoJHJLIwd+9GSDseR+fxywLSLFJFejrE6krenPCHOO+2qW8ixpu4c= X-Received: by 2002:a17:907:26ce:b0:ab7:eead:57f2 with SMTP id a640c23a62f3a-abb70dd371bmr1539698966b.48.1739891541783; Tue, 18 Feb 2025 07:12:21 -0800 (PST) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: <528e16e1-1fb3-448a-b187-7cc84e1bcc4a@seld.be> <5fa7423e-d723-451e-a73d-a98512a6ca96@seld.be> <8256945f09944cb16db34fd8139da63e@bastelstu.be> <1856be6ad7a51bf5ea56001eb719897a@bastelstu.be> In-Reply-To: Date: Tue, 18 Feb 2025 22:11:55 +0700 X-Gmail-Original-Message-ID: X-Gm-Features: AWEUYZkV7kubKfuCKfTGIMXdLAAwKeSwlWLjlL8UL2y1HDFYr-Na_JhGl0sYigA Message-ID: Subject: Re: [PHP-DEV] [RFC] Modern Compression (zstd, brotli) To: =?UTF-8?Q?K=C3=A9vin_Dunglas?= Cc: =?UTF-8?Q?Tim_D=C3=BCsterhus?= , Paul Dragoonis , Jordi Boggiano , Internals Content-Type: text/plain; charset="UTF-8" From: ayesh@php.watch (Ayesh Karunaratne) > First, reduce the scope of our RFC to simply add new stream wrappers for Zstandard and Brotli similar to those already provided for zlib: https://www.php.net/manual/en/wrappers.compression.php > To keep things moving quickly, we won't be adding any new functions or classes (perhaps just constants or enums for context options). > To use these new formats, we'll need to use the low-level file/stream manipulation functions. It will be possible to provide userland libraries with a more attractive API. This will be great, and existing libraries that use stream wrappers will automatically get brotli and zstd support too. > ... [snip] which we urgently need to support natively for Composer [snip] ... Not trying to sound discouraging at all, but I'm merely curious about the urgency, and how Composer can make use of zstd. I get that Composer manifest downloads could make use of zstd, but the package download format ultimately depends on what the hosting VCS supports. In most cases, it will be GitHub, which seems to only support zip and tar.gz. For `content-encoding: zstd` HTTP content, Curl works great. packagist.org seems to run on Nginx, and perhaps when used with an zstd module (or by using something like Caddy server with zstd built-in), we can have zstd manifest downloads even today! Thank you.