Urgent.News

What's breaking now, across thousands of outlets.

Tech

Lightweight Email API for Password Reset Emails: Suppression List Support Without Lock-In

TL;DR: For a logistics password-reset flow, choose the template boundary that can be migrated and rolled back without changing recovery semantics. Keep the reset URL, expiry policy, and suppression decision under application control. A delivery-managed template is acceptable when it has a versioned contract, approval audit, and a way to render the final message before release. The deciding test…

When implementing a lightweight email API for password reset emails, it's crucial to define a portable unit consisting of a recipient, reset URL, locale, and server-defined expiry policy. The mail layer should not handle recovery credentials, existence checks, or URL rewriting; these responsibilities should remain with the account recovery system. The API should support a 15-minute expiry as a simple example, but the value should be configurable.

Suppression should be treated as a separate input, producing a blocked result for suppressed recipients instead of endless retries. If suppression lookup fails, there should be a defined policy for retry bounds or explicit failure when privacy controls dictate.

Template migrations should be viewed as compatibility changes. Publish version 2 with identical variable names and recovery actions, render a representative message in CI, and switch the template reference behind a configuration value that can be reverted independently. Ensure the real check is the rendered recovery path, including the short expiry, expected locale text, and intended expiry. The old version should remain selectable until the completed-reset metric is stable.

A useful test fixture set includes an active address, a suppressed address, a suppression lookup failure, and a changed template version. These four cases cover the main boundaries, with an additional case for malformed recipients if the application accepts untrusted input. The migration review should have a concrete boundary, allowing version 1 and version 2 to be rendered against the same fixtures without altering the recovery service.

The lightweight API should expose a single function for sending a password reset message, keeping the glue and additional complexities separate. The template version should be stored as data, not a comment in deployment tickets, enabling rollback and incident review. This approach provides a clear boundary for ownership, ensuring a low-friction integration that can survive transport changes.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Everyone has better models. Why do some teams fly while others don't?

Models got dramatically better over the past year. But they got better for everyone. In that time, our team went from 5.3 to 13.7 PRs per person per month, and I personally went from 4.8 to 51.3.

  • AI models improved significantly over past year, boosting team productivity
  • Keboola Connection repository accelerated team's progress
  • CLI, skills, and automation reduced time to merge dramatically

WARN Act and At-Will Employment: Does At-Will Mean No Notice Is Required?

Most American workers are employed "at will": either the worker or the employer can end the job at any time, for almost any lawful reason, with or without advance warning.

  • At-will employment allows termination at any time with or without notice in most U.S. states.
  • Employers must provide WARN notice to affected employees, unions, state units, and local officials.

「大きなブレークスルー」はソフトウェア側から来るのかもしれない

「大きなブレークスルー」はソフトウェア側から来るのかもしれない Metaが四半期決算で「Questの販売台数は減少している」と認め、今後は“major breakthroughs(大きなブレークスルー)”を伴うVRヘッドセットだけを製品化すると明言しました。Reality LabsのQ3売上は4億4,300万ドル。AIグラスは伸びてはいるものの、VRの落ち込みを完全には埋めていません。…

  • Meta acknowledges decreasing sales of Quest VR headset
  • Software breakthroughs in VR focus on existing devices
  • Seven Sports' Amblyotube uses Meta Quest for visual training

"Trace Shape Reveals Model Capability: 3B vs 7B"

Trace Shape Reveals Model Capability: 3B vs 7B Last week I traced the same agent running on two different model sizes. Same code, same task, same prompts. The only difference: the model.

  • 3B model trace consists of two spans: agent.run and llm.call
  • 7B model trace has an average of 5.8 spans per iteration
  • Larger models exhibit richer trace shapes indicative of agentic behavior

More from Wednesday 4 November →