Skip to content

fix: support Frappe v15 again - #1007

Merged
surajshetty3416 merged 1 commit into
frappe:developfrom
surajshetty3416:frappe-v15-floor
Oct 28, 2026
Merged

surajshetty3416 merged 1 commit into
frappe:developfrom
surajshetty3416:frappe-v15-floor

Conversation

@surajshetty3416

Copy link
Copy Markdown
Member

Lowers the Frappe floor to >=15.121.3,<18.0.0 so v15 benches can install and update Builder again. 15.121.3 is the first version-15 release whose @framework/ui has the telemetry and TrialBanner the frontend imports.

This undoes part of 9b3d6fb (#952). One range can't hold a floor per major version: bench and the FC agent read it with semantic_version.SimpleSpec, which rejects || next to commas. Pilot uses PEP 440, which has no ||. FC marketplace uses NpmSpec, which has no !=. So v16 benches from 16.0 to 16.36.0 pass the check again and fail at the asset build. Pilot reverts such an update on its own, and plain bench only ever printed a warning.

Two v15 runtime fixes:

  • frappe.in_test doesn't exist on v15. The standard folder and template page guards hit it outside developer mode. frappe.flags.in_test works on both.
  • The editor demo's script query joins Builder Client Script and sorts by idx, which v15 rejects as ambiguous (MySQL 1052).

Tested on a Frappe v15.121.3 bench (Python 3.11): bench get-app and the asset build pass, the dashboard and editor load, a page publishes and serves, and the folder guard and editor demo payload work. The console shows a 417 from pulse.client.boot_config: the version-15 telemetry backport has no such endpoint, so telemetry stays off there.

version-15 ships the @framework/ui telemetry and TrialBanner the
frontend imports from 15.121.3, so lower the floor to that.

Bench, Pilot and Frappe Cloud parse this range with three different
libraries and no syntax they share can hold a floor per major. v16
benches between 16.0 and 16.36.0 now pass the check and fail the asset
build instead; Pilot reverts such an update on its own.

Also fix the two v15 runtime gaps: frappe.in_test does not exist there
(frappe.flags.in_test works on both), and the editor demo's joined
script query sorted by an ambiguous idx.

Co-Authored-By: Claude <noreply@anthropic.com>
@surajshetty3416
surajshetty3416 merged commit 4338888 into frappe:develop Oct 28, 2026
6 of 7 checks passed
@codecov

codecov Bot commented Oct 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.03%. Comparing base (e9a6ac4) to head (e3e1c7a).
⚠️ Report is 2 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1007      +/-   ##
===========================================
+ Coverage    81.01%   81.03%   +0.01%     
===========================================
  Files           66       66              
  Lines         7137     7139       +2     
===========================================
+ Hits          5782     5785       +3     
+ Misses        1355     1354       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant