Skip to content
This repository was archived by the owner on Jun 9, 2026. It is now read-only.

Releases: arkstack-tmp/arkstack

0.12.18

Choose a tag to compare

@exronnin exronnin released this 08 Jun 18:28

#What's Changed

Trait Method Enhancements

  • Preserve conflicting instance and static trait methods.
  • Add getTraitMethods() and callTraitMethods() utilities.
  • Add use(true, ...) to expose these helpers directly on consuming classes and instances.
  • Keep regular use(...) compositions free from additional helper methods.
  • Store method metadata only when conflicts occur.
  • Warn when invoking a method without registered conflicts.
  • Add documentation and regression coverage for conflict handling.

Full Changelog: 0.12.17...0.12.18

0.12.17

Choose a tag to compare

@exronnin exronnin released this 08 Jun 15:01

What's Changed

Trait Method Conflict Support

  • Preserve instance and static trait methods when conflicts occur.
  • Add getTraitMethods() for accessing bound conflicting implementations.
  • Add callTraitMethods() for invoking the complete method chain.
  • Store method metadata only when a conflict is detected.
  • Warn when attempting to invoke a method without registered conflicts.
  • Document conflict ordering and usage within consuming classes.

Full Changelog: 0.12.12...0.12.17

0.12.12

Choose a tag to compare

@exronnin exronnin released this 07 Jun 09:21

Introducing Stateless HTTP Sessions

  • HTTP sessions are no longer created automatically for every request.
  • Routes without web middleware remain stateless and do not receive session state, create storage records, or emit session cookies.
  • Applying web middleware enables persistent sessions, flash data, validation errors, and view session state.
  • Explicit Session dependency injection can also initialize a session when required.
  • Preserved validation redirect and flash behavior across Express and H3.
  • Renamed @arkstack/auth's Session class to AuthSession to distinguish it from the HTTP session implementation.
  • Added integration coverage proving stateless routes remain cookie-free.

Full Changelog: 0.12.8...0.12.12

0.12.8

Choose a tag to compare

@exronnin exronnin released this 06 Jun 15:40

What's Changed

  • Map package models to @app/models/* so they can be consistently mapped and resolved to project models.

Full Changelog: 0.12.6...0.12.8

0.12.7

Choose a tag to compare

@exronnin exronnin released this 06 Jun 06:17

What's Changed

  • Import dotenv/config in http setup to ensure predictable .env parsing in on template variants.
  • Configure tsdown to preserve comments in all build files.

Full Changelog: 0.12.5...0.12.7

0.12.5

Choose a tag to compare

@exronnin exronnin released this 02 Jun 14:24

What's Changed

  • Disable sourcemaps in tsdown configuration by @exronnin in #2
  • Fix filesystem default driver selection (was hard-coded to ftp)

Full Changelog: 0.12.3...0.12.5

0.12.3

Choose a tag to compare

@exronnin exronnin released this 02 Jun 08:11
c2d999e

What's Changed

  • Add express template environment variable for APP_ENV
  • Add h3 template environment variable for APP_ENV
  • Add --d|dev option for build command

Full Changelog: 0.12.1...0.12.3

0.12.1

Choose a tag to compare

@exronnin exronnin released this 29 May 15:26

Release Notes

Added

  • Added support for custom filesystem disk drivers.
  • Added Driver.registerDriver() and Driver.removeDriver() for registering custom Flydrive-compatible drivers.
  • Added custom_drivers support to filesystem config.
  • Added Storage and Driver as dedicated filesystem modules instead of keeping all storage logic in the package entrypoint.
  • Added filesystem config types, including FilesystemConfig, DriverConfig, built-in disk config types, and custom driver registry support.
  • Added in-memory config overrides via config({ ... }).
  • Added tests for config loading, config overrides, filesystem config, and custom filesystem drivers.

Changed

  • Refactored @arkstack/filesystem exports to expose storage, driver, FTP driver, and shared filesystem types from dedicated modules.
  • Updated Express and H3 filesystem templates to use typed FilesystemConfig.
  • Improved config interface generation to prefer explicit config return types, such as FilesystemConfig, instead of reconstructing large object shapes.
  • Generated config declarations now include needed import type statements for referenced config return types.

Fixed

  • Fixed generated config types for complex configs with known return types.
  • Fixed config mutation behavior so runtime overrides are stored in memory and merged with loaded config.
  • Fixed filesystem tests to use isolated config fixtures and custom driver helpers.

Full Changelog: 0.12.0...0.12.1

0.12.0

Choose a tag to compare

@exronnin exronnin released this 28 May 20:09

Changed

  • Centralized app lifecycle defaults in @arkstack/contract, including shared boot() defer semantics and startup wiring.
  • Moved boot/shutdown hook execution into the shared bootWithDetectedPort() lifecycle path.
  • Simplified Express and H3 templates by removing duplicated lifecycle boilerplate.
  • Registered global request helpers during HTTP and CLI boot:
    • abort()
    • abortIf()
    • assertFound()

Fixed

  • Fixed generated config typings so middleware.ts is included in ConfigRegistry.
  • Fixed config('middleware') TypeScript failures by treating all Function values as terminal dot-path leaves.
  • Added a regression test for middleware config type generation.
  • Added RequestException.assertFound() and kept assertNotEmpty() as a deprecated alias.

Full Changelog: 0.11.2...0.12.0

0.11.2

Choose a tag to compare

@exronnin exronnin released this 28 May 12:39

What's Changed

  • Improve config types generation from BuildInterfaces

Full Changelog: 0.11.1...0.11.2