iteration 1
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Launched a comprehensive Windows Device Management landing page
showcasing Fleet's Windows MDM features, capabilities, and deployment
options. The page features detailed product information, multiple
hosting configurations (self-hosted, Fleet-hosted, air-gapped), verified
customer testimonials, video demonstrations, and a comprehensive FAQ
section addressing Windows MDM enrollment, management, and support
topics. Accessible at `/lp/windows-mdm`.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45690?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
Add Duo Desktop to maintained apps: create Homebrew and Winget input
entries, add apps.json catalog entries, and add outputs for macOS and
Windows with installer metadata (version 7.17.x), installer URLs,
checksums, install/uninstall script refs, and upgrade code. Also add
frontend icon component and PNG asset, and register the icon in the
icons index so the app shows up in the Software page.
Remove Codex CLI from maintained apps: delete winget input manifest and
install/uninstall scripts, remove the generated windows output
(versions/refs) and the apps.json entry. Also remove frontend icon
component and its image asset, and update the icons index to drop the
Codex CLI mapping.
Created a handbook page to document brand guidelines.
- Added brand.md in the Company handbook folder.
- Intent is to have a dedicated page for brand-related content that can
grow and be easily seen by and shared with contributors, rather than
buried in the communications page.
- Added example brand images.
- Adjusted handbook image width
https://github.com/user-attachments/assets/ead7e92a-9a21-4438-895d-a93103086e37
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
Fleet is for both "IT engineers" and "IT admins", let's be inclusive in
the other direction to avoid confusion when placed side by side with
"For CISOs"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **UI Updates**
* Reordered pricing mode options so the IT option appears before
Security.
* Updated IT option label text to better reflect its audience.
* Adjusted pricing-mode switch styling and responsive positioning so the
selected option aligns correctly across screen sizes.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45727?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
Changes:
- Updated the receive-from-stripe webhook to handle
`customer.subscription.updated` type events sent by Stripe when a
subscription's number of hosts is changed in the Stripe UI.
## Summary
- Swap "Integrations" and "Support" between footer sections: "Support"
now appears under Solutions, "Integrations" now appears under
Documentation
- Remove "Orchestration" link from the footer entirely
- Add new "Downloads" link (pointing to `/download`) under the
Documentation section
## Changes
**Solutions section:**
- Removed "Orchestration"
- Removed "Integrations"
- Added "Support"
**Documentation section:**
- Removed "Support"
- Added "Integrations"
- Added "Downloads" (`/download`)
---
Built for [Mike
McNeil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1779125879174289?thread_ts=1778225078.313209&cid=D0AFASLRHNU)
by [Kilo for Slack](https://kilo.ai/slack)
---------
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Add a list of form-based contact sources and set
Most_recent_campaign_member_status__c to 'Registered' when contactSource
matches any of them. This marks contacts originating from website
contact forms, webinars, gated docs, and related sources as registered.
The change includes an eslint-disable-line camelcase comment for the
Salesforce field name.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Enhanced contact registration tracking to automatically set
appropriate campaign status when contacts are registered through
form-based sources such as webinars.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45427)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Changes:
- Moved the files for four pages (linux-management, basic-comparison,
deployment, and gitops-workshop) out of the landing pages folder.
- Added policies for the moved pages
- Updated the URLs for pages in the landing pages folder to be prefixed
with /lp/, and added redirects that preserve query strings when
redirecting users.
- Created a section in the routes configuration for landing pages
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Implemented /lp/* landing-page paths with 301 redirects from legacy
URLs (query strings preserved).
* Added public access exceptions so selected marketing pages are
reachable without login.
* **Refactor**
* Reorganized routing and page templates to move several pages out of
the previous landing-pages area into dedicated page paths.
* Updated included page scripts and style imports to match the
reorganized pages.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45632)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added comprehensive support for managing Codex CLI (OpenAI's coding
agent) on Windows systems, including automated installation,
uninstallation, and verification that installed binaries match expected
versions
* Integrated Codex CLI icon component into the software interface for
improved visual identification and enhanced user experience when
managing this application
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/42397)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Register XCreds as a maintained app: add Homebrew cask (Casks/xcreds.rb)
and API/input JSON, add app metadata
(ee/maintained-apps/inputs/homebrew/xcreds.json), and include outputs
(apps.json and outputs/xcreds/darwin.json) with installer/uninstall
scripts and checks. Also add frontend icon component and asset
(XCreds.tsx, app-icon-xcreds-60x60@2x.png) and wire the icon into the
icons index mapping.
Reviewed with Mike T - colors are ok for landing page.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Launched the "Open Source" landing page with hero, CTAs, terminal
install snippet, feature sections, handbook callout, FAQ (with JSON‑LD),
interactive visuals and client-side page wiring.
* **Styles**
* Added comprehensive responsive styles across desktop and mobile
breakpoints.
* **UX**
* Testimonials are now reordered using a prioritized list to surface key
contributors.
* **Routing**
* New public route exposes the landing page and includes page metadata.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45453)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Updated landing page copy to position automated patching as inevitable
and emphasize predictable, weekend-capable, policy-driven updates.
* Reframed problem/solution messaging to highlight the costs of manual
packaging and promote catalog maintenance plus automated installations
with exception handling.
* Clarified patch-policy wording to state the product watches apps so
customers don’t need to write or update code.
* Removed one proof item and simplified platform/integrations
presentation.
* **Style**
* Adjusted proof-strip layout to a two-column grid for improved visual
balance.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45544)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
Closes: https://github.com/fleetdm/confidential/issues/15767
Changes:
- Updated the layout of release notes, guides, blog posts, and
announcement articles on mobile devices
- Updated the mobile navigation menu to have a search bar on release
notes, guides, blog posts, and announcement articles.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Mobile search added to article, release, guide, and announcement
pages; mobile menu exposes DocSearch.
* Search behavior updated to target article content more precisely
across desktop and mobile.
* **Style**
* Updated mobile header and search styling for improved usability.
* Improved responsive layout: breadcrumbs, sidebar, subtopics, and
article title spacing adjusted for small screens.
* Added mobile-specific "Suggest an edit" placement and refined element
visibility.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45416)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: https://github.com/fleetdm/fleet/issues/43242
Changes:
- Added /download, a page that has links to download the fleetctl
installers included in the latest release
- Updated the build-static-content script to send a request to GitHub to
get the download URLs of the latest released fleetctl installers.
- Update the parallax-city component to support a new prop that removes
the component's background when set.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a dedicated /download page with platform-specific installer
links, FAQ accordion, and copy-to-clipboard for code snippets (copy
buttons removed if unsupported).
* Added shortlink redirect from /downloads → /download.
* Sitemap now includes /download for better discoverability.
* **Style**
* New page styles and component styles, plus an option to render the
parallax city without a background.
* **Chores**
* Build now fetches and populates installer URLs automatically; the
download route is publicly accessible.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45504)
<!-- review_stack_entry_end -->
<!-- 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#44288
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a new "Learn More About Apple Setup Assistant" link that directs
users to Apple's official support documentation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
For apple mdm search terms
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Launched a dedicated Apple Device Management landing page with hero,
marketing sections, testimonials carousel, and bottom CTA.
* Added embedded video modal and client-side page behavior for
interactive presentation.
* Included page-specific styles and ensured the page is served at
/imagine/apple-mdm with updated route metadata.
* **Chores**
* Injected the new page bundle into the global layout.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45392)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
@eashaw, I also updated the intent signals for the receive-from-clay.js
to match create-historical-event.js
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
* **Improvements**
* Expanded system support for tracking additional customer interaction
types, including training attendance, meetings, forms, account updates,
and marketing activities.
* Added new event type for swag requests.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45443)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
to be published in landing page folder and not linked from the main
navigation
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added an Autonomous Endpoint Management landing page with full
marketing content, capability highlights, autonomous patching workflow,
GitOps messaging, and demo CTA.
* Includes a scrollable testimonials section, responsive styles across
breakpoints, and an interactive video modal.
* Page is reachable via a new route and loads the required client script
and styles.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45342)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: johnjeremiah <jjeremiah@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
Style fixes, including color and spacing.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Refined spacing and typography across the patch-faster landing page
for improved hierarchy and readability.
* Updated hero text (removed trailing period) and increased H1 size;
removed several section dividers for cleaner flow.
* Restyled proof strip into a light, bordered panel with darker neutral
text and adjusted highlight colors.
* Changed feature icon background to a light neutral; adjusted CTA
gradient start and internal spacing.
* Improved responsive paddings and gaps at tablet and desktop
breakpoints.
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45338)
<!-- 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:** Related to, but does not resolve, #45267
Adds a 12h cooldown period such that when npm is resolving dependencies
it will not resolve anything released less than 12 hours ago. This
doesn't apply globally within the fleet project because some portions
use yarn which #45267 will take care of however this does add it to our
CI jobs and the .npmrc files for projects that use npm
I was going to set this as NPM_CONFIG_MIN_RELEASE_AGE in a github EV but
that won't automatically set it on every runner so leaving it in here
for now
As far as QA local builds and CI are both green. Tested
NPM_CONFIG_MIN_RELEASE_AGE=0.5 and min-release-age=0.5(in npmrc) locally
using the npm package feed https://registry.npmjs.org/-/rss to verify
that recently updated packages either chose an older version OR the
update was blocked if I tried to choose a newer one
# Checklist for submitter
## Testing
- [x] QA'd all new/changed functionality manually
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Enhanced npm supply-chain security by implementing package
installation policies across build workflows and configuration files to
exclude packages released within the last 12 hours.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45268)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This is an experiment landing page to see if we get any different
results from his post
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added "Patch Faster" landing page with marketing content, responsive
styles, and page-level meta (title/description)
* Interactive demo request form with client-side validation, submission
flow, conversion tracking, and success state
* Integrations/platforms and proof sections plus a CTA and client script
to boot the page UI
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45278)
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
Changes:
- Updated the build-static-content script to modify links to embedded
YouTube videos to use youtube-nocookie.com instead
- Removed unused video modals on the homepage and orchestration page
- Updated embedded video links to use youtube-nocookie.com instead of
youtube
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Enhanced privacy for embedded YouTube videos site-wide by switching to
a privacy-focused embed domain.
* **Bug Fixes**
* Removed several end-of-page video modals (homepage and observability)
and consolidated homepage content into a preferences-focused modal;
minor content cleanup including a hidden identifier for page handling.
[](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/45275)
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: https://github.com/fleetdm/fleet/issues/45204
Changes:
- Updated the margins in the `purpose="feature-with-text"` divs on the
/device-management and /software-management pages
<!-- end of auto-generated comment: release notes by coderabbit.ai -->