Releases: HexaCTF/challenge-api
Releases · HexaCTF/challenge-api
v.1.1.0
Overview
Starting with version 1.1.0, we have made significant architectural changes to simplify our challenge system and modernize our technology stack.
Architecture Simplification
We decided to remove the queue system from our challenge system architecture due to over-engineering concerns. As part of this simplification:
- Deprecated Kafka: Removed message queue infrastructure that was adding unnecessary complexity
- Temporarily removed logging and monitoring: Loki (logging) and Prometheus (monitoring) have been removed in this release but will be reintroduced in a future version
API Framework Migration: Flask → FastAPI
We migrated from Flask to FastAPI to improve code management and development experience:
Previous state with Flask:
- Manual dependency management
- Custom data validation implementation
- Manual API documentation maintenance
New state with FastAPI:
- Built-in dependency injection system
- Automatic data validation with Pydantic
- Auto-generated API documentation (OpenAPI/Swagger)
Database Library Migration: Flask-SQLAlchemy → SQLAlchemy 2.0+
We transitioned from Flask-SQLAlchemy to pure SQLAlchemy due to the framework change:
Migration drivers:
- Flask-SQLAlchemy was tightly coupled to Flask framework
- FastAPI requires direct SQLAlchemy integration
- Opportunity to upgrade to SQLAlchemy 2.0+ for modern patterns and performance improvements
Impact:
- Complete code refactoring required due to SQLAlchemy 2.0's breaking changes
- Updated to modern SQLAlchemy syntax and patterns
- Improved type safety and async support
Deprecated
- Delete Kafka Logic by @S0okJu in #95
- Delete the loki logging logic. by @S0okJu in #96
- Delete the prometheus exporter. by @S0okJu in #97
Changes
- Change fastapi project structure. @S0okJu in #98
- Refactor all of the source code.(all of the features are preserved) @S0okJu in #98 #99 #102 #103 #104 #105
- Migrate Flask to FastAPI to dependency management. by @S0okJu in #100
- Migrate from Flask-SQLAlchemy to pure SQLAlchemy by @S0okJu in #101
Features
- None
Bugs
- None
Chores
- Add unit, integration tests udpated and passing
Full Changelog: v1.0.4...v1.1.0
v1.0.4
What's Changed
Deprecated
- None
Changes
- Update requirements.txt by @S0okJu in #77
- kafka 예외처리 고도화 by @S0okJu in #57
- ORM 코드 전체 변경 by @S0okJu in #54 #55
Features
- None
Bugs
- 테스트 코드 작성 및 기타 by @S0okJu in #32
- Loki unbound-error 수정 by @S0okJu in #33
- Fix port none-type error by @S0okJu in #56
Chores
Full Changelog: v1.0.3...v1.0.4