Skip to content

Commit 030e1d7

Browse files
committed
0.2.0
1 parent d58cdc4 commit 030e1d7

File tree

3 files changed

+55
-3
lines changed

3 files changed

+55
-3
lines changed

CHANGELOG.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.2.0] - 2026-01-02
9+
10+
### Security
11+
12+
- **CSRF Protection**: Added nonce-based state validation with round-trip via RelayState
13+
- **XSS Prevention**: HTML escaping in all POST binding forms (`escapeHtml()`)
14+
- **Open Redirect Prevention**: URL validation blocks absolute URLs by default (`isValidRedirectUrl()`)
15+
- **XXE Protection**: Disabled external entity loading in libxml2 (`xmlSubstituteEntitiesDefault(0)`)
16+
- **Session Fixation**: Session regeneration after successful authentication
17+
- **Path Traversal Prevention**: Improved validation using `path.relative()` and `isAbsolute()`
18+
- **Memory Safety**: Use `explicit_bzero()` for secure erasure of private keys (POSIX/Windows)
19+
- **Input Validation**: Metadata size limit (10 MB) to prevent DoS
20+
- **Error Handling**: Throw errors on session/identity restoration failure instead of silent fallback
21+
22+
### Added
23+
24+
- Configuration options: `allowedRedirectHosts`, `stateMaxAge`, `regenerateSession`
25+
26+
### Fixed
27+
28+
- POST binding forms now use `msgUrl` instead of `responseUrl` for logout/SLO
29+
- Proper `acceptSso()` call after processing SAML response
30+
31+
### Changed
32+
33+
- Prebuilds: Removed darwin-x64 (macos-13 unavailable in GitHub Actions)
34+
35+
## [0.1.1] - 2026-01-02
36+
37+
### Fixed
38+
39+
- CI/CD workflow for npm publishing
40+
- ARM64 Dockerfile multi-stage build
41+
- Prebuild generation for linux-arm64 via QEMU
42+
43+
## [0.1.0] - 2025-12-04
44+
45+
### Added
46+
47+
- Initial release
48+
- Node.js N-API binding for Lasso SAML library
49+
- Express middleware for SAML Service Provider (`createSamlSp`)
50+
- Support for SAML 2.0 SSO and SLO
51+
- Classes: `Server`, `Login`, `Logout`, `Identity`, `Session`
52+
- Prebuilds for linux-x64, linux-arm64, darwin-arm64

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "lasso.js",
3-
"version": "0.1.1",
3+
"version": "0.2.0",
44
"description": "SAML 2.0 Identity Provider (IdP) and Service Provider (SP) for Node.js - Native binding to Lasso library",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

0 commit comments

Comments
 (0)