Skip to content

Releases: dimiro1/lunar

v0.5.3

18 Apr 20:17

Choose a tag to compare

Changelog

  • 7117ec4 fix(release): make lunar-cli tag hook idempotent

v0.5.2

18 Apr 14:44

Choose a tag to compare

Changelog

  • b1ced4c fix(release): auto-create cli/ module tag for go install support
  • 684ed6a fix(release): update module tag prefix from cli/ to lunar-cli/
  • f2d9951 refactor: rename cli module to lunar-cli for cleaner go install path

v0.5.1

18 Apr 14:27
870e97e

Choose a tag to compare

Changelog

  • 870e97e Fix CLI installation for published module (#37)

v0.5

18 Apr 14:11
706e11e

Choose a tag to compare

Highlights

  • adds lunar-cli, a new command-line client for managing Lunar functions
  • adds device authorization flow support for API token management
  • includes embedded AI skills for CLI usage and Lua function authoring

Documentation

  • expands the main README with prerequisites, a first-function walkthrough, CLI auth notes, llms usage, and E2E test requirements
  • adds a contributor-focused CLI README covering code generation, local development, and AI skill installation
  • aligns CLI help and docs on the lunar-cli command name

Changelog

  • 8a6ae06 Add device authorization flow for API token management (#35)
  • 442a30a Add lunar-cli command-line client
  • 706e11e Merge pull request #36 from dimiro1/feature/cli

v0.4

07 Mar 21:22

Choose a tag to compare

What's New

  • Data Tab — New UI tab for browsing and managing stored data (#33)
  • Global KV Store — Key-value store accessible across all functions (#25)
  • KV List Keys — List all keys in a KV namespace (#29)
  • GoReleaser & Docker Hub — Automated GitHub releases and Docker image publishing (#31)

Docker

docker run -p 3000:3000 -v $(pwd)/data:/data dimiro1/lunar:latest

Thanks to @adamcrossland for the contributions! 🎉

v0.3

18 Feb 07:57

Choose a tag to compare

v0.3

Features

  • Surface abstraction for engine and runner (#20)
  • Add delete version endpoint (#19)
  • Add the option to save the response body on each request (#18)

Improvements

  • Upgrade to Go 1.26 and modernize idioms with go fix
  • Remove unused strPtr, intPtr, and boolPtr test helpers
  • Update JS dependencies: Mithril 2.3.8, Monaco 0.55.1, Jasmine 6.0.1
  • Update Scalar API reference from 1.32.9 to 1.44.16
  • Update Go dependencies
  • Add docker target to Makefile
  • Add Go Reference and Go Report Card badges

Fixes

  • Fix empty state centering in execution history

v0.2

10 Dec 18:42
4fc52a7

Choose a tag to compare

New Features

Router Module - A new router module for building path-based routing in Lua functions:

  • router.match(path, pattern) - Check if a path matches a pattern
  • router.params(path, pattern) - Extract path parameters
  • router.path(path, params?) - Build a path with the function's base URL
  • router.url(path, params?) - Build a full URL including host

Pattern syntax supports :param for capturing segments and * for wildcards.

-- Route matching
router.match("/users/42", "/users/:id")        -- true
router.match("/files/a/b/c", "/files/*")       -- true (wildcard)

-- Parameter extraction
local params = router.params("/users/42", "/users/:id")
-- params = {id = "42"}

-- URL building
router.path("/users/:id", {id = "42"})         -- "/fn/{functionId}/users/42"
router.url("/users")                           -- "http://localhost:8080/fn/{functionId}/users"

event.relativePath - Access the request path relative to your function (without /fn/{id} prefix).

Router Template - New "Router" template in the function creation wizard demonstrating routing patterns.

Path Input in Test UI - The request builder now allows specifying a custom path for testing routed functions.

Bug Fixes

  • Content-Type Header - Fixed issue where the Content-Type header set by the function was not respected in the response.
  • RelativePath in Event Logs - Fixed relativePath not appearing in execution event logs.

v0.1

09 Dec 15:59
76ddd29

Choose a tag to compare

🚀 Lunar - First Beta Release

A lightweight, self-hosted Function-as-a-Service platform written in Go with Lua scripting.

Features

Core Platform

  • Simple Lua functions with handler(ctx, event) pattern
  • HTTP triggers to execute functions via HTTP requests
  • Version control for tracking and managing function versions
  • Execution history with logging and monitoring
  • Key-value storage for persistent state
  • Environment variables support
  • Function scheduling with cron expressions

Built-in Lua APIs

  • log - Logging utilities (info, debug, warn, error)
  • kv - Key-value storage (get, set, delete)
  • env - Environment variables
  • http - HTTP client (get, post, put, delete)
  • json - JSON encoding/decoding
  • crypto - Cryptographic functions (md5, sha256, hmac, uuid)
  • time - Time utilities (now, format, sleep)
  • url - URL utilities (parse, encode, decode)
  • strings - String manipulation
  • random - Random generators
  • base64 - Base64 encoding/decoding

Integrations

  • AI chat completions (OpenAI & Anthropic) with request/response logging
  • Email integration via Resend API with scheduling support

Web Dashboard

  • Monaco Editor with autocomplete and inline documentation
  • Maximizable editor view
  • Command palette with custom actions
  • Language localization support
  • Version comparison (diff view)
  • Beautiful human-friendly error messages with code context

Deployment

  • Single binary with no external dependencies
  • Docker support with docker-compose
  • Railway-ready deployment configuration
  • SQLite database (no external database required)

Developer Experience

  • API key authentication (auto-generated or custom)
  • Accessibility improvements throughout the UI
  • Jasmine frontend tests
  • E2E tests with chromedp
  • GitHub Actions CI workflow