Skip to content

Releases: hypernova-lab/nova

v0.6.0

03 Jun 13:01
Immutable release. Only release title and notes can be modified.
74af0f0

Choose a tag to compare

Nova.chain() has been removed from the public API. Route-specific middleware is now handled exclusively through Attributes (--@Guard, --@Interceptor, --@Validator).

Added

  • Exception handling utility with common HTTP error responses (Nova.exception) (#76)
  • Request validation via --@Validator attribute with support for body, param, and query (#73)
  • Interceptor support via --@Interceptor attribute using onion architecture (#72)
  • Guard attribute now supports multiple rules — --@Guard(Auth, Admin) (#72)
  • Initial --@Guard attribute support with comment-based syntax (#69)

Changed

  • Startup logger now displays registered routes with their applied Attributes (#75)
  • Runtime request logs now include status code and applied Attributes, with color-coded output by status class (2xx green, 3xx blue, 4xx/5xx red) (#75)
  • Core architecture restructured and modularized; adapters renamed (#71)
  • libs/ renamed to adapters/ (#69)
  • Nova.chain() is no longer exposed publicly — route-specific middleware must now be defined using Attributes (#69)

Fixed

  • Correct status property access in devMiddleware (#74)

Before

Home.Get = Nova.chain({ AuthMiddleware, AdminMiddleware }, function()
    return Nova.response.send("Hello, World")
end)

After

--@Guard(AuthRule, AdminRule)
--@Interceptor(TransformRule)
function Home.Get()
    return Nova.response.send("Hello, World")
end

v0.5.7

04 May 13:36
Immutable release. Only release title and notes can be modified.
d080cbc

Choose a tag to compare

Changed

  • Enhance changelog extraction and Discord notification formatting (#65)

v0.5.7-test

04 May 13:48
Immutable release. Only release title and notes can be modified.
35ecbc1

Choose a tag to compare

v0.5.7-test Pre-release
Pre-release

Changed

  • Update changelog header format in Discord notification

v0.5.6

04 May 12:57
Immutable release. Only release title and notes can be modified.
d8b7097

Choose a tag to compare

Changed

  • Enhance release workflow to notify Discord and consolidate notification logic (#63)

v0.5.5

04 May 12:12
Immutable release. Only release title and notes can be modified.
85a01a6

Choose a tag to compare

Added

  • Add Discord release notifier workflow for automated notifications (#61)
  • Add development mode with request logging and runtime argument support (#60)
  • Add web test suite (#57)

Changed

  • Optimize header normalization (#59)
  • (Docs) Restructure documentation and add comprehensive Luau guides (#58)
  • Simplify routing dispatcher and improve request object consistency (#56)

v0.5.4

27 Apr 08:45
Immutable release. Only release title and notes can be modified.
92448bc

Choose a tag to compare

Added

  • Implement custom test runner and add initial unit tests (#49)
  • Add error handling to file and directory checks in LuteFs (#47)
  • Add initial CI workflow for testing with Lune, Zune, and Lute (#50)
  • Streamline function calls and improve code readability across multiple modules (#51)

Changed

  • Improve release workflow and fix documentation (#46)
  • Convert matchRoute to iterative with targeted recursive fallback (#48)

v0.5.3

24 Apr 14:18
Immutable release. Only release title and notes can be modified.
3b86101

Choose a tag to compare

Changed

  • Improve loadEnv function to handle multiple environment files
  • Streamline runtime check and enhance file system operations
  • Update project name and version in pesde.toml

Removed

  • Temporarily remove obsolete CI configuration and related files

v0.5.1

19 Apr 10:14
Immutable release. Only release title and notes can be modified.
9406efd

Choose a tag to compare

Added

  • GitHub Actions for Release Note: Implemented GitHub Actions workflow for release automation.

Changed

  • Update CHANGELOG and README for Lute support

v0.5.0

18 Apr 16:25
Immutable release. Only release title and notes can be modified.
a3cabda

Choose a tag to compare

Nova now runs on Lune, Zune and Lute through a runtime adapter layer.

Added

  • Lute Runtime Support: Added fs, net, process, serde, and task adapters, bringing full Lute runtime support to Nova.

v0.4.0

14 Apr 07:44
03d5915

Choose a tag to compare

Added

  • Runtime Abstraction Layer: Introduced an adapter pattern for core libraries (fs, net, process, serde, and task), decoupling the framework from specific runtime implementations.
  • Zune Runtime Support: Added full support for the Zune runtime.

Changed

  • Runtime-Agnostic Utilities: Refactored internal utility functions to utilize the new abstraction layer, removing direct dependencies on @lune built-ins.
  • Enhanced CI Pipeline: Updated GitHub Actions to install Zune and execute the test suite across both Lune and Zune runtimes to ensure cross-runtime compatibility.