Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
265 commits
Select commit Hold shift + click to select a range
f96d234
chore(release): 1.0.7-alpha.8 [skip ci]
semantic-release-bot Oct 28, 2024
851818e
fix: test notification action
gary-Shen Oct 28, 2024
55a9af0
chore(release): 1.0.7-alpha.9 [skip ci]
semantic-release-bot Oct 28, 2024
bc63ee5
fix: test notification action
gary-Shen Oct 28, 2024
5ae3c43
chore(release): 1.0.7-alpha.10 [skip ci]
semantic-release-bot Oct 28, 2024
83f43eb
fix: test notification action
gary-Shen Oct 28, 2024
8d372fd
chore(release): 1.0.7-alpha.11 [skip ci]
semantic-release-bot Oct 28, 2024
63286cb
fix: update notification action
gary-Shen Oct 28, 2024
60b5151
chore(release): 1.0.7-alpha.12 [skip ci]
semantic-release-bot Oct 28, 2024
8cf7a9a
chore: merge main
gary-Shen Oct 28, 2024
84ac337
chore(release): 1.0.9-alpha.1 [skip ci]
semantic-release-bot Oct 28, 2024
9f5e698
fix: Upgrade frontend to v5.3.0-alpha.6. See the details in [release …
gary-Shen Oct 28, 2024
760b4e8
chore(release): 1.0.9-alpha.2 [skip ci]
semantic-release-bot Oct 28, 2024
7cb455e
fix: Upgrade frontend to v5.3.0-alpha.7. See the details in [release …
gary-Shen Oct 28, 2024
40152c1
chore(release): 1.0.9-alpha.3 [skip ci]
semantic-release-bot Oct 28, 2024
7b04670
fix: Upgrade frontend to v5.5.0-alpha.1. See the details in [release …
gary-Shen Oct 29, 2024
491cf33
fix: Upgrade frontend to v5.5.0-alpha.2. See the details in [release …
gary-Shen Oct 29, 2024
ea9baed
chore(release): 1.0.9-alpha.4 [skip ci]
semantic-release-bot Oct 29, 2024
dc022fd
fix: Upgrade frontend to v5.5.0-alpha.3. See the details in [release …
gary-Shen Oct 30, 2024
694629c
chore(release): 1.0.9-alpha.5 [skip ci]
semantic-release-bot Oct 30, 2024
38b302a
Merge branch 'alpha' into feat/labelme
gary-Shen Nov 5, 2024
87b03eb
Merge pull request #133 from opendatalab/feat/labelme
gary-Shen Nov 5, 2024
7622524
fix: Upgrade frontend to v5.5.0-alpha.4. See the details in [release …
gary-Shen Nov 5, 2024
516a88d
chore(release): 1.1.0-alpha.1 [skip ci]
semantic-release-bot Nov 5, 2024
2f4d293
Merge pull request #134 from opendatalab/feat/labelme
gary-Shen Nov 5, 2024
22afaf0
chore(release): 1.1.0-alpha.2 [skip ci]
semantic-release-bot Nov 5, 2024
f2645f0
Merge pull request #135 from opendatalab/feat/labelme
gary-Shen Nov 6, 2024
27f27be
fix: Upgrade frontend to v5.5.0-alpha.5. See the details in [release …
gary-Shen Nov 6, 2024
7a4a4e1
chore(release): 1.1.0-alpha.3 [skip ci]
semantic-release-bot Nov 6, 2024
1cf0def
Merge pull request #136 from opendatalab/feat/labelme
gary-Shen Nov 11, 2024
fb4746f
chore(release): 1.1.0-alpha.4 [skip ci]
semantic-release-bot Nov 11, 2024
2d986b8
fix: Upgrade frontend to v5.5.0-alpha.6. See the details in [release …
gary-Shen Nov 11, 2024
672a1cf
chore(release): 1.1.0-alpha.5 [skip ci]
semantic-release-bot Nov 11, 2024
613e622
Merge pull request #137 from opendatalab/feat/labelme
gary-Shen Nov 11, 2024
7dc220a
chore(release): 1.1.0-alpha.6 [skip ci]
semantic-release-bot Nov 11, 2024
9e5b3ab
Merge pull request #140 from opendatalab/feat/json-pre-annotation
gary-Shen Nov 14, 2024
658f1a4
fix: Upgrade frontend to v5.5.0-alpha.7. See the details in [release …
gary-Shen Nov 14, 2024
12d45d5
Merge pull request #141 from opendatalab/feat/json-pre-annotation
gary-Shen Nov 14, 2024
1df8fbb
chore(release): 1.1.0-alpha.7 [skip ci]
semantic-release-bot Nov 14, 2024
1fd712e
Merge pull request #142 from opendatalab/feat/json-pre-annotation
gary-Shen Nov 15, 2024
f2ab8e0
chore(release): 1.1.0-alpha.8 [skip ci]
semantic-release-bot Nov 15, 2024
b2ea80a
fix: Upgrade frontend to v5.5.0-alpha.8. See the details in [release …
gary-Shen Nov 18, 2024
6ef75be
chore(release): 1.1.0-alpha.9 [skip ci]
semantic-release-bot Nov 18, 2024
52d162c
Merge pull request #144 from opendatalab/feat/json-pre-annotation
gary-Shen Nov 18, 2024
16d66fd
fix: Upgrade frontend to v5.5.0-alpha.9. See the details in [release …
gary-Shen Nov 18, 2024
5cbd296
Merge pull request #145 from opendatalab/feat/json-pre-annotation
gary-Shen Nov 18, 2024
456ab2c
chore(release): 1.1.0-alpha.10 [skip ci]
semantic-release-bot Nov 18, 2024
91e70d7
Merge pull request #148 from opendatalab/feat/json-pre-annotation
gary-Shen Nov 19, 2024
e6919bd
chore(release): 1.1.0-alpha.11 [skip ci]
semantic-release-bot Nov 19, 2024
2fd7765
fix: Upgrade frontend to v5.5.0-alpha.10. See the details in [release…
gary-Shen Nov 19, 2024
18079cc
chore(release): 1.1.0-alpha.12 [skip ci]
semantic-release-bot Nov 19, 2024
39bbff7
fix: Upgrade frontend to v5.5.0-alpha.11. See the details in [release…
gary-Shen Nov 19, 2024
06388e5
chore(release): 1.1.0-alpha.13 [skip ci]
semantic-release-bot Nov 19, 2024
95232c8
fix: Upgrade frontend to v5.5.0-alpha.12. See the details in [release…
gary-Shen Nov 20, 2024
12f0e57
chore(release): 1.1.0-alpha.14 [skip ci]
semantic-release-bot Nov 20, 2024
9326d06
fix: Upgrade frontend to v5.6.0-alpha.1. See the details in [release …
gary-Shen Dec 25, 2024
a2fba63
chore(release): 1.1.0-alpha.15 [skip ci]
semantic-release-bot Dec 25, 2024
39b7182
fix: Upgrade frontend to v5.6.0-alpha.2. See the details in [release …
gary-Shen Dec 26, 2024
d305df5
chore(release): 1.1.0-alpha.16 [skip ci]
semantic-release-bot Dec 26, 2024
8ef74dd
fix: Upgrade frontend to v5.6.0-alpha.3. See the details in [release …
gary-Shen Dec 26, 2024
3f8b71c
chore(release): 1.1.0-alpha.17 [skip ci]
semantic-release-bot Dec 26, 2024
77e2913
fix: Upgrade frontend to v5.6.0-alpha.4. See the details in [release …
gary-Shen Dec 26, 2024
1c5ede3
chore(release): 1.1.0-alpha.18 [skip ci]
semantic-release-bot Dec 26, 2024
60707c5
fix: Upgrade frontend to v5.6.0-alpha.5. See the details in [release …
gary-Shen Dec 26, 2024
3331a2d
chore(release): 1.1.0-alpha.19 [skip ci]
semantic-release-bot Dec 26, 2024
632ec09
fix: Upgrade frontend to v5.6.0-alpha.6. See the details in [release …
gary-Shen Dec 27, 2024
eb2404f
chore(release): 1.1.0-alpha.20 [skip ci]
semantic-release-bot Dec 27, 2024
b3c4f00
fix: Upgrade frontend to v5.6.0-alpha.7. See the details in [release …
gary-Shen Dec 27, 2024
a5e0bd0
chore(release): 1.1.0-alpha.21 [skip ci]
semantic-release-bot Dec 27, 2024
2c544f6
fix: Upgrade frontend to v5.6.0-alpha.8. See the details in [release …
gary-Shen Jan 6, 2025
58dbb5a
chore(release): 1.1.0-alpha.22 [skip ci]
semantic-release-bot Jan 6, 2025
752a473
chore: update scripts (#130)
gary-Shen Oct 29, 2024
1bc7b21
fix: delete pre-annotation records after pre-annotation files deleted…
gary-Shen Jan 7, 2025
be7db25
fix: optimize sample_names query
gary-Shen Jan 7, 2025
1b15b7e
Merge branch 'alpha' into fix/0107
gary-Shen Jan 7, 2025
15b304b
Merge pull request #162 from opendatalab/fix/0107
gary-Shen Jan 7, 2025
02a1aab
chore(release): 1.1.0-alpha.23 [skip ci]
semantic-release-bot Jan 7, 2025
1c00150
fix: Upgrade frontend to v5.7.0-alpha.1. See the details in [release …
gary-Shen Jan 7, 2025
cdf6e6b
chore(release): 1.1.0-alpha.24 [skip ci]
semantic-release-bot Jan 7, 2025
8606988
fix: add is_pre_annotated field to the smaple response
gary-Shen Jan 8, 2025
ee8fcd1
fix: Upgrade frontend to v5.7.0-alpha.2. See the details in [release …
gary-Shen Jan 8, 2025
1f9002b
update: add is_pre_annotated field to the sample response
gary-Shen Jan 8, 2025
3aae0cc
chore(release): 1.1.0-alpha.25 [skip ci]
semantic-release-bot Jan 8, 2025
582eb07
fix: Upgrade frontend to v5.7.0-alpha.3. See the details in [release …
gary-Shen Jan 9, 2025
4656e5c
chore(release): 1.1.0-alpha.26 [skip ci]
semantic-release-bot Jan 9, 2025
9b5879e
fix: Upgrade frontend to v5.7.0-alpha.4. See the details in [release …
gary-Shen Jan 14, 2025
eef80f0
fix: no data to export
gary-Shen Jan 14, 2025
599e0a0
chore(release): 1.1.0-alpha.27 [skip ci]
semantic-release-bot Jan 14, 2025
70f6789
fix: Upgrade frontend to v5.7.0-alpha.5. See the details in [release …
gary-Shen Jan 15, 2025
57ee4cb
chore(release): 1.1.0-alpha.28 [skip ci]
semantic-release-bot Jan 15, 2025
d57db71
fix: Upgrade frontend to v5.7.0-alpha.6. See the details in [release …
gary-Shen Jan 16, 2025
a00b3b9
chore(release): 1.1.0-alpha.29 [skip ci]
semantic-release-bot Jan 16, 2025
b9b509b
fix: Upgrade frontend to v5.7.0-alpha.7. See the details in [release …
gary-Shen Feb 11, 2025
c3a4da5
chore(release): 1.1.0-alpha.30 [skip ci]
semantic-release-bot Feb 11, 2025
4255b53
fix: delete attachment when delete sample
Feb 12, 2025
55bc1f7
chore(release): 1.1.0-alpha.31 [skip ci]
semantic-release-bot Feb 12, 2025
576333d
fix: set current version on http response headers (#183)
gary-Shen Feb 12, 2025
086a179
Fix/version (#184)
gary-Shen Feb 12, 2025
a2d3cda
update: poetry config (#185)
gary-Shen Feb 12, 2025
1c0f590
chore(release): 1.1.0-alpha.32 [skip ci]
semantic-release-bot Feb 12, 2025
0f7253e
fix: Upgrade frontend to v5.7.0-alpha.8. See the details in [release …
gary-Shen Feb 12, 2025
f8c4245
chore(release): 1.1.0-alpha.33 [skip ci]
semantic-release-bot Feb 12, 2025
d512215
fix: upgrade frontend to v5.6.11
gary-Shen Feb 12, 2025
2734618
feat: supports mysql database (#187)
gary-Shen Feb 17, 2025
35e8858
Feat/collaboration (#188)
gary-Shen Feb 17, 2025
840a313
chore(release): 1.1.0-alpha.34 [skip ci]
semantic-release-bot Feb 17, 2025
b159c63
feat: supports task collaborators (#189)
gary-Shen Feb 21, 2025
27fcf67
fix: Upgrade frontend to v5.7.0-alpha.9. See the details in [release …
gary-Shen Feb 21, 2025
1a4b46e
fix: Upgrade frontend to v5.7.0-alpha.10. See the details in [release…
gary-Shen Feb 21, 2025
c436b00
fix: update migrate script
gary-Shen Feb 21, 2025
3591bcf
update migrate script (#191)
gary-Shen Feb 21, 2025
f917091
fix: remove owner_id param in list pre_annotations (#192)
gary-Shen Feb 21, 2025
047380a
update: update migration script (#193)
gary-Shen Feb 21, 2025
10ae011
fix: Upgrade frontend to v5.7.0-alpha.11. See the details in [release…
gary-Shen Feb 21, 2025
5bae632
update: update test case
gary-Shen Feb 21, 2025
b22092b
update: update get task
gary-Shen Feb 24, 2025
973ba72
chore(release): 1.1.0-alpha.35 [skip ci]
semantic-release-bot Feb 24, 2025
2f90701
feat: add task ws api router (#196)
gary-Shen Feb 28, 2025
8f88deb
fix: Upgrade frontend to v5.7.0-alpha.12. See the details in [release…
gary-Shen Feb 28, 2025
7624fd9
chore(release): 1.1.0-alpha.36 [skip ci]
semantic-release-bot Feb 28, 2025
6bae992
fix: update default command (#197)
gary-Shen Mar 3, 2025
2a7b969
chore(release): 1.1.0-alpha.37 [skip ci]
semantic-release-bot Mar 3, 2025
d5a8545
fix: update default command (#198)
gary-Shen Mar 4, 2025
5221fd8
fix: Upgrade frontend to v5.7.0-alpha.13. See the details in [release…
gary-Shen Mar 4, 2025
4ea57f9
chore(release): 1.1.0-alpha.38 [skip ci]
semantic-release-bot Mar 4, 2025
5e413ab
fix: main.py -> labelu.py (#199)
gary-Shen Mar 4, 2025
ac5ae35
fix: update command (#200)
gary-Shen Mar 4, 2025
fb6c3e1
fix: labelu.py -> main.py
gary-Shen Mar 4, 2025
634ce0c
update: app -> cli
gary-Shen Mar 4, 2025
a42e8ef
chore(release): 1.1.0-alpha.39 [skip ci]
semantic-release-bot Mar 4, 2025
6b345b9
fix: update default command
gary-Shen Mar 4, 2025
6787477
chore(release): 1.1.0-alpha.40 [skip ci]
semantic-release-bot Mar 4, 2025
948d9af
fix: update default command
gary-Shen Mar 4, 2025
b855e0e
Merge branch 'alpha' of https://github.com/opendatalab/labelU into alpha
gary-Shen Mar 4, 2025
9dad646
chore(release): 1.1.0-alpha.41 [skip ci]
semantic-release-bot Mar 4, 2025
54329c5
fix: Upgrade frontend to v5.7.0-alpha.14. See the details in [release…
gary-Shen Mar 4, 2025
ea9fdd6
chore(release): 1.1.0-alpha.42 [skip ci]
semantic-release-bot Mar 4, 2025
20ef7b3
fix: Upgrade frontend to v5.7.0-alpha.15. See the details in [release…
gary-Shen Mar 5, 2025
ab51a8e
chore(release): 1.1.0-alpha.43 [skip ci]
semantic-release-bot Mar 5, 2025
39f519e
fix: connections -> peers
gary-Shen Mar 7, 2025
62a0b0b
Merge branch 'alpha' of https://github.com/opendatalab/labelU into alpha
gary-Shen Mar 7, 2025
2660132
fix: Upgrade frontend to v5.7.0-alpha.16. See the details in [release…
gary-Shen Mar 7, 2025
7c83c4f
chore(release): 1.1.0-alpha.44 [skip ci]
semantic-release-bot Mar 7, 2025
a874f0b
fix: optimize ws connection
gary-Shen Mar 7, 2025
d713272
Merge branch 'alpha' of https://github.com/opendatalab/labelU into alpha
gary-Shen Mar 7, 2025
7a94abe
fix: Upgrade frontend to v5.7.0-alpha.17. See the details in [release…
gary-Shen Mar 7, 2025
8db71fe
chore(release): 1.1.0-alpha.45 [skip ci]
semantic-release-bot Mar 7, 2025
643cd59
fix: missing task_attachment_ids column in task_sample table
Mar 8, 2025
581a198
update: missing column task_attachment_ids
Mar 8, 2025
8128621
chore(release): 1.1.0-alpha.46 [skip ci]
semantic-release-bot Mar 8, 2025
71f4c4a
fix: update migration script
gary-Shen Mar 10, 2025
928aece
Merge branch 'alpha' of https://github.com/opendatalab/labelU into alpha
gary-Shen Mar 10, 2025
a9d878e
chore(release): 1.1.0-alpha.47 [skip ci]
semantic-release-bot Mar 10, 2025
6d16f34
fix: optimize ws connection
gary-Shen Mar 10, 2025
6452235
chore(release): 1.1.0-alpha.48 [skip ci]
semantic-release-bot Mar 10, 2025
61e23ee
fix: Upgrade frontend to v5.7.0-alpha.18. See the details in [release…
gary-Shen Mar 10, 2025
0d07c09
chore(release): 1.1.0-alpha.49 [skip ci]
semantic-release-bot Mar 10, 2025
43133da
fix: ws message when sample is updated
gary-Shen Mar 11, 2025
9a3fe1a
Merge branch 'alpha' of https://github.com/opendatalab/labelU into alpha
gary-Shen Mar 11, 2025
fca41a3
fix: Upgrade frontend to v5.7.0-alpha.19. See the details in [release…
gary-Shen Mar 11, 2025
33c7b77
chore(release): 1.1.0-alpha.50 [skip ci]
semantic-release-bot Mar 11, 2025
d35101d
fix: Upgrade frontend to v5.7.0-alpha.20. See the details in [release…
gary-Shen Mar 11, 2025
4c54635
chore(release): 1.1.0-alpha.51 [skip ci]
semantic-release-bot Mar 11, 2025
01b40b8
fix: Upgrade frontend to v5.7.0-alpha.21. See the details in [release…
gary-Shen Mar 11, 2025
6086199
chore(release): 1.1.0-alpha.52 [skip ci]
semantic-release-bot Mar 11, 2025
c1f9cca
fix: Upgrade frontend to v5.7.0-alpha.22. See the details in [release…
gary-Shen Mar 11, 2025
ef5b69f
chore(release): 1.1.0-alpha.53 [skip ci]
semantic-release-bot Mar 11, 2025
1e88cb5
fix: Upgrade frontend to v5.7.0-alpha.23. See the details in [release…
gary-Shen Mar 11, 2025
125d1e7
chore(release): 1.1.0-alpha.54 [skip ci]
semantic-release-bot Mar 11, 2025
cc2cd41
fix: Upgrade frontend to v5.7.0-alpha.24. See the details in [release…
gary-Shen Mar 12, 2025
9c33d6a
chore(release): 1.1.0-alpha.55 [skip ci]
semantic-release-bot Mar 12, 2025
2ecf3a6
fix: Upgrade frontend to v5.7.0-alpha.25. See the details in [release…
gary-Shen Mar 12, 2025
9255efc
chore(release): 1.1.0-alpha.56 [skip ci]
semantic-release-bot Mar 12, 2025
a00b4fa
fix: Upgrade frontend to v5.7.0-alpha.26. See the details in [release…
gary-Shen Mar 12, 2025
fe2a902
chore(release): 1.1.0-alpha.57 [skip ci]
semantic-release-bot Mar 12, 2025
accc1bd
fix: Upgrade frontend to v5.7.0-alpha.27. See the details in [release…
gary-Shen Mar 12, 2025
05280b4
chore(release): 1.1.0-alpha.58 [skip ci]
semantic-release-bot Mar 12, 2025
6f03500
chore: merge main
Mar 13, 2025
fa1f861
chore(release): 1.3.0-alpha.1 [skip ci]
semantic-release-bot Mar 13, 2025
e8e02bd
fix: remove unnecessary alembic script
Mar 13, 2025
281e763
chore(release): 1.3.0-alpha.2 [skip ci]
semantic-release-bot Mar 13, 2025
5c392c4
fix: migration db name
Mar 13, 2025
278e408
chore(release): 1.3.0-alpha.3 [skip ci]
semantic-release-bot Mar 13, 2025
94e0761
update: add migration script
gary-Shen Mar 13, 2025
d8125be
update: remove task_attachment_ids
Mar 13, 2025
fbba89a
fix: release alpha
gary-Shen Mar 13, 2025
ed9ebb3
chore(release): 1.3.0-alpha.4 [skip ci]
semantic-release-bot Mar 13, 2025
ced5d8a
fix: update frontend
gary-Shen Mar 13, 2025
988e72a
chore(release): 1.3.0-alpha.5 [skip ci]
semantic-release-bot Mar 13, 2025
51c7d36
fix: optimize attachment upload and download
gary-Shen Mar 18, 2025
df1ed38
chore: merge
gary-Shen Mar 18, 2025
fc84123
chore: merge
gary-Shen Mar 18, 2025
8f91912
update: fix import
gary-Shen Mar 18, 2025
5e06053
update: fix import
gary-Shen Mar 18, 2025
cdaf47b
chore(release): 1.3.0-alpha.6 [skip ci]
semantic-release-bot Mar 18, 2025
cbbbd0f
chore: merge main
gary-Shen Jul 3, 2025
97e3bca
feat: add relation tool
gary-Shen Jul 3, 2025
2656ba8
chore(release): 1.3.0-alpha.7 [skip ci]
semantic-release-bot Jul 3, 2025
4ae1904
fix: update package contact info
gary-Shen Jul 3, 2025
0311ac9
chore(release): 1.3.0-alpha.8 [skip ci]
semantic-release-bot Jul 3, 2025
d13fb61
fix: Upgrade frontend to v5.9.0-alpha.2. See the details in [release …
gary-Shen Jul 3, 2025
1d74104
chore(release): 1.3.0-alpha.9 [skip ci]
semantic-release-bot Jul 3, 2025
69beb62
fix: Upgrade frontend to v5.9.0-alpha.3. See the details in [release …
gary-Shen Jul 4, 2025
a16ed71
chore(release): 1.3.0-alpha.10 [skip ci]
semantic-release-bot Jul 4, 2025
178fc5a
fix: Upgrade frontend to v5.9.0-alpha.4. See the details in [release …
gary-Shen Jul 4, 2025
7e67b12
chore(release): 1.3.0-alpha.11 [skip ci]
semantic-release-bot Jul 4, 2025
0eecc48
fix: Upgrade frontend to v5.9.0-alpha.5. See the details in [release …
gary-Shen Jul 7, 2025
3e77359
chore(release): 1.3.0-alpha.12 [skip ci]
semantic-release-bot Jul 7, 2025
5231ea5
fix: Upgrade frontend to v5.9.0-alpha.6. See the details in [release …
gary-Shen Jul 7, 2025
176df89
chore(release): 1.3.0-alpha.13 [skip ci]
semantic-release-bot Jul 7, 2025
6bbaac5
fix: Upgrade frontend to v5.9.0-alpha.7. See the details in [release …
gary-Shen Jul 7, 2025
224e1fd
chore(release): 1.3.0-alpha.14 [skip ci]
semantic-release-bot Jul 7, 2025
0182ce8
fix: Upgrade frontend to v5.9.0-alpha.8. See the details in [release …
gary-Shen Jul 8, 2025
a2f8363
chore(release): 1.3.0-alpha.15 [skip ci]
semantic-release-bot Jul 8, 2025
d1f5a5a
fix: Upgrade frontend to v5.9.0-alpha.9. See the details in [release …
gary-Shen Jul 9, 2025
66dc356
chore(release): 1.3.0-alpha.16 [skip ci]
semantic-release-bot Jul 9, 2025
b6298af
fix: Upgrade frontend to v5.9.0-alpha.10. See the details in [release…
gary-Shen Jul 9, 2025
39b8ced
chore(release): 1.3.0-alpha.17 [skip ci]
semantic-release-bot Jul 9, 2025
2c42b7e
fix: cli options
gary-Shen Sep 30, 2025
ffcb199
chore: fix test
gary-Shen Sep 30, 2025
8495684
chore: fix tests
gary-Shen Sep 30, 2025
385c0df
chore: fix test
gary-Shen Sep 30, 2025
0457c83
Merge branch 'alpha' of https://github.com/opendatalab/labelU into alpha
gary-Shen Sep 30, 2025
5e56060
chore: fix test
gary-Shen Sep 30, 2025
8b0e966
chore: fix test
gary-Shen Sep 30, 2025
d4d656f
chore: fix test
gary-Shen Sep 30, 2025
5f20eba
chore: fix test
gary-Shen Sep 30, 2025
14510f5
chore: fix test
gary-Shen Sep 30, 2025
fee1343
chore: fix test
gary-Shen Oct 1, 2025
93523b5
chore: fix test
gary-Shen Oct 1, 2025
1548312
chore: fix test
gary-Shen Oct 1, 2025
142b14d
chore: fix test
gary-Shen Oct 1, 2025
b772c5f
chore: fix test
gary-Shen Oct 1, 2025
e36a9c6
chore(release): 1.3.0-alpha.18 [skip ci]
semantic-release-bot Oct 1, 2025
bed89a0
fix(security): prevent path traversal in LocalStorageBackend (unauthe…
Jul 13, 2026
ecac9f5
fix(security): sanitize the directory part of uploaded filenames (arb…
Jul 13, 2026
6e8b12d
fix(security): fix SQL injection in the sample-listing sort parameter…
Jul 13, 2026
23bd33a
fix(security): validate the data source S3 endpoint to prevent SSRF
Jul 13, 2026
ec871fa
fix(security): fix broken access control on samples and exports (IDOR)
Jul 13, 2026
7f879f7
fix(security): fix broken access control on task update (IDOR)
Jul 13, 2026
9f96454
fix(security): fix broken access control on data sources (IDOR)
Jul 13, 2026
ce8273f
fix(security): fix broken access control on pre-annotations (IDOR)
Jul 13, 2026
5a54844
test: make test suite hermetic by isolating DB and media per run
Jul 13, 2026
25f90f1
Merge branch 'claude/admiring-euler-c19891' into fix/security-vulnera…
Jul 13, 2026
4914c66
Merge branch 'alpha' into fix/security-vulnerabilities
gary-Shen Jul 13, 2026
c2e76ba
fix(security): make private S3 endpoints configurable for on-prem dep…
Jul 13, 2026
aa018c1
fix(security): block RFC6598 shared address space in S3 endpoint (Ali…
Jul 13, 2026
a07af39
fix(security): enforce task access on batch auto-label (IDOR)
Jul 13, 2026
60a5adf
test(security): verify a collaborator can still annotate a shared task
Jul 13, 2026
817f44f
Merge remote-tracking branch 'origin/main' into fix/security-vulnerab…
Jul 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion labelu/internal/application/command/datasource.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,22 @@
from labelu.internal.common.config import settings


# Networks that are never a valid S3 endpoint and must be blocked regardless of
# ALLOW_PRIVATE_S3_ENDPOINT. 100.64.0.0/10 is RFC6598 shared address space
# (Carrier-Grade NAT) and is NOT flagged private/link-local/reserved by the
# stdlib, yet it hosts the Alibaba/Tencent cloud metadata service
# (100.100.100.200) — so it must be rejected explicitly.
_ALWAYS_BLOCK_NETWORKS = (
ipaddress.ip_network("100.64.0.0/10"),
)


def validate_s3_endpoint(endpoint: Union[str, None]) -> Union[str, None]:
"""Reject S3 endpoints that could be abused for SSRF.

Only http(s) URLs are allowed. Link-local (cloud metadata
169.254.0.0/16, fe80::/10), multicast, reserved and unspecified
169.254.0.0/16, fe80::/10), multicast, reserved, unspecified and RFC6598
shared-address-space (100.64.0.0/10, incl. Alibaba/Tencent metadata)
addresses are always rejected — they are never valid S3 endpoints.

Private (RFC1918 / ULA) and loopback addresses are allowed when
Expand Down Expand Up @@ -43,11 +54,16 @@ def validate_s3_endpoint(endpoint: Union[str, None]) -> Union[str, None]:
# Python, so link-local is checked here and must win over the private
# carve-out below. Loopback is exempt from the reserved check because
# ::1 is also flagged is_reserved.
in_blocked_net = any(
addr.version == net.version and addr in net
for net in _ALWAYS_BLOCK_NETWORKS
)
if (
addr.is_link_local
or addr.is_multicast
or addr.is_unspecified
or (addr.is_reserved and not addr.is_loopback)
or in_blocked_net
):
raise ValueError("endpoint host resolves to a disallowed address")
# Internal networks (RFC1918 / ULA / loopback): allowed only when
Expand Down
3 changes: 3 additions & 0 deletions labelu/internal/application/service/auto_label.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from loguru import logger
from sqlalchemy.orm import Session

from labelu.internal.application.service.access import assert_task_access
from labelu.internal.adapter.persistence import crud_pre_annotation, crud_sample, crud_task
from labelu.internal.adapter.persistence import crud_auto_label_job
from labelu.internal.application.command.auto_label import AutoLabelCommand, BatchAutoLabelCommand
Expand Down Expand Up @@ -361,6 +362,8 @@ async def create_batch_job(
status_code=status.HTTP_404_NOT_FOUND,
)

assert_task_access(task, current_user)

if task.media_type != MediaType.IMAGE.value:
raise LabelUException(
code=ErrorCode.CODE_56001_AUTO_LABEL_UNSUPPORTED_MEDIA,
Expand Down
85 changes: 85 additions & 0 deletions labelu/tests/internal/adapter/routers/test_sample.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,91 @@ def test_sample_list_by_sort_error(
# check
assert r.status_code == 422

def test_batch_auto_label_forbidden_for_non_owner(
self, client: TestClient, testuser_token_headers: dict, db: Session, monkeypatch
) -> None:
# enable the AI feature so the request reaches the access check
monkeypatch.setattr(settings, "AI_AUTO_LABEL_ENABLED", True)
monkeypatch.setattr(settings, "AI_MODEL_ENDPOINT", "http://model.local")
# task owned by another user
with begin_transaction(db):
task = crud_task.create(
db=db,
task=Task(
name="other", description="d", tips="t", media_type="IMAGE",
created_by=999, updated_by=999,
),
)
r = client.post(
f"{settings.API_V1_STR}/tasks/{task.id}/auto_label_job",
headers=testuser_token_headers,
json={"filter_by_labels": True},
)
assert r.status_code == 403

def test_collaborator_can_annotate_shared_task(
self, client: TestClient, testuser_token_headers: dict, db: Session
) -> None:
# owner = the default test user
owner = crud_user.get_user_by_username(db=db, username="test@example.com")

# a second user, added as collaborator, with a real login token
collab_username = "collab_annotator@example.com"
client.post(
f"{settings.API_V1_STR}/users/signup",
json={"username": collab_username, "password": "collab@123"},
)
login = client.post(
f"{settings.API_V1_STR}/users/login",
json={"username": collab_username, "password": "collab@123"},
)
collab_headers = {"Authorization": login.json()["data"]["token"]}
collab_user = crud_user.get_user_by_username(db=db, username=collab_username)

with begin_transaction(db):
task = crud_task.create(
db=db,
task=Task(
name="shared", description="d", tips="t",
created_by=owner.id, updated_by=owner.id,
),
)
with begin_transaction(db):
samples = crud_sample.batch(
db=db,
samples=[TaskSample(
task_id=task.id, file_id=1,
created_by=owner.id, updated_by=owner.id, data="{}",
)],
)
sid = samples[0].id

# owner adds the collaborator
r = client.post(
f"{settings.API_V1_STR}/tasks/{task.id}/collaborators",
headers=testuser_token_headers,
json={"user_id": collab_user.id},
)
assert r.status_code == 201

# the collaborator can list, read and annotate samples in the shared task
r = client.get(
f"{settings.API_V1_STR}/tasks/{task.id}/samples",
headers=collab_headers, params={"page": 0, "size": 10},
)
assert r.status_code == 200
r = client.get(
f"{settings.API_V1_STR}/tasks/{task.id}/samples/{sid}",
headers=collab_headers,
)
assert r.status_code == 200
r = client.patch(
f"{settings.API_V1_STR}/tasks/{task.id}/samples/{sid}",
headers=collab_headers,
json={"data": {"k": "v"}, "annotated_count": 1},
)
assert r.status_code == 200

def test_sample_access_forbidden_for_non_member(
self, client: TestClient, testuser_token_headers: dict, db: Session
) -> None:
Expand Down
4 changes: 3 additions & 1 deletion labelu/tests/internal/application/command/test_datasource.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ class TestDataSourceEndpointSSRF:
@pytest.mark.parametrize(
"endpoint",
[
"http://169.254.169.254", # cloud metadata (IMDS) - always blocked
"http://169.254.169.254", # AWS/GCP/Azure metadata (IMDS) - link-local
"http://169.254.169.254/latest/", # IMDS with path
"http://100.100.100.200/latest/", # Alibaba/Tencent cloud metadata (100.64.0.0/10)
"http://100.64.0.1:9000", # RFC6598 shared address space
"http://0.0.0.0", # unspecified - always blocked
"file:///etc/passwd", # non-http scheme
"ftp://example.com", # non-http scheme
Expand Down