Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6192a7f552
|
||
|
|
b9ad3f00b4
|
||
|
|
08646a8677
|
||
|
|
a3ec791216
|
||
|
|
05d500a9e4
|
||
|
|
c04400b888
|
||
|
|
7d6142d922
|
||
|
|
0c5177a415
|
||
|
|
ce72260b0b
|
||
|
|
af6f5ab9e6
|
@@ -0,0 +1,97 @@
|
||||
# Changelog — einherjar/smtp
|
||||
|
||||
All notable changes to this module are documented here.
|
||||
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
This module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
---
|
||||
|
||||
## [1.7.0] — 2026-08-14
|
||||
|
||||
Minor — coordinated framework release (lockstep versioning). No changes to this module's own API.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped einherjar dependencies to v1.7.0. The behavioural changes in this release are in `spa-server`
|
||||
(per-file Cache-Control, a navigation-scoped SPA fallback, nosniff, and a non-root image).
|
||||
|
||||
## [1.6.0] — 2026-08-13
|
||||
|
||||
Minor — coordinated framework release (lockstep versioning). No changes to this module's own API.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped einherjar dependencies to v1.6.0. The framework-wide change in this release is
|
||||
`web`'s new `httputil.Bind` / `httputil.BindEmpty` request-binding adapters.
|
||||
|
||||
## [1.5.0] — 2026-08-09
|
||||
|
||||
Minor — coordinated framework version alignment. No code or API changes in this module.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped `contracts`, `core` to v1.5.0.
|
||||
|
||||
## [1.4.0] — 2026-08-09
|
||||
|
||||
Minor — coordinated framework release: dependency refresh + lockstep version alignment.
|
||||
|
||||
### Changed
|
||||
|
||||
- Refreshed dependencies to their latest minor/patch where available.
|
||||
- Bumped `contracts`, `core` to v1.4.0.
|
||||
|
||||
## [1.3.0] — 2026-08-08
|
||||
|
||||
Minor — coordinated framework version alignment. No code or API changes in this module.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped `contracts`, `core` to v1.3.0.
|
||||
|
||||
## [1.2.0] — 2026-08-08
|
||||
|
||||
Minor — coordinated framework version alignment. No code or API changes in this module.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped `contracts`, `core` to v1.2.0.
|
||||
|
||||
## [1.1.3] — 2026-08-08
|
||||
|
||||
Patch — coordinated framework version alignment.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped einherjar dependencies (\`contracts\`, \`core\`) to v1.1.3. No code or API changes.## [1.1.2] — 2026-08-08
|
||||
|
||||
Patch — coordinated framework version alignment.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped einherjar dependencies (`contracts`, `core`) to v1.1.2. No code or API changes.
|
||||
|
||||
## [1.1.1] — 2026-08-07
|
||||
|
||||
Patch — corrected package-doc wiring examples plus framework version alignment.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Doc examples used a fictional `launcher.Register` / `health.Register` API; corrected to
|
||||
`lc.Append` + `web/health.NewHandler(...).ServeHTTP`.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped einherjar dependencies (`contracts`, `core`) to v1.1.1.
|
||||
|
||||
## [1.1.0] — 2026-08-07
|
||||
|
||||
Patch — coordinated framework version alignment.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped einherjar dependencies (`contracts`, `core`) to v1.1.0.
|
||||
|
||||
## [1.0.0] — 2026-05-28
|
||||
|
||||
Initial release. See the README for the full API and the `v1.0.0` git tag for the source.
|
||||
@@ -1,6 +1,6 @@
|
||||
# einherjar/smtp
|
||||
|
||||
[](https://code.nochebuena.dev/einherjar/smtp)
|
||||
[](https://code.nochebuena.dev/einherjar/smtp)
|
||||
[](LICENSE)
|
||||
[](https://go.dev)
|
||||
[]()
|
||||
@@ -19,8 +19,9 @@
|
||||
import "code.nochebuena.dev/einherjar/smtp"
|
||||
|
||||
mailer := smtp.New(logger, smtp.DefaultConfig())
|
||||
launcher.Append(mailer) // OnInit verifies credentials; OnStop is a no-op
|
||||
health.Register(mailer) // dial check; LevelDegraded
|
||||
lc.Append(mailer) // OnInit verifies credentials; OnStop is a no-op
|
||||
// mailer is observability.Checkable (dial check, LevelDegraded):
|
||||
srv.Get("/health", health.NewHandler(logger, mailer).ServeHTTP)
|
||||
```
|
||||
|
||||
When `cfg.Host` is empty, `New` returns a no-op that logs every `Send` call at debug level and always returns nil. No code changes are needed between environments.
|
||||
|
||||
@@ -12,8 +12,12 @@
|
||||
// # Lifecycle Registration
|
||||
//
|
||||
// client := smtp.New(logger, cfg)
|
||||
// launcher.Register(client)
|
||||
// health.Register(client)
|
||||
// lc.Append(client) // lifecycle: OnInit → OnStop
|
||||
//
|
||||
// client satisfies [observability.Checkable], so it can back a health endpoint via
|
||||
// web/health.NewHandler:
|
||||
//
|
||||
// srv.Get("/health", health.NewHandler(logger, client).ServeHTTP)
|
||||
//
|
||||
// # Sending
|
||||
//
|
||||
|
||||
@@ -3,6 +3,6 @@ module code.nochebuena.dev/einherjar/smtp
|
||||
go 1.26
|
||||
|
||||
require (
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0
|
||||
code.nochebuena.dev/einherjar/core v1.1.0
|
||||
code.nochebuena.dev/einherjar/contracts v1.7.0
|
||||
code.nochebuena.dev/einherjar/core v1.7.0
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0 h1:GsGr6reyrd9qCc7D8CqbT1LWPTeeK9lT4r4EdsNA5Ro=
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
||||
code.nochebuena.dev/einherjar/core v1.1.0 h1:zxj9bFPthEEFRnvWV/vgNZqWa2y/kAo3p5pODWablyk=
|
||||
code.nochebuena.dev/einherjar/core v1.1.0/go.mod h1:Ot2JbjsnZ33Ed5C9Ev1kSn2PW+F4dLz/LRwIUh+fYt0=
|
||||
code.nochebuena.dev/einherjar/contracts v1.7.0 h1:yhbtmvE8u6KXcuG95p888+4tDIiTXDf5z/siKrjGbrc=
|
||||
code.nochebuena.dev/einherjar/contracts v1.7.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
||||
code.nochebuena.dev/einherjar/core v1.7.0 h1:gdjNEgO8E/ALppyBldj27iKQQlWbL/OWV6asdxWLXqU=
|
||||
code.nochebuena.dev/einherjar/core v1.7.0/go.mod h1:IvSCG7XL4gNyoylwlClKj3jepWBLAKb2QKAgumTRkug=
|
||||
|
||||
Reference in New Issue
Block a user