v0.42.0
·
1764 commits
to master
since this release
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_methodinstead ofset_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_rolein 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)