Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05d500a9e4
|
||
|
|
c04400b888
|
||
|
|
7d6142d922
|
||
|
|
0c5177a415
|
||
|
|
ce72260b0b
|
||
|
|
af6f5ab9e6
|
@@ -0,0 +1,62 @@
|
|||||||
|
# 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.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.1.0
|
code.nochebuena.dev/einherjar/contracts v1.3.0
|
||||||
code.nochebuena.dev/einherjar/core v1.1.0
|
code.nochebuena.dev/einherjar/core v1.3.0
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
code.nochebuena.dev/einherjar/contracts v1.1.0 h1:GsGr6reyrd9qCc7D8CqbT1LWPTeeK9lT4r4EdsNA5Ro=
|
code.nochebuena.dev/einherjar/contracts v1.3.0 h1:rm5hqaA1NBtWgH8okwwt6WLoIne1SwQ1Ogi7qbbwfY8=
|
||||||
code.nochebuena.dev/einherjar/contracts v1.1.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
code.nochebuena.dev/einherjar/contracts v1.3.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.3.0 h1:LRT8gln+KJLLGzySVf3C0WX/qiufxg5Jp5v2jySBirE=
|
||||||
code.nochebuena.dev/einherjar/core v1.1.0/go.mod h1:Ot2JbjsnZ33Ed5C9Ev1kSn2PW+F4dLz/LRwIUh+fYt0=
|
code.nochebuena.dev/einherjar/core v1.3.0/go.mod h1:2Pdbb3Pni8dYBZKOpQKqzpR/WFq+Ln9+KSPycf7DQh0=
|
||||||
|
|||||||
Reference in New Issue
Block a user