Skip to content

v0.42.0

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 10 Jun 10:22
· 1764 commits to master since this release
ecb2430

0.42.0 (2026-06-10)

Bug Fixes

  • Add email template (293b2d2)
  • Add enabled flag for existing source (0427ed9)
  • allow static props in router.js (c7f5cca)
  • auditor: Perm checks ignore when creating from release (fc2486b)
  • backend: Do not sync firewall on server doc insert (ccab8ee)
  • backend: Missing team ownership check when updating invitation role (7825a63)
  • backend: Missing validations on team invites (9cc8a32)
  • backend: Permission conditions for press role (5a24b14)
  • backend: Role: use run_doc_method instead of set_value (e95d65e)
  • backend: Team Member Resource: skip validate if sync job (16722c7)
  • backend: Team: validate role before setting (992dd1b)
  • batch team ownership check in sync_press_role (e9d9daf)
  • bench: Add assertion to prevent future errors (d465f89)
  • bench: Lower name limit to allow for number append (7c7198d)
  • billing: Uncomment razorpay import in billing utility (d6e3549)
  • blog: update astro version and metadata in md file (ecba60f)
  • build: Ensure no race conditions occur when patch building (743fbb3)
  • build: In case of app changes don't allow instant builds (a082c41)
  • build: Merge conflict (bdc7a6c)
  • cluster: Correct quota overcount on resize and missing plan lookup (ac0408f)
  • cluster: Count all VMs for cloud quota checks (dc2ef00)
  • cluster: Guard against None return from get_value in quota check (be12464)
  • collapsable: add aria-expanded prop for css styling (d1879b3)
  • dashboard: Make site error messages actionable (49d0a60)
  • dashboard: Roles: use pretty string for user facing messages (d020f44)
  • dashboard: Team resources dialog trigger width (7c7ce65)
  • dashboard: Team: handle possible undefined when fetching roles (3f7f8c9)
  • dashboard: Team: move role selector to right (14019b5)
  • database-server: Don't create static ip log from database server in case of unified server (eebe935)
  • deploy-candidate-build: Skip adding flaky index on local (d5e85e2)
  • deploy-candidate: Show app name in fetch error notification (70684d6)
  • deploy-ui: add guards to prevent socket leaks for old deployview (d396fd9)
  • deploy-ui: add loader if data not found initially (3b0cd2f)
  • deploy-ui: add missing immediate prop for watch() (78df59c)
  • deploy-ui: add old deploy btn for oldeploy view (06e5f83)
  • deploy-ui: add proper guards for socket unsubscribes (024a0d4)
  • deploy-ui: add skeleton loader if stages dont exist (5b948b8)
  • deploy-ui: add smooth skeleton loader (91db05b)
  • deploy-ui: add some null checks (85b044b)
  • deploy-ui: agentjobs not saving in state (9c85f29)
  • deploy-ui: attach socket for running pipeline status too (28080f8)
  • deploy-ui: autoexpand building stage accordion (31d9b8a)
  • deploy-ui: Avoid showing new bench job name label (5fd91b8)
  • deploy-ui: back link (f6589ee)
  • deploy-ui: better warning err colors (d7371a8)
  • deploy-ui: broken url for older deploys & better padding (975df68)
  • deploy-ui: decrease height (17b07f6)
  • deploy-ui: disable benchs accordion if jobs are empty (0d4ca5c)
  • deploy-ui: disable building stage if no buildsteps (98bea2a)
  • deploy-ui: disable loader if onsuccess hook on resource fails (54cf683)
  • deploy-ui: dont attach socket if deploy finished (d723d33)
  • deploy-ui: dont fallback to cmd for cached buildsteps in output (cc682d5)
  • deploy-ui: dont run agentjob steps logic for old deployview (d089f58)
  • deploy-ui: errors not showing on cached data (6da8ebe)
  • deploy-ui: fallback to resource reload (f679afc)
  • deploy-ui: filter out older deploys at certain date (ca877a4)
  • deploy-ui: handle agentjobs socket stuff properly (399b619)
  • deploy-ui: hide appversion option for pipelines (3135cc6)
  • deploy-ui: improve scrollbar experience (c996237)
  • deploy-ui: improve spacing and better err output colors (8706b64)
  • deploy-ui: include old build loading state for skeleton loader (b4c8fb2)
  • deploy-ui: include temporary loading spinner for now (ec1375e)
  • deploy-ui: make loaders more consistent (2d2a129)
  • deploy-ui: make output header btns accessible (1c19c8e)
  • deploy-ui: make socketids set reactive (646b69c)
  • deploy-ui: misc (59e8d7a)
  • deploy-ui: missing scrollbar in output (37655a6)
  • deploy-ui: padding of steps (bc550a3)
  • deploy-ui: prevent infinite loading state if resource is cached (7abc88b)
  • deploy-ui: redirect to pipeline page after deploying starts (6d22218)
  • deploy-ui: remove skeleton loader jumpscares (7a3d1f6)
  • deploy-ui: remove validate/deploy progress loader btns from bench header (df9762f)
  • deploy-ui: shorten server name in agent job steps header (75bd741)
  • deploy-ui: show duration for non collapsable steps (2af16a2)
  • deploy-ui: show loader by default until data exists (45aec23)
  • deploy-ui: show pre-build errors (dc2ca90)
  • deploy-ui: unify old deploys and pipeline in one page (cd46b9d)
  • deploy-ui: update view in desk link for both (020411c)
  • deploy-ui: various fixes (c0587e8)
  • deploy-view: handle deploy last stage properly for old view (236dc9a)
  • deploy-view: show app version option only if data available (ffa6e97)
  • deploys: use table layout classes to create table (8e5285d)
  • deploy: Treat lockfile changes as build-requiring (a74102d)
  • domain: Dont allow to add parent domain (56a1c46)
  • domain: Dont allow to add parent domain (85bd82a)
  • extension: Set status as active before submit (fcc796a)
  • groups object circular dependency (4963fd4)
  • guard add_resource and sync against cross-team docs (d8ffac8)
  • guide-to-ui-testing: Revise instructions (bf5bcc6)
  • Handle perm checks (3eb0873)
  • improve non-actionable error message in patch build check (01cca57)
  • incident-test: Fix test_no_calls_before_investigator_actions (4188354)
  • invite_signup: Allow invite link to go invalid after 24 hours (fff40bb)
  • Invoke _send_backup_failure_email_to_user conditionally (afa4342)
  • json: Remove trailing comma (a8bee57)
  • limits: Check old doc (eb40f96)
  • limits: Convert int to float (05e3aa0)
  • limits: Convert invoice total in usd (75892ef)
  • limits: Correct currency conversion (34b9b9c)
  • limits: Include monthly cost of add on storage (590ac78)
  • limits: Remove redundant code (1dbdfd7)
  • limits: Rename tiers to limits in dashboard (7af3737)
  • limits: Set default tier for new accounts (3205b73)
  • limits: Update current spending amount in tier info page (99c9193)
  • Linter issue (f5e3f06)
  • manage-product-warranty: Fix docs link (a638707)
  • manage-product-warranty: Fix site warranty count query (69da7c5)
  • marketplace: Add 'Press User' role permissions (79a8b37)
  • marketplace: Improve branch name extraction & missing app sources (084a92b)
  • mcp: Allow options endpoint for mcp server (332df3c)
  • mcp: Explain the error messages in frappe.throw (2b15b7a)
  • mcp: Fix the linting issues (26099d7)
  • mcp: Harden proc and sys path guards (9674ba9)
  • mcp: Harden server reboot validation (552fd35)
  • mcp: Limit stuck job cancellation batch (276961f)
  • mcp: Redact app clone errors (1ca6507)
  • mcp: Redact credentials in HTTP/HTTPS userinfo URLs (305e2f7)
  • mcp: Sanitize telemetry client error messages (081f1d9)
  • mcp: Temporarily use fork of mcp for click version issue (83297df)
  • mcp: Tighten server path and bench metadata guards (b9026d7)
  • mcp: Validate document filter values (86e0f94)
  • Misc (static ip billing) (#6509) (9cb47a8)
  • mypy: Add frappe_mcp in mypy ignore import (25aba32)
  • mypy: Ignore ansible stub (c24c87b)
  • mypy: Ignore playwright.sync_api (5b2c4d0)
  • notifications: Follow better notification format (c1c0ed6)
  • Notify user if all backup attempts fail (4ca2a33)
  • Null check for fetched cert (9fc84e9)
  • onboarding: Allow partner manager role perms on onboarding (5b482b4)
  • onboarding: Enhance error messages (1e7e57f)
  • onboarding: Improve revenue currency sync logic (e7fd7ba)
  • onboarding: Realtime listeners (f976da7)
  • onboarding: Registration state not persisting (897d609)
  • onboarding: Update approval and rejection perm to Partner Manager (e3482ab)
  • onboarding: Update perm issues (9920682)
  • partner-onboarding: Update autoname format to remove company_name (119ceda)
  • permission: remove row_format from user ssh certificate doctype (6f10d1a)
  • permission: set user ssh certificate modified_by to Administrator (a017eaa)
  • permissions: Patch permissions in release pipeline (85eadae)
  • permission: User SSH Certificate perms for site manager (620fa9c)
  • Pick only enabled Root Domains for Product Trials (444ea37)
  • Pick only enabled Root Domains for Product Trials' cluster domains (31d832b)
  • pipeline-ui: adapt component for old candidate build flow (eef87bb)
  • plan_instance_type: Sync server plans from prod (f9eebc6)
  • press-mcp: Remove mcp handling route from whitelist (df83990)
  • prm: Auto approve partner request if team is year old (d38bb59)
  • prm: Consider unpaid invoices as well before 15th (d01ba7c)
  • pulse: Don't capture in background job (c734b75)
  • release_pipeline: add a guard for workflow steps (60ef634)
  • rename Awaiting Deploy to Deploying in release_group get_status() (70ab53e)
  • resolve merge conflicts with origin/master (68840b8)
  • roles: Change deletion condition (fce2209)
  • runner: Patch Ansible hooks once at import to survive job timeout (2df06a7)
  • saas: Check invoice access (7698d94)
  • server-plan-fixtures: Change m7g platform from x86_64 to arm64 (390960c)
  • server-plan-fixtures: Update roles to Press User (0a270e8)
  • server: ability to add reason directly when archiving to not create duplicate server activity log (0ba4a45)
  • server: Block no-op plan change on Hetzner before resize job (6b0f558)
  • server: Don't create static ip log if static ip plan for the provider doesn't exist (8964377)
  • server: Ensure server is archived after VM termination (575c6a8)
  • server: In Archive job allow to archive server with no instance id (70ddbf3)
  • server: In resizer server job, reload server before checking plan changes (fc3c10c)
  • Set frappe-mcp version 0.1.0 (bcd1439)
  • settings: Re-add warranty fields (1f9c425)
  • sidebar: add tooltip on item hover when collapsed (cebb13f)
  • sidebar: go back to using popover for notifpanel (11a8522)
  • sidebar: go back to using popover for notifpanel (0fd5f69)
  • sidebar: make collapse persistent (94d1d5d)
  • sidebar: make collapse persistent (c06e62c)
  • sidebar: notifications not showing due to overflow-hidden (5409ca6)
  • sidebar: padding for itemgroup (b704de3)
  • sidebar: pass prefix as func instead in navlist (2515242)
  • sidebar: set 250px as default width (ff62bc5)
  • sidebar: truncate user email properly (351ec33)
  • sidebar: truncate user email properly (34d43aa)
  • sidebar: user email getting cropped (2e6199e)
  • signup: Commit db state to unlock db causing empty standby_site to return (c580df1)
  • signup: Commit db state to unlock db causing empty standby_site to return (888c47e)
  • signup: Commit db state to unlock db causing empty standby_site to return (20def66)
  • signup: Inviting new user expiration link is set for 24 hours (9e8bca8)
  • site-domain: Allow adding custom domains if the domain ip matches the proxy ip (#6658) (477fb25)
  • site-migration: Don't remove site entry from proxy if only doing server migration (#6497) (b29fe00)
  • site-migration: only remove site from source proxy of the proxy servers are diff in server migration (#6513) (a4158f8)
  • site-update: Notify user when scheduled site update fails (4cf007a)
  • site-update: Re-check validations on start (3a4f2a4)
  • site-update: Remove unnecessary bolding (3c16f07)
  • site-update: Stop polling when update status is Cancelled (110e71c)
  • site-update: Use cancelled instead of failure (9d51a8d)
  • site: Concise error message (0a345db)
  • site: Fixing tests (00aadc1)
  • site: Fixing tests (8dab901)
  • static-ip-log: Don't check if an active subscription is there when trying to disabling subscription (d27648a)
  • static-ip-plan: support for only daily interval (2bad3d2)
  • stripe: Add capture in background for prepaid credits (2e54cf4)
  • stripe: Add timeout for sending telemetry info (0cb8e2a)
  • stripe: Capture all invoice failed events (5c36ada)
  • stripe: Don't call pulse at module level (ef86b0f)
  • stripe: Don't update invoice if already updated (40d49dd)
  • stripe: Make sure invoice is submitted (fb99c41)
  • subscription: check if subscription is enabled when checking for duplicate subscription (a82ed49)
  • support: Add type annotations to module-level test constants (d37719c)
  • support: Commit failure state before re-raising in run (53ee727)
  • support: Commit failure state before re-raising in run (9511abf)
  • support: Commit failure state before re-raising in run (984c273)
  • support: Correct site update statuses and add Investigate button (3750a20)
  • support: Read web.error.log from bench, not site (6e83a13)
  • support: Replace NaN float idiom in Prometheus value parser (9bac3d8)
  • support: Strip server and bench identifiers before sending to model (0c02e8a)
  • support: Suppress semgrep rule on timeout error in Claude client (f4632f4)
  • support: Validate API key at entry point before calling Claude (999ab9b)
  • team: Use custom role name in selector (2f32dbb)
  • test: Allow patch builds in tests (a5e659d)
  • test: Magic Mock magic (ea6e3ec)
  • tests: Set user context before creating test marketplace app plan (5851816)
  • tls: Retrigger pending site domain TLS callbacks daily (25bc1f6)
  • Update whitelist decorator (2687aa7)
  • Validate plan type and plan before calling get_value (a82cfc6)
  • virtual-machine: ignore perm when updating servers related to the vm (5524957)
  • virtual-machine: Power Off and Power On instead of hetzner reboot (2f7679b)
  • virtual-machine: Power off for stop instead of shutdown (f326513)
  • vm: Delete Hetzner server if network attachment fails (dc5f8f3)

Features

  • Add feature flag in press settings for mcp (671a21d)
  • Add partner onboarding ui (2ae12c1)
  • Apply suggestions from code review (5a62c6c)
  • Apply suggestions from greptile code review (1a98d46)
  • backend: Add press_role in account request (0500670)
  • build: Better modal for patch update (ae06445)
  • build: Diff docker commits (e735038)
  • build: Ensure instant deploy is not default (1745b15)
  • build: Integrate instant deploys with new flow (228dff5)
  • build: Only show instant build option if supported (3852e93)
  • build: Realtime output streaming for instant builds (26fd075)
  • cluster: Block provision and resize when provider quota exceeded (852f2be)
  • dashboard: Role selector when inviting user (2c2357b)
  • dashboard: Roles page (beta) (4c22fb6)
  • deploy-ui: auto switch to issues tab on Failure (2620974)
  • deploy-ui: auto switch to issues tab on Failure properly (30ee050)
  • deploy-ui: automatically set output (0dbefa6)
  • deploy-ui: autoscroll build steps on autoselection (6e67634)
  • deploy-ui: autoscroll output whenevr it updates during realtime (fa415c1)
  • deploy-ui: include agent job steps in deploying stage (5d85cad)
  • deploy-ui: line height for errors (4e8954b)
  • incident: Make night shift call limit configurable via Settings (0666b57)
  • incident: Resolve if sites recover before calling humans (f12bb1c)
  • marketplace: Wire up permissions for Marketplace App and App Plan (d110e80)
  • mcp: Add codebase access tools for site/bench debugging (d63a602)
  • mcp: Add direct agent job lookup for documents (60ad258)
  • mcp: Add guarded bench action tools (78c4dec)
  • mcp: Add guarded server action tools (a21245b)
  • mcp: Add incident action tools (295ac1e)
  • mcp: Add MCP for fetching various doctypes context wise (905841b)
  • mcp: Add MCP for inspecting metrics, logs, traces (3164fac)
  • mcp: Explain press dashboard and desk URLs (869c795)
  • on-call: Add night shift support for on-call rotation (af219c3)
  • on-call: Fall back to default users after call limit (2342a93)
  • onboarding: Add diff toast component for onboardings (811920e)
  • onboarding: Add inc certificate upload (185b8a3)
  • onboarding: Add MRR tracking and unregister functionality (a98d7c9)
  • onboarding: Add Partner Onboarding modal (b18fc54)
  • onboarding: Add partnership agreement link in checkbox (5f97c3c)
  • onboarding: Add real-time updates for partner onboarding status (4728cf1)
  • onboarding: Add tooltip for incorporation certificate upload (2877012)
  • onboarding: Enhance Partner Onboarding finishings (1247dd2)
  • onboarding: Enhance partner onboarding links and better UX (dd03f1c)
  • onboarding: Enhance Partner Onboarding process with new components (1f0f81c)
  • onboarding: Expand certificate link request handling (0d8773a)
  • onboarding: Implement real-time MRR updates and clean up onboarding logic (221d9bf)
  • onboarding: Integrate real-time updates and update certificate status (e030a82)
  • onboarding: Polish form validation, error handling and perms (4f4467d)
  • onboarding: Update company information forms (c0ad8f1)
  • onboarding: Update resource links in OnboardingRightSidebarLayout (ebb7d2b)
  • onboarding: Wire up certificate linking functionality (eff7802)
  • onboarding: Wire up partner navigation (3fdd8dd)
  • partner-onboarding: Add Partner Onboarding doctype (548a14b)
  • partner-tier: Allow guest read permission (2275e19)
  • scrollbar: support horizontal orientation (ebba39e)
  • server: On resize server failure, start machine and rollback plan (f1a5460)
  • sidebar: Allow collaps/expand (f721a52)
  • sidebar: collapse animation (435290b)
  • site-update: Add banner in dashboard for validation failure (640a3f0)
  • site-update: Show cancellation notification banner on updates list (464baa1)
  • site: Add db_user in site config blacklist (00979c2)
  • site: Skip deletion of bahrain backups during archival (0b2ca86)
  • stripe: Add pulse telemetry to track stripe events (899a38b)
  • support: Add Claude AI analysis to support agent investigations (21a0cdb)
  • support: Add server metrics and performance collectors (842a9d6)
  • support: add support agent investigation (b98cc4e)
  • support: Automatically collect web.error.log in investigations (ee566e9)
  • support: Collect bench process status for 502 investigations (3fb3057)
  • support: Collect probe uptime; strip site name from model prompt (127571a)
  • support: Detect slow and custom-app endpoints in summary (b90bc92)
  • support: Surface custom-app and spiky endpoints in report (c9f9e17)
  • test: Add tests for when the patch build can be run (99e9d4c)
  • ui: Enhance error display styling and ux (e456db9)
  • ui: Enhance micro UI in partner onboarding (fe0494d)
  • Use frappe/mcp instead of custom fork (2df6005)

Performance Improvements

  • deploy-ui: attach socket onSuccess & rm manual loader logic (e24f256)