mirror of
https://github.com/shlinkio/shlink.git
synced 2025-03-14 04:00:57 +03:00
Merge pull request #2040 from acelaya-forks/feature/redirect-checks
Feature/redirect checks
This commit is contained in:
commit
bf29abc468
3 changed files with 11 additions and 8 deletions
|
@ -4,8 +4,12 @@ All notable changes to this project will be documented in this file.
|
|||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com), and this project adheres to [Semantic Versioning](https://semver.org).
|
||||
|
||||
## [Unreleased]
|
||||
## [4.0.0] - 2024-03-03
|
||||
### Added
|
||||
* [#1914](https://github.com/shlinkio/shlink/issues/1914) Add new dynamic redirects engine based on rules. Rules are conditions checked against the visitor's request, and when matching, they can result in a redirect to a different long URL.
|
||||
|
||||
Rules can be based on things like the presence of specific params, headers, locations, etc. This version ships with three initial rule condition types: device, query param and language.
|
||||
|
||||
* [#1902](https://github.com/shlinkio/shlink/issues/1902) Add dynamic redirects based on query parameters.
|
||||
|
||||
This is implemented on top of the new [rule-based redirects](https://github.com/shlinkio/shlink/discussions/1912).
|
||||
|
|
|
@ -43,12 +43,12 @@
|
|||
"pugx/shortid-php": "^1.1",
|
||||
"ramsey/uuid": "^4.7",
|
||||
"shlinkio/doctrine-specification": "^2.1.1",
|
||||
"shlinkio/shlink-common": "dev-main#3e5bf59 as 6.0",
|
||||
"shlinkio/shlink-config": "dev-main#a43b380 as 3.0",
|
||||
"shlinkio/shlink-event-dispatcher": "dev-main#aa9023c as 4.0",
|
||||
"shlinkio/shlink-importer": "dev-main#65a9a30 as 5.3",
|
||||
"shlinkio/shlink-installer": "dev-develop#5943255 as 9.0",
|
||||
"shlinkio/shlink-ip-geolocation": "dev-main#a807668 as 3.5",
|
||||
"shlinkio/shlink-common": "^6.0",
|
||||
"shlinkio/shlink-config": "^3.0",
|
||||
"shlinkio/shlink-event-dispatcher": "^4.0",
|
||||
"shlinkio/shlink-importer": "^5.3",
|
||||
"shlinkio/shlink-installer": "^9.0",
|
||||
"shlinkio/shlink-ip-geolocation": "^3.5",
|
||||
"shlinkio/shlink-json": "^1.1",
|
||||
"spiral/roadrunner": "^2023.3",
|
||||
"spiral/roadrunner-cli": "^2.6",
|
||||
|
|
|
@ -39,7 +39,6 @@ return static function (ClassMetadata $metadata, array $emConfig): void {
|
|||
->setJoinTable(determineTableName('redirect_conditions_in_short_url_redirect_rules', $emConfig))
|
||||
->addInverseJoinColumn('redirect_condition_id', 'id', onDelete: 'CASCADE')
|
||||
->addJoinColumn('short_url_redirect_rule_id', 'id', onDelete: 'CASCADE')
|
||||
->fetchEager() // Always fetch the corresponding conditions when loading a rule
|
||||
->setOrderBy(['id' => 'ASC']) // Ensure a reliable order in the list of conditions
|
||||
->cascadePersist() // Create automatically with the rule
|
||||
->orphanRemoval() // Remove conditions when they are not linked to any rule
|
||||
|
|
Loading…
Add table
Reference in a new issue