A self-hosted container kept failing to reach one site. Plain DNS lookups through most public resolvers returned one IP address; Cloudflare's DNS-over-HTTPS returned a different one. The first address belonged to the ISP.
Karthikey Hegde's write-up (3 November) corrects three assumptions that came up in the replies:
• DNSSEC signs answers, it does not encrypt them. Queries still travel in plain text, and validation only helps when the domain is signed. The post cites the October 2026 Defaults.Exposed census: 7.03% of graded domains have a valid, fully validating DNSSEC chain.
• Running your own resolver (Unbound) does not hide queries either. It talks to several nameservers over plain DNS unless you forward to a resolver over DNS-over-TLS.
• DoH and DoT encrypt the trip, not the resolver. You still trust whoever runs it, and the ISP can still see hostnames in the TLS handshake (SNI).
If a service fails with "site cannot be reached" only on some networks, compare a plain dig with a DoH lookup before you debug the app.
karthihegde.dev/posts/dns_ta…
29
OpenSSL 4.1.0 shipped on 23 October, and its headline feature, DTLS 1.3, comes with four known issues listed in the release notes themselves.
What is new: DTLS 1.3 (RFC 9147), the datagram version of TLS; RFC 8701 GREASE, random extension values that keep clients and servers tolerant of future ones; DTLS support in the SSL listener API; an IKEv2 key derivation function; and faster ML-DSA and ML-KEM post-quantum operations on some CPUs.
Check before upgrading. The no-ecdsa and no-ecdh Configure options are gone, because they never really disabled anything; use no-ec. The tsget utility now needs Net::Curl::Easy. The Windows-on-Itanium and Windows CE targets were dropped.
The known issues, summarized from the notes: when a DTLS 1.3 KeyUpdate arrives, other outstanding post-handshake records leave the retransmission buffer (a fix is in progress); a permanent receive failure on a DTLS listener can surface as SSL_ERROR_WANT_READ; a retryable write failure can surface as SSL_ERROR_SYSCALL; and DTLS 1.3 servers may abort a handshake with an unexpected_message alert if a client acknowledges the first flight early.
If DTLS 1.3 is on your upgrade list, test the packet-loss and error-handling paths before you rely on it. Which of the four would you test first?
github.com/openssl/openssl/r…
3
44
NVIDIA published OpenShell, an Apache-2.0 runtime for running AI agents inside sandboxes, and the interesting part is how it handles changes to what an agent is allowed to do.
You write a policy that declares what each agent can touch: files, system calls, network hosts. Kernel controls enforce it on every file access and connection, and a network call only leaves the sandbox after a policy check. According to the README, agents never see the real credentials. OpenShell adds them only to requests headed for approved endpoints.
The part worth borrowing: before a policy change is approved, OpenShell uses formal verification to flag risky new access it would grant, such as reaching a new host with credentials or calling a new API method. Those changes wait for human review.
It is early days. The README points to the 0.1.x line, and the support matrix lists Linux, macOS on Apple Silicon and Windows with WSL 2 (experimental), plus Docker, Podman or host virtualization. To try it:
openshell sandbox create --name demo
github.com/NVIDIA/OpenShell
3
84
Railway told its users to roll every environment variable stored there, and paused deployments while it investigated.
What Railway says in its 21 October disclosure: it detected anomalous activity involving the systems that store customer environment variables. An unauthorized third party may have accessed encrypted variables and, for some of them, obtained the decrypted contents. Railway believes it is part of a series of attacks on platform companies, aimed at compromising AI inference providers, and says it has notified those providers so they can revoke keys.
It asks everyone to roll all environment variables, API keys and private registry credentials included, and to review logs for unusual activity. Its blog now carries step-by-step guides for rotating Postgres, MySQL, Redis and MongoDB credentials and for checking GitHub, AWS, GCP, Stripe, OpenAI, Anthropic and OpenRouter usage.
The lesson holds for any host: a platform that stores your variables holds a list of everything you can be billed or breached through. Three things worth knowing today:
1. Which keys live there, and which service each one opens
2. Who can rotate each one, and in what order
3. Whether every AI provider key has a spend limit or an alert
blog.railway.com/p/security-…
2
102
Cloudflare and VoidZero, with Max Schwenk of Owner.com, are porting the TypeScript compiler to Rust. The speed numbers will get the attention, but their plan for staying in sync with upstream is the part worth copying.
The numbers first: tsrs is up to 8x faster and uses about 70% less memory than TypeScript 7.0, with the same number of type-check workers. The TypeScript team's own 7.1 beta is already up to 2.5x faster than 7.0, and some of those optimizations were upstreamed from tsrs.
Why another port, after TypeScript's Go port? Rust compiles to WebAssembly without carrying a garbage collector along, so a full type checker can run in a browser tab or a sandboxed worker.
Their post is plain about where the difficulty sits now. Frontier AI models can do large-scale ports almost on their own in a matter of days. Staying faithful to upstream is the long job. So they reuse the loop that keeps their Vinext project in step with Next.js: each morning an agent reviews upstream changes and opens tracking issues; each night the upstream test suite runs against the port; when something breaks, agents build a reproduction, port the relevant tests and propose a fix.
The TypeScript team keeps full control of the language's design, and tsrs follows its decisions. It's experimental today: npm install tsrs
blog.cloudflare.com/typescri…
1
82
GitHub's star-history rebuild carries a lesson that reaches far beyond stars. In their words: returning less data didn't actually make the query any cheaper.
Tools rebuilt a repository's star curve by paging through every stargazer, 100 people per page. For react/react, with about 251,000 stars, that took about 2,511 requests. A pagination bug made each one worse: every request counted all of the repository's stars just to work out how many pages existed.
The new endpoint returns up to 30 weeks of daily star counts per request, with no identities attached, and filters by date before it counts anything. react/react's full history now takes about 24 requests.
What broke on the way there: stargazer and watcher lists are now limited to repository admins and collaborators, so a star-history tool without that access can get an empty response or a 403.
github.blog/engineering/arch…
1
81
OpenAI will remove GPT-4o, GPT-4o mini, GPT-4.1 and GPT-4.1 mini from its API on 14 January 2027. Developers were told on 14 October, which leaves about 92 days.
The snapshots on the list:
• gpt-4o-2024-08-06 and gpt-4o-2024-11-20
• gpt-4o-mini-2024-07-18
• gpt-4.1-2025-04-14
• gpt-4.1-mini-2025-04-14
OpenAI's recommended replacement for all four is gpt-6-luna.
Easy to miss: fine-tuned versions follow the same shutdown schedule as their base models. A fine-tune built on GPT-4o mini stops working on the same day, so retraining it on the new model and re-running your evals both have to fit inside that window.
developers.openai.com/api/do…
34
Vercel Pro teams: deployments older than 30 days start being deleted on 23 October, unless you opt out in your retention settings before then.
The part to check is rollback. Vercel says deleted deployments cannot be used for rollback, so if your recovery plan assumes you can go back further than 30 days, it changes next week.
Retention settings already at 30 days or shorter are unchanged. The same change starts Deployment Storage and Functions Storage billing for all Pro teams at $0.10 per GB-month, and Vercel is emailing each team its start date.
How far back has your team ever actually rolled back?
vercel.com/changelog/deploym…
1
35
Row-level security switched on in Postgres, and the table owner still saw every row.
Now-Next measured row-level security for multi-tenant SaaS on PostgreSQL 17 and published the numbers today. Four results worth checking against your own setup:
1. Without FORCE ROW LEVEL SECURITY, the role that owns the table ignores the policy. In their test it saw 2 of 2 rows whatever the policy said.
2. The policy itself costs almost nothing in its simplest form: 11.0 ms against 11.0 ms to count 267,023 invoices.
3. A helper function in the policy is where it gets expensive. A PL/pgSQL function left VOLATILE took 1,860 to 1,920 ms on every query. Declared STABLE, or wrapped in (select …), it took 0.29 to 0.30 ms.
4. The tenant can leak through PgBouncer. In transaction mode, setting it with SET let the next client, which set no tenant of its own, count the largest tenant's 267,023 invoices. With SET LOCAL inside an explicit transaction it counted 0 rows.
Their own caveats: the timings come from one machine and are meant as proportions, and row-level security is not a complete answer, because foreign keys and unique constraints are checked without the policy.
now-next.nl/en/insights/post…
1
31
Google retired two Gemini Flash models on 8 October, and calls to them keep working.
Requests to gemini-3.7-flash are now automatically routed to gemini-3.8-flash, and gemini-3.5-flash goes to gemini-3.6-flash. The old model string still answers, with a different model behind it.
If you pinned a model so quality and behaviour stay put, that pin no longer holds. Re-run your evals on the new model and update the string, as the release notes ask.
One change does have a hard date. The deep-research-pro-preview-12-2025 agent shuts down on 23 October. Requests to it need the agent parameter in interactions.create switched to deep-research-preview-04-2026 or deep-research-max-preview-04-2026 before then.
Do you pin model versions in production, or ride the latest?
ai.google.dev/gemini-api/doc…
1
1
154
Microsoft has published what it cost an AI system to confirm a kernel bug: on average $3.61 in model cost and 21.5 minutes per proof-of-concept.
The figures come from Microsoft's security blog (7 October). In one effort, an agent system called MDASH flagged suspicious spots in the Linux kernel, and across 182 confirmed crash findings, generating a proof-of-concept averaged $3.61 and 21.5 minutes. For six selected cases, testing whether a bug could escalate local privileges averaged $8.56 and 25.4 minutes. A second system, FORGE, helped find Windows vulnerabilities assigned 140 CVEs between May and September 2026, 52 of them addressed in September's security release alone.
Microsoft's own lesson is about where the cost really sits. The scarce resource is not always model intelligence, it writes, and more candidates do not create more throughput when the review queue grows faster than fixes ship. A short, ambiguous report may be cheap to generate yet expensive to investigate.
The model bill is the small number here. How fast people can confirm and fix is what limits the result.
microsoft.com/en-us/security…
1
46
Kubernetes node swap can double or triple how many pods fit on a node. Squeeze too far and the same swap makes a job over 40% slower.
The Kubernetes blog published the measurements on 5 October. A Linux kernel build needed a 600 MB memory limit to avoid an out-of-memory crash on a node without swap. With swap on a local SSD, the same build ran at 300 MB with no slowdown (374 s against the 433 s baseline). At 200 MB the active working set was pushed into swap, and the build took over 40% longer.
Their own line for it: swap serves as an insurance policy for burst memory, not a replacement for active RAM.
Density on the same tests:
• headless Chrome in gVisor: 80 to 160 pods per node
• a Python sandbox in gVisor: 80 to 240
• plain runc containers on a 32-vCPU node: failed past 512 pods without swap, ran 768 with it
Node swap is generally available since Kubernetes v1.34 and is switched on in the kubelet configuration (failSwapOn: false, swapBehavior: LimitedSwap).
kubernetes.io/blog/2026/10/0…
41
Since Kubernetes v1.35, a node still on cgroup v1 does not get a kubelet by default. The deprecation has become a startup failure.
The Kubernetes blog post from 6 October, by Paco Xu, lays out the timeline:
• from v1.35, failCgroupV1 defaults to true, so under the default configuration a remaining cgroup v1 node fails during kubelet startup
• you can set failCgroupV1: false in the kubelet configuration file, but only as a temporary override
• that fallback is scheduled for removal in v1.38
• kubeadm's preflight check now returns an error during init, join and upgrade when it finds cgroup v1 with kubelet v1.35 or later
The advice for anyone still on a release older than v1.35: migrate every Linux node to cgroup v2 before upgrading. One command tells you where a node stands. stat -fc %T /sys/fs/cgroup/ returns cgroup2fs when cgroup v2 is enabled, and cgroup v2 needs kernel 5.8 or later.
How many of your nodes would pass that check today?
kubernetes.io/blog/2026/10/0…
1
22
pg_vault_tde 1.7.2, an encryption extension for PostgreSQL, is labelled a patch release. Upgrading it needs planned downtime.
Miriade's release note, posted 5 October, lists what changed under the same version number:
• a new on-disk row layout (v5) fixes a segmentation fault on UPDATE for tables with indexed variable-length columns
• the tde_btree index now answers equality queries only, because range operators, ORDER BY and merge joins could return incorrect rows
• the custom WAL resource manager ID moves from 128 to 161
The upgrade, as the note puts it:
• a clean shutdown is required
• with toast_custom_rmgr on, the primary and standbys must be upgraded together, with no rolling upgrade
• VACUUM FULL on every encrypted table afterwards. Rows still in the v4 format stay readable but crash on UPDATE until they are rewritten
Two things a version check will not show you. The extension still reports 1.7, so pg_vault_tde_build_version() is what tells the builds apart. And PostgreSQL's own docs say VACUUM FULL rewrites the whole table and holds an ACCESS EXCLUSIVE lock on each table while it runs, so the size of your largest encrypted tables sets the length of the window.
postgresql.org/about/news/pg…
15
Fully reproducible benchmark: facts file, runner, grader, every raw reply published. Both conditions cost $0.71 on Ollama Cloud.
The knowledge layer is open source, local-first, an MCP server — 61 verified platform packs injected on every optimize call.
npm i clarifyprompt-mcp
Report: github.com/LumabyteCo/clarif… Repo: github.com/LumabyteCo/clarif…
1
79
GitHub deprecated four Copilot models on October 2: Gemini 3.5 Flash, Gemini 3.6 Flash, Kimi K2.7 Code and Claude Opus 4.7.
The suggested replacements are Gemini 3.8 Flash for both Gemini models, Kimi K3, and Claude Opus 5.5. The change covers Copilot Chat, inline edits, ask and agent modes, and code completions, and GitHub says no action is needed to remove the deprecated models.
The step that does need a person: Copilot Enterprise administrators may have to enable the replacement models in their model policies before anyone sees them in the model selector. If your team pinned one of the four, check that policy this week.
Does your team pin a Copilot model, or take whatever the default is?
github.blog/changelog/2026-1…
2
82
GitHub retires the macOS 14 runner image on November 2. Before that, macos-14 jobs will fail on purpose in 8 brownouts, the first on Monday October 5, 14:00 to 00:00 UTC.
The fix is one label: macos-15 or macos-latest.
github.blog/changelog/2026-1…
1
37
Cloudflare's new AI Gateway Auto Router picks a model per request. On its own 97-task test it cost 35% of Claude Opus 5.5 and 80% of GPT-6 Sol, at 86.6% success vs 96.6% for Opus and 84.2% for Sol. Free in beta.
blog.cloudflare.com/auto-rou…
2
2
115
Cloudflare aimed frontier AI models at its own WAF: 1,107 attack attempts on a customer staging site. 558 were blocked; after human review, 49 findings were worth investigating, 48 of them command injection or SSRF. It fed three rule changes.
blog.cloudflare.com/adaptive…
Postgres has no per-query memory cap. work_mem (default 4MB) applies per operation, per process.
ClickHouse measured a simple query using over 8x work_mem and 23 MB of disk I/O. Raising it to 8 MB ended the spill but used ~68MB across parallel workers.
clickhouse.com/blog/can-your…
4
148



















