Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6192a7f552
|
||
|
|
b9ad3f00b4
|
||
|
|
08646a8677
|
||
|
|
a3ec791216
|
||
|
|
05d500a9e4
|
||
|
|
c04400b888
|
||
|
|
7d6142d922
|
||
|
|
0c5177a415
|
||
|
|
ce72260b0b
|
||
|
|
af6f5ab9e6
|
||
|
|
e1cd1d2674
|
@@ -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
|
# einherjar/smtp
|
||||||
|
|
||||||
[](https://code.nochebuena.dev/einherjar/smtp)
|
[](https://code.nochebuena.dev/einherjar/smtp)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](https://go.dev)
|
[](https://go.dev)
|
||||||
[]()
|
[]()
|
||||||
@@ -19,8 +19,9 @@
|
|||||||
import "code.nochebuena.dev/einherjar/smtp"
|
import "code.nochebuena.dev/einherjar/smtp"
|
||||||
|
|
||||||
mailer := smtp.New(logger, smtp.DefaultConfig())
|
mailer := smtp.New(logger, smtp.DefaultConfig())
|
||||||
launcher.Append(mailer) // OnInit verifies credentials; OnStop is a no-op
|
lc.Append(mailer) // OnInit verifies credentials; OnStop is a no-op
|
||||||
health.Register(mailer) // dial check; LevelDegraded
|
// 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.
|
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
|
// # Lifecycle Registration
|
||||||
//
|
//
|
||||||
// client := smtp.New(logger, cfg)
|
// client := smtp.New(logger, cfg)
|
||||||
// launcher.Register(client)
|
// lc.Append(client) // lifecycle: OnInit → OnStop
|
||||||
// health.Register(client)
|
//
|
||||||
|
// client satisfies [observability.Checkable], so it can back a health endpoint via
|
||||||
|
// web/health.NewHandler:
|
||||||
|
//
|
||||||
|
// srv.Get("/health", health.NewHandler(logger, client).ServeHTTP)
|
||||||
//
|
//
|
||||||
// # Sending
|
// # Sending
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ module code.nochebuena.dev/einherjar/smtp
|
|||||||
go 1.26
|
go 1.26
|
||||||
|
|
||||||
require (
|
require (
|
||||||
code.nochebuena.dev/einherjar/contracts v1.0.0
|
code.nochebuena.dev/einherjar/contracts v1.7.0
|
||||||
code.nochebuena.dev/einherjar/core v1.0.0
|
code.nochebuena.dev/einherjar/core v1.7.0
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
code.nochebuena.dev/einherjar/contracts v1.0.0 h1:hRudEtOIqU7vwedYLsCh8+9q5dCnKb61qX+zibqImRU=
|
code.nochebuena.dev/einherjar/contracts v1.7.0 h1:yhbtmvE8u6KXcuG95p888+4tDIiTXDf5z/siKrjGbrc=
|
||||||
code.nochebuena.dev/einherjar/contracts v1.0.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
code.nochebuena.dev/einherjar/contracts v1.7.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
||||||
code.nochebuena.dev/einherjar/core v1.0.0 h1:AueZgfjp3+rQmDKOxmJQ945TTh+sqC1l/xJdTOdbr9w=
|
code.nochebuena.dev/einherjar/core v1.7.0 h1:gdjNEgO8E/ALppyBldj27iKQQlWbL/OWV6asdxWLXqU=
|
||||||
code.nochebuena.dev/einherjar/core v1.0.0/go.mod h1:0IywfRnJXX9xXQO6iPVaq2QDlXbbpXrB8A4T7gO8nE4=
|
code.nochebuena.dev/einherjar/core v1.7.0/go.mod h1:IvSCG7XL4gNyoylwlClKj3jepWBLAKb2QKAgumTRkug=
|
||||||
|
|||||||
Reference in New Issue
Block a user