This pull request adds support for the Bruno application to both the
backend maintained apps system and the frontend software page. The main
changes introduce Bruno's metadata, installation and uninstallation
scripts, and its icon for display in the UI.
**Backend: Bruno app integration**
* Added `bruno.json` input definition for Bruno, specifying its
installer format, unique identifier, and default categories.
* Updated `apps.json` output to include Bruno with its description,
platform, and slug.
* Created output file `bruno/darwin.json` with Bruno's version info,
installer and uninstall script references, SHA256 checksum, and
category.
**Frontend: Bruno icon and mapping**
* Added `Bruno.tsx` SVG icon component for Bruno.
* Imported Bruno icon in the icons index and mapped it in
`SOFTWARE_NAME_TO_ICON_MAP` for use on the software page.
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR25)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR183)
This pull request adds support for the Arc browser to both the backend
maintained apps and the frontend software icons. The main changes
include adding Arc's metadata and install/uninstall scripts, updating
the apps listing, and providing a new SVG icon for Arc in the frontend.
**Backend: Arc browser support**
* Added Arc's metadata to `arc.json`, including its identifier,
installer format, and default categories.
* Created `arc/darwin.json` with version info, install/uninstall
scripts, and installer details for Arc on macOS.
* Updated `apps.json` to include Arc in the list of supported apps, with
a user-friendly description.
**Frontend: Arc browser icon**
* Added a new SVG icon component for Arc in `Arc.tsx`.
* Registered Arc in the icon index and mapped its name to the new icon
for use in the software page.
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR18)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR175)
This pull request adds support for managing Blender as a maintained app
on both macOS and Windows platforms. It includes new app definitions,
installation and uninstallation scripts, and integrates Blender’s icon
into the frontend for display.
**Blender app support (macOS & Windows):**
* Added input definitions for Blender in `homebrew/blender.json` (macOS)
and `winget/blender.json` (Windows), specifying installer formats and
metadata.
[[1]](diffhunk://#diff-891fa47f83954f81130e9a15f0fe60497916acb54a89b78478215cb08e9fb0e8R1-R8)
[[2]](diffhunk://#diff-69ce1c29dce360a4dd0033a269811880ea700530661b9b73c1f02bbc37145f91R1-R10)
* Updated `apps.json` to include Blender entries for both platforms,
with descriptions and unique identifiers.
* Created output manifests for Blender on macOS (`blender/darwin.json`)
and Windows (`blender/windows.json`), including version info, installer
URLs, SHA256 hashes, and install/uninstall scripts.
[[1]](diffhunk://#diff-10617b0d1fdc87b778d38cf37a7a3ba479561eedb55b9c6cf8f5128abb224de1R1-R21)
[[2]](diffhunk://#diff-a295dabd830631ee695b318097606d605b1d511cf32b46c9663c06ebbf24182bR1-R22)
**Frontend integration:**
* Added a new Blender SVG icon component (`Blender.tsx`) and registered
it in the software icon map for display on the Software Page.
[[1]](diffhunk://#diff-ba9ba14ef95d070975d2aa0e46b19d118bc9c167aeeb34b45ba48d2c1cc5848cR1-R14)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR22)
[[3]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR179)
This pull request updates the icon mapping for software sources in the
`SoftwarePage` component. The most important change is that the icon for
`programs` is now set to `WindowsAppRemote` instead of `WindowsApp`.
* Updated the `SOFTWARE_SOURCE_TO_ICON_MAP` in
`frontend/pages/SoftwarePage/components/icons/index.ts` to use
`WindowsAppRemote` for the `programs` key instead of `WindowsApp`.
<!-- Add the related story/sub-task/bug number, like Resolves#123, or
remove if NA -->
**Related issue:** Resolves#36684
This is a DB migration change as the first part of this story #36684
# Checklist for submitter
## Testing
- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
## Database migrations
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added operation type tracking to host certificate templates, enabling
the system to better manage certificate operations during mobile device
management workflows.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- Add the related story/sub-task/bug number, like Resolves#123, or
remove if NA -->
**Related issue:** Resolves#36700
# Checklist for submitter
If some of the following don't apply, delete the relevant line.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
## Testing
- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)
- [x] QA'd all new/changed functionality manually
For unreleased bug fixes in a release candidate, one of:
- [x] Confirmed that the fix is not expected to adversely impact load
test results
## New Fleet configuration settings
- [x] Verified that the setting is exported via `fleetctl
generate-gitops`
- [x] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
A later fix for an issue discovered while working on Windows resending,
that the GetMDMCommandResults could return multiple rows if certain
conditions were met.
This pull request adds support for managing Wireshark on Windows to the
maintained apps system. The main changes include introducing new input
and output files for Wireshark, updating the central apps manifest, and
providing installation and uninstallation scripts.
**Wireshark Windows support:**
* Added a new input manifest for Wireshark in `winget` format at
`ee/maintained-apps/inputs/winget/wireshark.json`.
* Created an output manifest for Wireshark on Windows at
`ee/maintained-apps/outputs/wireshark/windows.json`, including version
info, installer details, install/uninstall scripts, and metadata.
* Updated the central apps manifest
`ee/maintained-apps/outputs/apps.json` to include Wireshark for Windows
as a managed app.
This pull request updates the naming conventions for the VLC app in both
input and output configuration files to ensure consistency and clarity.
The most important changes are:
Naming consistency updates:
* Changed the `name` field from "VLC" to "VLC media player" in
`ee/maintained-apps/inputs/winget/vlc.json` to better reflect the
application's full name.
* Updated the `name` field from "VLC" to "VLC media player" in
`ee/maintained-apps/outputs/apps.json` for the Windows platform entry,
ensuring the output matches the input and provides a more descriptive
app name.
This pull request adds support for the Twingate Windows application to
the maintained apps system. The main changes include adding metadata and
installer information for Twingate on Windows, updating the aggregated
apps list, and providing install/uninstall scripts.
**Addition of Twingate Windows app:**
* Added a new input file `winget/twingate.json` with metadata for the
Twingate Windows app, including installer details and categorization.
* Created an output file `twingate/windows.json` specifying the
available version, installer URL, SHA256 hash, upgrade code, and
PowerShell scripts for install and uninstall operations.
**Updates to app listings:**
* Updated `apps.json` to include Twingate for Windows, with platform
information and description.
This pull request adds support for the Cisco Jabber application on
Windows, including its metadata, installation, and uninstallation
details. It also corrects the ordering of the TablePlus app entry in the
output list. The most important changes are:
**New application support:**
* Added a new input manifest for Cisco Jabber in
`winget/cisco-jabber.json`, specifying its package details and default
category.
* Added Cisco Jabber to `apps.json` output, including its name, slug,
platform, and unique identifier.
* Created a new output file `cisco-jabber/windows.json` with version
information, installation/uninstallation scripts, installer URL, SHA256
hash, and upgrade code for Cisco Jabber.
**App list correction:**
* Corrected the ordering of the TablePlus entry in `apps.json` output to
ensure proper listing.
Closes: #35379
Changes:
- Added "Last updated on" to the publish date on article pages and
updated the layout of the article details section on mobile devices
(<575px screen width).
This pull request adds support for generating app icons from a PNG file
in addition to the existing `.app` bundle method. The changes update
both the documentation and the `generate-icons.sh` script to allow users
to specify either an app bundle or a PNG file, improving flexibility for
icon generation.
**Documentation and usage improvements:**
* Updated `README.md` to document the new `-i` option for PNG input,
clarified required arguments, and added usage examples for both `.app`
bundles and PNG files.
**Script enhancements for PNG support:**
* Modified argument parsing in `generate-icons.sh` to accept a new `-i`
option for PNG files, and added validation to ensure either `-a` or `-i`
is provided (but not both).
[[1]](diffhunk://#diff-3efaab61495d01f6ff77a1e75195bd8b009e71c9ea53e3278274cb5edf929c44R295-R302)
[[2]](diffhunk://#diff-3efaab61495d01f6ff77a1e75195bd8b009e71c9ea53e3278274cb5edf929c44L312-R381)
* Added logic to handle PNG input: verifies the PNG file, derives
component and display names from the slug, and integrates PNG processing
alongside the existing `.app` bundle workflow.
[[1]](diffhunk://#diff-3efaab61495d01f6ff77a1e75195bd8b009e71c9ea53e3278274cb5edf929c44L312-R381)
[[2]](diffhunk://#diff-3efaab61495d01f6ff77a1e75195bd8b009e71c9ea53e3278274cb5edf929c44L412)
[[3]](diffhunk://#diff-3efaab61495d01f6ff77a1e75195bd8b009e71c9ea53e3278274cb5edf929c44R508-R519)
* Adjusted SVG and component name generation to work appropriately for
both input methods, ensuring correct naming and file output.
[[1]](diffhunk://#diff-3efaab61495d01f6ff77a1e75195bd8b009e71c9ea53e3278274cb5edf929c44L465-R548)
[[2]](diffhunk://#diff-3efaab61495d01f6ff77a1e75195bd8b009e71c9ea53e3278274cb5edf929c44L481-L483)
[[3]](diffhunk://#diff-3efaab61495d01f6ff77a1e75195bd8b009e71c9ea53e3278274cb5edf929c44L501-L507)
This pull request adds support for the Cyberduck application on Windows
to the maintained apps system. The changes introduce Cyberduck's
metadata, installation details, and scripts for managing the app
lifecycle.
**Addition of Cyberduck for Windows:**
* Added a new input manifest for Cyberduck in `winget/cyberduck.json`,
specifying package identifiers, installer details, and default
categories.
* Created an output manifest `cyberduck/windows.json` with version info,
install/uninstall scripts, installer URL, SHA256 hash, and upgrade code
for reliable management.
* Updated `apps.json` to include Cyberduck as a supported Windows app,
with platform, identifier, and description.
This pull request adds support for the Windows version of ClickUp to the
maintained apps system. The changes introduce new metadata, installer
information, and management scripts for ClickUp on Windows, ensuring it
can be properly discovered, installed, and uninstalled through the
platform.
**Addition of ClickUp for Windows:**
* Added a new input manifest `clickup.json` for ClickUp in
`ee/maintained-apps/inputs/winget`, specifying package details and
default categories.
* Updated `apps.json` to include ClickUp for Windows, with platform
information and a descriptive entry for discoverability.
**Installer and management scripts:**
* Created `clickup/windows.json` in outputs, defining the available
version, installer URL, install/uninstall PowerShell scripts, SHA256
hash, and upgrade code for ClickUp on Windows.
- fixed faulty parallelism in the bullets, without changing the meaning.
("With Fleet, you can community driven" does not make sense.)
- changed the order of the bullets to balance the suggested change
better.
I tested this and link redirects to "Enforce" section. "Create
configuration profile" section has all the information about signed
profiles.
Related to: #26688
<!-- Add the related story/sub-task/bug number, like Resolves#123, or
remove if NA -->
**Related issue:** Resolves #