- Create a milestone named after the target version (e.g.,
v1.1.0). - Assign all issues and pull requests that should be part of this release to the milestone.
- Create a release issue from the template below with the relevant checklist items for this specific release. Select only the steps that actually apply — delete the rest.
When cutting a release, create an issue under this repository with the version as the title (e.g., Release v1.1.0). Attach it to the corresponding milestone. Copy the applicable items from the checklist below, delete the ones that are not needed.
- Update agent release notes and version in hashtopolis-agent-python if needed
- Release the agent
- Start branch for release preparations
- Update hashcat modes in the database schema (
hashtopolis.sqland update scripts) — see Hashcat Modes Diff below - Build the agent via
./build.shin hashtopolis-agent-python, copy the resulting zip tosrc/bin/ - Update agent version references in migration for initial setups
- Insert newest hashcat version as a migration for initial setups
- Adjust server release notes (
changelog.md) (legacy) - Update
StartupConfig::getVersion()from"vMAJOR.MINOR.PATCH+dev"to"vMAJOR.MINOR.PATCH" - Ensure
masteris in sync with any long-running feature branches - Create PR for merging
- Run the full test suite (PHPUnit + pytest if applicable)
- Run the build process
- Start branch for release preparations
- Update the version of the frontend (
src/config/default/app/main.ts) if it changed - Create PR for merging
- Run the full test suite
- Run the build process
- Backend: merge the release PR to
master - Backend: release the server with the appropriate tag for the version
- Frontend: merge the release PR to
master - Frontend: release the frontend with the appropriate tag for the version
- Pull, tag, and push backend image:
docker pull hashtopolis/backend:vMAJOR.MINOR.PATCH docker tag hashtopolis/backend:vMAJOR.MINOR.PATCH hashtopolis/backend:latest docker push hashtopolis/backend:latest - Pull, tag, and push frontend image:
docker pull hashtopolis/frontend:vMAJOR.MINOR.PATCH docker tag hashtopolis/frontend:vMAJOR.MINOR.PATCH hashtopolis/frontend:latest docker push hashtopolis/frontend:latest
- Bump version to
+devonmaster: update backendStartupConfig::getVersion()to"vMAJOR.MINOR.PATCH+dev"(e.g.,v1.1.0+devafter releasingv1.1.0). - Bump version to
+devonmaster: update frontend (src/config/default/app/main.ts)
To check whether hashcat added or removed modes since the last release:
cat dbmodes | grep -Eo '\([0-9]+,' | tr -d '(,' > dbmodes.num
cat hcmodes | cut -d'|' -f 1 | tr -d ' ' | sort -n > hcmodes.num
comm -32 hcmodes.num dbmodes.num | tee diff
Where dbmodes contains the current SQL entries and hcmodes is a dump of the hashcat wiki mode table.
See VERSIONING.md for the full versioning and branching model.