Skip to content

Releases: i11v/effect-jmap

v0.10.0

11 Feb 21:36

Choose a tag to compare

0.10.0 (2026-02-11)

Features

  • Add Identity service (Identity/get, Identity/set, Identity/changes) (#20) (8fe2ca5)

v0.9.0

11 Feb 20:22

Choose a tag to compare

0.9.0 (2026-02-11)

Features

  • Add Promise-based JMAP client wrapper (createJMAPClient) (#18) (76ae8d0), closes hi#level

v0.8.0

25 Jan 14:19

Choose a tag to compare

0.8.0 (2026-01-25)

Features

  • Add email destruction support via Email/set destroy (0b9fba0)

v0.7.0

23 Jan 11:13

Choose a tag to compare

0.7.0 (2026-01-23)

Features

  • Add spec coverage reporting to PRs (#13) (34ac9eb)

v0.6.0

23 Jan 09:53

Choose a tag to compare

0.6.0 (2026-01-23)

Features

  • Add spec-based test coverage with capability tracking (#12) (fe5641a)

v0.5.0

22 Jan 22:06

Choose a tag to compare

0.5.0 (2026-01-22)

Features

  • Add comprehensive test email dataset generator (#11) (e2b4d42)

v0.4.3

18 Jan 21:36

Choose a tag to compare

0.4.3 (2026-01-18)

Bug Fixes

  • Trigger release to publish to npm registry (d42ab47)

v0.4.0

18 Jan 13:31

Choose a tag to compare

Breaking Changes

  • Schema changes for RFC 8621 compliance: Email and related schemas now correctly distinguish between nullable and optional properties per JMAP specification. Nullable fields use Schema.NullOr instead of Schema.Union(X, Schema.Null, Schema.Undefined). This affects Email, EmailBodyPart, EmailAttachment, EmailSubmission, Address, and EmailAddress schemas.

Features

  • Functional testing infrastructure: Added Docker-based testing with Stalwart JMAP server, including docker-compose configuration, test data seeding scripts, and example functional tests (#68188d1)

Bug Fixes

  • JMAP schema nullable vs optional properties (#1): Corrected Email schema fields to match RFC 8621 specification - nullable fields (sentAt, messageId, from, to, cc, etc.) and required fields (keywords, textBody, htmlBody, attachments, etc.) are now properly typed
  • Stalwart JMAP server compatibility: Handle HTTP 307 redirects, fix authentication with SHA-512 password hashing, add MailboxCreated schema for partial /set responses

Refactoring

  • Co-locate files by domain: Reorganized source structure from src/schemas/*, src/services/* to domain-based organization (src/email/, src/mailbox/, src/submission/, etc.)

CI/CD

  • GitHub Actions workflow: Added automated functional tests against Stalwart JMAP server on push to main and pull requests

Documentation

  • Added CLAUDE.md with Effect-TS patterns and code style conventions
  • Updated AGENTS.md with pnpm and commit message guidelines
  • Added docs/functional-testing.md for testing infrastructure

v0.3.0

30 Nov 13:54

Choose a tag to compare

[0.3.0] - 2025-11-30

Added

  • JMAPLive(sessionUrl, bearerToken) - convenience layer bundling HTTP client, JMAP client, and all services for quick setup
  • JMAPLiveWithConfig(config) - same as above with custom configuration options

Changed

  • Refactored service definitions to use Context.Tag class pattern (internal, no API changes)
  • Improved documentation with usage examples for AppLive and new layer functions

Release v0.2.0

17 Nov 14:17

Choose a tag to compare

[0.2.0] - 2025-11-17

Added

  • Email submission support for sending emails via JMAP
    • EmailSubmission schemas with full validation
    • Comprehensive test coverage with 628 test cases for submission schemas
    • 476 test cases for EmailSubmission service operations
  • Capability negotiation system for JMAP sessions
  • IdGenerator service for Effect-idiomatic ID generation
  • Test fixtures for JMAP responses
  • Enhanced test utilities for submission testing

Changed

  • Refactored all services (Email, EmailSubmission, Mailbox) to use Effect-idiomatic IdGenerator pattern instead of Date.now()
  • Updated service layer exports to include new IdGenerator service
  • Enhanced Email schemas with submission-related fields
  • Improved integration tests for layer resolution

Fixed

  • README documentation cleanup