diff --git a/.eslintrc.js b/.eslintrc.js index 42a94355..4405f033 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -8,7 +8,11 @@ module.exports = { env: { es2021: true, }, - extends: ["plugin:vue/recommended", "@vue/eslint-config-airbnb", "prettier"], + extends: [ + "plugin:vue/vue3-recommended", + "@vue/eslint-config-airbnb", + "prettier", + ], rules: { "no-console": process.env.NODE_ENV === "production" ? "error" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", @@ -61,5 +65,11 @@ module.exports = { mocha: true, }, }, + { + files: ["src/plugins/vuetify.js"], + rules: { + "import/no-unresolved": "off", + }, + }, ], }; diff --git a/.github/workflows/lint-and-test.yml b/.github/workflows/lint-and-test.yml index 5e915a94..649e2a6b 100644 --- a/.github/workflows/lint-and-test.yml +++ b/.github/workflows/lint-and-test.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/checkout@v6 - uses: actions/setup-node@v6 with: - node-version: 16 + node-version: 20 cache: "yarn" - name: Get app version run: | diff --git a/.github/workflows/release-private-start.yml b/.github/workflows/release-private-start.yml index 30cb989c..862755e1 100644 --- a/.github/workflows/release-private-start.yml +++ b/.github/workflows/release-private-start.yml @@ -36,7 +36,7 @@ jobs: git config user.email noreply@github.com - uses: actions/setup-node@v6 with: - node-version: 16 + node-version: 20 - name: Change version number run: | if [ -n "${{ github.event.inputs.overrideVersion }}" ]; then diff --git a/.github/workflows/release-private-tag.yml b/.github/workflows/release-private-tag.yml index 1c58c93c..9d3513c7 100644 --- a/.github/workflows/release-private-tag.yml +++ b/.github/workflows/release-private-tag.yml @@ -23,7 +23,7 @@ jobs: git config user.email noreply@github.com - uses: actions/setup-node@v6 with: - node-version: 16 + node-version: 20 - name: Set application version as variable run: | echo "APP_VERSION=$(npm pkg get version | sed 's/"//g')" >> $GITHUB_ENV diff --git a/.github/workflows/release-public-start.yml b/.github/workflows/release-public-start.yml index 853b7646..0c95a15e 100644 --- a/.github/workflows/release-public-start.yml +++ b/.github/workflows/release-public-start.yml @@ -31,7 +31,7 @@ jobs: git config user.email noreply@github.com - uses: actions/setup-node@v6 with: - node-version: 16 + node-version: 20 - name: Get app version run: | echo "APP_VERSION=$(npm pkg get version | sed 's/"//g')" >> $GITHUB_ENV diff --git a/.github/workflows/release-public-tag.yml b/.github/workflows/release-public-tag.yml index 2f34f74f..eab39659 100644 --- a/.github/workflows/release-public-tag.yml +++ b/.github/workflows/release-public-tag.yml @@ -27,7 +27,7 @@ jobs: echo "LATEST_TAG=$latest_tag" >> $GITHUB_ENV - uses: actions/setup-node@v6 with: - node-version: 16 + node-version: 20 cache: "yarn" - name: Set application version as variable run: | diff --git a/.github/workflows/release-sponsor-kali-start.yml b/.github/workflows/release-sponsor-kali-start.yml index 2e017f67..8ee2e129 100644 --- a/.github/workflows/release-sponsor-kali-start.yml +++ b/.github/workflows/release-sponsor-kali-start.yml @@ -23,7 +23,7 @@ jobs: git config user.email noreply@github.com - uses: actions/setup-node@v6 with: - node-version: 16 + node-version: 20 - name: Get app version run: | echo "APP_VERSION=$(npm pkg get version | sed 's/"//g')" >> $GITHUB_ENV diff --git a/.github/workflows/release-sponsor-kali-tag.yml b/.github/workflows/release-sponsor-kali-tag.yml index 955821e1..eea23982 100644 --- a/.github/workflows/release-sponsor-kali-tag.yml +++ b/.github/workflows/release-sponsor-kali-tag.yml @@ -25,7 +25,7 @@ jobs: git config user.email noreply@github.com - uses: actions/setup-node@v6 with: - node-version: 16 + node-version: 20 cache: "yarn" - name: Set application version as variable run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 52108f90..a09462dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,11 +14,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.4.0] - 2026-03-08 + +### Changed + +- Migrated from Vue 2 to Vue 3 +- Migrated from Vuetify 2 to Vuetify 3 +- Replaced vue-beautiful-chat with native Vuetify 3 chat drawer +- Updated CI workflows to Node 20 + ### Added - Added Jobs tab to agent page for viewing and managing background jobs - Added ability to kill background jobs from the Jobs tab +### Fixed + +- Fixed module execution snackbar displaying "[object Object]" instead of agent name +- Fixed bulk delete on malleable profiles page using wrong identifier + ## [3.3.0] - 2026-01-18 ### Added @@ -445,7 +459,9 @@ Including but not limited to: - Initial Release -[Unreleased]: https://github.com/BC-SECURITY/Starkiller-Sponsors/compare/v3.3.0...HEAD +[Unreleased]: https://github.com/BC-SECURITY/Starkiller-Sponsors/compare/v3.4.0...HEAD + +[3.4.0]: https://github.com/BC-SECURITY/Starkiller-Sponsors/compare/v3.3.0...v3.4.0 [3.3.0]: https://github.com/BC-SECURITY/Starkiller-Sponsors/compare/v3.2.0...v3.3.0 diff --git a/package.json b/package.json index 05b45851..b04aec62 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "starkiller", - "version": "3.3.0", + "version": "3.4.0", "private": true, "scripts": { "dev": "vite", @@ -14,37 +14,35 @@ "dependencies": { "@fontsource/roboto": "^4.5.1", "@fortawesome/fontawesome-free": "^6", - "@mdi/font": "5.9.55", + "@mdi/font": "^7.0", "ansi_up": "^5.2.1", "axios": "^0.24.0", "lodash.debounce": "^4.0.8", "moment": "^2.29.1", "pinia": "^2.1.7", "pinia-plugin-persistedstate": "^3.2.0", - "portal-vue": "^2.1.7", "qs": "^6.10.3", "semver": "^7.3.5", "socket.io-client": "^4.1.2", - "splitpanes": "^2.3.8", + "splitpanes": "^3.1.0", "table": "^6.8.1", "uuid": "^8.3.2", - "vue": "2.7", - "vue-beautiful-chat": "^2.5.0", - "vue-markdown-render": "1.1.2", - "vue-router": "^3.5.1", - "vuedraggable": "^2.24.3", - "vuetify": "^2.6.0" + "vue": "^3.5", + "vue-markdown-render": "^2.3.0", + "vue-router": "^4.3", + "vuedraggable": "^4.1", + "vuetify": "^3.12" }, "devDependencies": { "@rushstack/eslint-patch": "^1.2.0", - "@vitejs/plugin-vue2": "^2.2.0", + "@vitejs/plugin-vue": "^5.0", "@vue/eslint-config-airbnb": "^7.0.0", "eslint": "^8.31.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-vue": "^9.8.0", "prettier": "^3.0.2", - "sass": "~1.32", - "unplugin-vue-components": "^0.22.12", - "vite": "^4" + "sass": "^1.70", + "vite": "^5.0", + "vite-plugin-vuetify": "^2.0" } } diff --git a/src/App.vue b/src/App.vue index 05a4367a..9f6d663b 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,9 +5,10 @@ - + - +
+
+ + + mdi-chat + + +
- - - @@ -66,7 +81,6 @@ - diff --git a/src/components/ClickToEdit.vue b/src/components/ClickToEdit.vue index 49d5c0d6..8145bfc6 100644 --- a/src/components/ClickToEdit.vue +++ b/src/components/ClickToEdit.vue @@ -2,9 +2,9 @@ {{ label }} - -