├── .github └── workflows │ ├── auto_tag.yml │ ├── browser-tests.yml │ ├── nightly.yml │ ├── post_release.yaml │ ├── release_tag.yml │ └── reviewers.yaml ├── COPYRIGHT ├── LICENSE ├── LICENSE-bul ├── README.md └── composer.json /.github/workflows/auto_tag.yml: -------------------------------------------------------------------------------- 1 | name: Create Tag 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | version: 7 | description: 'Version to release (x.y.z-abcN e.g. 4.5.6-beta1)' 8 | required: true 9 | real_op: 10 | description: 'Push changes' 11 | type: boolean 12 | default: false 13 | required: true 14 | git_push_args: 15 | description: 'For example: --force-with-lease' 16 | type: string 17 | default: '' 18 | required: false 19 | 20 | jobs: 21 | preparation: 22 | runs-on: ubuntu-latest 23 | # This should allow parallel runs in a chain, e.g. OSS->Content->Experience->Commerce 24 | # whilst allowing Satis to process 25 | timeout-minutes: 30 26 | 27 | steps: 28 | - name: Generate token 29 | id: generate_token 30 | uses: actions/create-github-app-token@v2 31 | with: 32 | app-id: ${{ secrets.AUTOMATION_CLIENT_ID }} 33 | private-key: ${{ secrets.AUTOMATION_CLIENT_SECRET }} 34 | owner: ${{ github.repository_owner }} 35 | 36 | - name: Check for admin-ui-assets tag 37 | uses: octokit/request-action@v2.x 38 | with: 39 | owner: ibexa 40 | repo: admin-ui-assets 41 | route: /repos/{owner}/{repo}/contents/package.json?ref=v${{ inputs.version }} 42 | env: 43 | GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} 44 | 45 | # The jq command would return a zero exit status if it was able to filter the input JSON data and 46 | # produce at least one matching object in the array, and a non-zero exit status if no matching object was found. 47 | # This particular JQ filter expression: 48 | # .packages."${{ env.PARENT }}"[]: accesses an array of objects in the packages object, with the key specified by the environment variable PARENT. 49 | # select(.version == "${{ env.V_VERSION }}"): filters the array to only include objects where the version property is equal to the value of the environment variable V_VERSION. 50 | 51 | # No need to validate for oss version in satis 52 | - name: Validate satis for content version 53 | if: github.event.repository.name == 'experience' 54 | env: 55 | SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }} 56 | SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }} 57 | PARENT: ibexa/content 58 | V_VERSION: v${{ inputs.version }} 59 | run: | 60 | for EXPONENTIAL_BACKOFF in {1..10}; do 61 | curl https://updates.ibexa.co/p2/${PARENT}.json -s -u $SATIS_NETWORK_KEY:$SATIS_NETWORK_TOKEN | jq -e '.packages."${{ env.PARENT }}"[] | select(.version == "${{ env.V_VERSION }}")' && break; 62 | DELAY=$((2**$EXPONENTIAL_BACKOFF)) 63 | echo "${PARENT}:${V_VERSION} not yet available, sleeping for $DELAY seconds" 64 | sleep $DELAY 65 | done 66 | 67 | - name: Validate satis for experience version 68 | if: github.event.repository.name == 'commerce' 69 | env: 70 | SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }} 71 | SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }} 72 | PARENT: ibexa/experience 73 | V_VERSION: v${{ inputs.version }} 74 | run: | 75 | for EXPONENTIAL_BACKOFF in {1..10}; do 76 | curl https://updates.ibexa.co/p2/${PARENT}.json -s -u $SATIS_NETWORK_KEY:$SATIS_NETWORK_TOKEN | jq -e '.packages."${{ env.PARENT }}"[] | select(.version == "${{ env.V_VERSION }}")' && break; 77 | DELAY=$((2**$EXPONENTIAL_BACKOFF)) 78 | echo "${PARENT}:${V_VERSION} not yet available, sleeping for $DELAY seconds" 79 | sleep $DELAY 80 | done 81 | 82 | action: 83 | needs: preparation 84 | runs-on: ubuntu-22.04 85 | 86 | steps: 87 | - name: Install sponge 88 | run: | 89 | sudo apt-get install -y moreutils 90 | 91 | - name: Setup PHP Action 92 | uses: shivammathur/setup-php@v2 93 | with: 94 | php-version: 8.3 95 | coverage: none 96 | extensions: pdo_sqlite, gd 97 | tools: cs2pr 98 | 99 | - name: Generate token 100 | id: generate_token 101 | uses: tibdex/github-app-token@v1 102 | with: 103 | app_id: ${{ secrets.AUTOMATION_CLIENT_ID }} 104 | installation_id: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }} 105 | private_key: ${{ secrets.AUTOMATION_CLIENT_SECRET }} 106 | 107 | - uses: actions/checkout@v4 108 | with: 109 | persist-credentials: false 110 | 111 | - name: Get release information 112 | uses: octokit/request-action@v2.x 113 | id: release 114 | with: 115 | owner: ibexa 116 | repo: release-maker 117 | route: /repos/{owner}/{repo}/contents/releases/${{ inputs.version }}/release.json 118 | env: 119 | GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} 120 | 121 | # The effect of this jq command is to take a JSON array of objects, 122 | # transform each object into a new object using its packageName and targetVersion properties, 123 | # and return the result as a single JSON object. 124 | # The sponge command is used to pipe the output of jq back into the same file, effectively replacing its contents with the updated JSON data. 125 | - name: Process release information 126 | run: | 127 | cat > input.json <<'EOF' 128 | ${{ steps.release.outputs.data }} 129 | EOF 130 | jq -r '.["content"]' input.json | base64 --decode | jq -c . > release.json 131 | jq -s '[ .[][] | { (.packageName): (.targetVersion) } ] | add' release.json | sponge release.json 132 | 133 | - name: Set minimum stability 134 | run: | 135 | VERSION=$( echo ${{ inputs.version }} | cut -d '-' -f 2 ) 136 | SET_STABILITY="composer config minimum-stability" 137 | $SET_STABILITY --unset 138 | composer config prefer-stable --unset 139 | case $VERSION in 140 | alpha*|beta*|rc*) composer config prefer-stable true ;;& 141 | alpha*) $SET_STABILITY alpha ;; 142 | beta*) $SET_STABILITY beta ;; 143 | rc*) $SET_STABILITY rc ;; 144 | esac; 145 | 146 | - name: Patch parent version for OSS 147 | if: github.event.repository.name == 'oss' 148 | run: jq '.require["ibexa/admin-ui-assets"] |= "${{ inputs.version }}"' composer.json | sponge composer.json 149 | - name: Patch parent version for Content 150 | if: github.event.repository.name == 'content' 151 | run: jq '.require["ibexa/oss"] |= "${{ inputs.version }}"' composer.json | sponge composer.json 152 | - name: Patch parent version for Experience 153 | if: github.event.repository.name == 'experience' 154 | run: jq '.require["ibexa/content"] |= "${{ inputs.version }}"' composer.json | sponge composer.json 155 | - name: Patch parent version for Commerce 156 | if: github.event.repository.name == 'commerce' 157 | run: jq '.require["ibexa/experience"] |= "${{ inputs.version }}"' composer.json | sponge composer.json 158 | 159 | # The effect of this jq command is to modify the require property of the input JSON object by using values from the $release object, 160 | # if they exist, to update the values of the keys in the require object. 161 | - name: Patch composer require versions 162 | run: | 163 | jq --slurpfile release <(cat release.json) ' 164 | .require |= ( 165 | to_entries | 166 | map({ 167 | key: .key, 168 | value: (if ($release[0][.key]) then $release[0][.key] else .value end) 169 | }) | from_entries 170 | ) 171 | ' composer.json > composer.tmp 172 | mv composer.tmp composer.json 173 | 174 | - name: Reformat composer.json 175 | run: cat composer.json | unexpand -t2 | expand -t4 | sponge composer.json 176 | 177 | - name: Preview composer.json 178 | run: cat composer.json 179 | 180 | - name: Add composer keys for private packagist 181 | run: | 182 | composer config http-basic.updates.ibexa.co $SATIS_NETWORK_KEY $SATIS_NETWORK_TOKEN 183 | composer config github-oauth.github.com $APP_GITHUB_TOKEN 184 | env: 185 | SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }} 186 | SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }} 187 | APP_GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} 188 | 189 | - name: Composer update 190 | run: | 191 | composer update --no-scripts --no-plugins --no-install 192 | composer validate 193 | 194 | - name: Commit, tag and push 195 | if: inputs.real_op 196 | env: 197 | GIT_PUSH_ARGS: ${{ inputs.git_push_args }} 198 | ROBOT_TOKEN: ${{ secrets.EZROBOT_PAT }} 199 | run: | 200 | git config --local user.email "681611+ezrobot@users.noreply.github.com" 201 | git config --local user.name "ezrobot" 202 | git remote set-url origin https://x-access-token:${{ env.ROBOT_TOKEN }}@github.com/${{ github.repository }} 203 | git add composer.* 204 | git commit -m "[composer] Set dependencies for ${{ inputs.version }} release + .lock" 205 | git tag "v${{ inputs.version }}" 206 | git push origin "v${{ inputs.version }}" ${GIT_PUSH_ARGS} 207 | -------------------------------------------------------------------------------- /.github/workflows/browser-tests.yml: -------------------------------------------------------------------------------- 1 | name: Browser tests 2 | on: 3 | workflow_dispatch: 4 | inputs: 5 | send-success-notification: 6 | description: 'Send a notification when the tests pass' 7 | required: false 8 | type: boolean 9 | default: false 10 | project-version: 11 | description: 'Fill only when the tests should run on a stable release' 12 | required: false 13 | type: string 14 | default: '' 15 | push: 16 | branches: 17 | - master 18 | - "[0-9]+.[0-9]+" 19 | pull_request: ~ 20 | 21 | jobs: 22 | regression-oss-setup1: 23 | name: "PHP 8.3/Node 22/PostgreSQL 18.0/Varnish/Redis 7.2" 24 | uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main 25 | with: 26 | project-edition: "oss" 27 | project-version: ${{ github.event.inputs.project-version }} 28 | test-suite: "--profile=regression --suite=oss" 29 | test-setup-phase-1: "--profile=regression --suite=setup-oss --mode=standard" 30 | setup: "doc/docker/base-dev.yml:doc/docker/db-postgresql18.yml:doc/docker/varnish.yml:doc/docker/redis7.2.yml:doc/docker/selenium.yml" 31 | php-image: "ghcr.io/ibexa/docker/php:8.3-node22" 32 | send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} 33 | multirepository: true 34 | job-count: 2 35 | timeout: 60 36 | secrets: inherit 37 | regression-oss-setup2: 38 | name: "PHP 8.3/Node 22/MariaDB 10.11" 39 | uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main 40 | with: 41 | project-edition: "oss" 42 | project-version: ${{ github.event.inputs.project-version }} 43 | test-suite: "--profile=regression --suite=oss" 44 | test-setup-phase-1: "--profile=regression --suite=setup-oss --mode=standard" 45 | setup: "doc/docker/base-dev.yml:doc/docker/db-mariadb.yml:doc/docker/selenium.yml" 46 | php-image: "ghcr.io/ibexa/docker/php:8.3-node22" 47 | send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} 48 | multirepository: true 49 | job-count: 2 50 | timeout: 60 51 | secrets: inherit 52 | regression-oss-setup3: 53 | name: "PHP 8.3/Node 22/MySQL 8.4/Solr 8" 54 | uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main 55 | with: 56 | project-edition: "oss" 57 | project-version: ${{ github.event.inputs.project-version }} 58 | test-suite: "--profile=regression --suite=oss" 59 | test-setup-phase-1: "--profile=regression --suite=setup-oss --mode=standard" 60 | setup: "doc/docker/base-dev.yml:doc/docker/db-mysql8.4.yml:doc/docker/solr8.yml:doc/docker/selenium.yml" 61 | php-image: "ghcr.io/ibexa/docker/php:8.3-node22" 62 | send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} 63 | job-count: 2 64 | timeout: 60 65 | secrets: inherit 66 | -------------------------------------------------------------------------------- /.github/workflows/nightly.yml: -------------------------------------------------------------------------------- 1 | name: Nightly browser tests 2 | on: 3 | schedule: 4 | # Run tests every night 5 | - cron: "45 21 * * *" 6 | workflow_dispatch: ~ 7 | 8 | jobs: 9 | nightly: 10 | runs-on: ubuntu-latest 11 | strategy: 12 | fail-fast: false 13 | max-parallel: 1 14 | matrix: 15 | repository: 16 | - ibexa/oss 17 | - ibexa/headless 18 | - ibexa/experience 19 | - ibexa/commerce 20 | branch: 21 | - "3.3" 22 | - "4.6" 23 | - master 24 | include: 25 | - repository: ibexa/content 26 | branch: "3.3" 27 | exclude: 28 | - repository: ibexa/headless 29 | branch: "3.3" 30 | steps: 31 | - uses: actions/create-github-app-token@v2 32 | id: generate_token 33 | with: 34 | app-id: ${{ secrets.AUTOMATION_CLIENT_ID }} 35 | private-key: ${{ secrets.AUTOMATION_CLIENT_SECRET }} 36 | owner: ${{ github.repository_owner }} 37 | - uses: octokit/request-action@v2.x 38 | name: Trigger workflow 39 | with: 40 | repository: ${{ matrix.repository }} 41 | workflow: "browser-tests.yml" 42 | ref: "!!str ${{ matrix.branch }}" 43 | route: POST /repos/{repository}/actions/workflows/{workflow}/dispatches 44 | inputs: '{ "send-success-notification": "false" }' 45 | env: 46 | GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} 47 | -------------------------------------------------------------------------------- /.github/workflows/post_release.yaml: -------------------------------------------------------------------------------- 1 | name: Post release 2 | 3 | on: 4 | workflow_run: 5 | workflows: ["Call Create Release for tag Workflow"] 6 | types: 7 | - completed 8 | 9 | jobs: 10 | call-post-release: 11 | if: ${{ github.event.workflow_run.conclusion == 'success' }} 12 | uses: ibexa/gh-workflows/.github/workflows/post_release.yaml@main 13 | with: 14 | tag: ${{ github.event.workflow_run.head_branch }} 15 | secrets: inherit 16 | -------------------------------------------------------------------------------- /.github/workflows/release_tag.yml: -------------------------------------------------------------------------------- 1 | name: Call Create Release for tag Workflow 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | jobs: 9 | create_release_for_tag: 10 | uses: ibexa/gh-workflows/.github/workflows/release.yml@main 11 | secrets: 12 | AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }} 13 | AUTOMATION_CLIENT_INSTALLATION: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }} 14 | AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }} 15 | JIRA_TOKEN: ${{ secrets.JIRA_TOKEN }} 16 | -------------------------------------------------------------------------------- /.github/workflows/reviewers.yaml: -------------------------------------------------------------------------------- 1 | name: On PR Review Requested 2 | 3 | on: 4 | pull_request: 5 | types: [review_requested] 6 | 7 | jobs: 8 | call-expand-team-reviewers: 9 | if: ${{ github.event.requested_team }} 10 | uses: ibexa/gh-workflows/.github/workflows/expand-team-reviewers.yml@main 11 | with: 12 | requested_team: ${{ github.event.requested_team.slug }} 13 | pull_request_number: ${{ github.event.pull_request.number }} 14 | repository: ${{ github.repository }} 15 | secrets: inherit 16 | -------------------------------------------------------------------------------- /COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright (C) 1999-2025 Ibexa AS (formerly eZ Systems AS). All rights reserved. 2 | 3 | This source code is available separately under the following licenses: 4 | 5 | A - Ibexa Business Use License Agreement (Ibexa BUL), 6 | version 2.4 or later versions (as license terms may be updated from time to time) 7 | Ibexa BUL is granted by having a valid Ibexa DXP (formerly eZ Platform Enterprise) subscription, 8 | as described at: https://www.ibexa.co/product 9 | For the full Ibexa BUL license text, please see: 10 | - LICENSE-bul file placed in the root of this source code, or 11 | - https://www.ibexa.co/software-information/licenses-and-agreements (latest version applies) 12 | 13 | AND 14 | 15 | B - GNU General Public License, version 2 16 | Grants an copyleft open source license with ABSOLUTELY NO WARRANTY. For the full GPL license text, please see: 17 | - LICENSE file placed in the root of this source code, or 18 | - https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 1999-2025 Ibexa AS (formerly eZ Systems AS). All rights reserved. 2 | 3 | This source code is available separately under the following licenses: 4 | 5 | A - Ibexa Business Use License Agreement (Ibexa BUL), 6 | version 2.4 or later versions (as license terms may be updated from time to time) 7 | Ibexa BUL is granted by having a valid Ibexa DXP (formerly eZ Platform Enterprise) subscription, 8 | as described at: https://www.ibexa.co/product 9 | For the full Ibexa BUL license text, please see: 10 | - LICENSE-bul file placed in the root of this source code, or 11 | - https://www.ibexa.co/software-information/licenses-and-agreements (latest version applies) 12 | 13 | AND 14 | 15 | B - GNU General Public License, version 2 16 | Grants an copyleft open source license with ABSOLUTELY NO WARRANTY. 17 | Full GPL license text below, or online on: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 18 | 19 | 20 | ---------------------------------------------------------- 21 | 22 | GNU GENERAL PUBLIC LICENSE 23 | Version 2, June 1991 24 | 25 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., 26 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 27 | Everyone is permitted to copy and distribute verbatim copies 28 | of this license document, but changing it is not allowed. 29 | 30 | Preamble 31 | 32 | The licenses for most software are designed to take away your 33 | freedom to share and change it. By contrast, the GNU General Public 34 | License is intended to guarantee your freedom to share and change free 35 | software--to make sure the software is free for all its users. This 36 | General Public License applies to most of the Free Software 37 | Foundation's software and to any other program whose authors commit to 38 | using it. (Some other Free Software Foundation software is covered by 39 | the GNU Lesser General Public License instead.) You can apply it to 40 | your programs, too. 41 | 42 | When we speak of free software, we are referring to freedom, not 43 | price. Our General Public Licenses are designed to make sure that you 44 | have the freedom to distribute copies of free software (and charge for 45 | this service if you wish), that you receive source code or can get it 46 | if you want it, that you can change the software or use pieces of it 47 | in new free programs; and that you know you can do these things. 48 | 49 | To protect your rights, we need to make restrictions that forbid 50 | anyone to deny you these rights or to ask you to surrender the rights. 51 | These restrictions translate to certain responsibilities for you if you 52 | distribute copies of the software, or if you modify it. 53 | 54 | For example, if you distribute copies of such a program, whether 55 | gratis or for a fee, you must give the recipients all the rights that 56 | you have. You must make sure that they, too, receive or can get the 57 | source code. And you must show them these terms so they know their 58 | rights. 59 | 60 | We protect your rights with two steps: (1) copyright the software, and 61 | (2) offer you this license which gives you legal permission to copy, 62 | distribute and/or modify the software. 63 | 64 | Also, for each author's protection and ours, we want to make certain 65 | that everyone understands that there is no warranty for this free 66 | software. If the software is modified by someone else and passed on, we 67 | want its recipients to know that what they have is not the original, so 68 | that any problems introduced by others will not reflect on the original 69 | authors' reputations. 70 | 71 | Finally, any free program is threatened constantly by software 72 | patents. We wish to avoid the danger that redistributors of a free 73 | program will individually obtain patent licenses, in effect making the 74 | program proprietary. To prevent this, we have made it clear that any 75 | patent must be licensed for everyone's free use or not licensed at all. 76 | 77 | The precise terms and conditions for copying, distribution and 78 | modification follow. 79 | 80 | GNU GENERAL PUBLIC LICENSE 81 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 82 | 83 | 0. This License applies to any program or other work which contains 84 | a notice placed by the copyright holder saying it may be distributed 85 | under the terms of this General Public License. The "Program", below, 86 | refers to any such program or work, and a "work based on the Program" 87 | means either the Program or any derivative work under copyright law: 88 | that is to say, a work containing the Program or a portion of it, 89 | either verbatim or with modifications and/or translated into another 90 | language. (Hereinafter, translation is included without limitation in 91 | the term "modification".) Each licensee is addressed as "you". 92 | 93 | Activities other than copying, distribution and modification are not 94 | covered by this License; they are outside its scope. The act of 95 | running the Program is not restricted, and the output from the Program 96 | is covered only if its contents constitute a work based on the 97 | Program (independent of having been made by running the Program). 98 | Whether that is true depends on what the Program does. 99 | 100 | 1. You may copy and distribute verbatim copies of the Program's 101 | source code as you receive it, in any medium, provided that you 102 | conspicuously and appropriately publish on each copy an appropriate 103 | copyright notice and disclaimer of warranty; keep intact all the 104 | notices that refer to this License and to the absence of any warranty; 105 | and give any other recipients of the Program a copy of this License 106 | along with the Program. 107 | 108 | You may charge a fee for the physical act of transferring a copy, and 109 | you may at your option offer warranty protection in exchange for a fee. 110 | 111 | 2. You may modify your copy or copies of the Program or any portion 112 | of it, thus forming a work based on the Program, and copy and 113 | distribute such modifications or work under the terms of Section 1 114 | above, provided that you also meet all of these conditions: 115 | 116 | a) You must cause the modified files to carry prominent notices 117 | stating that you changed the files and the date of any change. 118 | 119 | b) You must cause any work that you distribute or publish, that in 120 | whole or in part contains or is derived from the Program or any 121 | part thereof, to be licensed as a whole at no charge to all third 122 | parties under the terms of this License. 123 | 124 | c) If the modified program normally reads commands interactively 125 | when run, you must cause it, when started running for such 126 | interactive use in the most ordinary way, to print or display an 127 | announcement including an appropriate copyright notice and a 128 | notice that there is no warranty (or else, saying that you provide 129 | a warranty) and that users may redistribute the program under 130 | these conditions, and telling the user how to view a copy of this 131 | License. (Exception: if the Program itself is interactive but 132 | does not normally print such an announcement, your work based on 133 | the Program is not required to print an announcement.) 134 | 135 | These requirements apply to the modified work as a whole. If 136 | identifiable sections of that work are not derived from the Program, 137 | and can be reasonably considered independent and separate works in 138 | themselves, then this License, and its terms, do not apply to those 139 | sections when you distribute them as separate works. But when you 140 | distribute the same sections as part of a whole which is a work based 141 | on the Program, the distribution of the whole must be on the terms of 142 | this License, whose permissions for other licensees extend to the 143 | entire whole, and thus to each and every part regardless of who wrote it. 144 | 145 | Thus, it is not the intent of this section to claim rights or contest 146 | your rights to work written entirely by you; rather, the intent is to 147 | exercise the right to control the distribution of derivative or 148 | collective works based on the Program. 149 | 150 | In addition, mere aggregation of another work not based on the Program 151 | with the Program (or with a work based on the Program) on a volume of 152 | a storage or distribution medium does not bring the other work under 153 | the scope of this License. 154 | 155 | 3. You may copy and distribute the Program (or a work based on it, 156 | under Section 2) in object code or executable form under the terms of 157 | Sections 1 and 2 above provided that you also do one of the following: 158 | 159 | a) Accompany it with the complete corresponding machine-readable 160 | source code, which must be distributed under the terms of Sections 161 | 1 and 2 above on a medium customarily used for software interchange; or, 162 | 163 | b) Accompany it with a written offer, valid for at least three 164 | years, to give any third party, for a charge no more than your 165 | cost of physically performing source distribution, a complete 166 | machine-readable copy of the corresponding source code, to be 167 | distributed under the terms of Sections 1 and 2 above on a medium 168 | customarily used for software interchange; or, 169 | 170 | c) Accompany it with the information you received as to the offer 171 | to distribute corresponding source code. (This alternative is 172 | allowed only for noncommercial distribution and only if you 173 | received the program in object code or executable form with such 174 | an offer, in accord with Subsection b above.) 175 | 176 | The source code for a work means the preferred form of the work for 177 | making modifications to it. For an executable work, complete source 178 | code means all the source code for all modules it contains, plus any 179 | associated interface definition files, plus the scripts used to 180 | control compilation and installation of the executable. However, as a 181 | special exception, the source code distributed need not include 182 | anything that is normally distributed (in either source or binary 183 | form) with the major components (compiler, kernel, and so on) of the 184 | operating system on which the executable runs, unless that component 185 | itself accompanies the executable. 186 | 187 | If distribution of executable or object code is made by offering 188 | access to copy from a designated place, then offering equivalent 189 | access to copy the source code from the same place counts as 190 | distribution of the source code, even though third parties are not 191 | compelled to copy the source along with the object code. 192 | 193 | 4. You may not copy, modify, sublicense, or distribute the Program 194 | except as expressly provided under this License. Any attempt 195 | otherwise to copy, modify, sublicense or distribute the Program is 196 | void, and will automatically terminate your rights under this License. 197 | However, parties who have received copies, or rights, from you under 198 | this License will not have their licenses terminated so long as such 199 | parties remain in full compliance. 200 | 201 | 5. You are not required to accept this License, since you have not 202 | signed it. However, nothing else grants you permission to modify or 203 | distribute the Program or its derivative works. These actions are 204 | prohibited by law if you do not accept this License. Therefore, by 205 | modifying or distributing the Program (or any work based on the 206 | Program), you indicate your acceptance of this License to do so, and 207 | all its terms and conditions for copying, distributing or modifying 208 | the Program or works based on it. 209 | 210 | 6. Each time you redistribute the Program (or any work based on the 211 | Program), the recipient automatically receives a license from the 212 | original licensor to copy, distribute or modify the Program subject to 213 | these terms and conditions. You may not impose any further 214 | restrictions on the recipients' exercise of the rights granted herein. 215 | You are not responsible for enforcing compliance by third parties to 216 | this License. 217 | 218 | 7. If, as a consequence of a court judgment or allegation of patent 219 | infringement or for any other reason (not limited to patent issues), 220 | conditions are imposed on you (whether by court order, agreement or 221 | otherwise) that contradict the conditions of this License, they do not 222 | excuse you from the conditions of this License. If you cannot 223 | distribute so as to satisfy simultaneously your obligations under this 224 | License and any other pertinent obligations, then as a consequence you 225 | may not distribute the Program at all. For example, if a patent 226 | license would not permit royalty-free redistribution of the Program by 227 | all those who receive copies directly or indirectly through you, then 228 | the only way you could satisfy both it and this License would be to 229 | refrain entirely from distribution of the Program. 230 | 231 | If any portion of this section is held invalid or unenforceable under 232 | any particular circumstance, the balance of the section is intended to 233 | apply and the section as a whole is intended to apply in other 234 | circumstances. 235 | 236 | It is not the purpose of this section to induce you to infringe any 237 | patents or other property right claims or to contest validity of any 238 | such claims; this section has the sole purpose of protecting the 239 | integrity of the free software distribution system, which is 240 | implemented by public license practices. Many people have made 241 | generous contributions to the wide range of software distributed 242 | through that system in reliance on consistent application of that 243 | system; it is up to the author/donor to decide if he or she is willing 244 | to distribute software through any other system and a licensee cannot 245 | impose that choice. 246 | 247 | This section is intended to make thoroughly clear what is believed to 248 | be a consequence of the rest of this License. 249 | 250 | 8. If the distribution and/or use of the Program is restricted in 251 | certain countries either by patents or by copyrighted interfaces, the 252 | original copyright holder who places the Program under this License 253 | may add an explicit geographical distribution limitation excluding 254 | those countries, so that distribution is permitted only in or among 255 | countries not thus excluded. In such case, this License incorporates 256 | the limitation as if written in the body of this License. 257 | 258 | 9. The Free Software Foundation may publish revised and/or new versions 259 | of the General Public License from time to time. Such new versions will 260 | be similar in spirit to the present version, but may differ in detail to 261 | address new problems or concerns. 262 | 263 | Each version is given a distinguishing version number. If the Program 264 | specifies a version number of this License which applies to it and "any 265 | later version", you have the option of following the terms and conditions 266 | either of that version or of any later version published by the Free 267 | Software Foundation. If the Program does not specify a version number of 268 | this License, you may choose any version ever published by the Free Software 269 | Foundation. 270 | 271 | 10. If you wish to incorporate parts of the Program into other free 272 | programs whose distribution conditions are different, write to the author 273 | to ask for permission. For software which is copyrighted by the Free 274 | Software Foundation, write to the Free Software Foundation; we sometimes 275 | make exceptions for this. Our decision will be guided by the two goals 276 | of preserving the free status of all derivatives of our free software and 277 | of promoting the sharing and reuse of software generally. 278 | 279 | NO WARRANTY 280 | 281 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 282 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 283 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 284 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 285 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 286 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 287 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 288 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 289 | REPAIR OR CORRECTION. 290 | 291 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 292 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 293 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 294 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 295 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 296 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 297 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 298 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 299 | POSSIBILITY OF SUCH DAMAGES. 300 | 301 | END OF TERMS AND CONDITIONS 302 | 303 | How to Apply These Terms to Your New Programs 304 | 305 | If you develop a new program, and you want it to be of the greatest 306 | possible use to the public, the best way to achieve this is to make it 307 | free software which everyone can redistribute and change under these terms. 308 | 309 | To do so, attach the following notices to the program. It is safest 310 | to attach them to the start of each source file to most effectively 311 | convey the exclusion of warranty; and each file should have at least 312 | the "copyright" line and a pointer to where the full notice is found. 313 | 314 | 315 | Copyright (C) 316 | 317 | This program is free software; you can redistribute it and/or modify 318 | it under the terms of the GNU General Public License as published by 319 | the Free Software Foundation; either version 2 of the License, or 320 | (at your option) any later version. 321 | 322 | This program is distributed in the hope that it will be useful, 323 | but WITHOUT ANY WARRANTY; without even the implied warranty of 324 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 325 | GNU General Public License for more details. 326 | 327 | You should have received a copy of the GNU General Public License along 328 | with this program; if not, write to the Free Software Foundation, Inc., 329 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 330 | 331 | Also add information on how to contact you by electronic and paper mail. 332 | 333 | If the program is interactive, make it output a short notice like this 334 | when it starts in an interactive mode: 335 | 336 | Gnomovision version 69, Copyright (C) year name of author 337 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 338 | This is free software, and you are welcome to redistribute it 339 | under certain conditions; type `show c' for details. 340 | 341 | The hypothetical commands `show w' and `show c' should show the appropriate 342 | parts of the General Public License. Of course, the commands you use may 343 | be called something other than `show w' and `show c'; they could even be 344 | mouse-clicks or menu items--whatever suits your program. 345 | 346 | You should also get your employer (if you work as a programmer) or your 347 | school, if any, to sign a "copyright disclaimer" for the program, if 348 | necessary. Here is a sample; alter the names: 349 | 350 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 351 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 352 | 353 | , 1 April 1989 354 | Ty Coon, President of Vice 355 | 356 | This General Public License does not permit incorporating your program into 357 | proprietary programs. If your program is a subroutine library, you may 358 | consider it more useful to permit linking proprietary applications with the 359 | library. If this is what you want to do, use the GNU Lesser General 360 | Public License instead of this License. 361 | -------------------------------------------------------------------------------- /LICENSE-bul: -------------------------------------------------------------------------------- 1 | Ibexa Business Use License Agreement ("Ibexa BUL") Version 2.4 2 | 3 | 4 | IMPORTANT: Please read the following license agreement carefully. 5 | 6 | This Ibexa Business License Agreement (“Ibexa BUL”) is between Ibexa AS 7 | (Norwegian business registration no. 981601564), a Norwegian company 8 | ("Licensor", “Ibexa” or “we”), and the customer ("Licensee" 9 | or "you"). By installing all or any portion of the Licensed Software (or 10 | authorizing any other person to do so), you accept the terms and conditions of 11 | this Ibexa BUL. If you acquired the Licensed Software without an opportunity to 12 | review this Ibexa BUL and do not accept the Ibexa BUL, you must: (a) not use 13 | the Licensed Software and (b) return or delete the Licensed Software, 14 | with your certification of deletion, within thirty (30) days of the 15 | purchase date. 16 | 17 | The parties hereby agree to the following terms and conditions: 18 | 19 | 1. Definitions 20 | 21 | "Licensed Software" means the Ibexa Digital Experience Platform (DXP) 22 | or other Ibexa software product (such as eZ Platform Enterprise Edition, 23 | eZ Publish Platform) downloaded, ordered or otherwise legally acquired 24 | (licensed) by you from Ibexa (or other party authorized by Ibexa). 25 | 26 | "Licensed Copy" means one sample of the Licensed Software. 27 | 28 | 2. License grant 29 | 30 | 2.1 You may 31 | If you have entered into an Ibexa Subscription Agreement, you have paid the 32 | correct fees and you comply with the terms of this Ibexa BUL, we grant you a 33 | limited, non-exclusive and non-transferable right to: 34 | 35 | (a) install and run the Licensed Copy according to the terms 36 | defined by the Ibexa Subscription Agreement 37 | 38 | (b) modify or make improvements, patches, workarounds and bug fixes 39 | (collectively "Licensee Modifications") to the Licensed Copy, or permit 40 | a third party to do so on Licensee's behalf, solely for use by the 41 | Licensee and its subsidiaries or affiliates. 42 | 43 | Licensee may make a reasonable number of copies of the Licensed Copy as 44 | required for backup and archival purposes only. 45 | 46 | 2.2 You may not 47 | Licensee may use the Licensed Software only as expressly granted in 48 | section 2. Without limiting the foregoing, you may not: (a) give, lease, 49 | license, sell, make available, or distribute any part of the Licensed 50 | Software or Licensee Modifications to any third party, except as 51 | otherwise expressly permitted herein; (b) use the Licensed Software to 52 | operate as a time-sharing, outsourcing, service bureau, application 53 | service provider, managed service provider environment or similar 54 | service directed towards and performed on behalf or for the benefit of a 55 | third party; (c) copy the Licensed Software onto any public or 56 | distributed network; or (d) change any right notices which appear in the 57 | Licensed Software. 58 | 59 | 3. Your responsibility 60 | Except as expressly described in this Ibexa BUL or in a separate written 61 | agreement, you alone are solely responsible for the installation of the 62 | Licensed Software, its operation, supervision, maintenance, management 63 | and related training and support. The same shall apply to any related 64 | installation, maintenance and configuration of computer hardware used by 65 | the Licensed Software. 66 | 67 | 4. Price and payment 68 | You may use the Licensed Software free of charge if you are a current 69 | and paying Ibexa Subscription Agreement customer, with a 70 | subscription agreement covering the Licensed Software. If not, you may 71 | not use the Licensed Software. 72 | 73 | Please see the Ibexa Subscription Agreement for the prices and terms of payment, 74 | that apply. 75 | 76 | All use of the Licensed Software has to stop immediately after the termination or 77 | expiration of any such Ibexa Subscription Agreement. 78 | 79 | 5. Audit rights 80 | To make sure everyone is contributing their part to enable us to 81 | continue making great software, we need a right at all times to audit 82 | our Licensors. During the term of this Ibexa BUL and for a three year 83 | period following its termination, we therefor may conduct periodic 84 | reviews of your records relating to the Licensed Software for the 85 | purpose of verifying Licensee's compliance with this Ibexa BUL, Ibexa 86 | Subscription Agreement and related agreements. During 87 | this three year period, you are obliged to maintain complete and accurate 88 | books and other records related to software licensing and related 89 | payments. We must exercise its right of audit upon no fewer than 15 90 | days' prior notice. You will then provide us with reasonable access and 91 | assistance for the audit, including reasonable use of personnel, 92 | available office equipment and space. In return, we must give you a copy 93 | of the results of the audit, if you ask us for it. 94 | 95 | 6. Termination 96 | Ibexa may terminate this Ibexa BUL immediately if you are in breach any of its 97 | provisions and such breach remains uncured 30 days after you receive 98 | notice of the breach. In the event that you (a) fail to pay Ibexa any 99 | outstanding amounts, including subscription fees or license fees for 100 | other software, on time, or (b) are or become liquidated, dissolved, 101 | bankrupt or insolvent, whether voluntarily or involuntarily, or is to 102 | take any action to be declared so, we may terminate this Ibexa BUL 103 | immediately. Upon cancellation or other termination of this Ibexa BUL, for 104 | any reason, you must immediately destroy all copies of the Licensed 105 | Software, and confirm the destruction within 7 (seven) days. 106 | 107 | 7. Intellectual property rights 108 | You agree that no copyright, other intellectual property or proprietary 109 | rights in the Licensed Software and related documentation are 110 | transferred to you. No trademarks of Ibexa may be used by you without Ibexa’s 111 | express written permission. If permission is granted, use must always 112 | take place in accordance with our guidelines as they may be updated from 113 | time to time. For Licensee Modifications, you must, in the modified 114 | files and in a separate text file, clearly indicate that the Licensed 115 | Software contains modifications and state their dates and location. 116 | 117 | 8. Limited warranties 118 | We warrant that the Licensed Software will remain in substantial 119 | conformance with the current documentation of the Licensed Software. We 120 | disclaim, and you waive, all warranties, whether express or implied, 121 | including warranties of merchantability, fitness for a particular 122 | purpose, non-infringement, system integration, non-interference and 123 | accuracy of informational content. We do not warrant that the Licensed 124 | Software will meet your requirements or that the operation of it will be 125 | uninterrupted or error-free, or that errors will be corrected. The 126 | entire risk of the Licensed Software's quality and performance is 127 | therefore with you. 128 | 129 | 9. Limitation of liability 130 | To the extent permitted by law, we do not have liability with respect to 131 | obligations described in this Ibexa BUL or otherwise for direct, 132 | consequential, exemplary, special, indirect, incidental or punitive 133 | damages, including any lost profits or lost savings (whether resulting 134 | from impaired or lost data, software or computer failure or any other 135 | cause), even if we have been advised of the possibility of such damages. 136 | 137 | This limitation of liability applies to any default, including breach of 138 | contract, breach of warranty, negligence, misrepresentations and other 139 | injury. We both agree that the remedies and limitations herein allocate 140 | the risks between us as authorized by law. The license fee (none) is set 141 | in reliance upon this allocation of risk and the exclusion of damages as 142 | set forth in this Ibexa BUL. 143 | 144 | 10. Miscellaneous 145 | 146 | 10.1 Termination for patent action 147 | This Ibexa BUL shall terminate automatically and you may no longer exercise 148 | any of the rights granted to you by this Ibexa BUL as of the date you 149 | commence an action, including a cross-claim or counterclaim, against Ibexa, 150 | any third party supplier Ibexa is distributing software for, or other 151 | licensee, alleging that the Licensed Software infringes a patent. 152 | 153 | 10.2 Transfer 154 | Without Ibexa’s written permission, you may not sublicense or otherwise 155 | transfer your rights and obligations under this Ibexa BUL to any other 156 | person or party. Any attempt by you to do so, will terminate this Ibexa BUL 157 | without further notice. Ibexa may assign its rights hereunder at any time 158 | without consent. 159 | 160 | 10.3 Governing law 161 | This Ibexa BUL is to be governed by the laws of Norway, without regard to 162 | any conflict of law provisions. 163 | 164 | 10.4 Disputes and legal venue 165 | If we disagree, you and Ibexa will first attempt to resolve the 166 | disagreement through discussions and negotiations. 167 | 168 | If you and Ibexa cannot agree, the dispute can be referred to Oslo City 169 | Court as mandatory legal venue by either one of us. However, if you are 170 | located in a country that does not have a bilateral or multilateral 171 | ruling enforcement treaty with Norway, the dispute must be referred to 172 | and finally determined by arbitration administered by the World 173 | Intellectual Property Organization (WIPO) Arbitration and Mediation 174 | Centre in accordance with the WIPO Arbitration Rules. 175 | 176 | The place of arbitration is to be Oslo, Norway. The arbitrator (only 177 | one) will decide based on this Ibexa BUL and Norwegian law. We both agree 178 | that the arbitrator will have the power to decide all matters, and to 179 | award any remedies. All proceedings and documents shall remain strictly 180 | confidential. 181 | 182 | In no event shall the United Nations Convention on Contracts for the 183 | International Sale of Goods apply to, or govern, this Ibexa BUL. 184 | 185 | 10.5 Notices 186 | Any notices we need to send each other, must be delivered and addressed 187 | to you at the address you provided to Ibexa (or our representative) at the 188 | time of the order, and to Ibexa at 189 | 190 | Attn: Software Licensing Dept., 191 | 192 | Ibexa AS, 193 | Solligata 2, 194 | 0254 Oslo 195 | Norway 196 | 197 | Either party may change its address for notice purposes upon notice in 198 | accordance with this section. 199 | 200 | 10.6 Export law assurances 201 | You are responsible for complying with any applicable local laws, 202 | including export and import regulations. 203 | 204 | 10.7 Entire agreement 205 | This Ibexa BUL and Ibexa Subscription Agreement comprise the entire agreement, and replace all earlier 206 | proposals, understandings and agreements, oral and written, between us. 207 | 208 | 10.8 Update of terms 209 | In order to be able to manage all those licensing software from us, we 210 | may from time to time in our discretion issue new versions of this 211 | license. Unless you within 30 days from when you were first made aware 212 | or should have become aware of the new license have not objected in 213 | writing to us, the new version of the Ibexa BUL is to be deemed as accepted 214 | by you. 215 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ibexa Open Source Symfony Flex metapackage 2 | 3 | This is a metapackage for Symfony Flex-based Ibexa Open Source installation. 4 | 5 | ## Installation 6 | 7 | To install the latest version of Ibexa Open Source, create a new project from [ibexa/oss-skeleton](https://github.com/ibexa/oss-skeleton): 8 | 9 | ``` 10 | composer create-project ibexa/oss-skeleton 11 | ``` 12 | 13 | Learn more about our commercial product - [Ibexa DXP](https://www.ibexa.co/products). 14 | 15 | ## COPYRIGHT 16 | Copyright (C) 1999-2025 Ibexa AS (formerly eZ Systems AS). All rights reserved. 17 | 18 | ## LICENSE 19 | This source code is available separately under the following licenses: 20 | 21 | A - Ibexa Business Use License Agreement (Ibexa BUL), 22 | version 2.4 or later versions (as license terms may be updated from time to time) 23 | Ibexa BUL is granted by having a valid Ibexa DXP (formerly eZ Platform Enterprise) subscription, 24 | as described at: https://www.ibexa.co/product 25 | For the full Ibexa BUL license text, please see: 26 | https://www.ibexa.co/software-information/licenses-and-agreements (latest version applies) 27 | 28 | AND 29 | 30 | B - GNU General Public License, version 2 31 | Grants an copyleft open source license with ABSOLUTELY NO WARRANTY. For the full GPL license text, please see: 32 | https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 33 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ibexa/oss", 3 | "type": "metapackage", 4 | "license": "(GPL-2.0-only or proprietary)", 5 | "description": "A meta package for installing Ibexa Open Source", 6 | "require": { 7 | "php": ">=8.3", 8 | "ext-ctype": "*", 9 | "ext-iconv": "*", 10 | "doctrine/doctrine-migrations-bundle": "^3.0", 11 | "ibexa/doctrine-schema": "~5.0.x-dev", 12 | "ibexa/system-info": "~5.0.x-dev", 13 | "ibexa/admin-ui": "~5.0.x-dev", 14 | "ibexa/admin-ui-assets": "~5.0.0@alpha", 15 | "ibexa/content-forms": "~5.0.x-dev", 16 | "ibexa/core": "~5.0.x-dev", 17 | "ibexa/core-persistence": "~5.0.x-dev", 18 | "ibexa/core-search": "~5.0.x-dev", 19 | "ibexa/cron": "~5.0.x-dev", 20 | "ibexa/design-engine": "~5.0.x-dev", 21 | "ibexa/fieldtype-matrix": "~5.0.x-dev", 22 | "ibexa/fieldtype-query": "~5.0.x-dev", 23 | "ibexa/fieldtype-richtext": "~5.0.x-dev", 24 | "ibexa/graphql": "~5.0.x-dev", 25 | "ibexa/http-cache": "~5.0.x-dev", 26 | "ibexa/i18n": "~5.0.x-dev", 27 | "ibexa/notifications": "~5.0.x-dev", 28 | "ibexa/post-install": "~5.0.x-dev", 29 | "ibexa/rest": "~5.0.x-dev", 30 | "ibexa/search": "~5.0.x-dev", 31 | "ibexa/solr": "~5.0.x-dev", 32 | "ibexa/standard-design": "~5.0.x-dev", 33 | "ibexa/twig-components": "~5.0.x-dev", 34 | "ibexa/user": "~5.0.x-dev", 35 | "symfony/asset": "^7.3", 36 | "symfony/cache": "^7.3", 37 | "symfony/console": "^7.3", 38 | "symfony/dotenv": "^7.3", 39 | "symfony/expression-language": "^7.3", 40 | "symfony/flex": "^2", 41 | "symfony/form": "^7.3", 42 | "symfony/framework-bundle": "^7.3", 43 | "symfony/mailer": "^7.3", 44 | "symfony/monolog-bundle": "^3.6.0", 45 | "symfony/process": "^7.3", 46 | "symfony/security-bundle": "^7.3", 47 | "symfony/serializer-pack": "^1.0", 48 | "symfony/translation": "^7.3", 49 | "symfony/twig-bundle": "^7.3", 50 | "symfony/validator": "^7.3", 51 | "symfony/web-link": "^7.3", 52 | "symfony/webpack-encore-bundle": "^2.2", 53 | "symfony/yaml": "^7.3", 54 | "friendsofsymfony/jsrouting-bundle": "^3.5.0", 55 | "knplabs/knp-menu-bundle": "^3.1", 56 | "lexik/jwt-authentication-bundle": "^2.10.5", 57 | "monolog/monolog": "^3.8", 58 | "overblog/graphiql-bundle": "^1.0", 59 | "twig/extra-bundle": "^3.1.1", 60 | "doctrine/doctrine-bundle": "^2.11.0" 61 | }, 62 | "conflict": { 63 | "doctrine/doctrine-bundle": "2.6.3", 64 | "doctrine/persistence": "3.0.0", 65 | "gregwar/captcha-bundle": "2.2.0", 66 | "imagine/imagine": "1.3.0 || 1.3.1", 67 | "lexik/jwt-authentication-bundle": "2.12.0 || 2.18.0", 68 | "symfony/dependency-injection": "5.3.7 || 5.4.17", 69 | "symfony/framework-bundle": "5.3.14 || 5.4.3", 70 | "symfony/expression-language": "5.4.7", 71 | "symfony/webpack-encore-bundle": "1.14.0", 72 | "behat/mink-selenium2-driver": "1.7.0" 73 | }, 74 | "extra": { 75 | "branch-alias": { 76 | "dev-master": "5.0.x-dev" 77 | } 78 | } 79 | } 80 | --------------------------------------------------------------------------------