Skip to content

Commit 3f6e1b8

Browse files
committed
Merge feat/edit-versioned-change-request
1 parent 58b4245 commit 3f6e1b8

File tree

191 files changed

+4632
-2717
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

191 files changed

+4632
-2717
lines changed

.github/actions/api-deploy-ecs/action.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ inputs:
1818
aws_ecs_service_name:
1919
description: The name of the ECS service to deploy to.
2020
required: true
21+
aws_ecs_sdk_service_name:
22+
description: The name of the SDK ECS service to deploy to.
23+
required: true
2124
aws_vpc_subnet_id:
2225
description: The id of the AWS VPC subnet to use for running migration tasks.
2326
required: true
@@ -91,12 +94,21 @@ runs:
9194
shell: bash
9295

9396
- name: Deploy Amazon ECS web task definition
97+
id: deploy-api-task-def
9498
uses: aws-actions/amazon-ecs-deploy-task-definition@v2
9599
with:
96100
cluster: ${{ inputs.aws_ecs_cluster_name }}
97101
service: ${{ inputs.aws_ecs_service_name }}
98102
task-definition: ${{ steps.task-def-api.outputs.task-definition }}
99103

104+
- name: Deploy Amazon ECS SDK service with same task definition
105+
run: |
106+
aws ecs update-service \
107+
--cluster ${{ inputs.aws_ecs_cluster_name }} \
108+
--service ${{ inputs.aws_ecs_sdk_service_name }} \
109+
--task-definition ${{ steps.deploy-api-task-def.outputs.task-definition-arn }}
110+
shell: bash
111+
100112
# The DynamoDB Identity Migrator uses the same task definition as the SQL schema migrator but overrides the container definition
101113
# with the new django execute target
102114
- name: Update Identity migrate rule with target
@@ -136,8 +148,8 @@ runs:
136148
]'
137149
shell: bash
138150

139-
- name: Wait for service to be stable
140-
run:
141-
aws ecs wait services-stable --cluster ${{ inputs.aws_ecs_cluster_name }} --services ${{
142-
inputs.aws_ecs_service_name }}
151+
- name: Wait for services to be stable
152+
run: |
153+
aws ecs wait services-stable --cluster ${{ inputs.aws_ecs_cluster_name }} --services ${{ inputs.aws_ecs_service_name }}
154+
aws ecs wait services-stable --cluster ${{ inputs.aws_ecs_cluster_name }} --services ${{ inputs.aws_ecs_sdk_service_name }}
143155
shell: bash

.github/actions/e2e-tests/action.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ runs:
4444
max_attempts: 2
4545
retry_on: error
4646
timeout_minutes: 20
47+
on_retry_command: |
48+
lsof -ti:3000 | xargs kill -9 || true
4749
env:
4850
E2E_TEST_TOKEN: ${{ inputs.e2e_test_token }}
4951
SLACK_TOKEN: ${{ inputs.slack_token }}

.github/pull_request_template.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
Thanks for submitting a PR! Please check the boxes below:
22

3-
- [ ] I have added information to `docs/` if required so people know about the feature!
4-
- [ ] I have filled in the "Changes" section below?
5-
- [ ] I have filled in the "How did you test this code" section below?
6-
- [ ] I have used a [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) title for this Pull Request
3+
- [ ] I have read the [Contributing Guide](/CONTRIBUTING.md).
4+
- [ ] I have added information to `docs/` if required so people know about the feature.
5+
- [ ] I have filled in the "Changes" section below.
6+
- [ ] I have filled in the "How did you test this code" section below.
77

88
## Changes
99

10+
Contributes to <!-- insert issue # or URL -->
11+
12+
<!-- Change "Contributes to" to "Closes" if this PR, when merged, completely resolves the referenced issue.
13+
Leave "Contributes to" if the changes need to be released first. -->
14+
1015
_Please describe._
1116

1217
## How did you test this code?

.github/workflows/.reusable-deploy-ecs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ jobs:
8484
aws_ecs_cluster_name: ${{ vars.AWS_ECS_CLUSTER_NAME }}
8585
aws_ecs_cluster_arn: ${{ vars.AWS_ECS_CLUSTER_ARN }}
8686
aws_ecs_service_name: ${{ vars.AWS_ECS_SERVICE_NAME }}
87+
aws_ecs_sdk_service_name: ${{ vars.AWS_ECS_SDK_SERVICE_NAME }}
8788
aws_vpc_subnet_id: ${{ vars.AWS_VPC_SUBNET_ID }}
8889
aws_ecs_security_group_id: ${{ vars.AWS_ECS_SECURITY_GROUP_ID }}
8990
aws_identity_migration_event_bus_name: ${{ vars.AWS_IDENTITY_MIGRATION_EVENT_BUS_NAME }}

.github/workflows/.reusable-docker-e2e-tests.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ jobs:
7676
max_attempts: 2
7777
retry_on: error
7878
timeout_minutes: 20
79+
on_retry_command: |
80+
cd frontend
81+
docker compose down --remove-orphans || true
7982
env:
8083
opts: ${{ inputs.args }}
8184
API_IMAGE: ${{ inputs.api-image }}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,5 @@ src/CI_COMMIT_SHA
2323
.DS_Store
2424
.idea
2525
*.iml
26+
27+
AGENTS.local.md

.pre-commit-config.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
33
# Ruff version.
4-
rev: v0.14.6
4+
rev: v0.14.10
55
hooks:
66
# Run the linter.
77
- id: ruff
@@ -41,13 +41,17 @@ repos:
4141
require_serial: true
4242
pass_filenames: false
4343
types: [python]
44+
stages: [pre-push]
4445

4546
- repo: https://github.com/python-poetry/poetry
4647
rev: 2.2.1
4748
hooks:
4849
- id: poetry-check
4950
args: ["-C", "api"]
5051

52+
default_install_hook_types: [pre-commit, pre-push]
53+
default_stages: [pre-commit]
54+
5155
ci:
5256
skip: [generate-docs, python-typecheck]
5357
autoupdate_commit_msg: "ci: pre-commit autoupdate"

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "2.205.1"
2+
".": "2.209.0"
33
}

AGENTS.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Prioritise @AGENTS.local.md, if present.
2+
3+
Use British English.
4+
5+
# Tasks
6+
7+
Install Git hooks: `make install-hooks`
8+
For backend code, read @api/README.md
9+
For frontend code, read @frontend/README.md
10+
For docs.flagsmith.com source, read @docs/README.md

CHANGELOG.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,135 @@
11
# Changelog
22

3+
## [2.209.0](https://github.com/Flagsmith/flagsmith/compare/v2.208.0...v2.209.0) (2026-01-12)
4+
5+
6+
### Features
7+
8+
* **throttling:** Throttle only requests authorised by master API keys ([#6513](https://github.com/Flagsmith/flagsmith/issues/6513)) ([e1afc88](https://github.com/Flagsmith/flagsmith/commit/e1afc883bd9f9a861edcbfc741a34f3c5b2496a1))
9+
10+
## [2.208.0](https://github.com/Flagsmith/flagsmith/compare/v2.207.1...v2.208.0) (2026-01-12)
11+
12+
13+
### Features
14+
15+
* **redis:** enable read_from_replicas for Redis Cluster by default ([#6506](https://github.com/Flagsmith/flagsmith/issues/6506)) ([b53e0cf](https://github.com/Flagsmith/flagsmith/commit/b53e0cf57a88c22f2eb42dce5529363af377b1a5))
16+
17+
18+
### Infrastructure (Flagsmith SaaS Only)
19+
20+
* Revert to default Redis pool settings ([#6507](https://github.com/Flagsmith/flagsmith/issues/6507)) ([dbaf16e](https://github.com/Flagsmith/flagsmith/commit/dbaf16e24571f7f0e95be62fb5414de12e0e8820))
21+
* Set per-user rate limit to 500/min for Admin API ([#6502](https://github.com/Flagsmith/flagsmith/issues/6502)) ([6c1f175](https://github.com/Flagsmith/flagsmith/commit/6c1f175d98394f088ed043daac6c646bd4ebcc48))
22+
23+
## [2.207.1](https://github.com/Flagsmith/flagsmith/compare/v2.207.0...v2.207.1) (2026-01-08)
24+
25+
26+
### Infrastructure (Flagsmith SaaS Only)
27+
28+
* Use blocking Redis pool for throttle cache, limit max connections ([#6500](https://github.com/Flagsmith/flagsmith/issues/6500)) ([cb049bf](https://github.com/Flagsmith/flagsmith/commit/cb049bfa5ec35ac37d75cbc69d90825eff54d902))
29+
30+
## [2.207.0](https://github.com/Flagsmith/flagsmith/compare/v2.206.0...v2.207.0) (2026-01-08)
31+
32+
33+
### Features
34+
35+
* **api-docs:** Generate OpenAPI 3.1 docs with drf-spectacular ([#6451](https://github.com/Flagsmith/flagsmith/issues/6451)) ([42e4fdc](https://github.com/Flagsmith/flagsmith/commit/42e4fdc890ca2183133f311088755361dc5a7b83))
36+
* improve segment feature association ([#6478](https://github.com/Flagsmith/flagsmith/issues/6478)) ([58015b1](https://github.com/Flagsmith/flagsmith/commit/58015b117324da4cc7b41b54519e2b6fe1c0176a))
37+
38+
39+
### Bug Fixes
40+
41+
* **ci:** Remove obsolete flagsmith-task-processor clone ([#6493](https://github.com/Flagsmith/flagsmith/issues/6493)) ([4a6ee45](https://github.com/Flagsmith/flagsmith/commit/4a6ee45e742a92d0b92744011ada821fc536927b))
42+
* **deploy:** use same task definition for API and SDK services ([#6495](https://github.com/Flagsmith/flagsmith/issues/6495)) ([8cdb036](https://github.com/Flagsmith/flagsmith/commit/8cdb036598ab0c6680ad9c1ca04bdeef108892d5))
43+
* inconsistent Capitalization for Badges - capitalized beta badge ([#6492](https://github.com/Flagsmith/flagsmith/issues/6492)) ([530d68b](https://github.com/Flagsmith/flagsmith/commit/530d68b36b51611ffe774f085b55b1560a25a789))
44+
45+
46+
### Infrastructure (Flagsmith SaaS Only)
47+
48+
* Enable Redis for per-user throttling in production ([#6497](https://github.com/Flagsmith/flagsmith/issues/6497)) ([c0058e4](https://github.com/Flagsmith/flagsmith/commit/c0058e4414a9fc1cf1f1bda49015c39b0a8bcabb))
49+
50+
51+
### Dependency Updates
52+
53+
* bump pynacl from 1.5.0 to 1.6.2 in /api ([#6481](https://github.com/Flagsmith/flagsmith/issues/6481)) ([c54bc7a](https://github.com/Flagsmith/flagsmith/commit/c54bc7ac145b358c87bc9f61edc3bcd3ad6991ab))
54+
55+
## [2.206.0](https://github.com/Flagsmith/flagsmith/compare/v2.205.8...v2.206.0) (2026-01-07)
56+
57+
58+
### Features
59+
60+
* **deploy:** add SDK service to ECS deployment pipeline ([#6484](https://github.com/Flagsmith/flagsmith/issues/6484)) ([253d232](https://github.com/Flagsmith/flagsmith/commit/253d2320f6a30a81977a2e5bb8da8d6b9b523982))
61+
* re-fetch features on page focus ([#6483](https://github.com/Flagsmith/flagsmith/issues/6483)) ([2544ca0](https://github.com/Flagsmith/flagsmith/commit/2544ca094a80e7f295e905685b6b652a319b854e))
62+
63+
## [2.205.8](https://github.com/Flagsmith/flagsmith/compare/v2.205.7...v2.205.8) (2026-01-06)
64+
65+
66+
### Bug Fixes
67+
68+
* **e2e:** increase wait time before Try It button click ([#6465](https://github.com/Flagsmith/flagsmith/issues/6465)) ([ea8bcc6](https://github.com/Flagsmith/flagsmith/commit/ea8bcc6b6bb9ec316ee37f0dc380a907c62bf518))
69+
* **features:** restore FeaturesPage RTK Query migration with versioning fixes ([#6429](https://github.com/Flagsmith/flagsmith/issues/6429)) ([3dd841a](https://github.com/Flagsmith/flagsmith/commit/3dd841ac240b19cf6b7f3a4255f2ad32d8f5916f))
70+
* revert: "fix(features): restore FeaturesPage RTK Query migration with versioning fixes" ([#6468](https://github.com/Flagsmith/flagsmith/issues/6468)) ([cc85eea](https://github.com/Flagsmith/flagsmith/commit/cc85eeacb8890e44602a92340c37cb0bb29a91f3))
71+
72+
73+
### Infrastructure (Flagsmith SaaS Only)
74+
75+
* Enable Admin API throttling in production ([#6479](https://github.com/Flagsmith/flagsmith/issues/6479)) ([0570f64](https://github.com/Flagsmith/flagsmith/commit/0570f64228c737b5df39b25bb609f518584c4bd1))
76+
77+
## [2.205.7](https://github.com/Flagsmith/flagsmith/compare/v2.205.6...v2.205.7) (2026-01-04)
78+
79+
80+
### Bug Fixes
81+
82+
* optimise influxdb calls from handle_api_usage_notifications task ([#6458](https://github.com/Flagsmith/flagsmith/issues/6458)) ([26ac021](https://github.com/Flagsmith/flagsmith/commit/26ac0211e51c08ebc14d4903c79beffb6290627a))
83+
84+
## [2.205.6](https://github.com/Flagsmith/flagsmith/compare/v2.205.5...v2.205.6) (2026-01-02)
85+
86+
87+
### Bug Fixes
88+
89+
* add a batch size to the bulk_update of OrganisationSubscriptionInformationCache objects ([#6456](https://github.com/Flagsmith/flagsmith/issues/6456)) ([38ac162](https://github.com/Flagsmith/flagsmith/commit/38ac16206879e67ea3d72485659231fd61c3d362))
90+
91+
## [2.205.5](https://github.com/Flagsmith/flagsmith/compare/v2.205.4...v2.205.5) (2026-01-02)
92+
93+
94+
### Bug Fixes
95+
96+
* add throttle to flag analytics endpoint ([#6454](https://github.com/Flagsmith/flagsmith/issues/6454)) ([23d37ca](https://github.com/Flagsmith/flagsmith/commit/23d37ca202487dd9523bb5face31a098dd3e77b9))
97+
98+
## [2.205.4](https://github.com/Flagsmith/flagsmith/compare/v2.205.3...v2.205.4) (2026-01-02)
99+
100+
101+
### Bug Fixes
102+
103+
* add throttling for influx query endpoints ([#6453](https://github.com/Flagsmith/flagsmith/issues/6453)) ([64a216a](https://github.com/Flagsmith/flagsmith/commit/64a216a02bbf7639dbd2d1906f0bb4e9b99445cc))
104+
* clean-up-ci-cafe-port-3000-on-error ([#6430](https://github.com/Flagsmith/flagsmith/issues/6430)) ([e6aeff8](https://github.com/Flagsmith/flagsmith/commit/e6aeff8521109eb3a183ae9f86122419461ed785))
105+
* ignore-stale-identity-overrides ([#6444](https://github.com/Flagsmith/flagsmith/issues/6444)) ([5ce3df6](https://github.com/Flagsmith/flagsmith/commit/5ce3df6a3681de9eaa238e7e9a0e2b64f8f27720))
106+
107+
108+
### Dependency Updates
109+
110+
* bump filelock from 3.16.1 to 3.20.1 in /api ([#6425](https://github.com/Flagsmith/flagsmith/issues/6425)) ([d859638](https://github.com/Flagsmith/flagsmith/commit/d859638f256ccc9894e8a4f8f2678d1592b48a17))
111+
* bump js-yaml from 3.14.1 to 3.14.2 in /frontend ([#6329](https://github.com/Flagsmith/flagsmith/issues/6329)) ([5b8292b](https://github.com/Flagsmith/flagsmith/commit/5b8292b32554cfa716b732dc1677f258429e6f60))
112+
* bump marshmallow from 3.20.1 to 3.26.2 in /api ([#6440](https://github.com/Flagsmith/flagsmith/issues/6440)) ([c1d787f](https://github.com/Flagsmith/flagsmith/commit/c1d787f328ca0f2a09b9309abd550443d7244dd4))
113+
* bump qs and express in /docs ([#6449](https://github.com/Flagsmith/flagsmith/issues/6449)) ([bff8570](https://github.com/Flagsmith/flagsmith/commit/bff85709b8a2035ef11571f6ea1003e96203357b))
114+
* bump tmp, testcafe and inquirer in /frontend ([#6450](https://github.com/Flagsmith/flagsmith/issues/6450)) ([bdd9e87](https://github.com/Flagsmith/flagsmith/commit/bdd9e873f55c4a9e794030b2768a810f34acb267))
115+
* bump werkzeug from 3.0.6 to 3.1.4 in /api ([#6348](https://github.com/Flagsmith/flagsmith/issues/6348)) ([60506b9](https://github.com/Flagsmith/flagsmith/commit/60506b9594a59d8e30bee1188b06ab2649249f28))
116+
117+
## [2.205.3](https://github.com/Flagsmith/flagsmith/compare/v2.205.2...v2.205.3) (2025-12-19)
118+
119+
120+
### Dependency Updates
121+
122+
* bump urllib3 dependency ([#6435](https://github.com/Flagsmith/flagsmith/issues/6435)) ([2d208b1](https://github.com/Flagsmith/flagsmith/commit/2d208b18c383a756703eba926830770546eac6ff))
123+
124+
## [2.205.2](https://github.com/Flagsmith/flagsmith/compare/v2.205.1...v2.205.2) (2025-12-17)
125+
126+
127+
### Bug Fixes
128+
129+
* prevent infinite loading on Identity Overrides tab ([#6404](https://github.com/Flagsmith/flagsmith/issues/6404)) ([5295a74](https://github.com/Flagsmith/flagsmith/commit/5295a74a478c686ec3aa9cf5a8a314bc51a7ce13))
130+
* prevent invites with invalid permission groups ([#6407](https://github.com/Flagsmith/flagsmith/issues/6407)) ([d5fbcd7](https://github.com/Flagsmith/flagsmith/commit/d5fbcd784037c39f691ae1760b720110c49c19e1))
131+
* removed-skip-organisation-tests ([#6418](https://github.com/Flagsmith/flagsmith/issues/6418)) ([c69409f](https://github.com/Flagsmith/flagsmith/commit/c69409fe1f75625ba58d7500083d1c283bdc8772))
132+
3133
## [2.205.1](https://github.com/Flagsmith/flagsmith/compare/v2.205.0...v2.205.1) (2025-12-16)
4134

5135

0 commit comments

Comments
 (0)