fix(deps): update dependency azjezz/psl to v6#119
Open
renovate[bot] wants to merge 1 commit into2.x.xfrom
Open
fix(deps): update dependency azjezz/psl to v6#119renovate[bot] wants to merge 1 commit into2.x.xfrom
renovate[bot] wants to merge 1 commit into2.x.xfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^2.7.0→^6.0.0Release Notes
php-standard-library/php-standard-library (azjezz/psl)
v6.1.0Compare Source
features
Psl\IO\BufferedWriteHandleInterface, extendingWriteHandleInterfacewithflush()for handles that buffer data internally before writing to an underlying resourceCompressioncomponent with streaming compression/decompression abstractions for IO handles. ProvidesCompressorInterface,DecompressorInterface, four handle decorators (CompressingReadHandle,CompressingWriteHandle,DecompressingReadHandle,DecompressingWriteHandle), and convenience functionscompress()anddecompress()HPACKcomponent - RFC 7541 HPACK header compression for HTTP/2H2component - HTTP/2 binary framing protocol implementationCachecomponent - async-safe in-memory LRU cache with per-key atomicity viaKeyedSequence, proactive TTL expiration via event loopv6.0.3: Hevlaska 6.0.3Compare Source
PSL 6.0.3
No code changes. This release improves the release infrastructure.
What changed
6.0.x) to the tag before splitting, ensuring split repos always receive the correct commits for patch releases.Full changelog
See CHANGELOG.md for details.
v6.0.2: Hevlaska 6.0.2Compare Source
PSL 6.0.2
Patch release fixing a bug in
IO\Readerthat affected non-blocking stream reads (TLS, TCP, etc.).Bug fixes
IO: Reader no longer treats empty non-blocking reads as EOF
Reader::readUntil()andReader::readUntilBounded()assumed that an emptyread()meant end-of-stream. On non-blocking handles (TLS, TCP, Unix sockets),read()can return empty before data arrives. This causedreadLine()to return the entire stream content as a single string instead of splitting into individual lines.This bug affected any code using
IO\Readerwith network streams. If you were usingreadLine(),readUntil(), orreadUntilBounded()on a non-blocking stream and getting unexpected results, this is the fix.Docs: source links point to correct paths
Documentation source links (
See src/Psl/Default/ for the full API) now link topackages/default/src/Psl/Default/instead of the non-existent top-levelsrc/Psl/Default/.Full changelog
See CHANGELOG.md for details.
v6.0.1Compare Source
Reader::readUntil()andReader::readUntilBounded()no longer treat empty reads from non-blocking streams as EOF, fixingreadLine()returning the entire content instead of individual lines when used with non-blocking streamspackages/{name}/src/Psl/instead of the non-existent top-levelsrc/Psl/pathsplitter auditcommand to verify organization repository settings (wiki, issues, discussions, PRs, tag immutability).v6.0.0Compare Source
breaking changes
null|Duration $timeoutparameters across IO, Network, TCP, TLS, Unix, UDP, Socks, Process, and Shell components have been replaced withCancellationTokenInterface $cancellation = new NullCancellationToken(). This enables both timeout-based and signal-based cancellation of async operations.Psl\IO\Exception\TimeoutException- usePsl\Async\Exception\CancelledExceptioninstead.Psl\Network\Exception\TimeoutException- usePsl\Async\Exception\CancelledExceptioninstead.Psl\Process\Exception\TimeoutException- usePsl\Async\Exception\CancelledExceptioninstead.Psl\Shell\Exception\TimeoutException- usePsl\Async\Exception\CancelledExceptioninstead.Psl\IO\CloseHandleInterfacenow requires anisClosed(): boolmethod.Network\SocketInterface::getLocalAddress()andNetwork\StreamInterface::getPeerAddress()no longer throw exceptions. Addresses are resolved at construction time and cached, making these O(1) property lookups with no syscall.BufferedReadHandleInterface::readLine()now always splits on"\n"instead ofPHP_EOL. Trailing"\r"is stripped, so both"\n"and"\r\n"line endings are handled consistently across all platforms. UsereadUntil(PHP_EOL)for system-dependent behavior.Psl\TLS\ServerConfigrenamed toPsl\TLS\ServerConfiguration.Psl\TLS\ClientConfigrenamed toPsl\TLS\ClientConfiguration.$camelCasenaming instead of$snake_case.TCP\listen(),TCP\connect(),TCP\Socket::listen(),TCP\Socket::connect()now accept configuration objects (TCP\ListenConfiguration,TCP\ConnectConfiguration) instead of individual parameters for socket options.Unix\listen()andUnix\Socket::listen()now acceptUnix\ListenConfigurationinstead of individual parameters.UDP\Socket::bind()now acceptsUDP\BindConfigurationinstead of individual parameters.TCP\Socketsetter/getter methods (setReuseAddress,setReusePort,setNoDelay, etc.) have been removed. Use configuration objects instead.TCP\Connectorconstructor now acceptsTCP\ConnectConfigurationinstead ofbool $noDelay.Socks\Connectorconstructor changed from(string $proxyHost, int $proxyPort, ?string $username, ?string $password, ConnectorInterface $connector)to(ConnectorInterface $connector, Socks\Configuration $configuration).ingoingtoongoingacrossSemaphore,Sequence,KeyedSemaphore, andKeyedSequence(hasIngoingOperations()->hasOngoingOperations(),getIngoingOperations()->getOngoingOperations(), etc.).features
Psl\Async\CancellationTokenInterfacefor cancelling async operationsPsl\Async\NullCancellationToken- no-op token used as default parameter valuePsl\Async\SignalCancellationToken- manually triggered cancellation viacancel(?Throwable $cause)Psl\Async\TimeoutCancellationToken- auto-cancels after aDuration, replacing the oldDuration $timeoutpatternPsl\Async\LinkedCancellationToken- cancelled when either of two inner tokens is cancelled, useful for combining a request-scoped token with an operation-specific timeoutPsl\Async\Exception\CancelledException- thrown when a cancellation token is triggered; the cause (e.g.,TimeoutException) is attached as$previous. Use$e->getToken()to identify which token triggered the cancellation.Async\sleep()now accepts an optionalCancellationTokenInterfaceparameter, allowing early wake-up on cancellationAwaitable::await()now accepts an optionalCancellationTokenInterfaceparameterSequence::waitFor()andSequence::waitForPending()now accept an optionalCancellationTokenInterfaceparameterSemaphore::waitFor()andSemaphore::waitForPending()now accept an optionalCancellationTokenInterfaceparameterKeyedSequence::waitFor()andKeyedSequence::waitForPending()now accept an optionalCancellationTokenInterfaceparameterKeyedSemaphore::waitFor()andKeyedSemaphore::waitForPending()now accept an optionalCancellationTokenInterfaceparameterSenderInterface::send()andReceiverInterface::receive()now accept an optionalCancellationTokenInterfaceparameterListenerInterface::accept()now accepts an optionalCancellationTokenInterfaceparameterTCP\ListenerInterface::accept()now accepts an optionalCancellationTokenInterfaceparameterUnix\ListenerInterface::accept()now accepts an optionalCancellationTokenInterfaceparameterTLS\Acceptor::accept(),TLS\LazyAcceptor::accept(),TLS\ClientHello::complete(), andTLS\Connector::connect()now accept an optionalCancellationTokenInterfaceparameter - cancellation propagates through the TLS handshakeTLS\TCPConnector::connect()andTLS\connect()now pass the cancellation token through to the TLS handshakePsl\Async\TaskGroupfor running closures concurrently and awaiting them all withdefer()+awaitAll()Psl\Async\WaitGroup, a counter-based synchronization primitive withadd(),done(), andwait()Psl\Encoding\QuotedPrintable\encode(),decode(), andencode_line()for RFC 2045 quoted-printable encoding with configurable line length and line endingPsl\Encoding\EncodedWord\encode()anddecode()for RFC 2047 encoded-word encoding/decoding in MIME headers (B-encoding and Q-encoding with automatic selection)TLS\ListenerInterfaceandTLS\Listener, wrapping anyNetwork\ListenerInterfaceto perform TLS handshakes on accepted connectionsBase64\Variant::Mimefor RFC 2045 MIME Base64 with 76-char line wrapping and CRLF, using constant-time encoding/decodingEncodingReadHandle,DecodingReadHandle,EncodingWriteHandle,DecodingWriteHandle), QuotedPrintable (same 4), and Hex (same 4), bridgingPsl\IOandPsl\Encodingfor transparent encode/decode on read/writePsl\IO\BufferedReadHandleInterface, extendingReadHandleInterfacewithreadByte(),readLine(),readUntil(), andreadUntilBounded()Psl\IO\Readernow implementsBufferedReadHandleInterfaceTCP\ListenConfigurationandTCP\ConnectConfigurationwith immutablewith*builder methodsUnix\ListenConfigurationwith immutablewith*builder methodsUDP\BindConfigurationwith immutablewith*builder methodsSocks\Configurationwith immutablewith*builder methods for proxy host, port, and credentialsTCP\RestrictedListener, wrapping a listener to restrict connections to a set of allowedIP\AddressandCIDR\BlockentriesNetwork\CompositeListener, accepting connections from multiple listeners concurrently through a singleaccept()callURIcomponent - RFC 3986 URI parsing, normalization, reference resolution, and RFC 6570 URI Template expansion (Levels 1–4), with RFC 5952 IPv6 canonical form and RFC 6874 zone identifiersIRIcomponent - RFC 3987 Internationalized Resource Identifier parsing with Unicode support, RFC 3492 Punycode encoding/decoding, and RFC 5891/5892 IDNA 2008 domain name processingURLcomponent - strict URL type with scheme and authority validation, default port stripping for known schemes, and URI/IRI conversionPunycodecomponent - RFC 3492 Punycode encoding and decoding for internationalized domain namesRetryConnectorbackoff sleep now respects cancellation tokens, allowing retry loops to be cancelled during the delayIO\write(),IO\write_line(),IO\write_error(),IO\write_error_line(), andStr\format()no longer pass the message throughsprintf/vsprintfwhen no arguments are given, preventing format string errors when the message contains%charactersmigration guide
Replace
Durationtimeout parameters withTimeoutCancellationToken:For manual cancellation (e.g., cancel all request IO when a client disconnects):
v5.5.0Compare Source
features
Reader::readUntilBounded(string $suffix, int $max_bytes, ?Duration $timeout)method, which reads until a suffix is found, but throwsIO\Exception\OverflowExceptionif the content exceeds$max_bytesbefore the suffix is encountered - #620 - by @azjezzIO\Exception\OverflowExceptionexception class - #620 - by @azjezzType\json_decoded()type for transparent JSON string coercion - #619 by @veeweeType\nullish()type for optional-and-nullable shape fields - #618 by @veeweev5.4.0Compare Source
features
backlogparameter toTCP\listen()for configuring the pending connection queue size - #617 - by @azjezzother
v5.3.0Compare Source
features
IO\spool()for memory-backed handles that spill to diskv5.2.0Compare Source
features
IPcomponent with immutable, binary-backedAddressvalue object andFamilyenumCIDR\Block::contains()now acceptsstring|IP\Addressv5.1.0Compare Source
features
TLS\TCPConnectorfor poolable TLS connectionsTLS\StreamInterfacenow extendsTCP\StreamInterface, enabling TLS streams to be used withTCP\SocketPoolInterfacev5.0.0Compare Source
breaking changes
Network,TCP,Unix) - #585 by @azjezzPsl\Shellinternals refactored; dead code removed - #596 by @azjezzPsl\Env\temp_dir()now always returns a canonicalized path - #599 by @azjezzfeatures
Ansicomponent - #588 by @azjezzTerminalcomponent - #589 by @azjezzProcesscomponent - #578 by @azjezzBinarycomponent - #598 by @azjezzInteroperabilitycomponent - #582 by @azjezzTLScomponent - #585 by @azjezzUDPcomponent - #585 by @azjezzCIDRcomponent - #585 by @azjezzSockscomponent - #585 by @azjezzPeriod,Interval,TemporalAmountInterface- #595 by @azjezzIO\copy()andIO\copy_bidirectional()- #585 by @azjezzVec\flatten()- #583 by @azjezzCryptocomponent with symmetric/asymmetric encryption, signing, AEAD, KDF, HKDF, key exchange, and stream ciphers - #607 by @azjezzfixes, and improvements
range()for float precision - #581 by @azjezzcreate_temporary_file- #580, #597 by @azjezzother
v4.3.0Compare Source
features
Eithertype - #572 by @simPoduuidtype - #568 by @gsteelfixes, and improvements
v4.2.1Compare Source
fixes, and improvements
seek($offset)type - #552 by @azjezzv4.2.0Compare Source
other
v4.1.0Compare Source
features
Graphcomponent with directed and undirected graph support - #547 by @azjezzTreecomponent for hierarchical data structures - #546 by @azjezzother
maketojust- #544 by @azjezzv4.0.1Compare Source
fixes, and improvements
@vartags from constants - #533 by @azjezzv4.0.0Compare Source
breaking changes
Psl\Result\wrap()no longer unwraps nested results - #531 by @azjezzPsl\Collection\Map,Psl\Collection\MutableMap,Psl\Collection\Set, andPsl\Collection\MutableSetnow have a more natural JSON serialization - #512 by @josh-raiPsl\IOandPsl\Filenamespaces have been removed to simplify the component's hierarchy - #518 by @azjezzPsl\sequence()function has been removed - #519 by @azjezzfeatures
containertype - #513 by @azjezzint_rangetype - #510 by @george-steelalways_asserttype - #522 by @azjezzsearch_with_keys_optandsearch_with_keysfunctions - #490 by @simon-podlipskyfixes, and improvements
IterandRegex- #528 by @azjezzother
psalmtomago- #527 by @azjezzv3.3.0: Kanda 3.3.0Compare Source
What's Changed
0.12.0by @azjezz in azjezz/psl#509Full Changelog: php-standard-library/php-standard-library@3.2.0...3.3.0
v3.2.0: Kanda - 3.2.0Compare Source
What's Changed
Full Changelog: php-standard-library/php-standard-library@3.1.0...3.2.0
v3.1.0: Kanda - 3.1.0Compare Source
What's Changed
Full Changelog: php-standard-library/php-standard-library@3.0.2...3.1.0
v3.0.2: Kanda - 3.0.2Compare Source
What's Changed
Full Changelog: php-standard-library/php-standard-library@3.0.1...3.0.2
v3.0.1: Kanda - 3.0.1Compare Source
What's Changed
New Contributors
Full Changelog: php-standard-library/php-standard-library@3.0.0...3.0.1
v3.0.0: Kanda - 3.0.0Compare Source
What's Changed
stdClasstoarray<TKey, TValue>by @Ocramius in azjezz/psl#437json_encodenever returns an empty string by @gsteel in azjezz/psl#441applyclosure should be able to returnmixedby @devnix in azjezz/psl#442Locale::default()function to retrieve default locale by @azjezz in azjezz/psl#447Defaultcomponent by @azjezz in azjezz/psl#449ReadHandle::reachedEndOfDataSourceby @azjezz in azjezz/psl#452min(),max(),median()andmean()by @simPod in azjezz/psl#464isSucceeded()andisFailed()by @simPod in azjezz/psl#466isSucceeded()andisFailed()(#466) by @simPod in azjezz/psl#469Iter\apply(Closure(T): void)$functionto(Closure(T): mixed)by @devnix in azjezz/psl#471Vecversions of theuniquefunctions by @BackEndTea in azjezz/psl#472Result::unwrapOr()by @simPod in azjezz/psl#470first_opt(),first_key_opt(),last_opt(),last_key_opt()andsearch_opt()by @simPod in azjezz/psl#467DateTimecomponent by @azjezz in azjezz/psl#446param-immediately-invoked-callableinOptionby @klifoth in azjezz/psl#475Set,SetInterface,MutableSet, andMutableSetInterfaceby @azjezz in azjezz/psl#482New Contributors
Full Changelog: php-standard-library/php-standard-library@2.9.0...3.0.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.