Commit graph

152 commits

Author SHA1 Message Date
Akhil Narang
68d52f6da7
chore(deps): bump pyopenssl to match cryptography
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-02-12 18:52:08 +05:30
Akhil Narang
9743f11ce5
chore(deps): bump cryptography to 44.0.1
This resolves GHSA-79v4-65xg-pq4g

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-02-12 18:37:41 +05:30
Ankush Menat
4c8e4a5874
build: bump gunicorn (#31184)
Prints traceback on req timeout for easier debugging
2025-02-07 14:44:08 +00:00
Ankush Menat
aa71072d4a
build: bump RQ to 2.x (#31141)
* build: bump RQ to 2.x

* fix: dont use colon for job IDs
2025-02-05 12:18:03 +00:00
Ankush Menat
c60f412c47
build: bump gunicorn (#31084) 2025-02-03 06:43:22 +00:00
Ankush Menat
59784850d6 Revert "build: bump gunicorn (#30928)"
This reverts commit 7a7b318662.
2025-02-03 10:23:41 +05:30
Ankush Menat
7a7b318662
build: bump gunicorn (#30928)
fast shutdown/restart fix: 4f74f4a4b8
2025-01-29 16:56:37 +05:30
Akhil Narang
00a6101780
chore(deps): bump RestrictedPython
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-01-24 16:40:10 +05:30
Sagar Vora
e7073a5f28
perf: faster LocalProxy (#29181)
* perf: faster `LocalProxy`

* refactor: use callable style local

* test: add some tests for local proxy override

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
2025-01-20 12:49:55 +00:00
Ankush Menat
daa52b8802
build!: Drop maxmind IP database (#29213)
1. It's severly outdated and free version isn't that accurate to begin
   with.
2. I replaced country detection using timezone a long time ago: c8ec528aa7/frappe/desk/page/setup_wizard/setup_wizard.js (L664-L676)

This is good enough for setup wizard for most popular countries. Use
IP-API if you need better guarantees (we have a license).
2025-01-17 12:03:09 +05:30
Ankush Menat
678d234bd9 build: switch to gunicorn fork
This adds request timeouts for gthread workers.

`gunicorn` repo isn't that active and this issue has been brought up
multiple times so I don't think it's gonna get fixed upstream. This is
our last resort.
2025-01-13 19:55:28 +05:30
Ankush Menat
924d615609 build(deps): bump gunicorn to latest
Nothing breaking seems to affect us, can roll out after some internal
testing for a while.
2025-01-10 16:37:58 +05:30
Ankush Menat
3788f30b5b
perf: reduce RQ Worker's polling frequency (#28957) 2024-12-30 14:37:00 +05:30
Ankush Menat
416919e880
Revert "feat: Use RESP3 for Redis cache connections (#28929)" (#28938)
This reverts commit 6f7b4c412e.
2024-12-27 13:19:35 +00:00
Ankush Menat
6f7b4c412e
feat: Use RESP3 for Redis cache connections (#28929)
RESP3 has PUSH support which is useful for implementing client side
caching. Enabling this before I work on that to test if anything breaks
with this.

No need to do this for background jobs instance just yet, infrequent
accesses and performance doesn't matter as much.
2024-12-27 06:15:59 +00:00
Ankush Menat
11a6dfb6a0
revert: bencher/bench intrface (#28925) 2024-12-26 14:41:36 +00:00
David Arnold
fef569e284
refactor: simplify bencher (#28694)
* chore: flatten bencher class layout

* chore: rename bencher to clarify

* docs: add file level docstrings
2024-12-07 14:10:03 +00:00
David Arnold
3d71f594d8
refactor: bench class inauguration (#28158)
* feat: Add bench layout classes and configuration handler

Bench layout: (`frappe.bench`)

- Layout by env variable, e.g. FRAPPE_BENCH_PATH, FRAPPE_SITES_PATH, etc
- Detecting modules and apps by the presence of a sentinel .frappe file
- Site is scoped by frappe.local.site_name (thread safe)

Config handler: (`frappe.bench.sites{,.site}.config`)

- Optional config registry for better discovery; warning if not specced
- Env variable overload with `FRAPPE_` prefix

* chore: type frappe.config

* chore: type frappe.bencher

* chore: py310 compat
2024-12-06 19:07:34 +01:00
David Arnold
75377aaaf5
refactor(typing): type filters (#28218)
* chore(typing): type filters

* chore(typing): type filters for get_list et al

* fix: dashboard chart filter expression

* test: fix case with new-style right hand object to equality check

* chore: place new typed filter under typing verification

* chore: remove debug print statment

* chore: inverse logic of type guard

* fix: add float to filter value types

* chore: clarify value naming
2024-12-04 23:18:53 +00:00
David Arnold
d3cbd2d4be
fix: type narrowing (#28673) 2024-12-04 16:58:37 +00:00
Akhil Narang
a390992408
chore: python3.13 support (#28624)
* chore: python3.13 support

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* chore: bump pydantic

```
  error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version (3.12)
        = help: please check if an updated version of PyO3 is available. Current version: 0.21.2
        = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
```

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* chore: bump uuid-utils

https://katb.in/ahaqabugefo

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* chore: bump RestrictedPython

7.4 has support for py3.13
https://restrictedpython.readthedocs.io/en/latest/changes.html#id1

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* fix(deprecation_dumpster): import functools uncondtionally

Used here: 60f0b1d5c7/frappe/deprecation_dumpster.py (L177C10-L177C19)

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* chore(docref): improve error message

* fix: error on unability to hash; TypeError expected

* fix: migrate from 3.10 onwards

---------

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Co-authored-by: David <dgx.arnold@gmail.com>
2024-12-04 15:35:06 +00:00
Akhil Narang
df584ab891
chore: bump ruff
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2024-12-04 13:17:59 +05:30
David Arnold
e2a8c7fed3
test: fix universal type checker based on downstream use and more testing (#28619)
* test: fix universal type checker based on downstream use and more testing

* fix: type validation error reporting

* fix: types; various

* chore: switch off test-time type checking

still too many errors
2024-11-28 23:35:32 +01:00
David Arnold
9edd44de01
ci: this adds universal runtime typechecking during tests to test runners (#28554)
* ci: this adds universal runtime typechecking during tests to test runners

* ci: add configuration options for test-time type checking
2024-11-28 15:11:30 +00:00
David Arnold
9ed08706a2
ci: make db-migration arifact part of the workflow inputs (#28604)
* ci: make db-migration arifact part of the workflow inputs

* ci: chore cleanup

* ci: introduce
2024-11-27 21:18:20 +01:00
David Arnold
894c7d871c
ci: prepare shared action for concrete downstream use (#28572)
* ci: cleanup setup action

* ci: make migration & setup downstream-ready

* ci: replace obscure bench remove-app with an equivalent rm -rf
2024-11-26 17:11:08 +00:00
Akhil Narang
076cefc09a
chore(deps): bump Pillow
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2024-11-22 16:24:02 +05:30
Akhil Narang
e4b7c89910
chore(deps): bump redis and hiredis
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2024-11-22 16:14:14 +05:30
David Arnold
46a0814287
chore: start with type checking (#28190) 2024-10-24 21:56:25 +00:00
David Arnold
8d6f8bce01
chore(typing): add some more typing to frappe.__init__ (#28215) 2024-10-21 11:30:11 +00:00
David Arnold
93d25424b8
build: pin node version to release-tested version 20 (#28201) 2024-10-20 18:24:39 +00:00
David Arnold
085d2b7803
feat: declare system dependencies for frappix (#28197) 2024-10-20 16:34:04 +00:00
David
f2b42b6d5c
chore: also improve the pdb test mode 2024-09-13 17:07:04 +02:00
Akhil Narang
4eac35081c
Merge pull request #26395 from barredterra/address-autocomplete
feat: address autocomplete dialog
2024-09-06 15:04:01 +05:30
Akhil Narang
6a7302e594
chore(deps): bump cryptography
(and `pyOpenSSL` to go along with it)

`pip-audit` is complaining about this
Resolves https://github.com/advisories/GHSA-h4gh-qq45-vh27

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2024-09-04 17:02:05 +05:30
Raffael Meyer
81b8b84b64
chore: bump pycountry to v24.6.1 2024-08-28 16:48:01 +02:00
Raffael Meyer
594b0a2536
Merge branch 'develop' into address-autocomplete 2024-08-28 11:14:43 +02:00
Rushabh Mehta
398657c7fa fix(minor): test 2024-08-14 16:13:57 +05:30
Rushabh Mehta
1d678146a9 fix(styles): cleaner sidebars for list and form 2024-08-14 16:13:57 +05:30
Raffael Meyer
e57ca79783
feat: flesh out boilerplate for script report (#27301) 2024-08-08 11:32:56 +02:00
Akhil Narang
7ffe82956d
chore(deps): pin pydyf to 0.10.0
weasyprint had a loose requirement of >=0.6.0 earlier
pydyf changed their constructor in 0.11.0

Later versions of weasyprint would work (they did pin their
dependencies, but there's still a conflict due to `bleach[css]`

The conflict is caused by:
    weasyprint 62.3 depends on tinycss2>=1.3.0
    bleach[css] 6.0.0 depends on tinycss2<1.2 and >=1.1.0; extra == "css"

For now, pinning this is the simplest solution until we upgrade other
packages as well

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2024-07-17 14:14:05 +05:30
Raffael Meyer
55e71031e6
chore: bump boto3 to 1.34.143 (#27094) 2024-07-12 19:18:11 +02:00
barredterra
f6c4c94f70 feat: add HERE as geolocation provider 2024-06-22 15:40:11 +02:00
barredterra
b53203e14c feat: download Contact as vCard 2024-06-16 17:49:16 +02:00
Ankush Menat
148b3f771d
build: bump RQ to latest (#26576)
* build: Bump RQ

Latest version simplifies workerpool extension a bit

* fix: Disable RQ's scheduler

It's now enabled by default with no easy way to disable it except
upstream change or overriding the run_worker method. So better to
disable it with custom worker class.
2024-05-27 13:54:34 +00:00
Ankush Menat
433e7281f7 feat: make running scheduler with worker optional 2024-05-27 12:14:15 +05:30
dependabot[bot]
ba199f8e4b
--- (#26520)
updated-dependencies:
- dependency-name: pymysql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-22 12:06:04 +05:30
Ankush Menat
1b025c76da
build: Bump requests (#26501)
Minor security issue, not really used by us this way afaik.
2024-05-21 07:59:18 +00:00
Ankush Menat
5ca14bb171 feat: FC specific update notifications 2024-05-04 15:08:34 +05:30
Ankush Menat
723e557da7
build: bump gunicorn (#25980)
https://github.com/benoitc/gunicorn/releases/tag/22.0.0
2024-04-17 10:44:53 +05:30