Releases: arkstack-hq/arkstack
Releases · arkstack-hq/arkstack
0.5.0
What's Changed
@arkstack/database — New Package
A new @arkstack/database package has been introduced, providing core database and Arkormˣ abstraction utilities.
ValidatorDBDriverfor database existence validation- Command classes covering factory, migration, model, seeder, and history management
- Full package setup including
README,package.json, and updatedtsdownconfiguration
Database Extensions
Seven new extensions are now available for database interaction: DB, Factory, Migration, Model, Rebuilder, SchemaBuilder, and Seeder.
Rebuilderclass for orchestrating model, seeder, migration, and factory file management- Express API and web route stubs with basic responses included as a starting point
Dependency Updates
arkormxbumped from2.0.8→2.0.9across all affected packagesreflect-metadataadded as a dependency forclear-routercontainer resolution supporttsconfig.jsonupdated to enableexperimentalDecoratorsand disable declaration maps
CLI — CreateArkstackCommand
Project scope selection added to the create command, with improved template hints to guide users through project setup.
Full Changelog: 0.4.2...0.5.0
0.4.2
What's Changed
- add
auth(@arkstack/authAuth instance) to global request and context objects.
Full Changelog: 0.4.1...0.4.2
0.4.1
What's Changed
- Updated the global
view()helper boot behavior so callingview()without a name returns the shared view factory instance. - Improved view initialization in tests by explicitly calling
View.boot()where global view behavior is required. - Fixed the global view helper assertion to compare the resolved factory instance instead of the helper function reference.
Commits
4199f1cfeat: initialize View in notification and view test files for consistent setup009386ffeat: update View boot method to return factory instance when name is undefined65b7629fix: correct global view reference in view test for accurate instance comparison
Full Changelog: 0.4.0...0.4.1
0.4.0
Highlights
- Added
@arkstack/view, an Edge.js-powered view package with Laravel-style rendering APIs. - Added package-scoped views using
~package-name.viewand~org/package-name.view. - Added default
welcome.edgeand error/mail view templates across packages and starter apps. - Moved runtime router exports into driver packages for cleaner app/runtime boundaries.
- Refreshed the docs landing page and shared docs theme with the new Arkstack visual system.
What's Changed
Views
- Added
@arkstack/viewwith:view(name, data)view().share(...)View.make(...)View.first(...)View.exists(...)View.share(...)- view instance
.with(...) - function, class, and instance-based view composers
- package-scoped views
- Added
make:viewcommand for generating Edge templates. - Added tests for view rendering, composers, package views, and the make-view command.
Templates
- Added
welcome.edgeviews for Express and H3. - Updated default
/web routes to render the welcome view. - Added shared error view assets through
@arkstack/common. - Added notification mail view assets through
@arkstack/notifications.
Runtime and Drivers
- Moved router implementations into:
@arkstack/driver-express@arkstack/driver-h3
- Updated app cores to use the driver router exports.
- Improved runtime/network and error-handler integration.
Docs
- Added the Views guide.
- Updated API docs for view APIs and package-scoped views.
- Reworked the Architecture Overview for the current package architecture.
- Updated the docs landing page with runtime tabs, interactive feature selection, and package chips.
- Updated the shared docs theme to match the Arkstack welcome-page styling.
Dependencies and Release
- Added
@arkstack/viewworkspace dependency wiring. - Updated package versions for the 0.4.0 release line.
- Updated lockfile entries for the new view package and Edge.js integration.
Full Changelog: 0.3.17...0.4.0
0.3.17
Highlights
- Added
@arkstack/notificationswith mail, SMS, and database notification drivers. - Added two-factor authentication support to
@arkstack/auth, including authenticator app secrets, SMS codes, recovery codes, andUserTwoFactor. - Added database-backed user notifications with
UserNotificationmodels and migrations. - Added
middleware:authhook support through@arkstack/common. - Added Vitest setup and basic tests for the Express and H3 templates.
- Replaced
supertestauth tests withparasito. - Updated
clear-routerto2.3.5.
What's Changed
Authentication
- Added
TwoFactorutilities for authenticator apps, SMS codes, recovery codes, and 2FA status. - Added
UserTwoFactorcontract, starter models, and migrations. - Updated auth user/session models and middleware integration.
- Added Express and H3 auth integration tests.
- Added auth middleware hook support via
middleware:auth.
Notifications
- Added new
@arkstack/notificationspackage. - Added mail delivery through SMTP.
- Added SMS delivery through AfricasTalking and Twilio transports.
- Added database/in-app notification delivery through
UserNotification. - Added
UserNotificationCenterhelpers for creating, listing, reading, and deleting notifications. - Added notification config to the Express and H3 templates.
- Added notification tests for mail, SMS, and database delivery.
Templates and Testing
- Added Vitest config to Express and H3 templates.
- Added basic template test assertions.
- Replaced
supertestwithparasitoin auth tests. - Added starter
UserNotificationandUserTwoFactormodels/migrations to templates.
Documentation
- Added notifications guide.
- Added hooks guide.
- Expanded authentication docs for 2FA and auth middleware hooks.
- Expanded API reference for notifications, hooks, and two-factor auth.
- Refreshed homepage feature cards and icons.
CI and Release
- Added release version preparation script.
- Updated publish workflow and npm auth handling.
- Added PostgreSQL-backed testing steps for prepublish workflows.
- Removed stale VitePress dependency cache files from the repository.
Dependencies
- Updated
clear-routerto2.3.5. - Updated
arkormxto2.0.7. - Updated
@resora/plugin-clear-routerto0.1.6. - Downgraded
@types/expressto5.0.6for compatibility.
Full Changelog: 0.3.3...0.3.17
0.3.3
What's Changed
Authentication and HTTP Foundation
- Added new
@arkstack/authpackage with:Authservice for user authentication, JWT/session handling, logout, and token authorization.CurrentSessionandSessionDevicehelpers.UserandPersonalAccessTokencontracts.AuthenticationException.
- Added new
@arkstack/httppackage with framework-neutralRequestandResponsewrappers. - Added auth middleware to framework drivers:
@arkstack/driver-express/middlewares@arkstack/driver-h3/middlewares
- Added Express and H3 app-template
UserandPersonalAccessTokenmodels. - Updated Express and H3 personal access token migrations with
device_info.
Common Package Improvements
- Replaced
error-handling.tswith a class-basedErrorHandler. - Added common exception classes:
ExceptionAppExceptionRequestException
- Added shared hashing and encryption utilities.
- Added typed
getModel()helper with support for abstract constructors and app model registries. - Exported the new common helpers and exceptions from
@arkstack/common.
Driver and Runtime Updates
- Added framework-specific rate limit exceptions for Express and H3 drivers.
- Updated Express and H3 error handlers to use the new shared error handling flow.
- Removed duplicated app-template error utilities from Express and H3 kits.
- Updated router behavior in the Express template.
Console and Scaffolding
- Added
migrate:freshcommand support to console packages. - Updated lean scaffold generation to remove Arkorm/database model files more completely.
- Updated scaffold dependency versions to
0.3.13. - Improved lean profile tests around model/database cleanup.
CI and Release Workflow
- Switched CI, docs deploy, and publish workflows to
pnpm install --frozen-lockfile. - Updated CI package build flow to build workspace packages and refresh lockfile state before app builds.
- Renamed CI migration step from Prisma to Arkorm database migrations.
- Updated package metadata and lockfile for the new packages and dependencies.
Tests
- Added DB-backed auth tests using real
josetokens. - Added package-level tests for:
@arkstack/http@arkstack/auth- Express auth middleware
- H3 auth middleware
- Added app-template integration tests:
- Express via
supertest - H3 via
app.fetch(new Request(...))
- Express via
- Added teardown for auth test records so created users and personal access tokens are cleaned up after tests.
Full Changelog
0.2.2
What's Changed
Added
- Implemented ValidatorDBDriver for use with kanun db based rules.
- Created prismaClient for connecting to the database using Prisma and PostgreSQL adapter.
- Added formdata middleware using multer for handling form data in requests.
- Implemented a new filesystem package that includes FTP driver functionality.
- Added configuration for local, public, and S3 disks in filesystem configuration.
- Created symbolic link command for filesystem links.
- Introduced methods for file operations including save, get, delete, and list.
- Added tests for FTP driver functionality.
- Add APP_PORT to environment files and update server boot configuration
- Introduce GlobalEnv and GlobalConfig interfaces and update their usage in app and network modules
- Add MakeCommand for generating new console commands
- Add MigrateRollbackCommand to console commands
- chore: add context setting middleware for resource management
Changed
- Update arkormx package version to 1.0.0 across all modules
- Update default configuration to use dynamic driver name and improve structure
- Encapsulate configuration merging logic in a separate method
- Enhance middleware application order in boot process
- Refactor kit handling in CreateArkstackCommand
- Simplify server boot logic by removing environment checks
- Remove unnecessary semicolons after setStatusCode calls in controller stubs
- Refactor makeController to improve controller name handling
- chore: enhance resolveStubsDir function to support core parameter and improve stubs directory resolution
Docs
- Add Middleware Guide and update documentation links
- Enhance getting started documentation for clarity and detail
- Restructure runtime interaction links in the documentation
- Add runtime interaction guides for Express and H3, update README files
Full Changelog: 0.2.0...0.2.2
0.2.0
What's Changed
Added
- Add support for Arkormˣ in controllers and services, removing direct Prisma client usage.
- Framework-agnostic shared packages:
@arkstack/contract,@arkstack/common,@arkstack/console - Dedicated runtime drivers:
@arkstack/driver-expressand@arkstack/driver-h3. - Shared console base commands in
@arkstack/console:route:list,make:controller,make:resource,make:full-resource,dev,build. - Lean starter profiles in scaffolding:
express-leanandh3-lean. - Root-level tests for shared command surface and integration behaviour.
Changed
- Reorganise console command discovery paths and middleware imports
- Moved duplicated console logic from kit-local implementations into shared console package architecture.
- Standardised router contract usage for route binding/listing across runtimes.
- Lean kit generation now strips app/api/database scaffolding by removing
src/app,src/routes/api.ts, Prisma/database files, and DB dependencies. - Added root script
publish:packagesto publish@arkstack/*packages. - Remove direct prisma client usage from controllers and services, encouraging use of Arkormˣ models instead.
Docs
- Expanded docs landing page, getting started guide, architecture overview, API reference, and roadmap content.
- Enhance documentation with CLI and database modelling guides
Full Changelog: 0.1.1...0.2.0
0.1.1
Full Changelog: https://github.com/arkstack-hq/arkstack/commits/0.1.1