Everything since v0.76.3 (v0.77.0 through v0.82.2).
Breaking
str.Markdownandstr.InlineMarkdownnow render CommonMark + GFM instead of stripping a regex subset; newmarkdownpackage behind them.auth.ServerSessionStore.Touchreplaces the scheme-side activity refresh so a revoked session cannot be resurrected.- Login throttling reserves a trial before verifying and adds progressive delay per identifier;
contract.LoginDelayer/LoginAdmitterhooks andManager.SetLoginChallenge. orm/seedreshaped: seeders register throughApp.Seeders/SeederModule, not a package-global registry.
Added
markdownpackage: safe-by-default rendering, container directives, titled code blocks,markdown.LoadFScollections.- Database seeders:
App.Seeders,vel db seed,vel gen seeder,vel migrate fresh --seed. session.NewCacheStore: cache-backed session store with atomic revocation;contract.CacheReplacercapability.- Router answers 405 with an
Allowheader when the path exists but the method does not.
Fixed
- ORM plural reads (
Get,Pluck,Paginate,RawQuery.Get, eager-loaded hasMany / manyToMany) return an empty slice instead of nil, so empty lists encode as[](#8). Bind/BindXMLreject trailing data after the document.- Redirect targets reject control bytes.
str.Titleandstr.Headlineare safe for concurrent use.- Scaffold generators keep the overwrite guard at write time.
- Starters no longer rewrite the request from forwarded headers by default.
- grpc bumped to v1.83.2.
Details and migration notes: CHANGELOG.md.