Skip to content
This repository was archived by the owner on Feb 5, 2026. It is now read-only.

docs: add deprecation notice to README - #245

Merged
lihuacai168 merged 1 commit into
masterfrom
deprecation-notice
Feb 5, 2026
Merged

docs: add deprecation notice to README#245
lihuacai168 merged 1 commit into
masterfrom
deprecation-notice

Conversation

@lihuacai168

Copy link
Copy Markdown
Owner

Summary

  • 项目停止维护声明
  • 作者全身心投入 Web3 搞钱去了
  • 添加联系方式:博客、电报闲聊群、Web3 交流群

Links

Made with Cursor

Project is no longer maintained. Author is now focusing on Web3.

Added contact links:
- Blog: https://blog.huacai.one/
- Telegram chat group
- Web3 exchange group

Co-authored-by: Cursor <cursoragent@cursor.com>
@lihuacai168
lihuacai168 merged commit fe05f3b into master Feb 5, 2026
10 checks passed
@lihuacai168
lihuacai168 deleted the deprecation-notice branch February 5, 2026 14:09
@github-actions

github-actions Bot commented Feb 5, 2026

Copy link
Copy Markdown

🔍 Pull Request Quality Check

📊 Test Coverage

Current coverage: 46.5%

⚠️ Coverage below minimum requirement (60%)

🔒 Security Check

Security Check Results

CRITICAL: Hardcoded secret keys found!

./FasterRunner/settings/base.py:SECRET_KEY = "e$od9f28jce8q47u3raik$(e%$@lff6r89ux+=f!e1a$e42+#7"

⚠️ HIGH: eval() usage found - security risk!

./httprunner/parser.py: return ast.literal_eval(str_value)
./httprunner/parser.py: item_func = eval(function_name)
./httprunner/builtin/comparators.py: if eval(parsed_expression) is True:
./httprunner/builtin/comparators.py: if eval(parsed_expression) is False:
./fastrunner/utils/prepare.py: case_id += eval(i.get("args"))
./fastrunner/utils/prepare.py: new_body = eval(case_step.body)
./fastrunner/utils/prepare.py: new_body = eval(config.body)
./fastrunner/utils/prepare.py: new_body = eval(api.body)
./fastrunner/utils/parser.py: eval_tree: list = eval(obj.tree)
./fastrunner/utils/parser.py: eval_tree: list = eval(obj.tree)
./fastrunner/services/tree_service_impl.py: body: list[dict] = eval(tree_obj.tree)
./fastrunner/serializers.py: body = eval(obj.body)
./fastrunner/serializers.py: parse = Parse(eval(obj.body))
./fastrunner/serializers.py: parse = Parse(eval(obj.body))
./fastrunner/serializers.py: label = get_tree_relation_name(eval(relation_obj.tree), obj.relation)
./fastrunner/serializers.py: parse = Parse(eval(obj.body), level="config")
./fastrunner/serializers.py: # ci_project_ids = eval(kwargs.get('ci_project_ids', '[]'))
./fastrunner/tasks.py: override_config_body = eval(models.Config.objects.get(name=override_config, project__id=project).body)
./fastrunner/tasks.py: body = eval(content["body"])
./fastrunner/tasks.py: config = eval(models.Config.objects.get(name=body["name"], project__id=project).body)
./fastrunner/views/schedule.py: args = eval(task.args)
./fastrunner/views/report.py: summary["details"] = eval(report_detail.summary_detail)
./fastrunner/views/ci.py: ci_project_ids: list = eval(kwargs.get("ci_project_ids") or "[]")
./fastrunner/views/ci.py: override_config_body = eval(
./fastrunner/views/ci.py: suite = list(models.Case.objects.filter(pk__in=eval(case_ids)).order_by("id").values("id", "name"))
./fastrunner/views/ci.py: body = eval(case_step["body"])
./fastrunner/views/ci.py: config = eval(models.Config.objects.get(name=body["name"], project__id=project).body)
./fastrunner/views/timer_task.py: body = eval(content["body"])
./fastrunner/views/timer_task.py: config = eval(models.Config.objects.get(name=body["name"], project__id=project_id).body)
./fastrunner/views/api.py: body = eval(api.body)
./fastrunner/views/api.py: parse = Parse(eval(api.body))
./fastrunner/views/config.py: body = eval(config.body)
./fastrunner/views/run.py: config = eval(models.Config.objects.get(name=name, project__id=api.project).body)
./fastrunner/views/run.py: config = None if name == "请选择" else eval(models.Config.objects.get(name=name, project=api.project).body)
./fastrunner/views/run.py: config = eval(models.Config.objects.get(name=config_name, project=api.project).body)
./fastrunner/views/run.py: config = None if config == "请选择" else eval(models.Config.objects.get(name=config, project__id=project).body)
./fastrunner/views/run.py: api = eval(content["body"])
./fastrunner/views/run.py: body = eval(content["body"])
./fastrunner/views/run.py: config = eval(models.Config.objects.get(name=body["name"], project__id=project).body)
./fastrunner/views/run.py: config = eval(models.Config.objects.get(id=config_id).body)
./fastrunner/views/run.py: body = eval(content["body"])
./fastrunner/views/run.py: config = eval(models.Config.objects.get(name=body["name"], project__id=project).body)
./fastrunner/views/run.py: config_body_mapping[config_name] = eval(
./fastrunner/views/run.py: body = eval(case_step["body"])
./fastrunner/views/run.py: config = eval(models.Config.objects.get(project=project, name=config["name"]).body)
./fastrunner/models.py: return filter(lambda task: self.id in eval(task.pop("args")), task_objs)

⚠️ HIGH: exec() usage found - security risk!

./mock/views.py: exec(code, module.dict)

📝 Next Steps

  • Review any security warnings above
  • Ensure test coverage meets requirements
  • All CI checks must pass before merge

Automated check by GitHub Actions

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants