Repository navigation
v4.0.0
Spug 4.0 is a major release: a new Pipelines module, credential management, and a fully bilingual English / Simplified Chinese interface, on a back end moved to Django 4.2 and channels 4.
Highlights
- Pipelines: orchestrate parameter, build, remote command, data transfer, data upload and DingTalk / Feishu / WeCom / Push Assistant notification nodes, with success / failure / always conditions and a live console (docs)
- Credential management: keep passwords and private keys in one place and share them; pipeline build nodes can reference them (docs)
- English / Simplified Chinese interface, switchable in the header or on the login page; console output and API error messages are translated as well
Improvements
- Deploy requests: canary release to selected hosts, retry release on failed hosts only, and a new "canary succeeded" status
- Push Service settings: bind a Push Assistant account to send SMS, phone call, email and WeChat messages from pipelines
- Feishu channel for alert contacts, deploy results and scheduled task results; DingTalk / Feishu bot signing
- Guided key / password setup for the Git repository of a deploy configuration; pipeline build nodes can use stored credentials for private repositories
- Import hosts from Alibaba Cloud / Tencent Cloud, verify and sync host details (CPU, memory, disks, expiry) in batch, export hosts to Excel
- Standard deployments can update configuration center values with
SPUG_SETand pass build-stage variables to hosts withSPUG_GEV_* - SSH compatibility with dash / ash shells and Ed25519 / ECDSA keys; better batch execution and deployment on Windows hosts
- Front end upgraded to antd 4.24 / xterm 5
Security fixes
- LDAP filter injection in the login form (#737, #738)
- Command injection through the address of a ping monitor (#741)
- LDAP login with a whitespace-only password turning into an unauthenticated bind
Upgrading from 3.x
4.0 requires Python 3.8+, Django 4.2, channels 4 and Redis 5.0+, so 3.x runtimes and Docker images cannot run it. Back up the database first and follow the upgrade guide.
Full changelog: v3.4.0...v4.0.0