Commit graph

1262 commits

Author SHA1 Message Date
Mike Thomas
e26a22a23e
Update fleet-logo.svg (#38362)
- Updated the https://fleetdm.com/logos to include the Fleet logo dots
(with built-in padding).
- Updated
https://fleetdm.com/guides/okta-conditional-access-integration#step-5-add-fleet-idp-authenticator-in-okta
to reference fleetdm.com/logos as the single source of truth for logo
downloads.

Related issue: https://github.com/fleetdm/fleet/issues/37652

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-01-23 18:29:25 +09:00
Harrison Ravazzolo
ef69d41afb
FMA: Proxifier - macOS (#38613)
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-01-22 15:08:55 -08:00
Eric
fd5d77a861
Website: Update query generator (#38643)
Changes:
- Fixed a bug in the query generator that prevented Linux and ChromeOS
queries from being displayed to users automatically.
2026-01-22 11:55:22 -06:00
Eric
425ee85279
Website: Update Fleet Premium trial page (#38580)
Closes: https://github.com/fleetdm/fleet/issues/38576

Changes:
- Updated the Fleet Premium trial page to display the trial license key
sent from the page's view action instead of displaying it from the `me`
variable set in the custom hook.
- Added a minimum height to the Fleet Premium trial page to prevent the
modal scrolling outside of the page's background
2026-01-21 11:44:09 -06:00
Ashish Kuthiala
19a4b22415
Add subheading to homepage hero section (#38361)
Added a new subheading to the hero section.


---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-01-16 17:53:21 -06:00
Eric
a1d61f95f5
Website: Update lists of responsibilities on handbook pages (#38345)
Changes:
- Updated the list of responsibilities on department handbook pages to
only include links to headings inside of handbook contents (A heading
from the signup modal is currently included on each list)
2026-01-14 17:03:38 -06:00
Noah Talerman
68d93d8cd0
Release article: 4.79.0 (#38329) 2026-01-14 15:30:26 -06:00
Noah Talerman
e903013141
Remove image from software self-service documentation (#38228)
- Screenshot is outdated
2026-01-14 20:27:52 +09:00
Eric
7f23411c94
Website: Update VPP proxy endpoints (#38203) 2026-01-13 18:06:10 -06:00
Eric
508ed4e56b
Website: Update logo-carousel component (#38225)
Changes:
- Updated the website's logo carousel component
2026-01-13 09:26:17 -06:00
Mike McNeil
7685849f07
make carousels match (#38220) 2026-01-13 15:23:03 +01:00
Eric
5219adb7b3
Website: update contact form for applications (#38125)
Changes:
- Updated the contact form to have a third form for job applications.
The form is only shown to users who visit the page with the `#apply`
hash.
- Added `deliver-application-submission` an action that sends
information from job application submissions to a zapier webhook.
- Updated the link to the contact form on the open positions template
page to link to /contact#apply
2026-01-12 11:01:02 -06:00
Mike McNeil
0b0a81c2e6
Differentiate job applicants etc from demo requests (#38132)
Co-authored-by: Eric <eashaw@sailsjs.com>
2026-01-09 16:14:34 -06:00
Eric
b3bd4686a3
Website: Add VPP metadata proxy (#37997)
For https://github.com/fleetdm/fleet/issues/37261

Changes:
- Added a new database model: `FleetInstanceUsingVpp`
- Added `/api/vpp/v1/register`: An API endpoint that validates provided
Fleet license keys, creates a database record for the proxy
registration, and returns a generated secret used to authenticate
requests to the other VPP proxy endpoint
- Added `/api/vpp/v1/metadata/:storeRegion`: An API endpoint that
forwards requests to the
`https://api.ent.apple.com/v1/catalog/${storeRegion}/stoken-authenticated-apps`
Apple API with a token generated using Fleet's Apple developer
credentials.

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-01-08 11:29:53 -06:00
Mitch Francese
6d9a29d4ce
Add NextCloud as a macOS Fleet-maintained app (#37903)
- Add input manifest for nextcloud
- Generate output files
- Add description to apps.json
2026-01-06 21:59:11 -06:00
Allen Houchins
7d527ca23c
Add quit and relaunch logic to macOS FMAs (#37670)
This pull request enhances the macOS app installation process by
improving how running applications are handled during install and
update, and also updates the metadata and scripts for Docker Desktop.
The main improvements are the introduction of quit/relaunch logic for
pkg-based FMAs, and the renaming and updating of Docker Desktop’s
identifiers and scripts.

**App install/relaunch improvements:**

* Added new shell functions `quit_and_track_application` and
`relaunch_application` to the generated install scripts. These functions
ensure that if an app (or pkg) is running before installation, it is
quit and then automatically relaunched after installation, preserving
user state. The logic tracks whether the app was running via an
environment variable.
[[1]](diffhunk://#diff-a9df2db484fcbb560d62c43f94c4bcc2d26dcf68066c9e7cc2bffad6f124ce97L22-R41)
[[2]](diffhunk://#diff-a9df2db484fcbb560d62c43f94c4bcc2d26dcf68066c9e7cc2bffad6f124ce97R53-R59)
[[3]](diffhunk://#diff-a9df2db484fcbb560d62c43f94c4bcc2d26dcf68066c9e7cc2bffad6f124ce97R72-R73)
[[4]](diffhunk://#diff-a9df2db484fcbb560d62c43f94c4bcc2d26dcf68066c9e7cc2bffad6f124ce97R571-R648)
* Removed the previous simpler `quit_application` logic from the install
script generation, as the new functions supersede it.

**Docker Desktop metadata and script updates:**

* Renamed the Docker Desktop input and updated its `slug` and
`unique_identifier` to match the new bundle identifier
(`com.electron.dockerdesktop`), reflecting the current packaging.
* Updated the output app metadata in `apps.json` to use the new slug and
unique identifier for Docker Desktop.
* Added a new output file for Docker Desktop
(`docker-desktop/darwin.json`) with the updated install and uninstall
scripts, including the new quit/relaunch logic and references.
2026-01-05 22:31:55 -06:00
Allen Houchins
4bd3a5ce4d
Add Notepad++ as a Windows FMA (#37859)
This pull request adds support for Notepad++ as a maintained application
in the system. It includes metadata, installation and uninstallation
scripts, version tracking, and a custom icon for the frontend. The main
changes are grouped into backend app definition and scripting,
versioning/output updates, and frontend UI enhancements.

**Backend: Notepad++ App Definition and Scripting**
- Added a new app definition for Notepad++ in `winget` format, including
metadata and references to install/uninstall scripts (`notepad++.json`).
- Implemented PowerShell scripts for silent installation and
uninstallation of Notepad++ using NSIS-compatible flags
(`notepad++_install.ps1`, `notepad++_uninstall.ps1`).
[[1]](diffhunk://#diff-dbe7f508350f3d388cd03eba8739d31334cd4e8a20545dec83d40612cbb51190R1-R29)
[[2]](diffhunk://#diff-cda39039b54d874cec215f12e62ca7183f790fefe54d79affcb6f4965a305dbbR1-R99)

**Versioning and Outputs**
- Added Notepad++ entry to the main output apps registry (`apps.json`),
enabling it to be recognized as a supported app.
- Created a Notepad++ versioned output file for Windows, including
detection query, installer URL, SHA256, and script references.

**Frontend: UI Enhancements**
- Added a custom Notepad++ SVG icon component for use in the software
page UI (`Notepad++.tsx`).
- Registered the Notepad++ icon in the icon index and mapped it for
display with the app name.
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR8)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR376)
2026-01-05 13:42:49 -06:00
Mitch Francese
5595a5a02b
Add Okta Verify as a macOS FMA (#37617)
- Add input manifest for okta-verify
- Generate output files
- Add description to apps.json
2025-12-22 17:15:31 -06:00
Noah Talerman
df188add91
Release article: 4.78.0 (#37294) 2025-12-19 17:03:16 -06:00
Eric
701fc431db
Website: Update case study article template (#37438)
Changes:
- Updated the template page used for case study articles to match the
latest wireframes.
2025-12-19 10:02:15 -06:00
Eric
ffc2dde9fc
Website: Fix signup-modal scrolling (#37484)
Closes: https://github.com/fleetdm/fleet/issues/37456

Changes:
- Updated the top margin on the signup modal to keep the modal content
visible when scrolling.
2025-12-18 11:34:37 -06:00
Allen Houchins
c5a11b1b77
Add Steam as a macOS and Windows FMA (#37383)
This pull request adds support for managing Steam as a maintained
application on both macOS (darwin) and Windows platforms. It introduces
new metadata, installation, and uninstallation scripts, and updates the
aggregated app catalog to include Steam for both platforms.

**Steam app integration:**

- Added metadata and configuration files for Steam on macOS and Windows,
including installation details, unique identifiers, and categorization.
[[1]](diffhunk://#diff-c281dce9b3fb0c07ee0240f023b10f04f90d714ede790faa62a0e6f140db35b2R1-R8)
[[2]](diffhunk://#diff-2f3d984248d056735d116afea075ebb59e8e209b4a35ecc35bc82c21f760ed7aR1-R12)
- Updated the main `apps.json` catalog to include Steam entries for both
platforms, complete with descriptions and platform-specific slugs.

**Installer and uninstaller scripts:**

- Added a PowerShell installation script for Windows that installs Steam
silently using the `/S` flag.
- Added a PowerShell uninstallation script for Windows that locates the
Steam uninstaller and removes it silently, handling both 32-bit and
64-bit registry locations.
- Added macOS shell scripts (referenced in the output) for installing
and uninstalling Steam, including logic to quit running processes and
clean up associated files.

**App version outputs:**

- Created output files for both `steam/darwin.json` and
`steam/windows.json`, specifying version information, detection queries,
installer URLs, script references, and default categories.
[[1]](diffhunk://#diff-12ddb40a8998c18e5806cefa53ded63d64144a101d2cab1dfbbe78093e8cddeaR1-R21)
[[2]](diffhunk://#diff-6a83a89e114cb2281eb5ee80b6f574a374304c1baa60b927c7e1096044814a55R1-R21)
2025-12-16 21:05:19 -06:00
Allen Houchins
353ab0a419
Add CrashPlan as a macOS and Windows FMA (#37348)
This pull request adds support for the CrashPlan backup and recovery
software to the maintained apps ecosystem for both macOS (Homebrew) and
Windows (Winget). It introduces new metadata, installation and
uninstallation scripts, and integrates CrashPlan into the application's
UI, including a dedicated icon.

**CrashPlan app support:**

- Added CrashPlan metadata for Homebrew (`crashplan.json`) and Winget
(`crashplan.json`), specifying identifiers, installer details, and
default categories.
[[1]](diffhunk://#diff-65666812266569e4f2198de5e97a2a0a2e02974e5b134dac13e9bd9fecc3109bR1-R8)
[[2]](diffhunk://#diff-c8f7deea2ce492ea0903ba3fcfdcf7a6df342b935c284dca8564f449f1247f39R1-R10)
- Included CrashPlan in the aggregated app listings (`apps.json`) for
both macOS and Windows platforms, with descriptions.

**Installer and uninstaller scripts:**

- Added versioned output and installation/uninstallation scripts for
CrashPlan on macOS (`crashplan/darwin.json`) and Windows
(`crashplan/windows.json`), including download URLs, SHA256 hashes, and
detection queries.
[[1]](diffhunk://#diff-13c8cfd39d6d7d8faabce6b6d7f6566275a4c7d09c37ca9cc9726e09c89cc60bR1-R21)
[[2]](diffhunk://#diff-5f7d9507b93b3c61d2035dd964d399e666e308be0cf46be8c358702c57b6927bR1-R22)

**UI integration:**

- Introduced a new CrashPlan SVG icon component (`CrashPlan.tsx`) and
mapped it in the software icon index for use in the UI.
[[1]](diffhunk://#diff-508f123066743b5b4f4de19a92f3aa6c1055e8cda2a5a9e8f57c99aed29df681R1-R14)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR7)
[[3]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR282)
2025-12-16 13:24:27 -06:00
Allen Houchins
4d299d1770
Update Company Portal icon for macOS FMA (#37328)
This pull request adds a new icon component import to the icon index
file. The change is minor and simply makes the `CompanyPortal` icon
available for use in the application.
2025-12-16 09:55:46 -06:00
Allen Houchins
34788f7686
Add 7-zip as a Windows Fleet-maintained app (#37222)
This pull request adds support for managing 7-Zip as a maintained
Windows application. The changes include configuration for installation
and uninstallation, workflow updates to handle 7-Zip specifically in CI,
and a new icon for the frontend. These updates ensure that 7-Zip can be
detected, installed, uninstalled, and visually represented in the
software management system.

**Windows workflow and detection updates:**

- Updated `.github/workflows/test-fma-windows-pr-only.yml` to detect
changes related to 7-Zip, set a `has_7zip` output variable, and add a
step to remove pre-installed 7-Zip versions before proceeding with
further app verification. This prevents conflicts with pre-existing
installations during CI runs.
[[1]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaR91)
[[2]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaR102)
[[3]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaR117-R124)
[[4]](diffhunk://#diff-51641fd1d2cc19348b81fd8310b62ad270ca5082ceddff2d49064e78f126a1eaR164-R227)

**7-Zip application configuration:**

- Added `ee/maintained-apps/inputs/winget/7-zip.json` to define 7-Zip as
a maintained app with metadata such as slug, package identifier,
installer type, and categories.
- Added `ee/maintained-apps/outputs/7-zip/windows.json` with version
info, installation and uninstallation scripts, SHA256, and upgrade code
for 7-Zip, enabling automated install/uninstall flows.
- Updated `ee/maintained-apps/outputs/apps.json` to include 7-Zip in the
list of available apps, with a description and unique identifier for
display and selection.

**Frontend icon support:**

- Added a new React SVG icon component for 7-Zip at
`frontend/pages/SoftwarePage/components/icons/7Zip.tsx`.
- Registered the 7-Zip icon in the icon index and mapped it in
`SOFTWARE_NAME_TO_ICON_MAP` to display the icon for 7-Zip in the UI.
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR7)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR224)
2025-12-16 09:55:30 -06:00
Allen Houchins
1f65507aae
Add Dash and calibre as macOS FMAs (#37320)
This pull request adds support for two new macOS applications, Calibre
and Dash, to the maintained apps system. The changes include the
necessary metadata, installation and uninstallation scripts, and icon
assets, as well as updates to the main app listing.

**New Application Support**

* Added input metadata for Calibre in `homebrew/calibre.json`, including
identifiers, installer format, and categories.
* Added input metadata for Dash in `homebrew/dash.json`, including
identifiers, installer format, and categories.

**App Catalog Updates**

* Updated `outputs/apps.json` to include Calibre with a description and
identifiers.
* Updated `outputs/apps.json` to include Dash with a description and
identifiers.

**Installer and Uninstaller Scripts**

* Added versioned output and install/uninstall scripts for Calibre in
`outputs/calibre/darwin.json`.
* Added versioned output and install/uninstall scripts for Dash in
`outputs/dash/darwin.json`.

**Frontend Icon Assets**

* Added a new React SVG icon component for Calibre in `Calibre.tsx`.
2025-12-15 22:02:47 -06:00
Mitch Francese
56bc42ebec
Add TextExpander as an FMA for Fleet (#37296)
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2025-12-15 21:15:13 -06:00
Allen Houchins
e42f71402d
Add AppCleaner as a macOS FMA (#37316)
This pull request adds support for the AppCleaner application to the
maintained apps system, including its metadata, installation, and
uninstallation scripts. The changes define how AppCleaner should be
recognized, installed, and uninstalled on macOS, and make it available
in the maintained apps catalog.

**AppCleaner integration:**

* Added a new input definition for AppCleaner in `appcleaner.json`,
specifying its metadata such as name, unique identifier, installer
format, and default category.
* Added a new output definition for AppCleaner in
`appcleaner/darwin.json`, including version information, SQL query for
existence, installer URL, SHA256 checksum, and detailed install and
uninstall scripts.
* Updated `apps.json` to include AppCleaner in the list of maintained
applications, making it available for discovery and installation via the
maintained apps system.
2025-12-15 21:12:59 -06:00
Allen Houchins
7098e0b333
Add Adobe DNG Converter as a macOS FMA (#37238)
This pull request adds support for managing Adobe DNG Converter on
macOS. The main changes include introducing metadata and
installation/uninstallation scripts for this application, updating the
app registry, and improving version detection logic to handle Adobe’s
unique versioning format.

**Support for Adobe DNG Converter:**

* Added a new input definition for Adobe DNG Converter in
`homebrew/adobe-dng-converter.json`, specifying its identifiers,
installer format, and default category.
* Generated an output manifest in
`outputs/adobe-dng-converter/darwin.json` with version info, download
URL, SHA256, and detailed install/uninstall scripts for managing the app
lifecycle.
* Registered Adobe DNG Converter in the main `apps.json` registry,
including a description, unique identifier, and platform.

**Improvements to version detection:**

* Updated the `appExists` function in `darwin.go` to correctly detect
Adobe DNG Converter even when the installed version string includes a
build number in parentheses, improving reliability of version checks.
2025-12-15 11:12:11 -06:00
Allen Houchins
a5b2e911d6
Add support for zip files as Windows FMAs (#36841)
### Summary
This PR adds support for `.zip` files as Windows Fleet Managed Apps
(FMAs). Zip files on Windows are treated similarly to `.exe` files and
require custom install/uninstall scripts, typically used for AppX/MSIX
packages that are distributed as zip archives.

### Changes

**Backend:**
- Added `.zip` as a supported Windows package type in
`SoftwareInstallerPlatformFromExtension`
- Updated validation to require install/uninstall scripts for zip files
(similar to `.exe` files)
- Added `addZipPackageMetadata` function to handle zip file metadata
extraction
- Updated error messages to include `.zip` in the list of supported file
types
- Enhanced `appExists` validation to detect provisioned AppX packages
(packages that are provisioned for all users but don't show up in the
programs table until a user logs in)
- Added version normalization logic to handle version string differences
(e.g., "11.2.1495.0" vs "11.2.1495")
- Updated winget ingester to recognize zip files and default to user
scope for MSIX/zip installers

**Frontend:**
- Added `.zip` to `windowsPackageTypes` in `package_type.ts`
- Updated `PackageAdvancedOptions` component to require
install/uninstall scripts for zip files
- Added validation rules for zip files in `PackageForm/helpers.tsx`
- Updated help text and tooltips to indicate script requirements for zip
packages
- Updated `software_install_scripts.ts` to include zip in default script
handling

**Maintained Apps:**
- Added Microsoft Company Portal as a maintained app example using zip
files
- Created install/uninstall PowerShell scripts that:
  - Extract zip files containing AppX packages
- Provision packages for all future users (works in headless
environments)
  - Install packages for the current user
  - Handle both provisioned and installed package detection

**Tests:**
- Updated integration tests to include `.zip` in supported file type
error messages
- Updated unit tests for `SoftwareInstallerPlatformFromExtension` and
`SofwareInstallerSourceFromExtensionAndName`

### Use Case
This enables distribution of Windows AppX/MSIX packages that are
packaged as zip files (common for Microsoft Store apps like Company
Portal). The implementation handles both provisioned packages (for all
users) and user-installed packages, ensuring detection works in both
headless and interactive environments.

### Testing
- Updated existing tests to include zip file support
- Added Microsoft Company Portal as a maintained app example with full
install/uninstall scripts

---

**Note:** This PR follows the same pattern as `.exe` file support,
requiring custom install/uninstall scripts since zip files can contain
various content types that need custom handling.
2025-12-15 11:03:43 -06:00
Allen Houchins
a5731d540d
Add Airtame as a macOS and Windows FMA (#37248)
This pull request adds support for the Airtame application on both macOS
and Windows platforms. It introduces metadata, installation and
uninstallation scripts, and icon support for Airtame, making it
available in the maintained apps catalog and ensuring it displays
correctly in the frontend.

**Airtame Application Support:**

- Added input metadata for Airtame for both Homebrew (macOS) and Winget
(Windows) in `airtame.json` files, specifying installer formats,
identifiers, and categories.
[[1]](diffhunk://#diff-448b5795b8fb5f9487415e1d64f1fca6b57fa434b4d78ce452f732a9ffda479eR1-R8)
[[2]](diffhunk://#diff-146d9ec4238b454a4f86989b068060760f2d70523aed34b68f935d493b3f23dbR1-R10)
- Added output definitions for Airtame in `darwin.json` and
`windows.json`, including version info, installation/uninstallation
scripts, installer URLs, SHA256 hashes, and verification queries.
[[1]](diffhunk://#diff-0c571f0352dfef93766b985359e9f1ab34ed36284fd701429edc5b733be5aef6R1-R21)
[[2]](diffhunk://#diff-23e19ef30503f3c50c25a06132b64d193ecfd70698e2a4ae433dbde55148b6f0R1-R22)
- Updated `apps.json` to include Airtame entries for both macOS and
Windows, with appropriate descriptions and unique identifiers.

**Frontend/Icon Integration:**

- Added a new React icon component for Airtame in `Airtame.tsx`, using a
base64-encoded image.
- Registered the Airtame icon in the icon index and mapped it in
`SOFTWARE_NAME_TO_ICON_MAP` for proper display in the software catalog.
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR12)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR233)
2025-12-14 21:45:47 -06:00
Allen Houchins
cbec69c649
Add Postman as a Windows FMA (#37227)
This pull request adds support for managing the installation and
uninstallation of Postman on Windows via Winget, and simplifies the
associated PowerShell scripts. The changes introduce a new Postman app
definition, refactor the install and uninstall scripts to remove
unnecessary complexity, and update the Postman icon in the frontend to
use a PNG image.

**Postman app management support:**

* Added a new `postman.json` manifest in
`ee/maintained-apps/inputs/winget/` to define Postman as a managed
application, including install/uninstall script paths and package
metadata.

**PowerShell script simplification:**

* Refactored `postman_install.ps1` to remove scheduled task logic and
run the installer directly with the `--silent` flag, improving
reliability and maintainability.
* Simplified `postman_uninstall.ps1` to directly search for and execute
the uninstall command for Postman, supporting silent uninstallation and
removing scheduled task and logging logic.

**Frontend update:**

* Updated the `Postman.tsx` icon component to use a PNG image instead of
inline SVG paths, ensuring consistency with other icon assets.
2025-12-12 23:17:32 -06:00
Allen Houchins
f5510277c8
Add Notion as a Windows FMA (#37226)
This pull request adds support for the Notion app on Windows to the
maintained apps system. It introduces new metadata, installation and
uninstallation scripts, and updates the relevant app listings and icon.
The most important changes are grouped below:

**Notion for Windows support:**

* Added a new input metadata file for Notion on Windows at
`ee/maintained-apps/inputs/winget/notion.json`, specifying installer
details, categories, and script paths.
* Added a new output app listing for Notion on Windows in
`ee/maintained-apps/outputs/apps.json` and created a dedicated manifest
at `ee/maintained-apps/outputs/notion/windows.json` with version,
installer, uninstall script references, and detection query.
[[1]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R977-R983)
[[2]](diffhunk://#diff-1dfe0659e83ec343ffcf27344c2dd5b257cf0bcc11434614acdc1820badda243R1-R21)
* Implemented install and uninstall PowerShell scripts for Notion on
Windows, referenced by the new manifest.

**Uninstallation improvements:**

* Updated the Notion uninstall script to ensure the `/S` flag is
included for silent uninstalls with NSIS installers, improving
reliability of unattended uninstalls.
[[1]](diffhunk://#diff-fe66fb3f5c34301a1a22112997ca0aa38ec0ccd9dc97db4cf2a845a8a8db6df1R36-R45)
[[2]](diffhunk://#diff-1dfe0659e83ec343ffcf27344c2dd5b257cf0bcc11434614acdc1820badda243R1-R21)

**UI/Icon update:**

* Replaced the SVG icon for Notion in the frontend with a PNG-based
image for improved appearance or compatibility.

**Other:**

* Clarified the description for Notion Calendar in the app listings for
better user understanding.
2025-12-12 23:00:35 -06:00
Allen Houchins
6afe68fa98
Add Microsoft Edge as a Windows FMA (#37224)
This pull request adds support for Microsoft Edge on Windows to the
maintained apps system and introduces a new icon for Microsoft Edge in
the frontend. The changes ensure that Microsoft Edge for Windows is
correctly represented in both backend data and the frontend UI.

**Microsoft Edge for Windows support:**

* Added a new input definition for Microsoft Edge in `winget` format,
specifying installation details and categories.
* Generated an output entry for Microsoft Edge on Windows in
`apps.json`, including its platform, slug, and description.
* Added a detailed output file for Microsoft Edge on Windows, including
version info, install/uninstall scripts, and metadata.

**Frontend icon integration:**

* Added a new React component `MicrosoftEdge.tsx` to provide an SVG icon
for Microsoft Edge.
* Registered the new icon in the icon mapping so it appears for Edge in
the software page UI.
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR121)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR286)
2025-12-12 22:04:29 -06:00
Eric
fa27fda724
Website: Add case study article template page and three articles (#37153)
Changes:
- Updated the website's build-static-content script to add support for a
new article category: `case study`.
- Added a new article template page for case study articles
- Added case study articles from Stripe, Faire, and Foursquare.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-12-12 13:37:16 +09:00
Allen Houchins
5f391ec11a
Add multiple macOS Fleet-maintained apps (#37101)
This pull request adds support for several new macOS applications to the
maintained apps system. It introduces metadata and installer information
for each app, including their categories, installation formats, and
descriptions. The changes affect both the input definitions and the
generated output listings, ensuring these apps are now recognized and
manageable within the platform.

**New application support:**

* Added metadata and installation details for the following apps in the
`ee/maintained-apps/inputs/homebrew` directory: FileMaker Pro, NordPass,
OBS, Obsidian, OrbStack, pgAdmin4, RapidAPI, Royal TSX, Shottr,
Splashtop Business, Splashtop Streamer, Stats, Sublime Merge, Surfshark,
and Suspicious Package.
[[1]](diffhunk://#diff-4110aafedd820ab411c58a2d1d6aa0dd6280e5f9462784933e351ac50e707180R1-R8)
[[2]](diffhunk://#diff-58c420dc373e687e3fa2c3203279266db3b53ddbf8f785bd0fe81c302b391b03R1-R8)
[[3]](diffhunk://#diff-a3be001759cc20b5b2beb576815bc7bab7d4a96e633462885b549d9ae16d81d7R1-R8)
[[4]](diffhunk://#diff-3719ec4aede4178b68f34f4873badcf791b475f2d96dc98cb46072d22104aa7bR1-R8)
[[5]](diffhunk://#diff-ba91b6976eae0e27e6f7ab7a169c493943011be440ad98028468c826e47b1d26R1-R8)
[[6]](diffhunk://#diff-8f07dada0c342e599ff8b3fe14a3db9d35af2823edf15974b1f7e944988a8b3eR1-R8)
[[7]](diffhunk://#diff-3dfe9b210eaf4845c66a78bac05ce92fa1b49f6e88ed58507571efcf38100e11R1-R8)
[[8]](diffhunk://#diff-cd74cef2783aac3981106bf37145df1f7dddc6764f525ba796e49a14088b8f7eR1-R8)
[[9]](diffhunk://#diff-991e41b0299e0199ef9935e25962e96fb6869619f91385f42559658cb354e15cR1-R8)
[[10]](diffhunk://#diff-c80d444ade7092005119d3f9a49903fb9b9f680e1c8d4d2c119f7b25db69531bR1-R8)
[[11]](diffhunk://#diff-8645def0d5c629d7814deb463500b0f54422b8d25f9ff8d9ecf26e908d9e5bf5R1-R8)
[[12]](diffhunk://#diff-c655bdf41c305040cf0b1694fd40a3fac6d63e9b4e0a22dbb0fa0def502c32aaR1-R8)
[[13]](diffhunk://#diff-b2549d65cd0dd12e9554dc82123b5935eff0673a76c631064f4a30eb088698dbR1-R8)
[[14]](diffhunk://#diff-858e6b00e0f8ae199231d5cb1fb40f23a8e554fe8e3b3f5e0d097846e98bd4f4R1-R8)
[[15]](diffhunk://#diff-a1ab3a19c9c8fd3a677e28bdd41f39fdc085b39935a85b44984dd3d886870cadR1-R8)

**Output listings update:**

* Updated `ee/maintained-apps/outputs/apps.json` to include the new apps
with their names, slugs, platforms, unique identifiers, and
descriptions, making them available for discovery and management.
[[1]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R564-R570)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R942-R948)
[[3]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R984-R997)
[[4]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1026-R1032)
[[5]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1047-R1053)
[[6]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1131-R1137)
[[7]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1159-R1165)
[[8]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1187-R1193)
[[9]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1236-R1270)
[[10]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1285-R1298)

**Installer and uninstaller scripts:**

* Added detailed versioning and installation/uninstallation scripts for
FileMaker Pro in `ee/maintained-apps/outputs/filemaker-pro/darwin.json`,
including script references and SHA256 checksum for integrity
verification.
2025-12-10 22:54:09 -06:00
Allen Houchins
bee28a9e86
Add multiple macOS FMAs (#37069)
This pull request adds support for several new macOS applications to the
maintained apps system. It introduces new input definitions, output
metadata, and installation/uninstallation scripts for each app, enabling
automated management and categorization. The changes primarily focus on
expanding the catalog with productivity, developer, and communication
tools.

**New App Integrations:**

* Added input definitions and output metadata for the following apps:
- Inkscape (vector graphics editor)
[[1]](diffhunk://#diff-7ce5d431eb69c5546afaa12ada343d8584e835e855ecebf4adc13801ab3eab78R1-R8)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R697-R703)
[[3]](diffhunk://#diff-00054bf967e9164fbd87bfc1518f6332cbee50e85936c7e9617a0bfefe405fa4R1-R21)
- Jabra Direct (headset management)
[[1]](diffhunk://#diff-78c52106d0314ec88decc1b6e6490ea8519a45170df466789414c8eac90825f9R1-R8)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R739-R745)
[[3]](diffhunk://#diff-cd97d46bd199c6376c16fe81366404c1a3010d3f75b8b8b9a611d354a9edc2cbR1-R21)
- Keeper Password Manager (password manager)
[[1]](diffhunk://#diff-a973ebde05953000c62f2492b17c079a9e552fd3bbab3b678ee2aa0757dafeadR1-R8)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R767-R787)
[[3]](diffhunk://#diff-5b88b8712d6bf670a34dd05a496fa7a036b9f53dda262bea1f57deb9a10f6f6eR1-R21)
- Keka (file archiver)
[[1]](diffhunk://#diff-2c462b137233fc73d72dd6f42b4bc07e58d6396e6b178741d496536822f4e732R1-R8)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R767-R787)
- Lens (Kubernetes IDE)
[[1]](diffhunk://#diff-51e6db269aa8b8fc295f8573eb1582adbb28bcf1f1fd040fe92f8e0e95c816b2R1-R8)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R767-R787)
- Maccy (clipboard manager)
[[1]](diffhunk://#diff-a497d9aa8763fd1b331ce6d454994c1fc955e9fec54d996dae5134c2c64d5e2cR1-R8)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R830-R843)
- Mattermost (open-source chat)
[[1]](diffhunk://#diff-7286f40f757bf5322974f664bb55fd6ef89ca486aacba5e524e3e4a7055f24bcR1-R8)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R830-R843)
- MongoDB Compass (database GUI)
[[1]](diffhunk://#diff-c03bf76b1aa1a8a9a857a235e2eaa46a35c5d0a8b8331d5990251eadf1855568R1-R8)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R921-R927)

**Installer and Uninstaller Scripts:**

* Added custom install and uninstall shell scripts for Inkscape, Jabra
Direct, and Keeper Password Manager to handle application lifecycle
tasks, including quitting running apps and cleaning up user data.
[[1]](diffhunk://#diff-00054bf967e9164fbd87bfc1518f6332cbee50e85936c7e9617a0bfefe405fa4R1-R21)
[[2]](diffhunk://#diff-cd97d46bd199c6376c16fe81366404c1a3010d3f75b8b8b9a611d354a9edc2cbR1-R21)
[[3]](diffhunk://#diff-5b88b8712d6bf670a34dd05a496fa7a036b9f53dda262bea1f57deb9a10f6f6eR1-R21)

**App Categorization:**

* Assigned appropriate default categories (e.g., Productivity, Developer
tools, Communication) to each new app for better organization and
filtering in the catalog.
[[1]](diffhunk://#diff-7ce5d431eb69c5546afaa12ada343d8584e835e855ecebf4adc13801ab3eab78R1-R8)
[[2]](diffhunk://#diff-78c52106d0314ec88decc1b6e6490ea8519a45170df466789414c8eac90825f9R1-R8)
[[3]](diffhunk://#diff-a973ebde05953000c62f2492b17c079a9e552fd3bbab3b678ee2aa0757dafeadR1-R8)
[[4]](diffhunk://#diff-2c462b137233fc73d72dd6f42b4bc07e58d6396e6b178741d496536822f4e732R1-R8)
[[5]](diffhunk://#diff-51e6db269aa8b8fc295f8573eb1582adbb28bcf1f1fd040fe92f8e0e95c816b2R1-R8)
[[6]](diffhunk://#diff-a497d9aa8763fd1b331ce6d454994c1fc955e9fec54d996dae5134c2c64d5e2cR1-R8)
[[7]](diffhunk://#diff-7286f40f757bf5322974f664bb55fd6ef89ca486aacba5e524e3e4a7055f24bcR1-R8)
[[8]](diffhunk://#diff-c03bf76b1aa1a8a9a857a235e2eaa46a35c5d0a8b8331d5990251eadf1855568R1-R8)

**Metadata and Version Tracking:**

* Introduced detailed metadata and version tracking for each app,
including installer URLs, bundle identifiers, SHA256 checksums, and SQL
queries for existence checks.
[[1]](diffhunk://#diff-00054bf967e9164fbd87bfc1518f6332cbee50e85936c7e9617a0bfefe405fa4R1-R21)
[[2]](diffhunk://#diff-cd97d46bd199c6376c16fe81366404c1a3010d3f75b8b8b9a611d354a9edc2cbR1-R21)
[[3]](diffhunk://#diff-5b88b8712d6bf670a34dd05a496fa7a036b9f53dda262bea1f57deb9a10f6f6eR1-R21)

**Catalog Expansion:**

* Updated the main `apps.json` output to include all new apps with
descriptions and platform information, ensuring visibility in the
maintained apps catalog.
[[1]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R697-R703)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R739-R745)
[[3]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R767-R787)
[[4]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R830-R843)
[[5]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R921-R927)
2025-12-10 17:14:01 -06:00
Allen Houchins
8297ea3dad
Add multiple macOS FMAs (#37082)
This pull request adds support for several new macOS applications to the
maintained apps system, including their metadata, installation, and
uninstallation scripts. The changes introduce new JSON definitions for
each app, update the main app index, and provide versioned
install/uninstall scripts for deployment automation.

**New app support and integration:**

* Added definitions and metadata for the following applications in the
`inputs/homebrew` directory: UTM, VirtualBox, Viscosity, Wacom Tablet,
Windsurf, and Zeplin. These include details like bundle identifiers,
installer formats, and default categories.
[[1]](diffhunk://#diff-f505c4894da8dff95d8a1fe17b97bde45e8ca3a7fbc7f3d59b4503e438aa8c14R1-R8)
[[2]](diffhunk://#diff-6d3c5db09812e5401dff9317e33d579d9b0cdf2f2cabfc5aea987349b571e02bR1-R8)
[[3]](diffhunk://#diff-12a8fefe26e3a6350dd9530e4c0cf6704159f3752a5000599ed50a18374284a7R1-R8)
[[4]](diffhunk://#diff-8d59fcfade669dc36f4b1d1c3c6151bea12a6546d0f7bc8397bdff11f0c0a732R1-R8)
[[5]](diffhunk://#diff-e231f655a5832c59d4edb934a76f6588626558e3a52adaaef22c2c0e455be342R1-R8)
[[6]](diffhunk://#diff-5b11aeb43017cc56c7f2b89a7de86cf0fbd7e822c43f5652d83684fd33741543R1-R8)
* Updated `outputs/apps.json` to register the new applications,
including descriptions and platform information for UTM, VirtualBox,
Viscosity, Wacom Tablet, Windsurf, and Zeplin.
[[1]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1257-R1277)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1313-R1319)
[[3]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1355-R1361)
[[4]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1404-R1410)

**Installer and uninstaller automation:**

* Added versioned install and uninstall scripts for UTM
(`outputs/utm/darwin.json`), VirtualBox
(`outputs/virtualbox/darwin.json`), and Viscosity
(`outputs/viscosity/darwin.json`). These scripts automate mounting disk
images, copying apps, handling package receipts, and cleaning up
user/system files.
[[1]](diffhunk://#diff-6aaef2cade302a02388ce54d43a7a7b2ce0fba667863128e8a9602ad52e42292R1-R21)
[[2]](diffhunk://#diff-6cb1303c0b58d6a02c96133d007d426ace0de8df1f17fde17417c8c56c8c5b0aR1-R21)
[[3]](diffhunk://#diff-8005993d76074a6c94d4e7f8c0bd0c3c2d6b3a599bee394fee47035a84a59dc3R1-R21)

These updates streamline the deployment and management of these macOS
applications within the maintained apps ecosystem.
2025-12-10 15:53:41 -06:00
Allen Houchins
1e003edfd7
Add multiple macOS FMA (#37060)
This pull request adds support for several new macOS applications to the
maintained apps catalog. It introduces metadata, installation, and
uninstallation scripts for each app, and updates the main `apps.json`
output to include these new entries. The changes are grouped into new
app additions and corresponding installer/uninstaller script
implementations.

**New macOS app additions:**

* Added metadata and catalog entries for the following applications:
Egnyte, Elgato Control Center, Elgato Stream Deck, ExpressVPN, Fork,
Front, Ghostty, GIMP, and Hyper. Each app now has a dedicated input JSON
file and an entry in `apps.json` with platform, identifier, and
description.
[[1]](diffhunk://#diff-23ba1125ec0779e89bd0e70b112583b332e841bc14a4920419e0c116f6718aecR1-R8)
[[2]](diffhunk://#diff-c0489d22fc52f53b7a44c4fb6b16c25eb8e22d53772c62bad36c3a874138cc65R1-R8)
[[3]](diffhunk://#diff-96bdb6025cdcaefdb9c689401cfd102ed248ce0360a178da5e208b570967d459R1-R8)
[[4]](diffhunk://#diff-a5441bc7fd33cb26cc4bc787bfec51f8a0384f7270cd7e97958c3a814e71fa7cR1-R8)
[[5]](diffhunk://#diff-82a6115c15a63073e97e105400f396f3b6a6181e787dde23c5b038c1018c4b9eR1-R8)
[[6]](diffhunk://#diff-ddee5c0aabd18f5cbdb8d3cab2a9f069e895401e9dd5f94db2b06af940f286f8R1-R8)
[[7]](diffhunk://#diff-f11cb1fa827924b89af074a0ec08aae96f962abf08133df45a8d326f22ff467bR1-R8)
[[8]](diffhunk://#diff-a481e356326319c0bd932ece074bdd533294a19a333da5dbfc0c081b4052fa1dR1-R8)
[[9]](diffhunk://#diff-ffe0600fd34e997bde34d076822e13354866d9dbc6c6fd43865b4a70f0a479a0R1-R8)
[[10]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R515-R549)
[[11]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R578-R605)
[[12]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R683-R689)

**Installer and uninstaller script implementations:**

* For each new app, added output JSON files containing version info,
installer URLs, SHA256 hashes, and install/uninstall scripts. These
scripts handle application installation and cleanup, including quitting
running apps and removing associated files and directories.
[[1]](diffhunk://#diff-458d8f6eb15663b336e76a6964ca22f83e940b0bef4474391d46a1698cd3dcb4R1-R21)
[[2]](diffhunk://#diff-5f9bd670a42a11fb7ab0bf3575557a938a96d8652497c14e2e8f60369f735bf8R1-R21)
[[3]](diffhunk://#diff-c31491a17eb8dff09d145de13e703188c032a446a8e74060505024c239db208fR1-R21)

These updates expand the catalog’s coverage and ensure proper lifecycle
management for each newly supported app.
2025-12-10 11:41:18 -06:00
Allen Houchins
69ac473694
Add DB Browser for SQLite as a macOS FMA (#37057)
This pull request adds support for "DB Browser for SQLite" to the
maintained apps system and frontend, including metadata, installer
details, and icon integration. The changes ensure that "DB Browser for
SQLite" is now recognized, installable, and visually represented in the
software catalog.

**Backend: App Metadata and Installer Integration**
* Added a new input file `db-browser-for-sqlite.json` with metadata for
"DB Browser for SQLite"
(`ee/maintained-apps/inputs/homebrew/db-browser-for-sqlite.json`).
* Generated output files for the app, including listing in `apps.json`
and a detailed installer/uninstaller script with version info and SHA256
checksum (`ee/maintained-apps/outputs/apps.json`,
`ee/maintained-apps/outputs/db-browser-for-sqlite/darwin.json`).
[[1]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R403-R409)
[[2]](diffhunk://#diff-4f92dcbeb9f303f8a2b0337097c2c11892b2eb2f73023dc26845f6971d34aa6aR1-R21)

**Frontend: Icon and Mapping Integration**
* Added a new React SVG icon component for "DB Browser for SQLite"
(`DbBrowserForSqLite.tsx`).
* Imported the new icon into the icons index and mapped it in
`SOFTWARE_NAME_TO_ICON_MAP` for correct display on the software page
(`frontend/pages/SoftwarePage/components/icons/index.ts`).
[[1]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR56)
[[2]](diffhunk://#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907bR234)
2025-12-10 10:28:35 -06:00
Allen Houchins
48c68e35df
Add app icon for CleanShot X (#37038) 2025-12-09 23:42:03 -06:00
Allen Houchins
3c63c81331
Add multiple macOS FMAs (#37036)
This pull request adds support for several new macOS applications to the
maintained apps system. It introduces metadata and installer/uninstaller
scripts for each app and updates the main apps output file to include
them with descriptions and platform information. The most significant
changes are grouped below.

**New Application Integrations:**

* Added support for `balenaEtcher`, including metadata
(`balenaetcher.json`), installer/uninstaller scripts, and entry in
`apps.json` with description.
[[1]](diffhunk://#diff-929134bb1d28b55d168f4dc3e35f9f08a0d1e45d46bcf6f4183f99f79428433cR1-R8)
[[2]](diffhunk://#diff-8d03c90ab45b7ed733912e7ba94c2601b8a80047896ed6812dbacb91d538b2edR1-R21)
[[3]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R165-R171)
* Added support for `CleanMyMac`, including metadata
(`cleanmymac.json`), installer/uninstaller scripts, and entry in
`apps.json` with description.
[[1]](diffhunk://#diff-a3148bf2381a87133a9daf9bb676da3561b68458fac4a8bf5a13ee4b2ca1e6a0R1-R8)
[[2]](diffhunk://#diff-3c53d70fb16a8d91fddbe12c90115a282738652ce25e082795baff88d67cb4afR1-R21)
[[3]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R305-R318)
* Added support for `CleanShot X`, `Clockify Desktop`, `CotEditor`,
`DBeaver` (Community, Enterprise, Lite, Ultimate), `DeepL`, and
`Dialpad` with metadata files and entries in `apps.json`.
[[1]](diffhunk://#diff-371522e9c06a5ea355102f316203a3e6c9227337e418fa477c6a70e04f558da4R1-R8)
[[2]](diffhunk://#diff-32597ee59d679b740ccc62e2bf05354aa0918a3662d9949d27f117526128ab62R1-R8)
[[3]](diffhunk://#diff-1be741483848b645a6c7e85e58d79c3b5eb1b4353b27f57316c00ec6e176b6e5R1-R8)
[[4]](diffhunk://#diff-dff15693362fcb9e4b7d6dde7a8eafa67806903a0b05d6ab07e2eb923cf7bbe1R1-R8)
[[5]](diffhunk://#diff-cef23a1c4601fb334e1bd6cc7f4a96a7e25550b08b381942998bb108fc64d58dR1-R8)
[[6]](diffhunk://#diff-5df1e672d5a9546c5acbfe9d82ddddfa82bc946d1c0b18900d5bc055efbbcdd9R1-R8)
[[7]](diffhunk://#diff-b249fc32817185ddef560ebee1c3271e480c8ad3a15e276b9603f573d24b76b2R1-R8)
[[8]](diffhunk://#diff-0c12c073b1a807c9688bc529c1c5ab8682fbd6e8ddeb70cfa44ce9758e5ae4e7R1-R8)
[[9]](diffhunk://#diff-d9099249f5d9ce758e4c9dfe6a5df22821ff466fdcfecb8138f1880b7f9c76e6R1-R8)
[[10]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R305-R318)
[[11]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R340-R346)
[[12]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R361-R367)
[[13]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R403-R451)

**Installer and Uninstaller Scripts:**

* Added custom install and uninstall shell scripts for `balenaEtcher`
and `CleanMyMac`, referenced in their respective output JSON files for
automated deployment and removal.
[[1]](diffhunk://#diff-8d03c90ab45b7ed733912e7ba94c2601b8a80047896ed6812dbacb91d538b2edR1-R21)
[[2]](diffhunk://#diff-3c53d70fb16a8d91fddbe12c90115a282738652ce25e082795baff88d67cb4afR1-R21)

**App Metadata and Categorization:**

* Each new app includes metadata such as name, unique identifier,
installer format, slug, and default categories in its respective input
JSON file for improved organization and categorization.
[[1]](diffhunk://#diff-929134bb1d28b55d168f4dc3e35f9f08a0d1e45d46bcf6f4183f99f79428433cR1-R8)
[[2]](diffhunk://#diff-a3148bf2381a87133a9daf9bb676da3561b68458fac4a8bf5a13ee4b2ca1e6a0R1-R8)
[[3]](diffhunk://#diff-371522e9c06a5ea355102f316203a3e6c9227337e418fa477c6a70e04f558da4R1-R8)
[[4]](diffhunk://#diff-32597ee59d679b740ccc62e2bf05354aa0918a3662d9949d27f117526128ab62R1-R8)
[[5]](diffhunk://#diff-1be741483848b645a6c7e85e58d79c3b5eb1b4353b27f57316c00ec6e176b6e5R1-R8)
[[6]](diffhunk://#diff-dff15693362fcb9e4b7d6dde7a8eafa67806903a0b05d6ab07e2eb923cf7bbe1R1-R8)
[[7]](diffhunk://#diff-cef23a1c4601fb334e1bd6cc7f4a96a7e25550b08b381942998bb108fc64d58dR1-R8)
[[8]](diffhunk://#diff-5df1e672d5a9546c5acbfe9d82ddddfa82bc946d1c0b18900d5bc055efbbcdd9R1-R8)
[[9]](diffhunk://#diff-b249fc32817185ddef560ebee1c3271e480c8ad3a15e276b9603f573d24b76b2R1-R8)
[[10]](diffhunk://#diff-0c12c073b1a807c9688bc529c1c5ab8682fbd6e8ddeb70cfa44ce9758e5ae4e7R1-R8)
[[11]](diffhunk://#diff-d9099249f5d9ce758e4c9dfe6a5df22821ff466fdcfecb8138f1880b7f9c76e6R1-R8)

**Main Apps Output Update:**

* Updated `apps.json` to include all new applications, complete with
platform, unique identifier, and descriptive text for each, ensuring
visibility in the maintained apps catalog.
[[1]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R165-R171)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R305-R318)
[[3]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R340-R346)
[[4]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R361-R367)
[[5]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R403-R451)
2025-12-09 23:14:56 -06:00
Allen Houchins
04b84674ac
Add multiple macOS FMAs (#37034)
This pull request adds support for several new macOS applications to the
maintained apps system. It introduces input definitions, output package
specifications (including install/uninstall scripts), and updates the
central `apps.json` registry to include metadata for these new apps. The
main focus is on expanding the catalog with communication, developer,
productivity, and browser tools.

**New app support and metadata:**

* Added input definitions for the following apps, specifying their
identifiers, installer formats, and categories:
  - Aircall (`aircall.json`)
  - Amazon Chime (`amazon-chime.json`)
  - Anka (`anka-virtualization.json`)
  - Apparency (`apparency.json`)
  - Archaeology (`archaeology.json`)
  - Audacity (`audacity.json`)
  - Avast Secure Browser (`avast-secure-browser.json`)
  - AWS Client VPN (`aws-vpn-client.json`)

**Installer and uninstaller automation:**

* Added detailed install and uninstall scripts for each new app in their
respective output package files, handling application installation,
application quitting, and cleanup of related files and services.
[[1]](diffhunk://#diff-69612a2273163047de2ee0e4446f923c345c2deda667da654faed9432fb7d955R1-R21)
[[2]](diffhunk://#diff-b85f25e5875032d395e9a68bb3fbda92ac1411d0e1cd6ec4d161b65a60306b39R1-R21)
[[3]](diffhunk://#diff-5ce44247a9095604b20b7b52648b84ff211ed6f71a8bd23c8d1bafc88d00a408R1-R21)
[[4]](diffhunk://#diff-dbe46146299146d8e6a02593fe835bf16c17d690e6e76d90dfa9f16b63a8aa48R1-R21)

**Catalog update:**

* Updated `apps.json` to include metadata (name, slug, platform, unique
identifier, and description) for all newly supported apps, making them
available in the maintained apps catalog.
[[1]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R74-R129)
[[2]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R144-R164)
2025-12-09 21:44:47 -06:00
Eric
7251da0983
Website: change order of columns on handbook rituals tables (#36989)
Changes:
- Changed the order of columns of tables of rituals on handbook pages to
list the ritual DRI before the description.
2025-12-09 18:41:56 -06:00
Allen Houchins
3d12840e98
Add Bruno as a macOS FMA (#36998)
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)
2025-12-09 13:44:11 -06:00
Allen Houchins
4b7a0cec88
Add Arc as a macOS FMA (#36996)
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)
2025-12-09 13:38:57 -06:00
Allen Houchins
62807bd617
Add Blender as a macOS and Windows FMA (#36992)
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)
2025-12-09 13:31:10 -06:00
Allen Houchins
0c45429e13
Add icon for Wireshark Windows FMA (#36967) 2025-12-09 09:52:52 -06:00
Eric
240d58b686
Website: Update article template (#36924)
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).
2025-12-09 12:30:13 +09:00
Mitch Francese
d83c30761b
Add Fleet-managed app: Tableau Desktop for Darwin (#36352)
- Add input manifest for tableau
- Generate output files for version 2025.2.4
- Add description to apps.json
- Installer format: pkg (via Homebrew)
- Bundle identifier: com.tableausoftware.Desktop.app

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2025-12-08 21:23:30 -06:00