Upgrading laravel/framework 12 to 13
Breakingv12.70.2 → v13.39.0Breaking8Security29Platform1New333Changed222Fixed479Other276
Fetching 48 releases from GitHub…47 / 48
BreakingUpgrade verdict
8 breaking changes and a platform requirement change and 29 security fixes.
In plain terms
- The `until` shortcut on collections is gone, so code using it must switch to another method.
- The request identifier header sent by the framework is now called Cloud-Request-ID instead of X-Request-ID, so anything reading the old header name must be updated.
- Projects must upgrade laravel/serializable-closure to version 2 or later.
- Renames the Middleware attribute parameter from $value to $middleware.
Must act Top 5 of 38 that need code or config changes
PHP requirement changed in v13.0.0: ^8.2 → ^8.3.
What you must change
Breaking8
Removes the dead
until higher order collection proxy.untilRenames the X-Request-ID header to Cloud-Request-ID.
X-Request-IDCloud-Request-IDRemoves support for laravel/serializable-closure v1.
laravel/serializable-closureRenames the Middleware attribute parameter from $value to $middleware.
MiddlewareMakes Cache touch() TTL required and removes redundant value fetching.
Cachetouch()Throws ValueError in LazyCollection::combine() on mismatched lengths.
LazyCollection::combine()ValueErrorReverts the addition of orWhereKey and orWhereKeyNot to the Eloquent Builder.
orWhereKeyorWhereKeyNotEloquent BuilderDisallows creating new model instances during boot.
Security29
Prevents escaping from bypassing protection.
Uses constant time lookups for validator exclusions.
Ensures the password hash matches the stored cookie before authenticating the user.
Confines Storage::path() to the configured disk root.
Storage::path()Laravel: XSS in Debug Page Information
Low · CVSS 3.1Laravel TokenGuard authentication bypass through non-string API credentials
CriticalGuards against non-string mac in the maintenance bypass cookie.
Prevents loose comparison bypass in the in_array validation rule.
in_arrayPrevents loose comparison bypass in the contains validation rule.
containsLaravel relationship inclusion can trigger unauthorized data destruction
Moderate · CVSS 6.5Strictens upload to be fetched only from the request's query string for temporary upload URLs.
uploadImproves the
in validation rule to prevent bypass via loose comparison.inUses a timing-safe comparison for the maintenance mode bypass secret.
Marks HTTP testing credentials as sensitive.
Adds the #[SensitiveParameter] attribute to parameters carrying secrets.
SensitiveParameterGuards the JsonSchema deserializer against unbounded $ref expansion.
Illuminate\JsonSchemaGuards the JsonSchema deserializer against unbounded $ref expansion.
JsonSchemaHardens HTTP client request and fake response serialization.
Narrows the allowed URL scheme for attachments.
Fixes validation bypass in the date_equals rule caused by loose comparison.
date_equalsRestricts allowed classes in routing unserialization.
Laravel Framework: Temporary Signed URL Path Confusion
Moderate · CVSS 4.2Validates against line breaks in emails.
Laravel Framework: CRLF injection in default email rule
High · CVSS 8.9Narrows the allowed URL scheme for attachments.
Prevents array query params from bypassing signed URL validation.
Validates MAC across all decryption keys.
Prevents an installed package from executing malicious code via postinstall in the install:broadcasting command.
install:broadcastingpostinstallAdds origin verification to request forgery protection.
Platform1
Requires PHP 8.3 as the minimum version.
API changes
Generated by DepDelta from published PHP source. Not mixed with prose notes.
- changed:
protected method Gate.getPolicyFromAttribute(string $class): ?string → protected method Gate.getPolicyFromAttribute(string $class, bool $includeParents = …): ?string
- changed:
method BroadcastManager.connection($driver = …) → method BroadcastManager.connection($name = …)
- added:
class MercureBroadcaster extends Broadcaster - added:
constructor MercureBroadcaster(HubInterface $hub, int $expiration = …, ?ChannelEncrypter $encrypter = …, string $topicPrefix = …, bool $clientEvents = …) - added:
method MercureBroadcaster.auth($request) - added:
method MercureBroadcaster.broadcast(array $channels, $event, array $payload = …) - added:
method MercureBroadcaster.getHub() - added:
method MercureBroadcaster.setHub(HubInterface $hub) - added:
method MercureBroadcaster.validAuthenticationResponse($request, $result) - added:
protected method MercureBroadcaster.broadcastingIdentifier($user) - added:
protected method MercureBroadcaster.channelTopic($channelName) - added:
protected method MercureBroadcaster.exemptCookieFromEncryption() - added:
protected method MercureBroadcaster.makeAuthorizationCookie($request, array $grants, $user = …) - added:
protected method MercureBroadcaster.subscriptionPattern($channelName) - added:
protected method MercureBroadcaster.updateData($channels, $event, array $payload, $socket) - added:
protected method MercureBroadcaster.whisperTopic($channelName) - added:
protected property MercureBroadcaster.clientEvents: bool - added:
protected property MercureBroadcaster.encrypter: ?ChannelEncrypter - added:
protected property MercureBroadcaster.expiration: int - added:
protected property MercureBroadcaster.hub: HubInterface - added:
protected property MercureBroadcaster.topicPrefix: string
- added:
class CachingTokenProvider implements TokenProviderInterface - added:
class ChannelEncrypter - added:
constructor CachingTokenProvider(TokenProviderInterface $provider, int $clockSkew = …) - added:
constructor ChannelEncrypter(string $key) - added:
method CachingTokenProvider.getJwt(): string - added:
method ChannelEncrypter.channelJwk($channel) - added:
method ChannelEncrypter.channelKey($channel) - added:
method ChannelEncrypter.encrypt($plaintext, $channel) - added:
method CreatesMercureDrivers.mercure(array $config) - added:
protected method CachingTokenProvider.expiresAt($jwt) - added:
protected method CreatesMercureDrivers.broadcastsToSynchronousMercureConnections($event) - added:
protected method CreatesMercureDrivers.createMercureDriver(array $config) - added:
protected method CreatesMercureDrivers.frankenPhpMercure(array $config) - added:
protected method CreatesMercureDrivers.mercureChannelEncrypter(array $config) - added:
protected method CreatesMercureDrivers.mercureClaims(array $config) - added:
protected method CreatesMercureDrivers.mercurePublishClaims(array $config) - added:
protected method CreatesMercureDrivers.mercureSecret(array $config, string $side) - added:
protected method CreatesMercureDrivers.mercureSubscribeExpiration(array $config) - added:
protected method CreatesMercureDrivers.mercureSubscribeFactory(array $config) - added:
protected property CachingTokenProvider.clockSkew: int - added:
protected property CachingTokenProvider.jwt - added:
protected property CachingTokenProvider.provider: TokenProviderInterface - added:
protected property CachingTokenProvider.refreshAfter - added:
protected property ChannelEncrypter.jweBuilder - added:
protected property ChannelEncrypter.key: string - added:
protected property ChannelEncrypter.serializer - added:
trait CreatesMercureDrivers
- changed:
method Batch.cancel() → method Batch.cancel(?Throwable $exception = …) - added:
class DebounceLock - added:
constructor DebounceLock(Cache $cache) - added:
method DebounceLock.acquire($job, $debounceFor = …, $maxWait = …) - added:
method DebounceLock.getCurrentOwner($job) - added:
method DebounceLock.getDebounceDelay($job) - added:
method DebounceLock.getMaxDebounceWait($job) - added:
method DebounceLock.release($job, string $owner = …) - added:
method DebounceLock.releaseMaxWait($job) - added:
method Dispatcher.bulk($jobs) - added:
property Queueable.debounceOwner - added:
property Queueable.uniqueLockOwner - added:
protected method Batch.isFirstJobProcessed(UpdatedBatchJobCounts $counts): bool - added:
protected method DebounceLock.maxWaitExceeded(Cache $cache, string $key, int $ttl, ?int $maxWait): bool - added:
protected method DebounceLock.resolveCache($job) - added:
protected property DebounceLock.cache - added:
static method DebounceLock.getKey($job)
- changed:
constructor BatchCanceled(Batch $batch) → constructor BatchCanceled(Batch $batch, ?Throwable $exception = …) - added:
class BatchStarted - added:
constructor BatchStarted(Batch $batch) - added:
property BatchCanceled.exception: ?Throwable - added:
property BatchStarted.batch: Batch
- changed:
class ArrayStore extends TaggableStore implements LockProvider → class ArrayStore extends TaggableStore implements CanFlushLocks, LockProvider - changed:
class DatabaseStore implements LockProvider, Store → class DatabaseStore implements CanFlushLocks, LockProvider, Store - changed:
class FailoverStore extends TaggableStore implements LockProvider → class FailoverStore extends TaggableStore implements CanFlushLocks, LockProvider - changed:
class FileStore implements Store, LockProvider → class FileStore implements CanFlushLocks, LockProvider, Store - changed:
class MemoizedStore implements LockProvider, Store → class MemoizedStore implements CanFlushLocks, LockProvider, Store - changed:
class NullStore extends TaggableStore implements LockProvider → class NullStore extends TaggableStore implements CanFlushLocks, LockProvider - changed:
class RedisStore extends TaggableStore implements LockProvider → class RedisStore extends TaggableStore implements CanFlushLocks, LockProvider - changed:
method Repository.offsetExists($key): bool → method Repository.offsetExists($offset): bool - changed:
method Repository.offsetGet($key): mixed → method Repository.offsetGet($offset): mixed - changed:
method Repository.offsetSet($key, $value): void → method Repository.offsetSet($offset, $value): void - changed:
method Repository.offsetUnset($key): void → method Repository.offsetUnset($offset): void - added:
class MemoizedTaggedCache extends TaggedCache - added:
class StorageStore implements Store - added:
const Repository.FLEXIBLE_CREATED_KEY_PREFIX - added:
constructor MemoizedTaggedCache(TaggedCache $taggedCache, MemoizedStore $memoizedStore) - added:
constructor StorageStore(Filesystem $disk, $directory = …, $prefix = …, $serializableClasses = …) - added:
method ApcStore.touch($key, $seconds) - added:
method ArrayStore.flushLocks(): bool - added:
method ArrayStore.hasSeparateLockStore(): bool - added:
method ArrayStore.touch($key, $seconds) - added:
method CacheManager.handleUnserializableClassUsing(?callable $callback): void - added:
method DatabaseStore.flushLocks(): bool - added:
method DatabaseStore.hasSeparateLockStore(): bool - added:
method DatabaseStore.touch($key, $seconds) - added:
method DynamoDbStore.touch($key, $seconds) - added:
method FailoverStore.flushLocks(): bool - added:
method FailoverStore.hasSeparateLockStore(): bool - added:
method FailoverStore.touch($key, $seconds) - added:
method FileStore.flushLocks(): bool - added:
method FileStore.hasSeparateLockStore(): bool - added:
method FileStore.touch($key, $seconds) - added:
method Lock.isLocked(): bool - added:
method MemcachedStore.touch($key, $seconds) - added:
method MemoizedStore.flushLocks(): bool - added:
method MemoizedStore.flushTagged() - added:
method MemoizedStore.hasSeparateLockStore(): bool - added:
method MemoizedStore.tags($names) - added:
method MemoizedStore.touch($key, $seconds) - added:
method MemoizedTaggedCache.__call($method, $parameters) - added:
method MemoizedTaggedCache.add($key, $value, $ttl = …) - added:
method MemoizedTaggedCache.clear(): bool - added:
method MemoizedTaggedCache.decrement($key, $value = …) - added:
method MemoizedTaggedCache.flush() - added:
method MemoizedTaggedCache.flushMemoized() - added:
method MemoizedTaggedCache.forever($key, $value) - added:
method MemoizedTaggedCache.forget($key) - added:
method MemoizedTaggedCache.get($key, $default = …): mixed - added:
method MemoizedTaggedCache.increment($key, $value = …) - added:
method MemoizedTaggedCache.many(array $defaults) - added:
method MemoizedTaggedCache.put($key, $value, $ttl = …) - added:
method MemoizedTaggedCache.putMany(array $values, $ttl = …) - added:
method MemoizedTaggedCache.touch($key, $ttl) - added:
method NoLock.isLocked(): bool - added:
method NullStore.flushLocks(): bool - added:
method NullStore.hasSeparateLockStore(): bool - added:
method NullStore.touch($key, $seconds) - added:
method RedisStore.flushLocks(): bool - added:
method RedisStore.hasSeparateLockStore(): bool - added:
method RedisStore.touch($key, $seconds) - added:
method RedisTaggedCache.touch($key, $ttl) - added:
method Repository.flushLocks(): bool - added:
method Repository.rememberWithWarmth($key, $ttl, Closure $callback): array - added:
method Repository.supportsFlushingLocks(): bool - added:
method Repository.touch($key, $ttl) - added:
method SessionStore.touch($key, $seconds) - added:
method StorageStore.add($key, $value, $seconds) - added:
method StorageStore.decrement($key, $value = …) - added:
method StorageStore.flush() - added:
method StorageStore.forever($key, $value) - added:
method StorageStore.forget($key) - added:
method StorageStore.get($key) - added:
method StorageStore.getDirectory() - added:
method StorageStore.getDisk() - added:
method StorageStore.getPrefix() - added:
method StorageStore.increment($key, $value = …) - added:
method StorageStore.path($key) - added:
method StorageStore.put($key, $value, $seconds) - added:
method StorageStore.setPrefix($prefix) - added:
method StorageStore.touch($key, $seconds) - added:
protected method CacheManager.createStorageDriver(array $config) - added:
protected method DatabaseStore.lockTable() - added:
protected method MemcachedLock.calculateExpiration($seconds) - added:
protected method MemoizedTaggedCache.itemKey($key) - added:
protected method Repository.handleIncompleteClass(string $key, mixed $value): mixed - added:
protected method StorageStore.emptyPayload() - added:
protected method StorageStore.expiration($seconds) - added:
protected method StorageStore.getPayload($key) - added:
protected method StorageStore.unserialize($value) - added:
protected property MemoizedStore.taggedCaches - added:
protected property MemoizedTaggedCache.cache - added:
protected property MemoizedTaggedCache.memoizedStore: MemoizedStore - added:
protected property MemoizedTaggedCache.taggedCache: TaggedCache - added:
protected property StorageStore.directory - added:
protected property StorageStore.disk - added:
protected property StorageStore.prefix - added:
protected property StorageStore.serializableClasses - added:
protected static property Repository.unserializableClassHandler - added:
static method Repository.handleUnserializableClassUsing(?callable $callback): void
- removed:
protected method ClearCommand.getArguments() - removed:
protected method ClearCommand.getOptions() - removed:
protected method PruneStaleTagsCommand.getArguments() - removed:
protected property CacheTableCommand.name - removed:
protected property ClearCommand.name - removed:
protected property PruneStaleTagsCommand.name - added:
protected method ClearCommand.clearLocks() - added:
protected property CacheTableCommand.signature - added:
protected property ClearCommand.signature - added:
protected property PruneStaleTagsCommand.signature
- added:
class CacheLocksFlushFailed - added:
class CacheLocksFlushed - added:
class CacheLocksFlushing - added:
constructor CacheLocksFlushFailed(?string $storeName) - added:
constructor CacheLocksFlushed(?string $storeName) - added:
constructor CacheLocksFlushing(?string $storeName) - added:
property CacheLocksFlushFailed.storeName: ?string - added:
property CacheLocksFlushed.storeName: ?string - added:
property CacheLocksFlushing.storeName: ?string
- changed:
method ForkDriver.run(Closure|array $tasks): array → method ForkDriver.run(Closure|array $tasks, CarbonInterval|int|null $timeout = …): array - changed:
method ProcessDriver.run(Closure|array $tasks): array → method ProcessDriver.run(Closure|array $tasks, CarbonInterval|int|null $timeout = …): array - changed:
method SyncDriver.run(Closure|array $tasks): array → method SyncDriver.run(Closure|array $tasks, CarbonInterval|int|null $timeout = …): array
- changed:
method Repository.offsetExists($key): bool → method Repository.offsetExists($offset): bool - changed:
method Repository.offsetGet($key): mixed → method Repository.offsetGet($offset): mixed - changed:
method Repository.offsetSet($key, $value): void → method Repository.offsetSet($offset, $value): void - changed:
method Repository.offsetUnset($key): void → method Repository.offsetUnset($offset): void
- removed:
method Application.addCommands(array $commands): void - changed:
protected method Application.addToParent(SymfonyCommand $command) → protected method Application.addToParent(SymfonyCommand|callable $command) - added:
class CommandInput - added:
constructor CommandInput(array $arguments = …, array $options = …) - added:
method CommandInput.__get($name) - added:
method CommandInput.__isset($name) - added:
method CommandInput.all($keys = …) - added:
method CommandInput.arguments() - added:
method CommandInput.options() - added:
method CommandInput.toArray() - added:
protected method Command.configureDefaults(): void - added:
protected method Command.configureFromAttributes() - added:
protected method Command.configureUsageFromAttribute() - added:
protected method CommandInput.data($key = …, $default = …) - added:
protected property CommandInput.arguments - added:
protected property CommandInput.options
- added:
class Aliases - added:
class Description - added:
class Help - added:
class Hidden - added:
class Signature - added:
class Usage - added:
constructor Aliases(array $aliases) - added:
constructor Description(string $description) - added:
constructor Help(string $help) - added:
constructor Hidden() - added:
constructor Signature(string $signature, ?array $aliases = …) - added:
constructor Usage(string $usage) - added:
property Aliases.aliases: array - added:
property Description.description: string - added:
property Help.help: string - added:
property Signature.aliases: ?array - added:
property Signature.signature: string - added:
property Usage.usage: string
- changed:
protected method PromptsForMissingInput.interact(InputInterface $input, OutputInterface $output) → protected method PromptsForMissingInput.interact(InputInterface $input, OutputInterface $output): void - added:
method InteractsWithIO.input($key = …, $default = …)
- changed:
constructor ScheduledTaskFailed(Event $task, Throwable $exception) → constructor ScheduledTaskFailed(Event $task, Throwable $exception, ?float $runtime = …) - added:
class SchedulePaused - added:
class ScheduleResumed - added:
property ScheduledTaskFailed.runtime: ?float
- removed:
protected method ScheduleRunCommand.clearInterruptSignal() - removed:
protected property ScheduleClearCacheCommand.name - removed:
protected property ScheduleInterruptCommand.name - changed:
method CallbackEvent.withoutOverlapping($expiresAt = …) → method CallbackEvent.withoutOverlapping($expiresAt = …, $releaseOnTerminationSignals = …) - changed:
method ManagesAttributes.withoutOverlapping($expiresAt = …) → method ManagesAttributes.withoutOverlapping($expiresAt = …, $releaseOnTerminationSignals = …) - changed:
method PendingEventAttributes.withoutOverlapping($expiresAt = …) → method PendingEventAttributes.withoutOverlapping($expiresAt = …, $releaseOnTerminationSignals = …) - added:
class SchedulePauseCommand extends Command - added:
class ScheduleResumeCommand extends Command - added:
const PendingEventAttributes.DEFERRED_EVENT_METHODS - added:
method Event.runsWhenPaused() - added:
method ManagesAttributes.evenWhenPaused() - added:
method ManagesAttributes.withAttributes($attributes) - added:
method Schedule.eventsForEnvironments(array $environments): array - added:
method Schedule.hasBeenInterruptedSince(DateTimeInterface $time) - added:
method SchedulePauseCommand.handle(Cache $cache, Dispatcher $dispatcher) - added:
method ScheduleResumeCommand.handle(Cache $cache, Dispatcher $dispatcher) - added:
property Event.skippedBecauseOverlapping - added:
property ManagesAttributes.attributes - added:
property ManagesAttributes.evenWhenPaused - added:
property ManagesAttributes.releaseOnTerminationSignals - added:
protected method Event.callEventCallback(Container $container, callable $callback, array $parameters = …) - added:
protected method Event.ensureMutexIsReleasedOnSignal() - added:
protected method Event.eventParametersForCallback(Closure $callback) - added:
protected method ScheduleRunCommand.isPaused() - added:
protected method ScheduleWorkCommand.listenForSignals() - added:
protected method ScheduleWorkCommand.sleep() - added:
protected method ScheduleWorkCommand.work($command) - added:
protected property ScheduleClearCacheCommand.signature - added:
protected property ScheduleInterruptCommand.signature - added:
protected property SchedulePauseCommand.description - added:
protected property ScheduleResumeCommand.aliases - added:
protected property ScheduleResumeCommand.description - added:
protected property ScheduleWorkCommand.executions - added:
protected property ScheduleWorkCommand.shouldQuit - added:
static method Schedule.alwaysOnOneServer($value = …) - added:
static method Schedule.withoutInterruptionPolling() - added:
static property Schedule.alwaysOnOneServer - added:
static property Schedule.interruptible - added:
static property Schedule.pausable
- changed:
method Container.offsetExists($key): bool → method Container.offsetExists($offset): bool - changed:
method Container.offsetGet($key): mixed → method Container.offsetGet($offset): mixed - changed:
method Container.offsetSet($key, $value): void → method Container.offsetSet($offset, $value): void - changed:
method Container.offsetUnset($key): void → method Container.offsetUnset($offset): void - changed:
method Container.resolveFromAttribute(ReflectionAttribute $attribute) → method Container.resolveFromAttribute(ReflectionAttribute $attribute, ReflectionParameter $parameter) - added:
protected method Container.resolveConcreteFromAttributes(ReflectionClass $reflected)
- changed:
constructor Auth(?string $guard = …) → constructor Auth(UnitEnum|string|null $guard = …) - changed:
constructor Authenticated(?string $guard = …) → constructor Authenticated(UnitEnum|string|null $guard = …) - changed:
constructor Cache(?string $store = …) → constructor Cache(UnitEnum|string|null $store = …, bool $memo = …) - changed:
constructor Log(?string $channel = …) → constructor Log(UnitEnum|string|null $channel = …, UnitEnum|string|null $name = …) - changed:
constructor RouteParameter(string $parameter) → constructor RouteParameter(?string $parameter = …) - changed:
constructor Storage(?string $disk = …) → constructor Storage(UnitEnum|string|null $disk = …) - changed:
property Auth.guard: ?string → property Auth.guard: UnitEnum|string|null - changed:
property Authenticated.guard: ?string → property Authenticated.guard: UnitEnum|string|null - changed:
property Cache.store: ?string → property Cache.store: UnitEnum|string|null - changed:
property Log.channel: ?string → property Log.channel: UnitEnum|string|null - changed:
property RouteParameter.parameter: string → property RouteParameter.parameter: ?string - changed:
property Storage.disk: ?string → property Storage.disk: UnitEnum|string|null - changed:
static method RouteParameter.resolve(self $attribute, Container $container) → static method RouteParameter.resolve(self $attribute, Container $container, ReflectionParameter $parameter) - added:
class BindWhen - added:
class RequestAttribute implements ContextualAttribute - added:
constructor BindWhen(string $concrete, Closure $condition) - added:
constructor RequestAttribute(string $parameter) - added:
property BindWhen.concrete: string - added:
property BindWhen.condition: Closure - added:
property Cache.memo: bool - added:
property Log.name: UnitEnum|string|null - added:
property RequestAttribute.parameter: string - added:
static method RequestAttribute.resolve(self $attribute, Container $container, ReflectionParameter $parameter)
- added:
method MustVerifyEmail.markEmailAsUnverified()
- added:
method Dispatcher.chain($jobs = …) - added:
method Dispatcher.dispatchAfterResponse($command, $handler = …)
- added:
interface CanFlushLocks - added:
method CanFlushLocks.flushLocks(): bool - added:
method CanFlushLocks.hasSeparateLockStore(): bool - added:
method Repository.touch($key, $ttl) - added:
method Store.touch($key, $seconds)
- changed:
method Driver.run(Closure|array $tasks): array → method Driver.run(Closure|array $tasks, CarbonInterval|int|null $timeout = …): array
- added:
interface ShouldBeDiscovered - added:
static method ShouldBeDiscovered.shouldBeDiscovered(): bool
- added:
interface Driver - added:
interface Transformation - added:
method Driver.dimensions(string $contents): array - added:
method Driver.dominantColor(string $contents): string - added:
method Driver.process(string $contents, ImagePipeline $pipeline): string - added:
method Driver.transformUsing(string $transformation, callable $callback): static
- added:
method JsonSchema.anyOf(Closure|array $schemas)
- added:
method Mailer.cc($users)
- added:
method InvokedProcess.command()
- added:
interface Interruptible - added:
interface PreparesForDispatch - added:
method Interruptible.interrupted(int $signal): void - added:
method Monitor.starting($callback) - added:
method PreparesForDispatch.prepareForDispatch() - added:
method Queue.creationTimeOfOldestPendingJob($queue = …) - added:
method Queue.delayedSize($queue = …) - added:
method Queue.pendingSize($queue = …) - added:
method Queue.reservedSize($queue = …)
- added:
method ResponseFactory.eventStream(Closure $callback, array $headers = …, StreamedEvent|string|null $endStreamWith = …)
- added:
interface ParameterizedRule extends Stringable - added:
method ParameterizedRule.toArray(): array
- changed:
constructor QueryException($connectionName, $sql, array $bindings, Throwable $previous, array $connectionDetails = …, $readWriteType = …) → constructor QueryException($connectionName, $sql, array $bindings, Throwable $previous, array $connectionDetails = …, $readWriteType = …, $maskBindings = …) - changed:
method Connection.cursor($query, $bindings = …, $useReadPdo = …) → method Connection.cursor($query, $bindings = …, $useReadPdo = …, array $fetchUsing = …) - changed:
method Connection.select($query, $bindings = …, $useReadPdo = …) → method Connection.select($query, $bindings = …, $useReadPdo = …, array $fetchUsing = …) - changed:
method Connection.selectResultSets($query, $bindings = …, $useReadPdo = …) → method Connection.selectResultSets($query, $bindings = …, $useReadPdo = …, array $fetchUsing = …) - changed:
method ConnectionInterface.cursor($query, $bindings = …, $useReadPdo = …) → method ConnectionInterface.cursor($query, $bindings = …, $useReadPdo = …, array $fetchUsing = …) - changed:
method ConnectionInterface.select($query, $bindings = …, $useReadPdo = …) → method ConnectionInterface.select($query, $bindings = …, $useReadPdo = …, array $fetchUsing = …) - changed:
method DatabaseManager.connectUsing(string $name, array $config, bool $force = …) → method DatabaseManager.connectUsing(UnitEnum|string $name, array $config, bool $force = …) - changed:
protected method QueryException.formatMessage($connectionName, $sql, $bindings, Throwable $previous) → protected method QueryException.formatMessage($connectionName, $sql, $bindings, Throwable $previous, $maskBindings = …) - changed:
protected method SqlServerConnection.isUniqueConstraintError(Exception $exception) → protected method SqlServerConnection.isUniqueConstraintError(Exception $exception): bool - added:
method Connection.getDirectPdo() - added:
method Connection.getDirectPdoConfig() - added:
method Connection.getRawDirectPdo() - added:
method Connection.hasDirectConnection() - added:
method Connection.setDirectPdo($pdo) - added:
method Connection.setDirectPdoConfig(array $config) - added:
method Connection.usingWritePdo(Closure $callback): mixed - added:
method MySqlConnection.isVitess() - added:
method MySqlConnection.olap(Closure $callback) - added:
method PostgresConnection.prepareBindings(array $bindings) - added:
method UniqueConstraintViolationException.setColumns(array $columns): self - added:
method UniqueConstraintViolationException.setIndex(?string $index): self - added:
property UniqueConstraintViolationException.columns: array - added:
property UniqueConstraintViolationException.index: ?string - added:
protected method Connection.parseUniqueConstraintViolation(Exception $exception): array - added:
protected method MySqlConnection.parseUniqueConstraintViolation(Exception $exception): array - added:
protected method MySqlConnection.setWorkload($workload) - added:
protected method PostgresConnection.parseUniqueConstraintViolation(Exception $exception): array - added:
protected method PostgresConnection.usesEmulatedPrepares() - added:
protected method SQLiteConnection.parseUniqueConstraintViolation(Exception $exception): array - added:
protected method SqlServerConnection.parseUniqueConstraintViolation(Exception $exception): array - added:
protected property Connection.directPdo - added:
protected property Connection.directPdoConfig - added:
protected property Connection.reconnecting
- added:
protected method BuildsQueries.getLastIdFromChunk($result, $alias)
- added:
protected method ConnectionFactory.createDirectPdo(array $config) - added:
protected method PostgresConnector.addKeepaliveOptions($dsn, array $config) - added:
protected method SqlServerConnector.escapeSqlSrvDsnValue($value)
- added:
protected method ConfiguresPooledConnections.ensurePooledPostgresIsProperlyConfigured(array $config) - added:
protected method ConfiguresPooledConnections.getDirectConfig(array $config) - added:
protected method ConfiguresPooledConnections.hasDirectConnection(array $config) - added:
protected method ConfiguresPooledConnections.mergeDirectConfig(array $config, array $merge) - added:
protected method ConfiguresPooledConnections.withEmulatedPrepares(array $config) - added:
trait ConfiguresPooledConnections
- removed:
protected method WipeCommand.getOptions() - removed:
protected property ShowModelCommand.name - removed:
protected property WipeCommand.name - changed:
protected method ShowModelCommand.display($class, $database, $table, $policy, $attributes, $relations, $events, $observers) → protected method ShowModelCommand.display(ModelInfo $modelData) - changed:
protected method ShowModelCommand.displayCli($class, $database, $table, $policy, $attributes, $relations, $events, $observers) → protected method ShowModelCommand.displayCli(ModelInfo $modelData) - changed:
protected method ShowModelCommand.displayJson($class, $database, $table, $policy, $attributes, $relations, $events, $observers) → protected method ShowModelCommand.displayJson(ModelInfo $modelData) - added:
protected method DbCommand.mergeConnectionConfiguration(array $connection, $type) - added:
protected property WipeCommand.signature
- added:
protected method InteractsWithPooledConnections.resolveDirectConnectionIfPossible($connections, $database) - added:
trait InteractsWithPooledConnections
- removed:
protected method FactoryMakeCommand.getOptions() - removed:
protected property FactoryMakeCommand.name - added:
protected property FactoryMakeCommand.signature
- removed:
protected method FreshCommand.getOptions() - removed:
protected method InstallCommand.getOptions() - removed:
protected method RefreshCommand.getOptions() - removed:
protected method ResetCommand.getOptions() - removed:
protected method StatusCommand.getOptions() - removed:
protected property FreshCommand.name - removed:
protected property InstallCommand.name - removed:
protected property RefreshCommand.name - removed:
protected property ResetCommand.name - removed:
protected property StatusCommand.name - added:
protected method StatusCommand.configureDefaults(): void - added:
protected property FreshCommand.signature - added:
protected property InstallCommand.signature - added:
protected property RefreshCommand.signature - added:
protected property ResetCommand.signature - added:
protected property StatusCommand.signature
- removed:
protected method SeedCommand.getArguments() - removed:
protected method SeedCommand.getOptions() - removed:
protected property SeedCommand.name - removed:
protected property SeederMakeCommand.name - added:
protected property SeedCommand.signature - added:
protected property SeederMakeCommand.signature
- changed:
method Builder.firstOrNew(array $attributes = …, array $values = …) → method Builder.firstOrNew(array $attributes = …, Closure|array $values = …) - changed:
method Builder.updateOrCreate(array $attributes, array $values = …) → method Builder.updateOrCreate(array $attributes, Closure|array $values = …) - added:
class ModelInfo implements Arrayable, ArrayAccess - added:
constructor ModelInfo($class, $database, $table, $policy, $attributes, $relations, $events, $observers, $collection, $builder, $resource) - added:
method Builder.decrementEach(array $columns, array $extra = …) - added:
method Builder.incrementEach(array $columns, array $extra = …) - added:
method Builder.modelKeys() - added:
method Builder.orWhereKey($id) - added:
method Builder.orWhereKeyNot($id) - added:
method Collection.duplicates($callback = …, $strict = …) - added:
method Collection.duplicatesStrict($callback = …) - added:
method Model.initializeModelAttributes() - added:
method Model.refreshForUpdate() - added:
method Model.saveOrIgnore(array $options = …, array|string|null $uniqueBy = …) - added:
method ModelInfo.offsetExists(mixed $offset): bool - added:
method ModelInfo.offsetGet(mixed $offset): mixed - added:
method ModelInfo.offsetSet(mixed $offset, mixed $value): void - added:
method ModelInfo.offsetUnset(mixed $offset): void - added:
method ModelInfo.toArray() - added:
property ModelInfo.attributes - added:
property ModelInfo.builder - added:
property ModelInfo.class - added:
property ModelInfo.collection - added:
property ModelInfo.database - added:
property ModelInfo.events - added:
property ModelInfo.observers - added:
property ModelInfo.policy - added:
property ModelInfo.relations - added:
property ModelInfo.resource - added:
property ModelInfo.table - added:
protected method Builder.getTableAlias() - added:
protected method Model.decrementEach(array $columns, array $extra = …) - added:
protected method Model.decrementEachQuietly(array $columns, array $extra = …) - added:
protected method Model.incrementEach(array $columns, array $extra = …) - added:
protected method Model.incrementEachQuietly(array $columns, array $extra = …) - added:
protected method Model.incrementOrDecrementEach(array $columns, array $extra, string $method) - added:
protected method Model.performInsertOrIgnore(Builder $query, array|string|null $uniqueBy) - added:
protected method Model.refreshSavedAttributes() - added:
protected method Model.refreshUsingQuery(Builder $query) - added:
protected property Model.refreshes: array - added:
protected static method Model.resolveClassAttribute(string $attributeClass, ?string $property = …, ?string $class = …) - added:
protected static property Model.booting - added:
protected static property Model.classAttributes: array
- added:
class Appends - added:
class Connection - added:
class DateFormat - added:
class Fillable - added:
class Guarded - added:
class Hidden - added:
class Refreshes - added:
class RouteKey - added:
class Table - added:
class Touches - added:
class Unguarded - added:
class Visible - added:
class WithoutIncrementing - added:
class WithoutTimestamps - added:
constructor Appends(array|string ...$columns) - added:
constructor Connection(UnitEnum|string $name) - added:
constructor DateFormat(string $format) - added:
constructor Fillable(array|string ...$columns) - added:
constructor Guarded(array|string ...$columns) - added:
constructor Hidden(array|string ...$columns) - added:
constructor Refreshes(array|string ...$columns) - added:
constructor RouteKey(string $key) - added:
constructor Table(?string $name = …, string|false|null $key = …, ?string $keyType = …, ?bool $incrementing = …, ?bool $timestamps = …, ?string $dateFormat = …) - added:
constructor Touches(array|string ...$relations) - added:
constructor Visible(array|string ...$columns) - added:
constructor WithoutIncrementing() - added:
constructor WithoutTimestamps() - added:
property Appends.columns: array - added:
property Connection.name: UnitEnum|string - added:
property DateFormat.format: string - added:
property Fillable.columns: array - added:
property Guarded.columns: array - added:
property Hidden.columns: array - added:
property Refreshes.columns: array - added:
property RouteKey.key: string - added:
property Table.dateFormat: ?string - added:
property Table.incrementing: ?bool - added:
property Table.key: string|false|null - added:
property Table.keyType: ?string - added:
property Table.name: ?string - added:
property Table.timestamps: ?bool - added:
property Touches.relations: array - added:
property Visible.columns: array
- added:
class AsVector implements Castable - added:
static method AsArrayObject.nullable() - added:
static method AsCollection.nullable($class = …, $map = …) - added:
static method AsVector.castUsing(array $arguments)
- added:
method GuardsAttributes.initializeGuardsAttributes() - added:
method HasRelationships.initializeHasRelationships() - added:
method HasTimestamps.initializeHasTimestamps() - added:
method HidesAttributes.initializeHidesAttributes() - added:
protected method HasAttributes.isEncryptedClassCastable($key) - added:
protected method HasAttributes.mergeDefaultAttributes() - added:
protected method HasDefaultAttributes.defaults() - added:
trait HasDefaultAttributes
- added:
protected static property Factory.cachedModelAttributes
- added:
class UseModel - added:
constructor UseModel(string $class) - added:
property UseModel.class: string
- changed:
method BelongsToMany.firstOrNew(array $attributes = …, array $values = …) → method BelongsToMany.firstOrNew(array $attributes = …, Closure|array $values = …) - changed:
method BelongsToMany.updateOrCreate(array $attributes, array $values = …, array $joining = …, $touch = …) → method BelongsToMany.updateOrCreate(array $attributes, Closure|array $values = …, array $joining = …, $touch = …) - changed:
method HasOneOrMany.firstOrNew(array $attributes = …, array $values = …) → method HasOneOrMany.firstOrNew(array $attributes = …, Closure|array $values = …) - changed:
method HasOneOrMany.updateOrCreate(array $attributes, array $values = …) → method HasOneOrMany.updateOrCreate(array $attributes, Closure|array $values = …) - changed:
protected method MorphTo.replayMacros(Builder $query) → method MorphTo.replayMacros(Builder $query) - added:
method BelongsToMany.chunkMap(callable $callback, $count = …) - added:
method BelongsToMany.createManyQuietly(iterable $records, array $joinings = …) - added:
method BelongsToMany.createOrRestore(array $attributes = …, Closure|array $values = …, array $joining = …, $touch = …) - added:
method BelongsToMany.createQuietly(array $attributes = …, array $joining = …, $touch = …) - added:
method BelongsToMany.forceCreate(array $attributes = …, array $joining = …, $touch = …) - added:
method BelongsToMany.forceCreateQuietly(array $attributes = …, array $joining = …, $touch = …) - added:
method BelongsToMany.incrementOrCreate(array $attributes, string $column = …, $default = …, $step = …, array $extra = …) - added:
method BelongsToMany.restoreOrCreate(array $attributes = …, Closure|array $values = …, array $joining = …, $touch = …) - added:
method HasOneOrMany.createOrRestore(array $attributes = …, Closure|array $values = …) - added:
method HasOneOrMany.incrementOrCreate(array $attributes, string $column = …, $default = …, $step = …, array $extra = …) - added:
method HasOneOrMany.restoreOrCreate(array $attributes = …, Closure|array $values = …) - added:
method HasOneOrManyThrough.allRelatedIds() - added:
method HasOneOrManyThrough.chunkMap(callable $callback, $count = …) - added:
method HasOneOrManyThrough.createOrRestore(array $attributes = …, Closure|array $values = …) - added:
method HasOneOrManyThrough.findOrNew($id, $columns = …) - added:
method HasOneOrManyThrough.incrementOrCreate(array $attributes, string $column = …, $default = …, $step = …, array $extra = …) - added:
method HasOneOrManyThrough.restoreOrCreate(array $attributes = …, Closure|array $values = …) - added:
method HasOneOrManyThrough.touch() - added:
method HasOneThrough.is($model) - added:
method Relation.clone() - added:
method Relation.getRelatedClass() - added:
protected method BelongsToMany.qualifyPivotWheres($query) - added:
protected method HasOneOrManyThrough.qualifyRelatedAttributes(array $attributes) - added:
protected method HasOneThrough.qualifyOneOfManyJoinWithThroughParentAlias(Builder $query) - added:
protected method MorphTo.resolveMorphTypes(array $values) - added:
protected property BelongsToMany.pivotWhereBetweens - added:
protected static method Relation.withoutConstraints(Closure $callback, $constraintsForNestedRelations) - added:
protected static property Relation.constraintsForNestedRelations - added:
static method Relation.noConstraintsForRelation(Closure $callback) - added:
static method Relation.withConstraints(Closure $callback) - added:
static method Relation.withConstraintsForNestedRelation(Closure $callback)
- added:
method SupportsPivotInverseRelations.chaperone(?string $declaring = …, ?string $related = …): static - added:
method SupportsPivotInverseRelations.withoutChaperone(): static - added:
protected method SupportsPivotInverseRelations.applyChaperonesToPivot(Model $pivot, Model $declaring, Model $related): void - added:
protected method SupportsPivotInverseRelations.guessPivotInverseRelation(Model $pivotModel, string $foreignKey, Model $model): ?string - added:
protected method SupportsPivotInverseRelations.resolvePivotInverseRelation(Model $pivotModel, ?string $relation, string $foreignKey, Model $model): ?string - added:
protected property CanBeOneOfMany.oneOfManyJoinModel - added:
protected property SupportsPivotInverseRelations.declaringInverseRelationship: ?string - added:
protected property SupportsPivotInverseRelations.relatedInverseRelationship: ?string - added:
trait SupportsPivotInverseRelations
- changed:
constructor MigrationEvent(Migration $migration, $method) → constructor MigrationEvent(Migration $migration, $method, $name = …) - added:
property MigrationEvent.name
- changed:
protected method Migrator.runMigration($migration, $method) → protected method Migrator.runMigration($migration, $method, $name = …) - added:
method Migrator.shouldSkip($path) - added:
protected method MigrationCreator.getCollisionFreePath($name, $path) - added:
protected method Migrator.directConnectionName($name) - added:
protected property MigrationCreator.currentMigrationPath
- removed:
protected method Builder.onceWithColumns($columns, $callback) - added:
method Builder.fetchUsing(...$fetchUsing) - added:
method Builder.insertOrIgnoreReturning(array $values, array $returning = …, array|string|null $uniqueBy = …) - added:
method Builder.orWhereBinary($column, $value) - added:
method Builder.orWhereNotBinary($column, $value) - added:
method Builder.straightJoin($table, $first, $operator = …, $second = …) - added:
method Builder.straightJoinSub($query, $as, $first, $operator = …, $second = …) - added:
method Builder.straightJoinWhere($table, $first, $operator, $second) - added:
method Builder.whereBinary($column, $value, $boolean = …, $not = …) - added:
method Builder.whereNotBinary($column, $value, $boolean = …) - added:
property Builder.fetchUsing: array
- added:
method Grammar.compileInsertOrIgnoreReturning(Builder $query, array $values, array $returning, ?array $uniqueBy) - added:
method Grammar.compileVectorDistanceExpression($column) - added:
method Grammar.supportsVectorDistance() - added:
method MariaDbGrammar.compileVectorDistanceExpression($column) - added:
method MariaDbGrammar.supportsVectorDistance() - added:
method PostgresGrammar.compileInsertOrIgnoreReturning(Builder $query, array $values, array $returning, ?array $uniqueBy) - added:
method PostgresGrammar.compileVectorDistanceExpression($column) - added:
method PostgresGrammar.supportsVectorDistance() - added:
method SQLiteGrammar.compileInsertOrIgnoreReturning(Builder $query, array $values, array $returning, ?array $uniqueBy) - added:
protected method Grammar.supportsStraightJoins() - added:
protected method Grammar.whereBinary(Builder $query, $where) - added:
protected method MySqlGrammar.compileDeleteWithJoins(Builder $query, $table, $where) - added:
protected method MySqlGrammar.supportsStraightJoins() - added:
protected method MySqlGrammar.whereBinary(Builder $query, $where) - added:
protected method SqlServerGrammar.compileUpdateWithoutJoins(Builder $query, $table, $columns, $where)
- changed:
method SchemaState.withMigrationTable(string $table) → method SchemaState.withMigrationTable(?string $table) - added:
method Blueprint.dropVectorIndex($index) - added:
method Blueprint.foreignUlidFor($model, $column = …) - added:
method Blueprint.foreignUuidFor($model, $column = …) - added:
method Builder.getColumn($table, $column) - added:
method Builder.hasForeignKey($table, $foreignKey) - added:
protected method MariaDbSchemaState.detectClientVersion(): array - added:
protected method SqliteSchemaState.removeShadowTables(string $schema)
- added:
method Grammar.compileDropVectorIndex(Blueprint $blueprint, Fluent $command) - added:
method MariaDbGrammar.compileDropVectorIndex(Blueprint $blueprint, Fluent $command) - added:
method MariaDbGrammar.compileVectorIndex(Blueprint $blueprint, Fluent $command) - added:
method PostgresGrammar.compileDropVectorIndex(Blueprint $blueprint, Fluent $command)
- added:
method CallQueuedListener.debounceId(): mixed - added:
method CallQueuedListener.debounceVia(): ?Cache - added:
property CallQueuedListener.countCrashesAsExceptions - added:
property CallQueuedListener.debounceId: mixed - added:
property CallQueuedListener.deleteWhenMissingModels
- added:
class ReadThroughFilesystem extends FilesystemAdapter - added:
class ReadThroughFilesystemAdapter implements FilesystemAdapter - added:
constructor ReadThroughFilesystem(FilesystemOperator $driver, FlysystemAdapter $adapter, array $config, FilesystemAdapter $primary, FilesystemAdapter $fallback) - added:
constructor ReadThroughFilesystemAdapter(FilesystemOperator $primary, FilesystemOperator $fallback, bool $throwOnPromotionFailure = …, bool $copy = …) - added:
method AwsS3V3Adapter.providesTemporaryUploadUrls() - added:
method FilesystemAdapter.assertEmpty() - added:
method FilesystemAdapter.copyToDisk($disk, $from, $to = …) - added:
method FilesystemAdapter.image(string $path): Image - added:
method FilesystemAdapter.moveToDisk($disk, $from, $to = …) - added:
method FilesystemManager.createReadThroughDriver(array $config, string $name = …) - added:
method ReadThroughFilesystem.providesTemporaryUploadUrls() - added:
method ReadThroughFilesystem.providesTemporaryUrls() - added:
method ReadThroughFilesystem.temporaryUploadUrl($path, $expiration, array $options = …) - added:
method ReadThroughFilesystem.temporaryUrl($path, $expiration, array $options = …) - added:
method ReadThroughFilesystem.url($path) - added:
method ReadThroughFilesystemAdapter.copy(string $source, string $destination, Config $config): void - added:
method ReadThroughFilesystemAdapter.createDirectory(string $path, Config $config): void - added:
method ReadThroughFilesystemAdapter.delete(string $path): void - added:
method ReadThroughFilesystemAdapter.deleteDirectory(string $path): void - added:
method ReadThroughFilesystemAdapter.directoryExists(string $path): bool - added:
method ReadThroughFilesystemAdapter.fileExists(string $path): bool - added:
method ReadThroughFilesystemAdapter.fileSize(string $path): FileAttributes - added:
method ReadThroughFilesystemAdapter.lastModified(string $path): FileAttributes - added:
method ReadThroughFilesystemAdapter.listContents(string $path, bool $deep): iterable - added:
method ReadThroughFilesystemAdapter.mimeType(string $path): FileAttributes - added:
method ReadThroughFilesystemAdapter.move(string $source, string $destination, Config $config): void - added:
method ReadThroughFilesystemAdapter.read(string $path): string - added:
method ReadThroughFilesystemAdapter.readStream(string $path) - added:
method ReadThroughFilesystemAdapter.setVisibility(string $path, string $visibility): void - added:
method ReadThroughFilesystemAdapter.visibility(string $path): FileAttributes - added:
method ReadThroughFilesystemAdapter.write(string $path, string $contents, Config $config): void - added:
method ReadThroughFilesystemAdapter.writeStream(string $path, $contents, Config $config): void - added:
protected method Filesystem.hasDangerousStreamWrapper($path) - added:
protected method ReadThroughFilesystem.readerFor($path) - added:
protected method ReadThroughFilesystemAdapter.copyFromFallback(string $source, string $destination, Config $config): void - added:
protected method ReadThroughFilesystemAdapter.handlePromotionFailure(string $path, FilesystemException $exception): void - added:
protected method ReadThroughFilesystemAdapter.moveOnPrimary(string $source, string $destination, Config $config): void - added:
protected method ReadThroughFilesystemAdapter.readerFor(string $path): FilesystemOperator - added:
protected property ReadThroughFilesystem.fallback: FilesystemAdapter - added:
protected property ReadThroughFilesystem.primary: FilesystemAdapter - added:
protected property ReadThroughFilesystemAdapter.copy: bool - added:
protected property ReadThroughFilesystemAdapter.fallback: FilesystemOperator - added:
protected property ReadThroughFilesystemAdapter.primary: FilesystemOperator - added:
protected property ReadThroughFilesystemAdapter.throwOnPromotionFailure: bool
- removed:
class LaravelCloudJsonFormatter extends JsonFormatter - removed:
protected method LaravelCloudJsonFormatter.normalizeRecord(LogRecord $record): array - added:
class ArrayMaintenanceMode implements MaintenanceMode - added:
class DevCommand - added:
class DevCommands - added:
class ViteFonts - added:
const DevCommand.PRIORITY_DEFAULT - added:
const DevCommand.PRIORITY_USERLAND - added:
const DevCommand.PRIORITY_VENDOR - added:
constructor DevCommand(string $command, array $source, ?string $name = …, int $priority = …) - added:
enum DevCommandColor: string - added:
enum DevCommandMode: string - added:
member DevCommandColor.BLUE = '#93c5fd' - added:
member DevCommandColor.GREEN = '#86efac' - added:
member DevCommandColor.ORANGE = '#fdba74' - added:
member DevCommandColor.PINK = '#fb7185' - added:
member DevCommandColor.PURPLE = '#c4b5fd' - added:
member DevCommandColor.YELLOW = '#fcd34d' - added:
member DevCommandMode.INLINE = 'inline' - added:
member DevCommandMode.STREAM = 'stream' - added:
member DevCommandMode.TABS = 'tabs' - added:
method ArrayMaintenanceMode.activate(array $payload): void - added:
method ArrayMaintenanceMode.active(): bool - added:
method ArrayMaintenanceMode.data(): array - added:
method ArrayMaintenanceMode.deactivate(): void - added:
method DevCommand.blue(): self - added:
method DevCommand.color(string $color): self - added:
method DevCommand.green(): self - added:
method DevCommand.name(): string - added:
method DevCommand.orange(): self - added:
method DevCommand.pink(): self - added:
method DevCommand.priority(): int - added:
method DevCommand.purple(): self - added:
method DevCommand.toArray(): array - added:
method DevCommand.yellow(): self - added:
method Vite.devServerUrl() - added:
method Vite.fonts($aliases = …) - added:
method Vite.useFontsManifestFilename($filename) - added:
method ViteFonts.ensureValidFamilies(array $aliases, array $manifest) - added:
method ViteFonts.ensureValidManifest(array $manifest) - added:
method ViteFonts.ensureValidPreloads(array $preloads, bool $isHot) - added:
method ViteFonts.flush() - added:
method ViteFonts.manifest(bool $isHot, string $buildDirectory, string $manifestFilename, string $hotFile) - added:
method ViteFonts.resolveStyleContent(array $manifest, ?array $aliases, string $buildDirectory) - added:
protected method MaintenanceModeManager.createArrayDriver(): ArrayMaintenanceMode - added:
protected method Vite.renderFontPreloads($preloads) - added:
protected method Vite.renderFontStyle($manifest, $aliases) - added:
protected method Vite.resolveFontPreloadAttributes($url, $preload) - added:
protected method Vite.resolveImports($manifest, $chunk, $seen = …) - added:
protected method Vite.viteFonts() - added:
protected method ViteFonts.filterVariables(array $variables, array $aliases) - added:
protected method ViteFonts.readManifest(string $path) - added:
protected method ViteFonts.readStyleFile(string $buildDirectory, string $file) - added:
protected method ViteFonts.resolveFilteredStyleContent(array $style, array $aliases) - added:
protected property ArrayMaintenanceMode.active - added:
protected property ArrayMaintenanceMode.payload - added:
protected property DevCommand.color: ?string - added:
protected property DevCommand.command: string - added:
protected property DevCommand.name: ?string - added:
protected property DevCommand.priority: int - added:
protected property DevCommand.source: array - added:
protected property Vite.fonts - added:
protected property Vite.fontsManifestFilename - added:
protected static method DevCommands.applyOrder(array $commands): array - added:
protected static method DevCommands.fillInEmptyColors(array $commands): array - added:
protected static method DevCommands.getColor(array $commands): string - added:
protected static method DevCommands.getPackageManager(): NodePackageManager - added:
protected static method DevCommands.resolvePriority(array $trace): int - added:
protected static method DevCommands.resolveSource(array $trace): array - added:
protected static property Application.applicationBuilder: string - added:
protected static property DevCommands.autoRestart - added:
protected static property DevCommands.bufferSize: ?int - added:
protected static property DevCommands.colorCount - added:
protected static property DevCommands.commands - added:
protected static property DevCommands.except - added:
protected static property DevCommands.mode: DevCommandMode - added:
protected static property DevCommands.only - added:
protected static property DevCommands.order - added:
protected static property DevCommands.packageManager: ?NodePackageManager - added:
protected static property DevCommands.streamBufferSize: ?int - added:
protected static property DevCommands.withTimestamps - added:
protected static property DevCommands.withoutDefaultCommands - added:
protected static property DevCommands.withoutVendorCommands - added:
protected static property ViteFonts.manifests - added:
static method CloudBootstrapper.configurePostgresConnections(Application $app): void - added:
static method CloudBootstrapper.configureQueueCredentialCaching(Application $app): void - added:
static method CloudBootstrapper.configureReadReplicaConnection(Application $app): void - added:
static method DevCommand.nameFromCommand(string $command): string - added:
static method DevCommands.artisan(string $command, ?string $name = …): DevCommand - added:
static method DevCommands.bufferSize(int $lines): void - added:
static method DevCommands.commands(): array - added:
static method DevCommands.disableAutoRestart(): void - added:
static method DevCommands.except(...$names): void - added:
static method DevCommands.getBufferSize(): ?int - added:
static method DevCommands.getStreamBufferSize(): ?int - added:
static method DevCommands.inline(): void - added:
static method DevCommands.mode(): DevCommandMode - added:
static method DevCommands.node(string $command, ?string $name = …): DevCommand - added:
static method DevCommands.nodeExec(string $command, ?string $name = …): DevCommand - added:
static method DevCommands.only(...$names): void - added:
static method DevCommands.order(array $names): void - added:
static method DevCommands.register(string $command, ?string $name = …): DevCommand - added:
static method DevCommands.registerDefaults() - added:
static method DevCommands.shouldAutoRestart(): bool - added:
static method DevCommands.shouldIncludeTimestamps(): bool - added:
static method DevCommands.stream(): void - added:
static method DevCommands.streamBufferSize(int $lines): void - added:
static method DevCommands.tabs(): void - added:
static method DevCommands.withTimestamps(): void - added:
static method DevCommands.withoutDefaultCommands(): void - added:
static method DevCommands.withoutVendorCommands(): void
- added:
protected method PendingDispatch.acquireDebounceLock()
- changed:
constructor CloudJob(Container $container, SqsClient $sqs, array $job, $connectionName, $queue, $reporter) → constructor CloudJob(Container $container, SqsClient $sqs, array $job, $connectionName, $queue, $reporter, array $overflowStorage = …) - changed:
method FailedJobProvider.flush($hours = …) → method FailedJobProvider.flush($hours = …, $queue = …) - added:
class CloudManager - added:
class JsonFormatter extends BaseFormatter - added:
constructor CloudManager(Container $container) - added:
method CloudManager.hosted(): bool - added:
method CloudManager.isManagedQueue(string $queue): bool - added:
method CloudManager.queue(): Queue - added:
method CloudManager.usesManagedQueues(): bool - added:
method Queue.managedQueues() - added:
method Queue.totalDelayedSize() - added:
method Queue.totalPendingSize() - added:
method Queue.totalReservedSize() - added:
method Queue.totalSize() - added:
protected method FailedJobProvider.failedJobsIterator(string $url): Iterator - added:
protected method FailedJobProvider.fetchFailedJobs(string $url): Response - added:
protected method FailedJobProvider.resolveFailedJobsPayload(string $url): object - added:
protected method JsonFormatter.normalizeRecord(LogRecord $record): array - added:
protected property CloudManager.container: Container
- changed:
method Middleware.redirectGuestsTo(callable|string $redirect) → method Middleware.redirectGuestsTo(callable|string|null $redirect) - added:
method ApplicationBuilder.prefersJsonResponses(bool $prefer = …) - added:
method Exceptions.dontRetry(array|string $class) - added:
method Exceptions.dontRetryWhen(Closure $dontRetryWhen) - added:
method Middleware.preventRequestForgery(array $except = …, bool $originOnly = …, bool $allowSameSite = …)
- removed:
protected method CastMakeCommand.getOptions() - removed:
protected method ChannelMakeCommand.getOptions() - removed:
protected method ClassMakeCommand.getOptions() - removed:
protected method ConfigMakeCommand.getOptions(): array - removed:
protected method ConsoleMakeCommand.getArguments() - removed:
protected method ConsoleMakeCommand.getOptions() - removed:
protected method EnumMakeCommand.getOptions() - removed:
protected method EnvironmentEncryptCommand.encryptReadableFormat(string $contents, Encrypter $encrypter): string - removed:
protected method EventMakeCommand.getOptions() - removed:
protected method ExceptionMakeCommand.getOptions() - removed:
protected method InterfaceMakeCommand.getOptions() - removed:
protected method JobMakeCommand.getOptions() - removed:
protected method JobMiddlewareMakeCommand.getOptions() - removed:
protected method ListenerMakeCommand.getOptions() - removed:
protected method MailMakeCommand.getOptions() - removed:
protected method ModelMakeCommand.getOptions() - removed:
protected method NotificationMakeCommand.getOptions() - removed:
protected method ObserverMakeCommand.getOptions() - removed:
protected method OptimizeClearCommand.getOptions() - removed:
protected method OptimizeCommand.getOptions() - removed:
protected method PolicyMakeCommand.getOptions() - removed:
protected method ProviderMakeCommand.getOptions() - removed:
protected method ReloadCommand.getOptions() - removed:
protected method RequestMakeCommand.getOptions() - removed:
protected method ResourceMakeCommand.getOptions() - removed:
protected method RouteListCommand.getOptions() - removed:
protected method RuleMakeCommand.getOptions() - removed:
protected method ScopeMakeCommand.getOptions() - removed:
protected method ServeCommand.getOptions() - removed:
protected method TestMakeCommand.getOptions() - removed:
protected method TraitMakeCommand.getOptions() - removed:
protected method ViewMakeCommand.getOptions() - removed:
protected property CastMakeCommand.name - removed:
protected property ChannelListCommand.name - removed:
protected property ChannelMakeCommand.name - removed:
protected property ClassMakeCommand.name - removed:
protected property ClearCompiledCommand.name - removed:
protected property ConfigCacheCommand.name - removed:
protected property ConfigClearCommand.name - removed:
protected property ConfigMakeCommand.name - removed:
protected property ConsoleMakeCommand.name - removed:
protected property EnumMakeCommand.name - removed:
protected property EnvironmentCommand.name - removed:
protected property EventClearCommand.name - removed:
protected property EventGenerateCommand.name - removed:
protected property EventMakeCommand.name - removed:
protected property ExceptionMakeCommand.name - removed:
protected property InterfaceMakeCommand.name - removed:
protected property JobMakeCommand.name - removed:
protected property JobMiddlewareMakeCommand.name - removed:
protected property ListenerMakeCommand.name - removed:
protected property MailMakeCommand.name - removed:
protected property ModelMakeCommand.name - removed:
protected property NotificationMakeCommand.name - removed:
protected property ObserverMakeCommand.name - removed:
protected property OptimizeClearCommand.name - removed:
protected property OptimizeCommand.name - removed:
protected property PolicyMakeCommand.name - removed:
protected property ProviderMakeCommand.name - removed:
protected property ReloadCommand.name - removed:
protected property RequestMakeCommand.name - removed:
protected property ResourceMakeCommand.name - removed:
protected property RouteCacheCommand.name - removed:
protected property RouteClearCommand.name - removed:
protected property RouteListCommand.name - removed:
protected property RuleMakeCommand.name - removed:
protected property ScopeMakeCommand.name - removed:
protected property ServeCommand.name - removed:
protected property TestMakeCommand.name - removed:
protected property TraitMakeCommand.name - removed:
protected property UpCommand.name - removed:
protected property ViewClearCommand.name - removed:
protected property ViewMakeCommand.name - changed:
protected method DocsCommand.configure() → protected method DocsCommand.configure(): void - changed:
protected method InteractsWithComposerPackages.requireComposerPackages(string $composer, array $packages) → protected method InteractsWithComposerPackages.requireComposerPackages(string $composer, array $packages, bool $pretend = …) - changed:
protected method ServeCommand.initialize(InputInterface $input, OutputInterface $output) → protected method ServeCommand.initialize(InputInterface $input, OutputInterface $output): void - added:
class DevCommand extends Command - added:
class DevListCommand extends Command - added:
method DevCommand.handle(NodePackageManager $packageManager): int - added:
method DevListCommand.handle() - added:
protected method BroadcastingInstallCommand.collectMercureConfig() - added:
protected method DevCommand.buildConcurrentlyCommand(array $devCommands): string - added:
protected method DevCommand.buildMultiplexCommand(array $devCommands): string - added:
protected method DevCommand.runViaConcurrently(array $devCommands, NodePackageManager $packageManager): int - added:
protected method DevCommand.runViaMultiplex(array $devCommands, NodePackageManager $packageManager): int - added:
protected method DevListCommand.filterCommands(array $commands): array - added:
protected method DevListCommand.formatSource($source): string - added:
protected method DevListCommand.getOptions() - added:
protected method DevListCommand.isFiltering(): bool - added:
protected method DevListCommand.isVendorCommand(array $command): bool - added:
protected method EnvironmentEncryptCommand.encryptWhileMaintainingReadability(string $contents, Encrypter $encrypter, ?string $previous = …): string - added:
protected method EnvironmentEncryptCommand.readEncryptedEntries(string $contents, Encrypter $encrypter): array - added:
protected method MailMakeCommand.configureDefaults(): void - added:
protected method NotificationMakeCommand.configureDefaults(): void - added:
protected method NotificationMakeCommand.getView() - added:
protected method RouteListCommand.resolveUri(Route $route) - added:
protected method ServeCommand.configureDefaults(): void - added:
protected method ServeCommand.shouldPassThroughEnvironmentVariable($key) - added:
protected property BroadcastingInstallCommand.driverPackages - added:
protected property CastMakeCommand.signature - added:
protected property ChannelListCommand.signature - added:
protected property ChannelMakeCommand.signature - added:
protected property ClassMakeCommand.signature - added:
protected property ClearCompiledCommand.signature - added:
protected property ConfigCacheCommand.signature - added:
protected property ConfigClearCommand.signature - added:
protected property ConfigMakeCommand.signature - added:
protected property ConsoleMakeCommand.signature - added:
protected property DevCommand.description - added:
protected property DevCommand.signature - added:
protected property DevListCommand.description - added:
protected property DevListCommand.name - added:
protected property EnumMakeCommand.signature - added:
protected property EnvironmentCommand.signature - added:
protected property EventClearCommand.signature - added:
protected property EventGenerateCommand.signature - added:
protected property EventMakeCommand.signature - added:
protected property ExceptionMakeCommand.signature - added:
protected property InterfaceMakeCommand.signature - added:
protected property JobMakeCommand.signature - added:
protected property JobMiddlewareMakeCommand.signature - added:
protected property Kernel.kernelCommands - added:
protected property ListenerMakeCommand.signature - added:
protected property MailMakeCommand.signature - added:
protected property ModelMakeCommand.signature - added:
protected property NotificationMakeCommand.signature - added:
protected property ObserverMakeCommand.signature - added:
protected property OptimizeClearCommand.signature - added:
protected property OptimizeCommand.signature - added:
protected property PolicyMakeCommand.signature - added:
protected property ProviderMakeCommand.signature - added:
protected property ReloadCommand.signature - added:
protected property RequestMakeCommand.signature - added:
protected property ResourceMakeCommand.signature - added:
protected property RouteCacheCommand.signature - added:
protected property RouteClearCommand.signature - added:
protected property RouteListCommand.signature - added:
protected property RuleMakeCommand.signature - added:
protected property ScopeMakeCommand.signature - added:
protected property ServeCommand.signature - added:
protected property TestMakeCommand.signature - added:
protected property TraitMakeCommand.signature - added:
protected property UpCommand.signature - added:
protected property ViewClearCommand.signature - added:
protected property ViewMakeCommand.signature
- added:
method Handler.buildContextForException(Throwable $e) - added:
method Handler.dontRetry(array|string $exceptions) - added:
method Handler.dontRetryWhen(callable $dontRetryWhen) - added:
method Handler.isReporting(Throwable $e): bool - added:
method Handler.shouldStopRetries(Throwable $e) - added:
protected property Handler.currentlyReporting: ?Throwable - added:
protected property Handler.dontRetry - added:
protected property Handler.dontRetryCallbacks
- added:
method Exception.previousExceptions()
- added:
class HealthCheck - added:
method HealthCheck.__invoke(Request $request) - added:
protected method FormRequest.configureFromAttributes() - added:
protected method FormRequest.dotInputKeys(array $input, string $prefix = …): array - added:
protected method FormRequest.isKnownField(string $inputKey, array $allowedKeys): bool - added:
protected method FormRequest.nearestClassWithAttribute(array $attributes, array $properties = …) - added:
protected method FormRequest.shouldFailOnUnknownFields(): bool - added:
protected method FormRequest.validateNoUnknownFields(Validator $validator): void - added:
protected static property FormRequest.globalFailOnUnknownFields: bool - added:
static method FormRequest.failOnUnknownFields(bool $value = …): void - added:
static method FormRequest.flushState(): void
- added:
class ErrorBag - added:
class FailOnUnknownFields - added:
class RedirectTo - added:
class RedirectToRoute - added:
class StopOnFirstFailure - added:
constructor ErrorBag(string $name) - added:
constructor FailOnUnknownFields(bool $value = …) - added:
constructor RedirectTo(string $url) - added:
constructor RedirectToRoute(string $route) - added:
property ErrorBag.name: string - added:
property FailOnUnknownFields.value: bool - added:
property RedirectTo.url: string - added:
property RedirectToRoute.route: string
- removed:
constructor VerifyCsrfToken(Application $app, Encrypter $encrypter) - removed:
method VerifyCsrfToken.getExcludedPaths() - removed:
method VerifyCsrfToken.handle($request, Closure $next) - removed:
method VerifyCsrfToken.shouldAddXsrfTokenCookie() - removed:
protected method VerifyCsrfToken.addCookieToResponse($request, $response) - removed:
protected method VerifyCsrfToken.getTokenFromRequest($request) - removed:
protected method VerifyCsrfToken.isReading($request) - removed:
protected method VerifyCsrfToken.newCookie($request, $config) - removed:
protected method VerifyCsrfToken.runningUnitTests() - removed:
protected method VerifyCsrfToken.tokensMatch($request) - removed:
protected property VerifyCsrfToken.addHttpCookie - removed:
protected property VerifyCsrfToken.app - removed:
protected property VerifyCsrfToken.encrypter - removed:
protected property VerifyCsrfToken.except - removed:
protected static property VerifyCsrfToken.neverVerify - removed:
static method VerifyCsrfToken.except($uris) - removed:
static method VerifyCsrfToken.flushState() - removed:
static method VerifyCsrfToken.serialized() - changed:
class ValidateCsrfToken extends VerifyCsrfToken → class ValidateCsrfToken extends PreventRequestForgery - changed:
class VerifyCsrfToken → class VerifyCsrfToken extends PreventRequestForgery - added:
class PreventRequestForgery - added:
class PreventStaleDatabaseReads - added:
constructor PreventRequestForgery(Application $app, Encrypter $encrypter) - added:
constructor PreventStaleDatabaseReads(DatabaseManager $manager) - added:
method PreventRequestForgery.getExcludedPaths() - added:
method PreventRequestForgery.handle($request, Closure $next) - added:
method PreventRequestForgery.shouldAddXsrfTokenCookie() - added:
method PreventStaleDatabaseReads.handle($request, Closure $next, $seconds = …) - added:
protected method PreventRequestForgery.addCookieToResponse($request, $response) - added:
protected method PreventRequestForgery.getTokenFromRequest($request) - added:
protected method PreventRequestForgery.hasValidOrigin($request) - added:
protected method PreventRequestForgery.isReading($request) - added:
protected method PreventRequestForgery.newCookie($request, $config) - added:
protected method PreventRequestForgery.runningUnitTests() - added:
protected method PreventRequestForgery.tokensMatch($request) - added:
protected property PreventRequestForgery.addHttpCookie - added:
protected property PreventRequestForgery.app - added:
protected property PreventRequestForgery.encrypter - added:
protected property PreventRequestForgery.except - added:
protected property PreventStaleDatabaseReads.manager: DatabaseManager - added:
protected property TransformsRequest.keyBytes - added:
protected property TransformsRequest.maxKeyBytes - added:
protected static property PreventRequestForgery.allowSameSite - added:
protected static property PreventRequestForgery.neverVerify - added:
protected static property PreventRequestForgery.originOnly - added:
static method PreventRequestForgery.allowSameSite($allow = …) - added:
static method PreventRequestForgery.except($uris) - added:
static method PreventRequestForgery.flushState() - added:
static method PreventRequestForgery.serialized() - added:
static method PreventRequestForgery.useOriginOnly($originOnly = …) - added:
static method PreventStaleDatabaseReads.for($seconds)
- added:
method ArtisanServiceProvider.boot()
- added:
protected method RefreshDatabase.migrateDatabasesWithoutEvents() - added:
protected method TestCase.withoutBootingFramework(): bool - added:
protected property TestCase.withoutBootingFramework: ?bool
- added:
class Seed - added:
class Seeder - added:
class SetUp - added:
class TearDown - added:
class UnitTest - added:
class WithoutMigrationEvents - added:
constructor Seed() - added:
constructor Seeder(string $class) - added:
constructor WithoutMigrationEvents() - added:
property Seeder.class: string
- changed:
protected method InteractsWithDatabase.assertDatabaseCount($table, int $count, $connection = …) → protected method InteractsWithDatabase.assertDatabaseCount($table, ?int $count = …, $connection = …) - added:
method InteractsWithConsole.mockArtisan($command, $parameters = …): PendingCommand - added:
method InteractsWithConsole.realArtisan($command, $parameters = …): int - added:
method MakesHttpRequests.query($uri, array $data = …, array $headers = …) - added:
method MakesHttpRequests.queryJson($uri, array $data = …, array $headers = …, $options = …) - added:
protected method InteractsWithTestCaseLifecycle.flushState(): void
- added:
protected method CanConfigureMigrationCommands.shouldDispatchMigrationEvents()
- removed:
method RedirectResponse.withCookies(array $cookies) - changed:
class RedirectResponse extends BaseRedirectResponse → class RedirectResponse extends BaseRedirectResponse implements Responsable - added:
method RedirectResponse.toResponse(mixed $request): static - added:
method ResponseTrait.withCookies(array $cookies) - added:
method ResponseTrait.withoutCookies(array $cookies, $path = …, $domain = …)
- removed:
protected method PendingRequest.marshalConnectionException(ConnectException $e) - removed:
protected method PendingRequest.marshalRequestExceptionWithResponse(RequestException $e) - removed:
protected method PendingRequest.marshalRequestExceptionWithoutResponse(RequestException $e) - changed:
method Response.throw() → method Response.throw($callback = …) - changed:
method Response.throwIf($condition) → method Response.throwIf($condition, $callback = …) - added:
method PendingRequest.query(string $url, $data = …) - added:
method Request.uri() - added:
protected method PendingRequest.ensureValidRequestBody($body): void - added:
protected method PendingRequest.getMaximumAttempts() - added:
protected method PendingRequest.marshalTransportException(TransferException $e) - added:
protected method PendingRequest.marshalTransportExceptionWithResponse(TransferException $e, ResponseInterface $response) - added:
protected method PendingRequest.normalizeHeaderValue($value): string|array - added:
protected method PendingRequest.normalizeHeaderValues(array $headers): array - added:
protected method PendingRequest.normalizeMultipartHeaders(array $multipart): array - added:
protected method PendingRequest.normalizeMultipartOption(array $multipart): array - added:
protected method PendingRequest.normalizeNonFiniteFloatValues(array $values): array - added:
protected method PendingRequest.normalizeRequestOptionValue($value) - added:
protected method PendingRequest.normalizeScalarString($value): string - added:
protected method PendingRequest.responseFromException(Throwable $e) - added:
protected method PendingRequest.retryDelayInMilliseconds($attempt, $exception) - added:
protected method PendingRequest.rewindMultipartStreams(array $options) - added:
protected method PendingRequest.wrapMultipartStreams(array $multipart) - added:
protected property Response.decodedJson: bool - added:
protected static method Factory.normalizeResponseHeaders(array $headers): array - added:
protected static method Factory.normalizeScalarString($value): string
- changed:
method FluentPromise.resolve($value): void → method FluentPromise.resolve($value = …): void - changed:
method LazyPromise.resolve($value): void → method LazyPromise.resolve($value = …): void
- added:
method InteractsWithInput.image(string $key): ?Image
- added:
class OriginMismatchException extends Exception
- added:
class PrefersJsonResponses - added:
method PrefersJsonResponses.handle($request, Closure $next) - added:
protected method PrefersJsonResponses.acceptHeaderIsBroad($accept)
- added:
protected static property CollectsResources.cachedCollectsAttributes - added:
protected static property ConditionallyLoadsAttributes.cachedPreserveKeysAttributes
- added:
class Collects - added:
class PreserveKeys - added:
constructor Collects(string $class) - added:
constructor PreserveKeys() - added:
property Collects.class: string
- changed:
class AnonymousResourceCollection extends \Illuminate\Http\Resources\Json\AnonymousResourceCollection → class AnonymousResourceCollection extends BaseAnonymousResourceCollection - added:
method JsonApiRequest.hasSparseFieldset(string $key): bool - added:
protected method AnonymousResourceCollection.loadMissingRequestedRelationships(Request $request)
- added:
method ResolvesJsonApiElements.loadMissingRequestedRelationshipsOn(JsonApiRequest $request, Collection $models): void - added:
protected method ResolvesJsonApiElements.loadMissingRequestedRelationships(JsonApiRequest $request, Collection $relatedModels, ?string $resourceClass, array $requestedRelationships): void
- added:
class Image implements Responsable, Stringable - added:
class ImageException extends RuntimeException - added:
class ImageManager extends Manager - added:
class ImageOutputOptions - added:
class ImagePipeline - added:
class ImageServiceProvider extends ServiceProvider implements DeferrableProvider - added:
const ImageOutputOptions.DEFAULT_QUALITY - added:
constructor Image(Closure|string $contents, ?UploadedFile $file = …) - added:
constructor ImagePipeline(ImageOutputOptions $output = …) - added:
method Image.__serialize(): never - added:
method Image.__toString(): string - added:
method Image.blur(int $amount = …): static - added:
method Image.contain(int $width, int $height, ?string $background = …): static - added:
method Image.cover(int $width, int $height): static - added:
method Image.crop(int $width, int $height, int $x = …, int $y = …): static - added:
method Image.dimensions(): array - added:
method Image.dominantColor(): string - added:
method Image.extension(): string - added:
method Image.file(): ?UploadedFile - added:
method Image.flip(): static - added:
method Image.flipHorizontally(): static - added:
method Image.flipVertically(): static - added:
method Image.flop(): static - added:
method Image.grayscale(): static - added:
method Image.hashName(string $path = …): string - added:
method Image.height(): int - added:
method Image.mimeType(): string - added:
method Image.optimize(string $format = …, int $quality = …): static - added:
method Image.orient(): static - added:
method Image.quality(int $quality): static - added:
method Image.resize(?int $width = …, ?int $height = …): static - added:
method Image.rotate(float $angle, ?string $background = …): static - added:
method Image.scale(?int $width = …, ?int $height = …): static - added:
method Image.sharpen(int $amount = …): static - added:
method Image.store(string $path = …, ?string $disk = …, array $options = …): string|false - added:
method Image.storeAs(string $path, ?string $name = …, ?string $disk = …, array $options = …): string|false - added:
method Image.storePublicly(string $path = …, ?string $disk = …, array $options = …): string|false - added:
method Image.storePubliclyAs(string $path, ?string $name = …, ?string $disk = …, array $options = …): string|false - added:
method Image.toAvif(): static - added:
method Image.toBase64(): string - added:
method Image.toBmp(): static - added:
method Image.toBytes(): string - added:
method Image.toDataUri(): string - added:
method Image.toFormat(string $format): static - added:
method Image.toGif(): static - added:
method Image.toHeic(): static - added:
method Image.toJpeg(): static - added:
method Image.toJpg(): static - added:
method Image.toJxl(): static - added:
method Image.toPng(): static - added:
method Image.toResponse($request): Response - added:
method Image.toString(): string - added:
method Image.toWebp(): static - added:
method Image.transform(Transformation $transformation): static - added:
method Image.using(string $driver): static - added:
method Image.usingGd(): static - added:
method Image.usingImagick(): static - added:
method Image.width(): int - added:
method ImageManager.fromBase64(string $base64): Image - added:
method ImageManager.fromBytes(string $contents): Image - added:
method ImageManager.fromPath(string $path): Image - added:
method ImageManager.fromStorage(string $path, BackedEnum|string|null $disk = …): Image - added:
method ImageManager.fromStream(mixed $stream): Image - added:
method ImageManager.fromUpload(UploadedFile $file): Image - added:
method ImageManager.fromUrl(string $url): Image - added:
method ImageManager.getDefaultDriver(): string - added:
method ImageManager.transformUsing(string $driver, string $transformation, callable $callback): static - added:
method ImageOutputOptions.hasChanges(): bool - added:
method ImagePipeline.__clone(): void - added:
method ImagePipeline.add(Transformation $transformation): void - added:
method ImagePipeline.hasChanges(): bool - added:
method ImageServiceProvider.provides(): array - added:
method ImageServiceProvider.register(): void - added:
property ImageOutputOptions.format: ?string - added:
property ImageOutputOptions.quality: ?int - added:
property ImagePipeline.output: ImageOutputOptions - added:
property ImagePipeline.transformations: array - added:
protected method Image.newClone(): static - added:
protected method Image.resolveDriver(): Driver - added:
protected method Image.resolveOnce(Closure $loader): Closure - added:
protected method Image.withClone(Closure $callback): static - added:
protected method Image.withOutput(Closure $callback): static - added:
protected method ImageManager.applyTransformationHandlers(string $driver, Driver $instance): void - added:
protected method ImageManager.createDriver($driver): Driver - added:
protected method ImageManager.createGdDriver(): GdDriver - added:
protected method ImageManager.createImagickDriver(): ImagickDriver - added:
protected property Image.contents: Closure|string - added:
protected property Image.driver: ?string - added:
protected property Image.file: ?UploadedFile - added:
protected property Image.hashName: ?string - added:
protected property Image.pipeline: ImagePipeline - added:
protected property Image.processed: bool - added:
protected property ImageManager.transformationHandlers: array
- added:
abstract class InterventionDriver implements Driver - added:
class GdDriver extends InterventionDriver - added:
class ImagickDriver extends InterventionDriver - added:
constructor InterventionDriver() - added:
method InterventionDriver.dimensions(string $contents): array - added:
method InterventionDriver.dominantColor(string $contents): string - added:
method InterventionDriver.ensureRequirementsAreMet(): void - added:
method InterventionDriver.process(string $contents, ImagePipeline $pipeline): string - added:
method InterventionDriver.transformUsing(string $transformation, callable $callback): static - added:
protected method GdDriver.createManager(): ImageManager - added:
protected method ImagickDriver.createManager(): ImageManager - added:
protected method InterventionDriver.createManager(): ImageManager - added:
protected method InterventionDriver.dominantColorFrom(ImageInterface $image): string - added:
protected method InterventionDriver.resolveBackground(ImageInterface $image, ?string $background): ?string - added:
protected method InterventionDriver.transformationHandlerFor(object $transformation): ?callable - added:
protected property InterventionDriver.manager: ImageManager - added:
protected property InterventionDriver.transformationHandlers: array
- added:
class Blur implements Transformation - added:
class Contain implements Transformation - added:
class Cover implements Transformation - added:
class Crop implements Transformation - added:
class FlipHorizontally implements Transformation - added:
class FlipVertically implements Transformation - added:
class Grayscale implements Transformation - added:
class Orient implements Transformation - added:
class Resize implements Transformation - added:
class Rotate implements Transformation - added:
class Scale implements Transformation - added:
class Sharpen implements Transformation - added:
constructor Blur(int $amount) - added:
constructor Contain(int $width, int $height, ?string $background = …) - added:
constructor Cover(int $width, int $height) - added:
constructor Crop(int $width, int $height, int $x = …, int $y = …) - added:
constructor Resize(?int $width, ?int $height) - added:
constructor Rotate(float $angle, ?string $background = …) - added:
constructor Scale(?int $width, ?int $height) - added:
constructor Sharpen(int $amount) - added:
property Blur.amount: int - added:
property Contain.background: ?string - added:
property Contain.height: int - added:
property Contain.width: int - added:
property Cover.height: int - added:
property Cover.width: int - added:
property Crop.height: int - added:
property Crop.width: int - added:
property Crop.x: int - added:
property Crop.y: int - added:
property Resize.height: ?int - added:
property Resize.width: ?int - added:
property Rotate.angle: float - added:
property Rotate.background: ?string - added:
property Scale.height: ?int - added:
property Scale.width: ?int - added:
property Sharpen.amount: int
- added:
method JsonSchemaTypeFactory.anyOf(Closure|array $schemas): Types\AnyOfType - added:
protected method Deserializer.buildAnyOfComposition(array $schema, array $refs = …): ?Types\AnyOfType
- added:
class AnyOfType extends Type - added:
constructor AnyOfType(array $schemas) - added:
method AnyOfType.schemas(): array - added:
protected property AnyOfType.schemas: array
- added:
protected method LogManager.createMonthlyDriver(array $config) - added:
protected method LogManager.createRotatingDriver(array $config, string $dateFormat, $maxFiles)
- added:
class JsonFormatter extends MonologJsonFormatter - added:
protected method JsonFormatter.getExceptionContext(Throwable $e, int $depth): array - added:
protected method JsonFormatter.normalizeException(Throwable $e, int $depth = …): array
- changed:
method MailManager.setDefaultDriver(string $name) → method MailManager.setDefaultDriver($name) - added:
method Mailable.assertHasNoAttachments() - added:
property SendQueuedMailable.countCrashesAsExceptions - added:
property SendQueuedMailable.deleteWhenMissingModels: bool - added:
property SendQueuedMailable.failOnTimeout - added:
protected method MailManager.createCloudflareTransport(array $config)
- added:
class CloudflareTransport extends AbstractTransport - added:
constructor CloudflareTransport(string $accountId, string $key, ?HttpClientInterface $client = …) - added:
method CloudflareTransport.__toString(): string - added:
protected method CloudflareTransport.doSend(SentMessage $message): void - added:
protected method CloudflareTransport.formatAddress(Address $address) - added:
protected method CloudflareTransport.getAttachments(Email $email): array - added:
protected method CloudflareTransport.getCustomHeaders(Email $email): array - added:
protected method CloudflareTransport.getPayload(SentMessage $message): array - added:
protected method CloudflareTransport.getRecipients(Email $email, Envelope $envelope): array - added:
protected method CloudflareTransport.stringifyAddresses(array $addresses): array - added:
protected method SesV2Transport.tenantName(SentMessage $message) - added:
protected property CloudflareTransport.accountId: string - added:
protected property CloudflareTransport.client: HttpClientInterface - added:
protected property CloudflareTransport.key: string
- added:
method ChannelManager.driver($driver = …) - added:
method NotificationSender.locale($locale) - added:
property SendQueuedNotifications.countCrashesAsExceptions - added:
property SendQueuedNotifications.deleteWhenMissingModels: bool - added:
property SendQueuedNotifications.failOnTimeout
- removed:
protected property NotificationTableCommand.name - added:
protected property NotificationTableCommand.signature
- added:
class NotificationSkipped - added:
constructor NotificationSkipped($notifiable, $notification, $channel) - added:
property NotificationSkipped.channel - added:
property NotificationSkipped.notifiable - added:
property NotificationSkipped.notification
- added:
method MailMessage.attachFromStorage($path, $name = …, array $options = …) - added:
method MailMessage.attachFromStorageDisk($disk, $path, $name = …, array $options = …)
- changed:
class InvokedProcessPool implements Countable → class InvokedProcessPool implements Countable, IteratorAggregate - changed:
class ProcessPoolResults implements ArrayAccess → class ProcessPoolResults implements ArrayAccess, IteratorAggregate - changed:
method Factory.assertDidntRun(Closure|string $callback) → method Factory.assertDidntRun(Closure|array|string $callback) - changed:
method Factory.assertNotRan(Closure|string $callback) → method Factory.assertNotRan(Closure|array|string $callback) - changed:
method Factory.assertRan(Closure|string $callback) → method Factory.assertRan(Closure|array|string $callback) - changed:
method Factory.assertRanTimes(Closure|string $callback, int $times = …) → method Factory.assertRanTimes(Closure|array|string $callback, int $times = …) - changed:
method PendingProcess.idleTimeout(int $timeout) → method PendingProcess.idleTimeout(CarbonInterval|int $timeout) - changed:
method PendingProcess.timeout(int $timeout) → method PendingProcess.timeout(CarbonInterval|int $timeout) - added:
method Factory.assertRanInOrder(array $callbacks) - added:
method FakeInvokedProcess.ensureNotTimedOut() - added:
method FakeInvokedProcess.stop(float $timeout = …, ?int $signal = …) - added:
method InvokedProcessPool.getIterator(): Traversable - added:
method ProcessPoolResults.getIterator(): Traversable - added:
protected method Factory.assertRanCount(int $count) - added:
protected property FakeInvokedProcess.stopped
- added:
class ProcessIdleTimedOutException extends ProcessTimedOutException - added:
method ProcessTimedOutException.exceededTimeout() - added:
protected property ProcessTimedOutException.original - added:
static method ProcessTimedOutException.make(SymfonyTimeoutException $original, ProcessResult $result)
- removed:
protected method Worker.queuePaused($connectionName, $queue) - changed:
constructor SqsQueue(SqsClient $sqs, $default, $prefix = …, $suffix = …, $dispatchAfterCommit = …) → constructor SqsQueue(SqsClient $sqs, $default, $prefix = …, $suffix = …, $dispatchAfterCommit = …, array $overflowStorage = …) - changed:
method DatabaseQueue.clear($queue) → method DatabaseQueue.clear($queue = …) - changed:
method RedisQueue.clear($queue) → method RedisQueue.clear($queue = …) - changed:
method SqsQueue.clear($queue) → method SqsQueue.clear($queue = …) - changed:
method Worker.kill($status = …, $options = …, $reason = …) → method Worker.kill($status = …, $options = …, $reason = …, $connectionName = …, $queue = …) - changed:
method Worker.stop($status = …, $options = …, $reason = …) → method Worker.stop($status = …, $options = …, $reason = …, $connectionName = …, $queue = …) - changed:
protected method SyncQueue.raiseAfterJobEvent(Job $job) → protected method SyncQueue.raiseAfterJobEvent(Job $job, $duration = …) - changed:
protected method SyncQueue.raiseJobAttemptedEvent(Job $job, bool $exceptionOccurred = …) → protected method SyncQueue.raiseJobAttemptedEvent(Job $job, ?Throwable $exceptionOccurred = …, $duration = …) - changed:
protected method Worker.listenForSignals() → protected method Worker.listenForSignals($connectionName = …, $queue = …, ?WorkerOptions $options = …) - changed:
protected method Worker.pauseWorker(WorkerOptions $options, $lastRestart, $startTime = …, $jobsProcessed = …, $lastJobProcessedAt = …) → protected method Worker.pauseWorker(WorkerOptions $options, $lastRestart, $startTime = …) - changed:
protected method Worker.raiseAfterJobEvent($connectionName, $job) → protected method Worker.raiseAfterJobEvent($connectionName, $job, $duration = …) - changed:
protected method Worker.registerTimeoutHandler($job, WorkerOptions $options) → protected method Worker.registerTimeoutHandler($connectionName, $queue, $job, WorkerOptions $options) - changed:
protected method Worker.stopIfNecessary(WorkerOptions $options, $lastRestart, $startTime = …, $jobsProcessed = …, $job = …, $lastJobProcessedAt = …) → protected method Worker.stopIfNecessary(WorkerOptions $options, $lastRestart, $startTime = …, $job = …) - added:
class AwsCredentialCache - added:
class QueueRoutes - added:
const SqsQueue.EXTENDED_PAYLOAD_CACHE_PREFIX - added:
const SqsQueue.MAX_MESSAGES_PER_BATCH - added:
const SqsQueue.MAX_SQS_PAYLOAD_SIZE - added:
constructor AwsCredentialCache(Closure $repository, ?Closure $fallback = …) - added:
method AwsCredentialCache.resolve($key, callable $provider) - added:
method BeanstalkdQueue.allDelayedJobs(): Collection - added:
method BeanstalkdQueue.allPendingJobs(): Collection - added:
method BeanstalkdQueue.allReservedJobs(): Collection - added:
method BeanstalkdQueue.delayedJobs($queue = …): Collection - added:
method BeanstalkdQueue.pendingJobs($queue = …): Collection - added:
method BeanstalkdQueue.reservedJobs($queue = …): Collection - added:
method BeanstalkdQueue.totalDelayedSize() - added:
method BeanstalkdQueue.totalPendingSize() - added:
method BeanstalkdQueue.totalReservedSize() - added:
method BeanstalkdQueue.totalSize() - added:
method CallQueuedHandler.getRunningCommand() - added:
method DatabaseQueue.allDelayedJobs(): Collection - added:
method DatabaseQueue.allPendingJobs(): Collection - added:
method DatabaseQueue.allReservedJobs(): Collection - added:
method DatabaseQueue.delayedJobs($queue = …): Collection - added:
method DatabaseQueue.pendingJobs($queue = …): Collection - added:
method DatabaseQueue.reservedJobs($queue = …): Collection - added:
method DatabaseQueue.totalDelayedSize() - added:
method DatabaseQueue.totalPendingSize() - added:
method DatabaseQueue.totalReservedSize() - added:
method DatabaseQueue.totalSize() - added:
method FailoverQueue.allDelayedJobs(): Collection - added:
method FailoverQueue.allPendingJobs(): Collection - added:
method FailoverQueue.allReservedJobs(): Collection - added:
method FailoverQueue.bulk($jobs, $data = …, $queue = …) - added:
method FailoverQueue.delayedJobs($queue = …): Collection - added:
method FailoverQueue.pendingJobs($queue = …): Collection - added:
method FailoverQueue.reservedJobs($queue = …): Collection - added:
method FailoverQueue.totalDelayedSize() - added:
method FailoverQueue.totalPendingSize() - added:
method FailoverQueue.totalReservedSize() - added:
method FailoverQueue.totalSize() - added:
method NullQueue.allDelayedJobs(): Collection - added:
method NullQueue.allPendingJobs(): Collection - added:
method NullQueue.allReservedJobs(): Collection - added:
method NullQueue.delayedJobs($queue = …): Collection - added:
method NullQueue.pendingJobs($queue = …): Collection - added:
method NullQueue.reservedJobs($queue = …): Collection - added:
method NullQueue.totalDelayedSize() - added:
method NullQueue.totalPendingSize() - added:
method NullQueue.totalReservedSize() - added:
method NullQueue.totalSize() - added:
method QueueManager.createPayloadUsing($callback) - added:
method QueueManager.forward(array|string|UnitEnum $queue, $to = …, $connection = …) - added:
method QueueManager.getPausedQueues($connection, $queues) - added:
method QueueManager.pauseAll() - added:
method QueueManager.resumeAll() - added:
method QueueManager.route(array|string $class, $queue = …, $connection = …) - added:
method QueueRoutes.all() - added:
method QueueRoutes.forward(UnitEnum|array|string $queue, $to = …, $connection = …) - added:
method QueueRoutes.forwardedQueue($queue, $connection = …) - added:
method QueueRoutes.getConnection($queueable) - added:
method QueueRoutes.getQueue($queueable) - added:
method QueueRoutes.getRoute($queueable) - added:
method QueueRoutes.set(array|string $class, $queue = …, $connection = …) - added:
method RedisQueue.allDelayedJobs(): Collection - added:
method RedisQueue.allPendingJobs(): Collection - added:
method RedisQueue.allReservedJobs(): Collection - added:
method RedisQueue.delayedJobs($queue = …): Collection - added:
method RedisQueue.pendingJobs($queue = …): Collection - added:
method RedisQueue.reservedJobs($queue = …): Collection - added:
method RedisQueue.totalDelayedSize() - added:
method RedisQueue.totalPendingSize() - added:
method RedisQueue.totalReservedSize() - added:
method RedisQueue.totalSize() - added:
method SqsQueue.allDelayedJobs(): Collection - added:
method SqsQueue.allPendingJobs(): Collection - added:
method SqsQueue.allReservedJobs(): Collection - added:
method SqsQueue.delayedJobs($queue = …): Collection - added:
method SqsQueue.pendingJobs($queue = …): Collection - added:
method SqsQueue.reservedJobs($queue = …): Collection - added:
method SqsQueue.totalDelayedSize() - added:
method SqsQueue.totalPendingSize() - added:
method SqsQueue.totalReservedSize() - added:
method SqsQueue.totalSize() - added:
method SyncQueue.allDelayedJobs(): Collection - added:
method SyncQueue.allPendingJobs(): Collection - added:
method SyncQueue.allReservedJobs(): Collection - added:
method SyncQueue.delayedJobs($queue = …): Collection - added:
method SyncQueue.pendingJobs($queue = …): Collection - added:
method SyncQueue.reservedJobs($queue = …): Collection - added:
method SyncQueue.totalDelayedSize() - added:
method SyncQueue.totalPendingSize() - added:
method SyncQueue.totalReservedSize() - added:
method SyncQueue.totalSize() - added:
method WorkerStopReason.description(): string - added:
property Worker.currentJob - added:
protected const AwsCredentialCache.LOCK_SECONDS - added:
protected const AwsCredentialCache.LOCK_WAIT_SECONDS - added:
protected const AwsCredentialCache.REFRESH_WINDOW - added:
protected method AwsCredentialCache.forget($key) - added:
protected method AwsCredentialCache.freshCredentials($key) - added:
protected method AwsCredentialCache.put($key, CredentialsInterface $credentials, $ttl = …) - added:
protected method AwsCredentialCache.release(?Lock $lock) - added:
protected method AwsCredentialCache.repositories() - added:
protected method AwsCredentialCache.resolveAndCache($key, callable $provider, ?Lock $lock = …) - added:
protected method CallQueuedHandler.commandShouldBeDebounced($command) - added:
protected method CallQueuedHandler.deleteDebouncedJob($job, $command) - added:
protected method CallQueuedHandler.uniqueJobLockShouldBeReleased(Job $job, $command) - added:
protected method Queue.partitionJobsByAfterCommit(array $jobs) - added:
protected method Queue.registerRollbackCallbacksForJobsThatDispatchAfterCommit($job) - added:
protected method Queue.resolveQueue($queue) - added:
protected method QueueRoutes.forwardedConnection($queue) - added:
protected method QueueServiceProvider.registerRoutes() - added:
protected method RedisQueue.allQueueNames(): Collection - added:
protected method RedisQueue.bulkOnClusterConnection($jobs, $data = …, $queue = …) - added:
protected method RedisQueue.getQueueRedisKey($queue = …) - added:
protected method RedisQueue.isClusterConnection() - added:
protected method RedisQueue.scanQueueKeys(): array - added:
protected method SqsQueue.chunkBatchEntries(array $entries) - added:
protected method SqsQueue.overflow($payload) - added:
protected method SqsQueue.prepareBatchMessages(array $jobs, $data, $queue) - added:
protected method SqsQueue.prepareSendMessageBatchEntry($id, array $message, $queue) - added:
protected method SqsQueue.sendBatchedMessages(array $messages, $queue) - added:
protected method SqsQueue.willOverflow($payload) - added:
protected method Worker.currentMemoryUsage() - added:
protected method Worker.getPausedQueues($connectionName, $queues) - added:
protected method Worker.markJobAsFailedIfAlreadyExceedsMaxExceptions($connectionName, $job) - added:
protected method Worker.markJobAsFailedIfItShouldntBeRetried($connectionName, $job, Throwable $e) - added:
protected method Worker.notifyJobOfSignal(int $signal): void - added:
protected method Worker.raisePausedQueueEvents($connectionName, array $paused) - added:
protected property AwsCredentialCache.fallback - added:
protected property AwsCredentialCache.repository - added:
protected property CallQueuedHandler.runningCommand - added:
protected property DatabaseQueue.lockForPopping - added:
protected property QueueRoutes.forwards - added:
protected property QueueRoutes.routes - added:
protected property RedisQueue.isCluster - added:
protected property SqsQueue.overflowStorage - added:
protected property Worker.jobsProcessed - added:
protected property Worker.lastJobProcessedAt - added:
protected property Worker.pausedQueues - added:
static method LuaScripts.bulkPush() - added:
static property Worker.flushStickyConnections - added:
static property Worker.killOnTimeout - added:
static property Worker.reportJobExceptions - added:
static property Worker.stopOnLostConnection
- added:
class Backoff - added:
class Connection - added:
class CountCrashesAsExceptions - added:
class DebounceFor - added:
class Delay - added:
class FailOnTimeout - added:
class MaxExceptions - added:
class Queue - added:
class Timeout - added:
class Tries - added:
class UniqueFor - added:
constructor Backoff(array|int ...$backoff) - added:
constructor Connection(UnitEnum|string $connection) - added:
constructor DebounceFor(int $debounceFor, ?int $maxWait = …) - added:
constructor Delay(int $delay) - added:
constructor MaxExceptions(int $maxExceptions) - added:
constructor Queue(UnitEnum|string $queue) - added:
constructor Timeout(int $timeout) - added:
constructor Tries(int $tries) - added:
constructor UniqueFor(int $uniqueFor) - added:
property Backoff.backoff: array|int - added:
property Connection.connection: UnitEnum|string - added:
property DebounceFor.debounceFor: int - added:
property DebounceFor.maxWait: ?int - added:
property Delay.delay: int - added:
property MaxExceptions.maxExceptions: int - added:
property Queue.queue: UnitEnum|string - added:
property Timeout.timeout: int - added:
property Tries.tries: int - added:
property UniqueFor.uniqueFor: int - added:
trait ReadsQueueAttributes
- added:
protected method SqsConnector.cachedCredentialProvider(callable $provider, array $config) - added:
protected method SqsConnector.credentialCachingEnabled(array $config) - added:
protected method SqsConnector.withCredentials(array $config) - added:
static method SqsConnector.credentialsCacheKey(array $config)
- removed:
protected method ClearCommand.getArguments() - removed:
protected method ClearCommand.getOptions() - removed:
protected property BatchesTableCommand.name - removed:
protected property ClearCommand.name - removed:
protected property FailedTableCommand.name - removed:
protected property ListFailedCommand.name - removed:
protected property RestartCommand.name - removed:
protected property TableCommand.name - changed:
method PauseCommand.handle(QueueManager $manager) → method PauseCommand.handle(QueueManager $manager): int - changed:
method ResumeCommand.handle(QueueManager $manager) → method ResumeCommand.handle(QueueManager $manager): int - added:
protected method ListFailedCommand.displayFailedJobsAsJson(array $jobs) - added:
protected method WorkCommand.writeQueueStatus($connection, $queue, $status) - added:
protected method WorkCommand.writeStopReason(WorkerStopping $event) - added:
protected property BatchesTableCommand.signature - added:
protected property ClearCommand.signature - added:
protected property FailedTableCommand.signature - added:
protected property ListFailedCommand.signature - added:
protected property RestartCommand.signature - added:
protected property TableCommand.signature
- removed:
property JobAttempted.exceptionOccurred - removed:
property QueueBusy.connection - changed:
constructor JobAttempted($connectionName, $job, $exceptionOccurred = …) → constructor JobAttempted($connectionName, $job, $exception = …, $duration = …) - changed:
constructor JobProcessed($connectionName, $job) → constructor JobProcessed($connectionName, $job, $duration = …) - changed:
constructor JobReleasedAfterException($connectionName, $job, $backoff = …) → constructor JobReleasedAfterException($connectionName, $job, $backoff = …, $exception = …) - changed:
constructor JobTimedOut($connectionName, $job) → constructor JobTimedOut($connectionName, $job, $timeout = …) - changed:
constructor Looping($connectionName, $queue) → constructor Looping($connectionName, $queue, $workerOptions = …) - changed:
constructor QueueBusy($connection, $queue, $size) → constructor QueueBusy($connectionName, $queue, $size) - changed:
constructor WorkerStopping($status = …, $workerOptions = …, $reason = …) → constructor WorkerStopping($status = …, $workerOptions = …, $reason = …, $jobsProcessed = …, $lastJobProcessedAt = …, $memoryUsage = …, $connectionName = …, $queue = …) - added:
class JobDebounced - added:
class JobInterrupted - added:
class JobReleased - added:
class QueuesPaused - added:
class QueuesResumed - added:
class UniqueJobSkipped - added:
class WorkerIdle - added:
class WorkerInterrupted - added:
class WorkerPausing - added:
class WorkerQueuePaused - added:
class WorkerQueueResumed - added:
class WorkerResuming - added:
constructor JobDebounced($connectionName, $job, $command) - added:
constructor JobInterrupted($connectionName, $job, $signal) - added:
constructor JobReleased($connectionName, $job) - added:
constructor UniqueJobSkipped($job) - added:
constructor WorkerIdle(string $connectionName, string $queue, WorkerOptions $workerOptions) - added:
constructor WorkerInterrupted(int $signal, ?string $connectionName = …, ?string $queue = …, ?WorkerOptions $workerOptions = …) - added:
constructor WorkerPausing(?string $connectionName = …, ?string $queue = …, ?WorkerOptions $workerOptions = …) - added:
constructor WorkerQueuePaused($connectionName, $queue) - added:
constructor WorkerQueueResumed($connectionName, $queue) - added:
constructor WorkerResuming(?string $connectionName = …, ?string $queue = …, ?WorkerOptions $workerOptions = …) - added:
property JobAttempted.duration - added:
property JobAttempted.exception - added:
property JobDebounced.command - added:
property JobDebounced.connectionName - added:
property JobDebounced.job - added:
property JobInterrupted.connectionName - added:
property JobInterrupted.job - added:
property JobInterrupted.signal - added:
property JobProcessed.duration - added:
property JobReleased.connectionName - added:
property JobReleased.job - added:
property JobReleasedAfterException.exception - added:
property JobTimedOut.timeout - added:
property Looping.workerOptions - added:
property QueueBusy.connectionName - added:
property UniqueJobSkipped.job - added:
property WorkerIdle.connectionName: string - added:
property WorkerIdle.queue: string - added:
property WorkerIdle.workerOptions: WorkerOptions - added:
property WorkerInterrupted.connectionName: ?string - added:
property WorkerInterrupted.queue: ?string - added:
property WorkerInterrupted.signal: int - added:
property WorkerInterrupted.workerOptions: ?WorkerOptions - added:
property WorkerPausing.connectionName: ?string - added:
property WorkerPausing.queue: ?string - added:
property WorkerPausing.workerOptions: ?WorkerOptions - added:
property WorkerQueuePaused.connectionName - added:
property WorkerQueuePaused.queue - added:
property WorkerQueueResumed.connectionName - added:
property WorkerQueueResumed.queue - added:
property WorkerResuming.connectionName: ?string - added:
property WorkerResuming.queue: ?string - added:
property WorkerResuming.workerOptions: ?WorkerOptions - added:
property WorkerStopping.connectionName - added:
property WorkerStopping.jobsProcessed - added:
property WorkerStopping.lastJobProcessedAt - added:
property WorkerStopping.memoryUsage - added:
property WorkerStopping.queue
- changed:
method DatabaseFailedJobProvider.flush($hours = …) → method DatabaseFailedJobProvider.flush($hours = …, $queue = …) - changed:
method DatabaseUuidFailedJobProvider.flush($hours = …) → method DatabaseUuidFailedJobProvider.flush($hours = …, $queue = …) - changed:
method DynamoDbFailedJobProvider.flush($hours = …) → method DynamoDbFailedJobProvider.flush($hours = …, $queue = …) - changed:
method FileFailedJobProvider.flush($hours = …) → method FileFailedJobProvider.flush($hours = …, $queue = …) - changed:
method NullFailedJobProvider.flush($hours = …) → method NullFailedJobProvider.flush($hours = …, $queue = …)
- changed:
constructor SqsJob(Container $container, SqsClient $sqs, array $job, $connectionName, $queue) → constructor SqsJob(Container $container, SqsClient $sqs, array $job, $connectionName, $queue, array $overflowStorage = …) - changed:
method FakeJob.fail($exception = …) → method FakeJob.fail($e = …) - added:
class InspectedJob - added:
constructor InspectedJob(?string $uuid, ?string $queue, ?string $name, int $attempts, array $payload = …, ?Carbon $createdAt = …) - added:
property InspectedJob.attempts: int - added:
property InspectedJob.createdAt: ?Carbon - added:
property InspectedJob.name: ?string - added:
property InspectedJob.payload: array - added:
property InspectedJob.queue: ?string - added:
property InspectedJob.uuid: ?string - added:
protected method SqsJob.deleteOverflowPayload() - added:
protected method SqsJob.overflowPointer() - added:
protected method SqsJob.overflowStore() - added:
protected property SqsJob.cachedRawBody - added:
protected property SqsJob.overflowStorage - added:
static method InspectedJob.fromPayload(string $payload, ?int $attempts = …, ?string $queue = …): static
- changed:
static method Skip.unless(Closure|bool $condition): self → static method Skip.unless(Closure|bool $condition): static - changed:
static method Skip.when(Closure|bool $condition): self → static method Skip.when(Closure|bool $condition): static - added:
class Release - added:
constructor Release(bool $release = …, int $releaseAfter = …) - added:
method Release.handle(mixed $job, callable $next): mixed - added:
protected method RateLimitedWithRedis.acquire($key, $maxAttempts, $decaySeconds) - added:
protected method ThrottlesExceptions.getTimeUntilNextRetryAfterException(Throwable $throwable) - added:
protected property Release.release: bool - added:
protected property Release.releaseAfter: int - added:
static method Release.unless(Closure|bool $condition, int $releaseAfter = …): static - added:
static method Release.when(Closure|bool $condition, int $releaseAfter = …): static
- removed:
protected property PhpRedisClusterConnection.defaultNode - added:
method Connection.isCluster() - added:
method PhpRedisClusterConnection.isCluster() - added:
method PredisClusterConnection.isCluster() - added:
method PredisConnection.hscan($key, $cursor = …, $options = …) - added:
method PredisConnection.scan($cursor = …, $options = …) - added:
method PredisConnection.sscan($key, $cursor = …, $options = …) - added:
method PredisConnection.zscan($key, $cursor = …, $options = …) - added:
protected const PhpRedisConnection.RETRYABLE_COMMANDS - added:
protected method PhpRedisConnection.causedByLostConnection(Throwable $e) - added:
protected method PhpRedisConnection.isRetryable($method, array $parameters) - added:
protected method PhpRedisConnection.rebuildClient() - added:
protected method PhpRedisConnection.rebuildClientOnLostConnection(Throwable $e) - added:
protected method PhpRedisConnection.retryOnceOnLostConnection(Closure $callback) - added:
static method Connection.hasHashTag(string $key): bool
- added:
protected method PhpRedisConnector.formatClusterPassword(array $options) - added:
protected method PhpRedisConnector.normalizeClusterContext(array $context) - added:
protected method PhpRedisConnector.normalizeContext(array $context) - added:
protected method PredisConnector.formatHost(array $config) - added:
protected method PredisConnector.formatRetry(array $config)
- added:
protected method ConcurrencyLimiter.getPrefix() - added:
protected property ConcurrencyLimiter.prefix
- added:
method PendingResourceRegistration.metadata(array $metadata) - added:
method PendingSingletonResourceRegistration.metadata(array $metadata) - added:
method ResponseFactory.markdown($content = …, $status = …, array $headers = …) - added:
method Route.excludedControllerMiddleware() - added:
method Route.getMetadata($key = …, $default = …) - added:
method Route.metadata(array $metadata) - added:
method Route.setMetadata(array $metadata) - added:
method RouteRegistrar.metadata(array $metadata) - added:
method Router.query($uri, $action = …) - added:
protected method CompiledRouteCollection.routeNameByAction() - added:
protected method CompiledRouteCollection.routeNamesByMethod() - added:
protected method Route.attributeProvidedControllerMiddleware(string $class, string $method) - added:
protected method Route.attributeProvidedControllerMiddlewareExclusions(string $class, string $method): array - added:
protected property CompiledRouteCollection.routeNameByAction - added:
protected property CompiledRouteCollection.routeNamesByMethod - added:
protected property RouteCollection.allDomainRoutes - added:
protected property RouteCollection.domainRoutes - added:
protected static method RouteGroup.formatMetadata($new, $old) - added:
protected static method RouteGroup.mergableMetadata($old, $new) - added:
static method RouteGroup.mergeMetadata(array $old, array $new)
- added:
class Authorize extends Middleware - added:
class Middleware - added:
class WithoutMiddleware - added:
constructor Authorize(UnitEnum|string $ability, array|string|null $models = …, ?array $only = …, ?array $except = …) - added:
constructor Middleware(Closure|string $middleware, ?array $only = …, ?array $except = …) - added:
constructor WithoutMiddleware(string $middleware, ?array $only = …, ?array $except = …) - added:
property Middleware.except: ?array - added:
property Middleware.middleware: Closure|string - added:
property Middleware.only: ?array - added:
property WithoutMiddleware.except: ?array - added:
property WithoutMiddleware.middleware: string - added:
property WithoutMiddleware.only: ?array
- removed:
protected property MiddlewareMakeCommand.name - added:
protected property MiddlewareMakeCommand.signature
- added:
method ArraySessionHandler.create_sid(): string - added:
method ArraySessionHandler.validateId($id): bool - added:
method CacheBasedSessionHandler.create_sid(): string - added:
method CacheBasedSessionHandler.validateId($id): bool - added:
method CookieSessionHandler.create_sid(): string - added:
method CookieSessionHandler.validateId($id): bool - added:
method DatabaseSessionHandler.create_sid(): string - added:
method DatabaseSessionHandler.validateId($id): bool - added:
method FileSessionHandler.create_sid(): string - added:
method FileSessionHandler.validateId($id): bool - added:
method NullSessionHandler.create_sid(): string - added:
method NullSessionHandler.validateId($id): bool
- removed:
protected property SessionTableCommand.name - added:
class SessionGarbageCollectCommand extends Command - added:
method SessionGarbageCollectCommand.handle() - added:
protected property SessionGarbageCollectCommand.description - added:
protected property SessionGarbageCollectCommand.signature - added:
protected property SessionTableCommand.signature
- changed:
method Carbon.minus(int $years = …, int $months = …, int $weeks = …, int $days = …, int $hours = …, int $minutes = …, int $seconds = …, int $microseconds = …): static → method Carbon.minus(int $years = …, int $months = …, int $weeks = …, int $days = …, int $hours = …, int $minutes = …, int $seconds = …, int $microseconds = …, ?bool $overflow = …): static - changed:
method Carbon.plus(int $years = …, int $months = …, int $weeks = …, int $days = …, int $hours = …, int $minutes = …, int $seconds = …, int $microseconds = …): static → method Carbon.plus(int $years = …, int $months = …, int $weeks = …, int $days = …, int $hours = …, int $minutes = …, int $seconds = …, int $microseconds = …, ?bool $overflow = …): static - changed:
method Collection.offsetExists($key): bool → method Collection.offsetExists($offset): bool - changed:
method Collection.offsetGet($key): mixed → method Collection.offsetGet($offset): mixed - changed:
method Collection.offsetSet($key, $value): void → method Collection.offsetSet($offset, $value): void - changed:
method Collection.offsetUnset($key): void → method Collection.offsetUnset($offset): void - changed:
method Optional.offsetExists($key): bool → method Optional.offsetExists($offset): bool - changed:
method Optional.offsetGet($key): mixed → method Optional.offsetGet($offset): mixed - changed:
method Optional.offsetSet($key, $value): void → method Optional.offsetSet($offset, $value): void - changed:
method Optional.offsetUnset($key): void → method Optional.offsetUnset($offset): void - changed:
method Stringable.pascal() → method Stringable.pascal(bool $normalize = …) - changed:
method Stringable.studly() → method Stringable.studly(bool $normalize = …) - changed:
static method Collection.range($from, $to, $step = …) → static method Collection.range($from, $to, $step = …, ...$args) - changed:
static method LazyCollection.make($items = …) → static method LazyCollection.make($items = …, ...$args) - changed:
static method LazyCollection.range($from, $to, $step = …) → static method LazyCollection.range($from, $to, $step = …, ...$args) - changed:
static method Str.pascal($value) → static method Str.pascal($value, bool $normalize = …) - changed:
static method Str.studly($value) → static method Str.studly($value, bool $normalize = …) - added:
class NodePackageManager - added:
constructor NodePackageManager(?NodePackageManagerContract $packageManager = …) - added:
method Enumerable.chunkBy($key) - added:
method Enumerable.hasMany($key = …, $operator = …, $value = …) - added:
method Enumerable.hasSole($key = …, $operator = …, $value = …) - added:
method Enumerable.reduceInto($initial, callable $callback) - added:
method NodePackageManager.getExecCommand(string $command): string - added:
method NodePackageManager.getRunCommand(string $command): string - added:
method NodePackageManager.packageManager(): NodePackageManagerContract - added:
method Onceable.objects() - added:
method Stringable.counted($count) - added:
method Uri.isNotEmpty(): bool - added:
method Uri.toString(): string - added:
method Uri.withoutFragment(): static - added:
method ValidatedInput.file($key, $default = …) - added:
protected method Collection.newInstance($items = …) - added:
protected method LazyCollection.newInstance($items = …) - added:
protected method NodePackageManager.detect(): NodePackageManagerContract - added:
protected method Once.usesSameObjects(array $references, array $objects) - added:
protected method RebindsCallbacksToSelf.bindCallbackToSelf(Closure $callback): ?Closure - added:
protected property NodePackageManager.packageManager: ?NodePackageManagerContract - added:
protected static method Number.withoutNegativeZero(int|float $number, callable $format) - added:
protected static method Str.replaceWhileIgnoringCase($search, $replace, $subject) - added:
static method Str.counted($value, $count) - added:
static method Str.resetFactoryState() - added:
static method Str.trans($key, $replace = …, $locale = …) - added:
trait RebindsCallbacksToSelf
- added:
interface NodePackageManager - added:
method NodePackageManager.getExecCommand(string $command): string - added:
method NodePackageManager.getRunCommand(string $command): string - added:
static method NodePackageManager.matches(): bool
- added:
class Cloud extends Facade - added:
class Image extends Facade - added:
protected static method Cloud.getFacadeAccessor() - added:
protected static method Image.getFacadeAccessor(): string
- added:
class Bun implements NodePackageManager - added:
class Npm implements NodePackageManager - added:
class Pnpm implements NodePackageManager - added:
class Yarn implements NodePackageManager - added:
method Bun.getExecCommand(string $command): string - added:
method Bun.getRunCommand(string $command): string - added:
method Npm.getExecCommand(string $command): string - added:
method Npm.getRunCommand(string $command): string - added:
method Pnpm.getExecCommand(string $command): string - added:
method Pnpm.getRunCommand(string $command): string - added:
method Yarn.getExecCommand(string $command): string - added:
method Yarn.getRunCommand(string $command): string - added:
static method Bun.matches(): bool - added:
static method Npm.matches(): bool - added:
static method Pnpm.matches(): bool - added:
static method Yarn.matches(): bool
- added:
method ResolvesQueueRoutes.resolveConnectionFromQueueRoute($queueable) - added:
method ResolvesQueueRoutes.resolveQueueFromQueueRoute($queueable) - added:
protected method ResolvesQueueRoutes.queueRoutes() - added:
trait ResolvesQueueRoutes
- changed:
method BatchFake.cancel() → method BatchFake.cancel(?Throwable $exception = …) - changed:
method BusFake.dispatchAfterResponse($command) → method BusFake.dispatchAfterResponse($command, $handler = …) - changed:
protected method MailFake.assertQueuedTimes($mailable, $times = …) → method MailFake.assertQueuedTimes($mailable, $times = …) - added:
method BusFake.bulk($jobs) - added:
method BusFake.withDispatchingAfterResponses() - added:
method BusFake.withoutDispatchingAfterResponses() - added:
method MailFake.assertQueuedOnce($mailable) - added:
method MailFake.assertSentOnce($mailable) - added:
method MailFake.driver($driver = …) - added:
method MailFake.html($html, $callback) - added:
method MailFake.laterOn($queue, $delay, $view) - added:
method MailFake.onQueue($queue, $view) - added:
method MailFake.plain($view, array $data, $callback) - added:
method MailFake.queueOn($queue, $view) - added:
method NotificationFake.assertSentOnDemandOnce($notification) - added:
method NotificationFake.assertSentToOnce($notifiable, $notification) - added:
method QueueFake.afterPushing(callable $callback) - added:
method QueueFake.allDelayedJobs(): Collection - added:
method QueueFake.allPendingJobs(): Collection - added:
method QueueFake.allReservedJobs(): Collection - added:
method QueueFake.assertPushedOnce($job) - added:
method QueueFake.beforePushing(callable $callback) - added:
method QueueFake.clearReserved() - added:
method QueueFake.delayedJobs($queue = …): Collection - added:
method QueueFake.pendingJobs($queue = …): Collection - added:
method QueueFake.reserve($job, $queue = …) - added:
method QueueFake.reservedJobs($queue = …): Collection - added:
method QueueFake.totalDelayedSize() - added:
method QueueFake.totalPendingSize() - added:
method QueueFake.totalReservedSize() - added:
method QueueFake.totalSize() - added:
protected method MatchesProperties.resolveTruthTest($callback) - added:
protected method QueueFake.inspectJobs(array $jobs): Collection - added:
protected property QueueFake.afterPushingCallbacks - added:
protected property QueueFake.beforePushingCallbacks - added:
protected property QueueFake.delayed - added:
protected property QueueFake.reserved - added:
protected property QueueFake.uniqueJobs - added:
trait MatchesProperties
- changed:
static method EnumeratesValues.empty() → static method EnumeratesValues.empty(...$args) - changed:
static method EnumeratesValues.fromJson($json, $depth = …, $flags = …) → static method EnumeratesValues.fromJson($json, $depth = …, $flags = …, ...$args) - changed:
static method EnumeratesValues.make($items = …) → static method EnumeratesValues.make($items = …, ...$args) - changed:
static method EnumeratesValues.times($number, ?callable $callback = …) → static method EnumeratesValues.times($number, ?callable $callback = …, ...$args) - changed:
static method EnumeratesValues.wrap($value) → static method EnumeratesValues.wrap($value, ...$args) - added:
method EnumeratesValues.chunkBy($key) - added:
method EnumeratesValues.reduceInto($initial, callable $callback) - added:
method InteractsWithData.whenEnum($key, string $enumClass, callable $callback, ?callable $default = …) - added:
protected method ParsesSqlServerConfigurationUrls.getSqlServerDsnConfigurationOptions($options) - added:
protected method ParsesSqlServerConfigurationUrls.isSqlServerDsn($url) - added:
protected method ParsesSqlServerConfigurationUrls.parseSqlServerDsnConfiguration($config, $dsn) - added:
protected method ParsesSqlServerConfigurationUrls.parseSqlServerDsnOptions($dsn) - added:
protected method ParsesSqlServerConfigurationUrls.parseSqlServerDsnServer($server) - added:
protected method ReadsClassAttributes.extractAttributeValue($instance) - added:
protected method ReadsClassAttributes.getAttributeInstance($target, string $attributeClass, ?ReflectionClass &$declaringClass = …) - added:
protected method ReadsClassAttributes.getAttributeValue($target, string $attributeClass, ?string $property = …, $default = …) - added:
protected method ReadsClassAttributes.propertyOverridesAttribute($target, ReflectionClass $reflection, ?string $property, ReflectionClass $attributeDeclaringClass) - added:
protected static property ParsesSqlServerConfigurationUrls.sqlServerDsnOptionAliases - added:
trait ParsesSqlServerConfigurationUrls - added:
trait ReadsClassAttributes
- added:
method TestResponse.assertJsonMissingPaths(array $paths) - added:
method TestResponse.assertJsonPaths(array $paths) - added:
method TestResponse.assertJsonPathsCanonicalizing(array $paths) - added:
method TestResponse.assertSessionMissingInput($key) - added:
protected property TestResponse.decodedResponseJson
- added:
class SeeInHtml extends Constraint - added:
constructor SeeInHtml($content, $ordered = …, $negate = …) - added:
method SeeInHtml.failureDescription($values): string - added:
method SeeInHtml.matches($values): bool - added:
method SeeInHtml.toString(): string - added:
protected method SeeInHtml.normalize(string $value): ?string - added:
protected property SeeInHtml.content - added:
protected property SeeInHtml.failedValue - added:
protected property SeeInHtml.negate - added:
protected property SeeInHtml.ordered
- added:
method Translator.array(string $key, array $replace = …, ?string $locale = …, bool $fallback = …): array - added:
method Translator.string(string $key, array $replace = …, ?string $locale = …, bool $fallback = …): string
- changed:
static method Rule.numeric() → static method Rule.numeric(bool $strict = …) - added:
class FakeDnsGetRecordWrapper extends DNSGetRecordWrapper - added:
method Factory.fakeDnsLookups($value = …) - added:
method FakeDnsGetRecordWrapper.getRecords(string $host, int $type): DNSRecords - added:
protected method Validator.parentRuleKeys() - added:
protected static property Validator.fakeDnsLookups - added:
static method Rule.accepted() - added:
static method Rule.acceptedIf($anotherField, $value) - added:
static method Rule.activeUrl() - added:
static method Rule.arrayKeys($keys) - added:
static method Rule.bail() - added:
static method Rule.base64() - added:
static method Rule.boolean($strict = …) - added:
static method Rule.confirmed() - added:
static method Rule.currentPassword() - added:
static method Rule.declined() - added:
static method Rule.declinedIf($anotherField, $value) - added:
static method Rule.distinct() - added:
static method Rule.exclude() - added:
static method Rule.excludeWith($anotherField) - added:
static method Rule.excludeWithout($anotherField) - added:
static method Rule.filled() - added:
static method Rule.hexColor() - added:
static method Rule.inArray($otherField) - added:
static method Rule.inArrayKeys($keys) - added:
static method Rule.ip() - added:
static method Rule.json() - added:
static method Rule.list() - added:
static method Rule.macAddress() - added:
static method Rule.missing() - added:
static method Rule.missingIf($anotherField, $value) - added:
static method Rule.missingUnless($anotherField, $value) - added:
static method Rule.missingWith($fields) - added:
static method Rule.missingWithAll($fields) - added:
static method Rule.notRegex($pattern) - added:
static method Rule.nullable() - added:
static method Rule.present() - added:
static method Rule.presentIf($anotherField, $value) - added:
static method Rule.presentUnless($anotherField, $value) - added:
static method Rule.presentWith($fields) - added:
static method Rule.presentWithAll($fields) - added:
static method Rule.prohibited() - added:
static method Rule.prohibitedIfAccepted($field) - added:
static method Rule.prohibitedIfDeclined($field) - added:
static method Rule.prohibits($fields) - added:
static method Rule.regex($pattern) - added:
static method Rule.required() - added:
static method Rule.requiredArrayKeys($keys) - added:
static method Rule.requiredIfAccepted($field) - added:
static method Rule.requiredIfDeclined($field) - added:
static method Rule.requiredWith($fields) - added:
static method Rule.requiredWithAll($fields) - added:
static method Rule.requiredWithout($fields) - added:
static method Rule.requiredWithoutAll($fields) - added:
static method Rule.sometimes() - added:
static method Rule.timezone($arguments = …) - added:
static method Rule.ulid() - added:
static method Rule.url() - added:
static method Rule.uuid() - added:
static method Validator.fakeDnsLookups($value = …)
- changed:
method ValidatesAttributes.validateLowercase($attribute, $value, $parameters) → method ValidatesAttributes.validateLowercase($attribute, $value) - changed:
method ValidatesAttributes.validateUppercase($attribute, $value, $parameters) → method ValidatesAttributes.validateUppercase($attribute, $value) - added:
method ValidatesAttributes.validateArrayKeys($attribute, $value, $parameters) - added:
method ValidatesAttributes.validateBase64($attribute, $value): bool - added:
protected method ReplacesAttributes.replaceArrayKeys($message, $attribute, $rule, $parameters)
- added:
class AcceptedIf implements ParameterizedRule - added:
class ArrayKeys implements Stringable - added:
class Confirmed implements ParameterizedRule - added:
class CurrentPassword implements ParameterizedRule - added:
class DeclinedIf implements ParameterizedRule - added:
class Distinct implements ParameterizedRule - added:
class ExcludeWith implements ParameterizedRule - added:
class ExcludeWithout implements ParameterizedRule - added:
class InArray implements ParameterizedRule - added:
class InArrayKeys implements ParameterizedRule - added:
class IpAddress implements Stringable - added:
class MissingIf implements ParameterizedRule - added:
class MissingUnless implements ParameterizedRule - added:
class MissingWith implements ParameterizedRule - added:
class MissingWithAll implements ParameterizedRule - added:
class NotRegex implements Stringable - added:
class PresentIf implements ParameterizedRule - added:
class PresentUnless implements ParameterizedRule - added:
class PresentWith implements ParameterizedRule - added:
class PresentWithAll implements ParameterizedRule - added:
class ProhibitedIfAccepted implements ParameterizedRule - added:
class ProhibitedIfDeclined implements ParameterizedRule - added:
class Prohibits implements ParameterizedRule - added:
class Regex implements Stringable - added:
class RequiredArrayKeys implements ParameterizedRule - added:
class RequiredIfAccepted implements ParameterizedRule - added:
class RequiredIfDeclined implements ParameterizedRule - added:
class RequiredWith implements ParameterizedRule - added:
class RequiredWithAll implements ParameterizedRule - added:
class RequiredWithout implements ParameterizedRule - added:
class RequiredWithoutAll implements ParameterizedRule - added:
class Timezone implements ParameterizedRule - added:
class Url implements ParameterizedRule - added:
class Uuid implements ParameterizedRule - added:
constructor AcceptedIf(string $anotherField, string|int|float|bool|null|array $values) - added:
constructor ArrayKeys($keys) - added:
constructor DeclinedIf(string $anotherField, string|int|float|bool|null|array $values) - added:
constructor ExcludeWith(string $anotherField) - added:
constructor ExcludeWithout(array|string $fields) - added:
constructor InArray(string $otherField) - added:
constructor InArrayKeys(array|string $keys) - added:
constructor MissingIf(string $anotherField, string|int|float|bool|null|array $values) - added:
constructor MissingUnless(string $anotherField, string|int|float|bool|null|array $values) - added:
constructor MissingWith(array|string $fields) - added:
constructor MissingWithAll(array|string $fields) - added:
constructor NotRegex(string $pattern) - added:
constructor Numeric(bool $strict = …) - added:
constructor PresentIf(string $anotherField, string|int|float|bool|null|array $values) - added:
constructor PresentUnless(string $anotherField, string|int|float|bool|null|array $values) - added:
constructor PresentWith(array|string $fields) - added:
constructor PresentWithAll(array|string $fields) - added:
constructor ProhibitedIfAccepted(string $field) - added:
constructor ProhibitedIfDeclined(string $field) - added:
constructor Prohibits(array|string $fields) - added:
constructor Regex(string $pattern) - added:
constructor RequiredArrayKeys(array|string $keys) - added:
constructor RequiredIfAccepted(string $field) - added:
constructor RequiredIfDeclined(string $field) - added:
constructor RequiredWith(array|string $fields) - added:
constructor RequiredWithAll(array|string $fields) - added:
constructor RequiredWithout(array|string $fields) - added:
constructor RequiredWithoutAll(array|string $fields) - added:
constructor Timezone(?array $arguments = …) - added:
method AcceptedIf.toArray(): array - added:
method ArrayKeys.__toString() - added:
method ArrayRule.between(int $min, int $max): static - added:
method ArrayRule.exactly(int $value): static - added:
method ArrayRule.max(int $value): static - added:
method ArrayRule.min(int $value): static - added:
method Confirmed.customField(string $confirmationField): static - added:
method Confirmed.toArray(): array - added:
method CurrentPassword.guard(string $guard): static - added:
method CurrentPassword.toArray(): array - added:
method Date.equals(DateTimeInterface|string $date): static - added:
method DeclinedIf.toArray(): array - added:
method Distinct.ignoreCase(): static - added:
method Distinct.strict(): static - added:
method Distinct.toArray(): array - added:
method ExcludeWith.toArray(): array - added:
method ExcludeWithout.toArray(): array - added:
method InArray.toArray(): array - added:
method InArrayKeys.toArray(): array - added:
method IpAddress.__toString(): string - added:
method IpAddress.version(int $version): static - added:
method MissingIf.toArray(): array - added:
method MissingUnless.toArray(): array - added:
method MissingWith.toArray(): array - added:
method MissingWithAll.toArray(): array - added:
method NotRegex.__toString(): string - added:
method Password.toPasswordRulesString() - added:
method PresentIf.toArray(): array - added:
method PresentUnless.toArray(): array - added:
method PresentWith.toArray(): array - added:
method PresentWithAll.toArray(): array - added:
method ProhibitedIfAccepted.toArray(): array - added:
method ProhibitedIfDeclined.toArray(): array - added:
method Prohibits.toArray(): array - added:
method Regex.__toString(): string - added:
method RequiredArrayKeys.toArray(): array - added:
method RequiredIfAccepted.toArray(): array - added:
method RequiredIfDeclined.toArray(): array - added:
method RequiredWith.toArray(): array - added:
method RequiredWithAll.toArray(): array - added:
method RequiredWithout.toArray(): array - added:
method RequiredWithoutAll.toArray(): array - added:
method Timezone.toArray(): array - added:
method Url.protocols(array $protocols): static - added:
method Url.toArray(): array - added:
method Uuid.toArray(): array - added:
method Uuid.version(int|string $version): static - added:
protected method ArrayRule.addRule(array|string $rules): static - added:
protected method ArrayRule.arrayRule(): string - added:
protected property AcceptedIf.anotherField: string - added:
protected property AcceptedIf.values: array - added:
protected property ArrayKeys.keys - added:
protected property ArrayRule.constraints: array - added:
protected property Confirmed.confirmationField: ?string - added:
protected property CurrentPassword.guard: ?string - added:
protected property DeclinedIf.anotherField: string - added:
protected property DeclinedIf.values: array - added:
protected property Distinct.options: array - added:
protected property ExcludeWith.anotherField: string - added:
protected property ExcludeWithout.fields: array - added:
protected property InArray.otherField: string - added:
protected property InArrayKeys.keys: array - added:
protected property IpAddress.version: ?int - added:
protected property MissingIf.anotherField: string - added:
protected property MissingIf.values: array - added:
protected property MissingUnless.anotherField: string - added:
protected property MissingUnless.values: array - added:
protected property MissingWith.fields: array - added:
protected property MissingWithAll.fields: array - added:
protected property NotRegex.pattern: string - added:
protected property PresentIf.anotherField: string - added:
protected property PresentIf.values: array - added:
protected property PresentUnless.anotherField: string - added:
protected property PresentUnless.values: array - added:
protected property PresentWith.fields: array - added:
protected property PresentWithAll.fields: array - added:
protected property ProhibitedIfAccepted.field: string - added:
protected property ProhibitedIfDeclined.field: string - added:
protected property Prohibits.fields: array - added:
protected property Regex.pattern: string - added:
protected property RequiredArrayKeys.keys: array - added:
protected property RequiredIfAccepted.field: string - added:
protected property RequiredIfDeclined.field: string - added:
protected property RequiredWith.fields: array - added:
protected property RequiredWithAll.fields: array - added:
protected property RequiredWithout.fields: array - added:
protected property RequiredWithoutAll.fields: array - added:
protected property Timezone.arguments: ?array - added:
protected property Url.protocols: ?array - added:
protected property Uuid.version: int|string|null
- added:
method FormatsParameters.__toString(): string - added:
protected method FormatsParameters.formatParameters(array $parameters): string - added:
trait FormatsParameters
- changed:
method FileViewFinder.find($name) → method FileViewFinder.find($view) - changed:
method View.offsetExists($key): bool → method View.offsetExists($offset): bool - changed:
method View.offsetGet($key): mixed → method View.offsetGet($offset): mixed - changed:
method View.offsetSet($key, $value): void → method View.offsetSet($offset, $value): void - changed:
method View.offsetUnset($key): void → method View.offsetUnset($offset): void
- added:
protected method CompilesHelpers.compileFonts($arguments)