buildOne report1 publisher Django 6.1 cuts hardened password hashes down to its new 1.5M-iteration default at login
Django 6.1 raised its default PBKDF2 iteration count from 1.2M to 1.5M, adding about 50 to 90ms of CPU per login in a dev.to benchmark. The same tests show each stored hash rewritten on its owner's next login, including hashes deliberately set stronger than the new default.
Reality
- Evidence58
- Adoption
- Not scored
- Hype gap+20
- Incentives
- Not scored
- Confidence55
buildOne report1 publisher MaxKB's CVSS 10.0 patch re-quotes shell commands without gating the agent's execute tool
MaxKB's v2.10.5-lts fix for a CVSS 10.0 agent flaw repairs shell quoting but leaves the execute tool off the approval list. According to one developer's trace of the release tag, a prompt planted in ingested documents can still trigger shell commands with no human sign-off.
Reality
- Evidence45
- Adoption
- Not scored
- Hype gap+25
- Incentives30
- Confidence40
buildOne report1 publisher Seven passing acceptance checks missed a team history log that named a hackathon's judges
Shipshape's team-only history log would have shown hackathon teams their judges, scoring times and conflict notes despite seven passing acceptance checks. Its role tests checked who could open each page, while the leak was in what that page printed for the team members allowed in.
Reality
- Evidence45
- Adoption
- Not scored
- Hype gap+5
- Incentives
- Not scored
- Confidence50
buildOne report1 publisher Django's icontains steered Postgres around a trigram index by wrapping the column in UPPER()
Django's icontains made Postgres filter UPPER(product_name) while a team's pg_trgm index covered the raw column, so product searches ran for several seconds. Having the indexes proved nothing until the team read the generated SQL beside the query plan.
Reality
- Evidence58
- Adoption
- Not scored
- Hype gap−5
- Incentives
- Not scored
- Confidence60
buildOne report1 publisher Django-Modern-Rest 0.16.0 puts Pydantic, msgspec and attrs schemas between agents and business logic
Django-Modern-Rest 0.16.0 ships with Pydantic, msgspec and attrs support, so a typed body can reject a malformed agent call before business logic. How strict that rejection is in production comes down to the model each endpoint declares.
Reality
- Evidence35
- Adoption
- Not scored
- Hype gap+30
- Incentives
- Not scored
- Confidence35
buildConfirmed2 publishers The IETF published RFC 10008 in June 2026 and IANA registered QUERY as safe and idempotent, so a structured read no longer has to travel as a POST. Whether the response stays cacheable depends on the caches on the path.
Reality
- Evidence68
- Adoption15
- Hype gap+5
- Incentives
- Not scored
- Confidence65
buildConfirmed2 publishers Cloudflare made Python Workers generally available on September 21, moving binding type conversion into the runtime and adding ASGI and WSGI connectors for FastAPI, Django and Flask. Outbound TCP still goes through JavaScript's connect().
Perspective Coverage
3 publishers
- Builder
- Builder 70%
- Operator
- Operator 20%
- Investor
- Investor 10%
Reality
- Evidence60
- Adoption
- Not scored
- Hype gap+20
- Incentives65
- Confidence70
buildOne report1 publisher Healthchecks turns the missing backup ping into the alarm
Self-hosted Healthchecks v4.4 expects every cron job to check in after a successful run, and it alerts when the ping is late by more than the grace time. Getting the container up takes three settings the guides get wrong.
Reality
- Evidence64
- Adoption12
- Hype gap+9
- Incentives28
- Confidence61
buildOne report1 publisher Offset pagination makes every page request pay for a count over the tenant's whole table
A dev.to account traces missing adgroup data for a platform's largest clients to the count query behind a page index, and its case that AI agents need stable cursors rests on the same four-year-old incident.
Reality
- Evidence30
- Adoption
- Not scored
- Hype gap+30
- Incentives30
- Confidence42
buildOne report1 publisher A Django MCP handler reaches the ORM with only a tool name and an arguments dict
A consultancy's account of production MCP work on Django client apps calls the protocol a transport layer. Its sample server calls django.setup(), imports the Order model, and dispatches tool calls on a string.
Reality
- Evidence60
- Adoption25
- Hype gap+12
- Incentives55
- Confidence55
buildOne report1 publisher VanillaPM's charter generator reads only the three documents its dependency graph declares
The Django tool caps each input document at 8,000 characters and the whole grounding context at 40,000. Its system prompt tells the model to name the missing input in one sentence when the data is not there.
Reality
- Evidence58
- Adoption
- Not scored
- Hype gap+28
- Incentives68
- Confidence46
Rust in front of Django buys 311,000 requests a second on a static JSON endpoint
Django-Bolt's published figure comes from an endpoint that returns a fixed response, and a devops.com analysis argues the number a team actually needs is one from its own endpoint with authentication and database queries still in the path.
Reality
- Evidence35
- Adoption
- Not scored
- Hype gap+15
- Incentives55
- Confidence45
buildOne report1 publisher FETCH_PEERS trades 1,999 Django round trips for one IN clause
Django 6.1's queryset-level fetch_mode took a 2,001-query loop down to two in a Postgres test and did the same for deferred fields, but not for the reverse foreign key managers on the many side of a relation.
Reality
- Evidence66
- Adoption20
- Hype gap+12
- Incentives28
- Confidence58
buildOne report1 publisher A six-second NocoBase bulk update overwrote a row that had stopped matching the filter
The filter appears once, in the SELECT that collects primary keys, and the writes then go out one statement per row keyed on id. Anything that changes a row in between is overwritten, and the window grows with the row count.
Reality
- Evidence68
- Adoption
- Not scored
- Hype gap+12
- Incentives30
- Confidence62
buildOne report1 publisher A name-matching SQL scanner missed four of five documented injection CVEs
inlet finds Python SQL call sites by matching names, and in four of five packages with documented injection CVEs the vulnerable string reached the database through a framework helper instead. Its author published the 0 for 5.
Reality
- Evidence55
- Adoption
- Not scored
- Hype gap−20
- Incentives45
- Confidence50
buildOne report1 publisher A .filter() inside the loop turns prefetch_related into a query per order
Ten orders with a filtered accessor measured twelve queries with the eager load against eleven without it, and the same fixture behaves identically on Django 4.2 and 6.1, so there is no version boundary to wait out.
Reality
- Evidence60
- Adoption40
- Hype gap−15
- Incentives25
- Confidence58
buildOne report1 publisher Kraken moved its Celery queues to a new vhost before touching RabbitMQ 4
RabbitMQ 4.2.2 drops global QoS and classic queue mirroring, so a Celery task with an ETA parks its worker until the ETA arrives. Because a queue's type is fixed at declaration, the fix has to land in the application first.
Reality
- Evidence45
- Adoption30
- Hype gap+25
- Incentives25
- Confidence50
buildOne report1 publisher Measuring each patch against the human fix on the same bug leaves 13 of 14 models messier
The study counts only complexity and dead code, because those are the two pyscn metrics that stay exact when you analyze just the files a patch touched. The human's own commit trips the same rule 24% of the time.
Reality
- Evidence55
- Adoption20
- Hype gap+12
- Incentives62
- Confidence60
buildOne report1 publisher Django's boring core is paying for the churn in everything above it
The fifth Django Developers Survey puts PostgreSQL at 76 to 79 percent for five straight years. That kind of stillness in the core is why a team can rip out its packaging, linting and typing all at once.
Reality
- Evidence46
- Adoption71
- Hype gap+14
- Incentives80
- Confidence52
buildOne report1 publisher The empty layer called 1: a generic GIS schema moved SQL injection into the view builder
Storing 2.7 million features in three tables was the right call. Handing the tile server one view per layer put a user-editable string into DDL, and an empty layer was the only alarm.
Reality
- Evidence62
- Adoption22
- Hype gap−8
- Incentives24
- Confidence58