| ⇢ | A | RouterBuilder added | |
| ⇢ | A | InvalidArgumentException added | |
| ⇢ | A | RouteListCommand added | |
| A | ↛ | RouteCollectorGroupAction removed |
| ⇢ | B | RouteCollector::resolveMiddleware() added | |
| ⇢ | B | RouteCollector::resolveRequestHandler() added | |
| ⇢ | A | RouterBuilder::build() added | |
| ⇢ | A | RouteListCommand::execute() added | |
| ⇢ | A | Route::extractMiddlewares() added | |
| ⇢ | A | Route::extractMethods() added | |
| ⇢ | A | Route::extractTags() added | |
| ⇢ | A | Route::extractHost() added | |
| ⇢ | A | Route::validateMiddlewares() added | |
| ⇢ | A | InvalidArgumentException::throwIfEmptyString() added | |
| ⋮ | view more | ||
| A | ↘ | B | Router::match() got worse |
| A | ↛ | Route::extractMiddlewaresFromParams() removed | |
| A | ↛ | Route::extractTagsFromParams() removed | |
| A | ↛ | Route::extractMethodsFromParams() removed | |
| A | ↛ | Route::extractPathFromParams() removed | |
| A | ↛ | ArgumentException::assertIsArray() removed | |
| A | ↛ | Route::extractSummaryFromParams() removed | |
| A | ↛ | ArgumentException::assertIsNotEmptyArray() removed | |
| A | ↛ | Route::extractDescriptionFromParams() removed | |
| A | ↛ | ArgumentException::assertIsNotEmptyString() removed | |
| A | ↛ | ArgumentException::assertIsSubclassOf() removed | |
| ⋮ | view more | ||