BoxLang 🚀 A New JVM Dynamic Language Learn More...
A production-ready ColdBox starter template for BoxLang.
Full documentation lives here:
Required CLI: This template runs on BoxLang. Do not install or use the regular Lucee-based CommandBox distribution. Install BoxLang first, then install the BoxLang CLI module before running any
boxcommand.
git clone https://github.com/coldbox-templates/cbGenesis my-app
cd my-app
# Install BoxLang first, then add the BoxLang-native CommandBox CLI
# (use either the BoxLang quick installer or BVM; see docs/getting-started.md)
install-bx-module bx-cli
box install
npm install
cp .env.example .env
box migrate up
box migrate seed
box server start
bx-cli) - required; regular Lucee
CommandBox is not supportedApache 2.0 License
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
pendingEmail column and a PURPOSE_EMAIL_CHANGE action token. (#24)COLDBOX_REINIT_PASSWORD environment variable for ?fwreinit. Left unset, each boot falls back to a random UUID, which closes framework reinit rather than leaving it open. (#28)BaseSecureHandler.preHandler() rejects any request into a secured handler that is not GET, HEAD, or OPTIONS and does not carry a valid rc.csrf, replacing the per-handler static.csrfVerify opt-in maps. Handlers that render HTML override onInvalidCSRF() to flash and redirect instead of returning a bare 403. (#35)[email protected] account is created reset-pending. The bootstrap password hash ships in this repository and is public, so signing in with it no longer grants a session; it sends you straight to the reset-password form. (#29)cbMinPasswordLength plus upper, lower, digit, and special character) and a confirmation-match check are now enforced on password reset, not just on registration. (#34)doRegister called a non-existent .validate() on the user entity, and the email field was silently dropped by the entity's population exclude list. (#31)getValidationResult() where cborm defines getValidationResults(). (#30)isValidPassword() was called on securityService, which does not define it, instead of settingService. (#32)RoleService.deleteRole() threw a MissingMethodException and, once reachable, a Hibernate cascade error. It now clears the role from its assigned users on the owning side of the relationship and flushes before deleting. (#33)appenders key, so it was never registered and nothing was written to app/logs. (#27)ormReload() ran on every request in development rather than only on an authenticated framework reinit. (#28)
$
box install cbgenesis