Skip to content

Releases: Shugur-Network/relay

v1.3.5

22 Oct 13:37
8bd615f

Choose a tag to compare

Release v1.3.5
This release fixes the NIP-YY (Nostr Web Pages) specification implementation with corrected event kinds and includes web dashboard improvements.

Corrected NIP-YY event kinds to match updated specification:
Asset: 40000 → 1125
Page Manifest: 40001 → 1126
Site Index: 34235 → 31126
Entrypoint: 34236 → 11126
Clarified entrypoint a tag validation for optional relay hints
Fixed double 'v' in version display on dashboard (now shows "shugur v1.3.5" instead of "shugur vv1.3.5")
Removed redundant nil check in site index validation (linting fix)
✨ Added
Dedicated Custom NIPs section on web dashboard with rich card-based UI:
NIP-XX: Time Capsules
NIP-YY: Nostr Web Pages
Enhanced validation for all NIP-YY event types
Comprehensive test coverage for NIP-YY (27 tests, all passing ✅)
🎨 Improved
Separated custom NIPs from standard NIPs in relay metadata for cleaner UI
Better UI/UX for displaying custom NIP implementations with descriptions and external links
Updated test suite for new event kinds with proper validation
Responsive grid layout for custom NIP cards
📦 What's Changed
#103 - NIP-YY specification fixes and web UI improvements
#104 - Entrypoint a tag validation clarification
🧪 Testing
All 27 NIP-YY tests pass successfully:

8 tests for Asset events (kind 1125)
5 tests for Page Manifest events (kind 1126)
10 tests for Site Index events (kind 31126)
4 tests for Entrypoint events (kind 11126)
Full Changelog: https://github.com/Shugur-Network/relay/compare/v1.3.4...v1.3.5

v1.3.4

13 Oct 12:47

Choose a tag to compare

Release v1.3.4 - NIP-YY (Nostr Web Pages) Support

Release Date: October 13, 2025

🎯 Overview

This release adds comprehensive support for NIP-YY (Nostr Web Pages), enabling Shugur Relay to host and validate static websites built on the Nostr protocol. This feature allows developers to publish decentralized web content directly through Nostr events with built-in content integrity verification.

✨ Features Added

🌐 Nostr Web Pages (NIP-YY)

Support for 6 new event kinds that enable complete static website hosting on Nostr:

Content Events

  • Kind 40000: HTML Content - Full HTML pages with SHA-256 integrity verification
  • Kind 40001: CSS Stylesheet - Stylesheets with hash validation for secure styling
  • Kind 40002: JavaScript Module - ES modules with security checks
  • Kind 40003: Component/Fragment - Reusable UI components and HTML fragments

Addressable Events

  • Kind 34235: Page Manifest - Addressable page metadata and configuration
  • Kind 34236: Site Index - Addressable site-wide index and routing information

🔒 Security & Validation

  • SHA-256 Hash Verification: All web assets include Subresource Integrity (SRI) verification
  • Required Tag Validation: Enforces presence of m (MIME type), sha256 (hash), d (identifier), and e (reference) tags
  • Event ID Format Validation: Ensures all event IDs are properly formatted (64 hex characters)
  • JSON Payload Parsing: Validates JSON structure for manifest and index events
  • Relay-Focused Validation: Security-critical checks without application-level semantics

🧪 Testing Infrastructure

  • 📋 Comprehensive Test Suite: 27 tests covering all event kinds and validation scenarios
  • 🎨 Professional Output: Clean, colored test output with progress indicators
  • 100% Pass Rate: All tests passing with clear success/failure reporting
  • 📊 Complete Coverage: Valid events, invalid events, edge cases, and hash verification

📁 Files Changed

File Changes Description
internal/relay/nips/nip_nostr_web.go +277 lines Core validation logic for all NIP-YY event kinds
internal/relay/plugin_validator.go Modified Integrated validation routing for new kinds
internal/constants/relay_metadata.go Modified Added NIP-YY to supported NIPs advertisement
tests/nips/test_nip_nostr_web.sh +315 lines Complete test suite with 27 tests
VERSION Updated Bumped from 1.3.3 to 1.3.4
CHANGELOG.md Updated Documented all changes

Total: 6 files changed, 645 insertions(+), 1 deletion(-)

🔧 Technical Details

Validation Philosophy

The implementation follows a relay-appropriate validation approach:

What We Validate (Security-Critical):

  • Data integrity through cryptographic hash verification
  • Required fields presence (tags, content structure)
  • Valid event structure and format
  • JSON payload parsing for structured data

What We Don't Validate (Application-Level):

  • Route format conventions
  • Asset marker semantics
  • Content length limits beyond security requirements
  • Application-specific business logic

This approach ensures the relay focuses on data integrity and security while allowing flexibility for client implementations.

Event Kind Details

Regular Events (Replaceable):
- 40000: HTML Content        (tag: m=text/html, sha256)
- 40001: CSS Stylesheet      (tag: m=text/css, sha256)
- 40002: JavaScript Module   (tag: m=text/javascript, sha256)
- 40003: Component Fragment  (tag: m=text/html, sha256)

Addressable Events (Parameterized Replaceable):
- 34235: Page Manifest       (tag: d=page-id, e=content-refs)
- 34236: Site Index          (tag: d=site-id, e=page-refs)

🧪 Testing

Run the complete test suite:

bash tests/nips/test_nip_nostr_web.sh

📞 Support


Shugur Relay v1.3.4 - Building the decentralized web on Nostr 🚀

v1.3.3

01 Oct 10:04
e9f128e

Choose a tag to compare

Release v1.3.3 - Comprehensive NIP Support and Optimizations

Overview

Version 1.3.3 represents a major milestone for Shugur Relay, introducing comprehensive support for 10 new Nostr Improvement Proposals (NIPs) and significant optimizations. This release expands the relay's capabilities from 27 to 37 supported NIPs, making it one of the most feature-complete Nostr relays available.

Added

New NIP Implementations (10 NIPs)

  • NIP-51 (Lists):

    • Implemented complete support for bookmark lists, mute lists, pin lists, and relay lists
    • Added validation for list metadata and item references
    • Support for both replaceable and parameterized replaceable list events
    • Comprehensive tag validation for list items and metadata
  • NIP-52 (Calendar Events):

    • Added support for time-based calendar event creation and management
    • Implemented calendar event metadata validation (title, description, start/end times)
    • Support for recurring events and timezone handling
    • Added validation for calendar-specific tags and event structure
  • NIP-53 (Live Activities):

    • Implemented real-time activity stream support
    • Added live chat and live event broadcasting capabilities
    • Support for activity status updates and participant management
    • Comprehensive validation for live activity metadata and state changes
  • NIP-54 (Wiki):

    • Added collaborative wiki page support with version control
    • Implemented wiki article creation, editing, and revision tracking
    • Support for wiki metadata (titles, summaries, categories)
    • Added validation for wiki content structure and references
  • NIP-56 (Reporting):

    • Implemented content reporting and moderation system
    • Added support for various report types (spam, illegal content, impersonation)
    • Support for report metadata and evidence attachment
    • Comprehensive validation for report structure and content
  • NIP-57 (Lightning Zaps):

    • Added Lightning Network payment integration
    • Implemented zap request and zap receipt validation
    • Support for Lightning invoices and payment verification
    • Added comprehensive zap metadata validation
  • NIP-58 (Badges):

    • Implemented achievement and badge system
    • Added support for badge definitions and badge awards
    • Support for badge metadata (name, description, image)
    • Comprehensive validation for badge structure and awarding process
  • NIP-60 (Cashu Wallets):

    • Added Cashu ecash wallet integration
    • Implemented Cashu token validation and mint verification
    • Support for Cashu wallet metadata and token management
    • Added validation for Cashu-specific data structures
  • NIP-61 (Nutzaps):

    • Implemented Cashu-based Lightning zap system
    • Added support for ecash-powered Lightning payments
    • Integration with both Cashu wallets and Lightning infrastructure
    • Comprehensive validation for Nutzap token structure
  • NIP-72 (Moderated Communities):

    • Added comprehensive community management system
    • Implemented community creation, moderation, and member management
    • Support for community metadata, rules, and moderation policies
    • Added validation for community posts, approvals, and moderation actions

Enhanced Validation Framework

  • Common Validation Infrastructure:

    • Created unified validation framework in internal/relay/nips/common/
    • Added reusable validation functions for tags, URLs, and content
    • Implemented common error handling and logging patterns
    • Enhanced validation consistency across all NIP implementations
  • Advanced Tag Validation:

    • Added comprehensive tag validation for all supported NIPs
    • Implemented tag structure verification and content validation
    • Support for NIP-specific tag requirements and formats
    • Enhanced error reporting for tag validation failures
  • Content Validation:

    • Added content length limits and structure validation
    • Implemented URL validation and format checking
    • Support for various content types (text, JSON, binary)
    • Enhanced validation for special characters and encoding

Testing Infrastructure

  • Comprehensive Test Suites:

    • Added test scripts for all 10 new NIPs
    • Implemented end-to-end testing for complex workflows
    • Support for automated testing and validation
    • Enhanced test coverage and reliability
  • Test Documentation:

    • Updated test documentation with new NIP coverage
    • Added detailed test descriptions and usage instructions
    • Comprehensive test status tracking and reporting
    • Enhanced test organization and categorization

Changed

NIP Validation Refactoring

  • Unified Validation Architecture:

    • Refactored existing NIP validations to use common framework
    • Standardized error handling and validation patterns
    • Improved validation performance and maintainability
    • Enhanced code reusability across NIP implementations
  • Enhanced Error Handling:

    • Improved error messages with detailed context
    • Added structured logging for validation failures
    • Enhanced debugging capabilities for NIP validation
    • Better error categorization and reporting

Documentation Improvements

  • README Updates:

    • Updated feature list to reflect 37 supported NIPs
    • Enhanced NIP descriptions with detailed capabilities
    • Improved documentation structure and organization
    • Added comprehensive feature matrix and compatibility information
  • Test Documentation:

    • Enhanced test suite documentation with complete coverage
    • Added test status indicators and success rates
    • Improved test organization by category (Core, Advanced, Privacy)
    • Comprehensive test usage instructions and examples

Code Quality Enhancements

  • Static Analysis Improvements:
    • Applied De Morgan's law optimizations for boolean logic
    • Enhanced code readability and maintainability
    • Improved performance through logical simplification
    • Clean golangci-lint results with zero issues

Fixed

NIP-09 (Event Deletion)

  • Test Configuration: Fixed test script configuration and RELAY variable setup
  • Validation Logic: Enhanced event deletion validation and processing
  • Error Handling: Improved error messages and validation feedback
  • Test Reliability: Achieved 100% test pass rate (8/8 tests)

NIP-61 (Nutzaps)

  • Event Kinds: Added missing event kinds 9321 and 10019 to allowed kinds list
  • Validation: Enhanced Nutzap validation with proper token verification
  • Integration: Improved integration with Cashu wallet infrastructure
  • Test Coverage: Achieved 100% test pass rate (20/20 tests)

NIP-72 (Moderated Communities)

  • Community Validation: Implemented comprehensive community definition validation
  • Moderation Logic: Enhanced moderation action validation and processing
  • Content Validation: Improved community post and approval validation
  • Test Coverage: Achieved 100% test pass rate (25/25 tests)

Code Quality Issues

  • Boolean Logic: Applied De Morgan's law to simplify complex boolean expressions
  • Character Validation: Optimized character validation functions for better performance
  • Static Analysis: Resolved all staticcheck issues and warnings
  • Lint Compliance: Achieved clean golangci-lint results with zero issues

Performance Improvements

Validation Performance

  • Common Framework: Reduced validation overhead through shared validation functions
  • Optimized Logic: Improved validation performance through logical simplification
  • Caching: Enhanced validation caching for repeated operations
  • Memory Usage: Reduced memory allocation in validation processes

Code Optimization

  • Boolean Expressions: Simplified complex boolean logic for better performance
  • String Processing: Optimized string validation and processing functions
  • Error Handling: Streamlined error handling and reporting mechanisms
  • Resource Usage: Improved resource utilization in validation processes

Impact Summary

Feature Expansion

  • NIP Support: Increased from 27 to 37 supported NIPs (37% increase)
  • Capabilities: Added support for advanced Nostr features (zaps, badges, communities)
  • Compatibility: Enhanced compatibility with modern Nostr clients and applications
  • Future-Ready: Positioned for upcoming NIP developments and standards

Quality Improvements

  • Test Coverage: Achieved 100% test pass rate across all NIP implementations
  • Code Quality: Clean static analysis results with zero linting issues
  • Documentation: Comprehensive documentation coverage for all features
  • Maintainability: Enhanced code organization and maintainability

Production Readiness

  • Reliability: Robust validation and error handling for all NIPs
  • Performance: Optimized validation performance and resource usage
  • Monitoring: Enhanced logging and debugging capabilities
  • Stability: Thoroughly tested implementations with comprehensive test suites

Migration Notes

This release is backward compatible with existing installations. No breaking changes have been introduced, and all existing NIP implementations continue to work as expected. The new NIPs expand functionality without affecting existing operations.

Testing

All NIP implementations have been thoroughly tested:

  • NIP-51: 100% test pass rate (15/15 tests)
  • NIP-52: 100% test pass rate (18/18 tests)
  • NIP-53: 100% test pass rate (22/22 tests)
  • NIP-54: 100% test pass rate (14/14 tests)
  • NIP-56: 100% test pass rate (8/8 tests)
  • NIP-57: 100% test pass rate (12/12 tests)
  • NIP-58: 100% test pass rate (25/25 tests)
  • NIP-60: 100% t...
Read more

v1.3.3-rc.3

25 Sep 14:43

Choose a tag to compare

v1.3.3-rc.3 Pre-release
Pre-release

1.3.3-rc.3 (2025-09-25)

Bug Fixes

  • ci: Infrastructure (#72) (b25bdb0)
  • Include both compressed and uncompressed binaries in releases (90a772a)
  • ci: Optimize ci infrastructure (#70) (dfe700f)
  • ci: Release modifications (#71) (c62002b)

Configuration

  • Update development setup and port configurations (#52) (ff68727)

Continuous Integration

  • Optimize workflows for development efficiency (#54) (dcafa23)
  • Fix multi-env-testing workflow syntax errors (#57) (d357ca9)
  • Fix dependabot fetch-metadata errors and release workflow automation (#66) (d292be6)
  • Fix dependabot fetch-metadata errors and release workflow automation (#67) (3870e76)

Dependencies

  • deps: Bump the actions-minor-patch group across 1 directory with 10 updates (#64) (6198672)
  • deps: Bump actions/setup-go from 5.0.2 to 6.0.0 (#59) (5048a00)

Documentation

  • Enhance README with comprehensive improvements (#55) (de38fac)
  • Enhance contributor guidelines and optimize release workflow (#49) (db281b6)
  • Enhance README (#56) (c2cdfd1)

Features

  • Production improvements with comprehensive error handling and optimization (#68) (e79d4b9)
  • Simplify release workflow with direct version input (e76fe3b)
  • Comprehensive lean release system with full CI/CD pipeline (cf458ee)
  • Simplify release workflow with direct version input (#69) (ff1316a)

Miscellaneous Tasks

  • Update actions/checkout and actions/setup-go versions in CI workflows (#63) (ecccedd)
  • Remove deprecated GitHub workflows for enhanced release notes and PR status comments (4ffb59f)
  • Remove release-please configuration files (00827f5)

Performance Improvements

  • Optimize cockroachdb schema with zstd compression and enhanced indexes (#61) (6542d13)

v1.3.3-rc.2

15 Sep 15:33
306dd0e

Choose a tag to compare

v1.3.3-rc.2 Pre-release
Pre-release

1.3.3-rc.2 (2025-09-15)

Features

  • add MaxConnections field to LimitationData and update related templates (e710be9)
  • Enhance event dispatcher for real-time broadcasting and improve changefeed capabilities (f408d87)
  • enhance installation script to support interactive, direct, and piped modes for domain input (b674c6d)
  • enhance metrics tracking and add real-time metrics API (37baf98)
  • Enhance NIP-28 validation and testing for public chat events (106b0d9)
  • Enhance NIP-65 validation and testing for relay list metadata events (9b868b2)
  • implement configurable content length limits for relay metadata and WebSocket connections (94abbeb)
  • Implement cross-node event synchronization using polling instead of changefeed (0dc0380)
  • Implement NIP-45 COUNT command and associated tests (ec5c79d)
  • Integrate CockroachDB changefeed for real-time event synchronization across distributed relays (aa005cd)
  • optimize logging across relay components with proper levels and NIP validation visibility (a79fa87)
  • preserve CA certificates during cleanup for future node additions (f32c7ed)
  • Release v1.2.0 with NIP-65 and enhanced relay features (0ffd583)
  • Skip storage of ephemeral events and enhance broadcasting logic (408ce68)
  • Update relay list event validation to use specific kind validation (9fa3259)

Bug Fixes

  • adjust certificate ownership for relay and cockroach certs to ensure proper access (aded889)
  • correct delegation logging to use struct field instead of slice indexing (5d7d3cd)
  • enhance cleanup process and add port availability checks in installation script (2460bbb)
  • Extract real client IPs from proxy headers (v1.3.2.1) (0cd278c)
  • revert pgx/v5 from 5.7.6 to 5.7.4 to resolve query timeout issues (#37) (c8011f9)
  • update repository references from 'Relay' to 'relay' in various files (3477d96)
  • update versioning prefix in CI configuration for consistency (31a957d)

Performance Improvements

  • set fixed preallocation for query results to 500 (matches typical filter cap) (#20) (a6fb50e)

v1.3.3-rc.1

15 Sep 14:14
215a46b

Choose a tag to compare

v1.3.3-rc.1 Pre-release
Pre-release

1.3.3-rc.1 (2025-09-15)

Bug Fixes

  • revert pgx/v5 from 5.7.6 to 5.7.4 to resolve query timeout issues (#37) (c8011f9)

Shugur Relay v1.3.2

11 Sep 16:14

Choose a tag to compare

Shugur Relay v1.3.2 Release Summary

Release Information

  • Version: 1.3.2
  • Release Date: September 11, 2025
  • Git Tag: v1.3.2
  • Commit: 39d51a8

Release Highlights

🔥 BREAKING CHANGES

  • Time Capsules Protocol Redesign: Complete replacement of previous Time Capsules implementation with new NIP-XX specification
  • New Event Kind: Kind 1041 for time capsule events (replacing previous multi-kind approach)
  • Enhanced Integration: Improved NIP-44 v2 and NIP-59 gift wrapping compliance

🚀 New Features

  • Drand Integration: Decentralized timelock encryption using drand randomness beacon network
  • Real-World Testing: Live drand network integration with actual round synchronization
  • Enhanced Validation: Comprehensive payload structure validation for public/private modes
  • Improved Cryptography: Binary payload parsing with proper offset handling

🔧 Bug Fixes

  • NIP-59 Gift Wrap: Fixed content validation for proper NIP-44 format
  • Test File Corrections: Renamed test_nip59.sh to test_nip47.sh (correct NIP-47 wallet connect)
  • Validation Logic: Enhanced error handling and NIP compliance
  • Event Processing: Fixed addressable and temporary event handling

📦 Release Assets

Supported Platforms

Platform Architecture Binary Compressed
Linux AMD64 relay-linux-amd64 relay-linux-amd64.tar.gz
Linux ARM64 relay-linux-arm64 relay-linux-arm64.tar.gz
macOS AMD64 (Intel) relay-darwin-amd64 relay-darwin-amd64.tar.gz
macOS ARM64 (Apple Silicon) relay-darwin-arm64 relay-darwin-arm64.tar.gz
Windows AMD64 relay-windows-amd64.exe relay-windows-amd64.zip

File Sizes

  • Linux AMD64: 21.3 MB (7.8 MB compressed)
  • Linux ARM64: 20.3 MB (7.2 MB compressed)
  • macOS Intel: 21.8 MB (8.0 MB compressed)
  • macOS Apple Silicon: 20.9 MB (7.5 MB compressed)
  • Windows AMD64: 21.9 MB (8.0 MB compressed)

Quality Assurance

  • All binaries tested and verified
  • Version information embedded: ./relay version shows 1.3.2
  • SHA256 checksums provided for integrity verification
  • Cross-platform builds completed successfully

🔍 Testing Results

  • NIP-XX Time Capsules: ✅ 3/3 tests passing (real drand integration)
  • NIP-59 Gift Wrap: ✅ 9/9 tests passing (proper validation)
  • NIP-17 Private Messages: ✅ End-to-end encryption/decryption working
  • NIP-01 Basic Protocol: ✅ 20/20 tests passing

📋 Installation

Quick Start (Linux/macOS)

# Download and extract
wget https://github.com/Shugur-Network/relay/releases/download/v1.3.2/relay-linux-amd64.tar.gz
tar -xzf relay-linux-amd64.tar.gz
chmod +x relay-linux-amd64
./relay-linux-amd64 version

Windows

# Download relay-windows-amd64.zip
# Extract and run relay-windows-amd64.exe version

🔒 Security

  • All release binaries built with Go 1.24
  • Static linking for security and portability
  • Stripped symbols for reduced size (-w -s flags)
  • No external dependencies required

📚 Documentation

  • Complete CHANGELOG.md with detailed changes
  • Enhanced test suite documentation
  • NIP compliance matrix updated

🎯 Next Steps

  1. Download appropriate binary for your platform
  2. Verify checksum: sha256sum relay-* && cat checksums.txt
  3. Follow installation guide in repository README
  4. Configure according to deployment type (standalone/distributed)
  5. Test with provided NIP test suites

Full Changelog: https://github.com/Shugur-Network/relay/blob/v1.3.2/CHANGELOG.md
Documentation: https://github.com/Shugur-Network/docs

Shugur Relay v1.3.0

30 Aug 10:32

Choose a tag to compare

Shugur Relay v1.3.0 Release

Release Date: August 30, 2025
Git Commit: 26edecd
Build Date: 2025-08-30T10:21:38Z

🎉 Major Features

Time Capsules Implementation (NIP-TIME-CAPSULES)

Complete Time Capsules protocol support - Revolutionary event scheduling and time-delayed message functionality
Four specialized event kinds:

  • Kind 1990 (Time Capsule): Core time-delayed message containers with precise scheduling
  • Kind 30095 (Time Capsule Metadata): Comprehensive metadata and configuration management
  • Kind 1991 (Time Capsule Status): Real-time status tracking and monitoring
  • Kind 1992 (Time Capsule Unlock): Automatic unlocking and content revelation mechanism
    Advanced validation system with comprehensive error handling for all Time Capsules event types
    Sophisticated scheduling engine supporting precise timestamp-based activation
    47 comprehensive test cases covering all aspects of Time Capsules compliance (100% pass rate)
    Backward compatibility maintained with existing Nostr event handling

Enhanced NIP-65 Validation

Improved relay list metadata validation with stricter URL format checking
Enhanced error handling for malformed relay URLs and invalid markers
Better integration with existing relay discovery mechanisms

Configurable Relay Identity

Configurable relay public key support enabling custom relay identification
Enhanced relay metadata with improved NIP-11 information disclosure
Better relay discovery and network integration capabilities

🛠️ Technical Improvements

Code Quality & Architecture

Complete linting compliance - All static analysis warnings resolved
Enhanced code structure with improved readability and maintainability
Optimized event validation pipeline for better performance
Enhanced error handling across all NIP implementations
Improved type safety and validation logic

Database Enhancements

Time Capsules schema integration with optimized queries for temporal event handling
Enhanced indexing strategy for time-based event retrieval
Improved performance for large-scale Time Capsules operations
Better query optimization for temporal filtering and scheduling

Developer Experience

Comprehensive GitHub templates for issues and pull requests
Enhanced build system with improved cross-platform support
Better documentation and inline code comments
Streamlined development workflow with improved tooling

🧪 Testing & Validation

Time Capsules Test Suite

47 comprehensive tests using nak tool and custom validation framework
Validation against live relay (wss://shu02.shugur.net)
Coverage includes:

  • Valid/invalid Time Capsules event formats
  • Scheduling and activation timing validation
  • Metadata consistency and integrity checking
  • Status tracking and unlock mechanism verification
  • Cross-kind relationship validation
  • Error handling and edge case testing

Integration Testing

Full Time Capsules workflow verification from creation to unlock
Event validation pipeline testing with new kind support
Database integration testing for temporal operations
Performance testing under various load conditions

📦 Release Assets

Supported Platforms

Linux AMD64 (relay-linux-amd64.tar.gz) - 7.5MB
Linux ARM64 (relay-linux-arm64.tar.gz) - 6.9MB
macOS AMD64 (relay-darwin-amd64.tar.gz) - 7.6MB
macOS ARM64 (relay-darwin-arm64.tar.gz) - 7.2MB
Windows AMD64 (relay-windows-amd64.zip) - 7.7MB

Verification

All release binaries include SHA256 and MD5 checksums in checksums.txt for integrity verification.

Docker Images

ghcr.io/shugur-network/relay:v1.3.0
ghcr.io/shugur-network/relay:latest

🔧 Installation

Download and Extract

# Linux AMD64
wget https://github.com/Shugur-Network/relay/releases/download/v1.3.0/relay-linux-amd64.tar.gz
tar -xzf relay-linux-amd64.tar.gz

# macOS ARM64 (Apple Silicon)
wget https://github.com/Shugur-Network/relay/releases/download/v1.3.0/relay-darwin-arm64.tar.gz
tar -xzf relay-darwin-arm64.tar.gz

# Windows
# Download and extract relay-windows-amd64.zip

Verify Checksums

sha256sum relay-*.tar.gz relay-*.zip
md5sum relay-*.tar.gz relay-*.zip
# Compare with checksums.txt

Docker Usage

docker pull ghcr.io/shugur-network/relay:v1.3.0
docker run -p 8080:8080 ghcr.io/shugur-network/relay:v1.3.0

🔄 Upgrade Notes

Breaking Changes

None. This release maintains full backward compatibility with existing relay configurations and event storage.

Configuration Updates

Time Capsules enabled by default - No configuration changes required
Enhanced NIP-65 validation - Existing relay metadata will continue to work
Optional relay public key configuration - See documentation for custom identity setup

New Features Available

Time Capsules events (kinds 1990, 30095, 1991, 1992) now fully supported
Enhanced scheduling capabilities for time-delayed content
Improved relay metadata validation and error reporting
Configurable relay identity for advanced deployment scenarios

📈 Performance Improvements

Optimized Time Capsules processing with efficient temporal indexing
Reduced memory allocation in event validation pipeline
Enhanced query performance for time-based event retrieval
Better database query efficiency for large-scale operations
Improved error handling reducing unnecessary computation overhead

🐛 Bug Fixes

Fixed all static analysis warnings (golangci-lint clean)
Enhanced URL validation in NIP-65 relay list processing
Improved error messages for better debugging and troubleshooting
Fixed edge cases in event validation logic
Enhanced type safety across all validation functions

🌟 Time Capsules Use Cases

Scheduled announcements - Set future content releases with precise timing
Time-delayed messaging - Send messages that unlock at specific future dates
Event reminders - Create self-activating reminders and notifications
Content scheduling - Plan and automate content publication workflows
Temporal coordination - Synchronize activities across distributed networks

🔗 Links

Repository: https://github.com/Shugur-Network/relay
Documentation: See README.md for full setup instructions
Time Capsules Specification: https://github.com/Shugur-Network/NIP-XX_Time-Capsules
Docker Registry: https://ghcr.io/shugur-network/relay
Live Demo Relay: wss://shu01.shugur.net

Shugur Relay v1.2.0

24 Aug 20:54

Choose a tag to compare

Shugur Relay v1.2.0 Release

Release Date: August 24, 2025
Git Commit: cba7484
Build Date: 2025-08-24T20:50:22Z

🎉 Major Features

NIP-65: Relay List Metadata Support

  • Complete implementation of NIP-65 (Relay List Metadata)
  • Validates kind 10002 events with 'r' tags containing relay URLs
  • Supports read/write relay markers (read, write, or empty for both)
  • URL scheme validation (wss://, ws://) with comprehensive error handling
  • 8 comprehensive test cases covering all aspects of NIP-65 compliance

NIP-45: COUNT Command Enhancement

  • Dedicated module for COUNT command implementation
  • Improved query performance and response handling
  • Better integration with existing filter system

Extended Replaceable Events Support

  • NIP-16: Updated replaceable event ranges to include 10000-19999
  • Kind 41: Added channel metadata as replaceable event type per NIP-01
  • Database schema updates to support extended replaceable ranges
  • Backward compatibility maintained

🛠️ Technical Improvements

Code Quality

  • All linting errors resolved (0 issues remaining)
  • Applied De Morgan's law optimizations
  • Converted if-else chains to efficient tagged switch statements
  • Improved error handling and type inference
  • Enhanced code documentation and comments

Database Enhancements

  • Updated schema constraints for new replaceable event ranges
  • Optimized queries for kind 10002 events
  • Better performance for relay list metadata operations

🧪 Testing & Validation

NIP-65 Test Suite

  • 8 comprehensive tests using nak tool
  • Validation against live relay (wss://shu02.shugur.net)
  • Coverage includes:
    • Valid/invalid relay URL formats
    • Read/write marker validation
    • Event replaceability verification
    • Query functionality testing

Integration Testing

  • Full relay functionality verification
  • Event validation pipeline testing
  • Database integration testing

📦 Release Assets

Supported Platforms

  • Linux AMD64 (relay-linux-amd64.tar.gz) - 7.8MB
  • Linux ARM64 (relay-linux-arm64.tar.gz) - 7.2MB
  • macOS AMD64 (relay-darwin-amd64.tar.gz) - 7.9MB
  • macOS ARM64 (relay-darwin-arm64.tar.gz) - 7.5MB
  • Windows AMD64 (relay-windows-amd64.zip) - 8.0MB

Verification

All release binaries include SHA256 checksums in checksums.txt for integrity verification.

Docker Images

  • ghcr.io/shugur-network/relay:v1.2.0
  • ghcr.io/shugur-network/relay:latest

🔧 Installation

Download and Extract

# Linux AMD64
wget https://github.com/Shugur-Network/relay/releases/download/v1.2.0/relay-linux-amd64.tar.gz
tar -xzf relay-linux-amd64.tar.gz

# macOS ARM64 (Apple Silicon)
wget https://github.com/Shugur-Network/relay/releases/download/v1.2.0/relay-darwin-arm64.tar.gz
tar -xzf relay-darwin-arm64.tar.gz

# Windows
# Download and extract relay-windows-amd64.zip

Verify Checksums

sha256sum relay-*.tar.gz relay-*.zip
# Compare with checksums.txt

Docker Usage

docker pull ghcr.io/shugur-network/relay:v1.2.0
docker run -p 8080:8080 ghcr.io/shugur-network/relay:v1.2.0

🔄 Upgrade Notes

Breaking Changes

  • None. This release maintains full backward compatibility.

Configuration Updates

  • No configuration changes required
  • Existing databases will work without migration

New Features Available

  • Kind 10002 events (NIP-65) now fully supported
  • Enhanced COUNT query capabilities
  • Extended replaceable event support (kinds 10000-19999, 41)

📈 Performance Improvements

  • Optimized query performance for new event kinds
  • Reduced memory allocation in hot paths
  • Better error handling reducing unnecessary computation
  • Enhanced database query efficiency

🐛 Bug Fixes

  • Fixed all static analysis warnings (golangci-lint clean)
  • Improved error handling in random ID generation
  • Better format string safety in logging
  • Enhanced hex validation logic efficiency

🔗 Links


Full Changelog: v1.1.0...v1.2.0

Shugur Relay v1.1.0

17 Aug 11:49

Choose a tag to compare

Enhanced NIP validation, real-time metrics, and improved web interface.

Key improvements:

  • Enhanced NIP validation system
  • Real-time metrics API
  • Configurable content limits
  • Modern web interface styling
  • Improved logging and debugging

Full changelog: v1.0.0...v1.1.0