8.5 KiB
8.5 KiB
Whats New
This document attempts to track major changes and additions in ENiGMA½. For details, see GitHub.
0.0.11-beta
- Upgraded from
alphatobeta-- The software is far along and mature enough at this point! - Development is now against Node.js 12.x LTS. Other versions may work but are not currently supported!
- QWK support
oputil fb scan *areaTagWildcard*scans all areas in which wildcard is matched.- The archiver configuration
escapeTelnethas been renamedescapeIACs. Support for the old value will be removed in the future.
0.0.10-alpha
oputil.js user rename USERNAME NEWNAMEmy_messages.jsmodule (defaulted to "m" at the message menu) to list public messages addressed to the currently logged in user. Takes into account their username andreal_nameproperty.- SSH Public Key Authentication has been added. The system uses a OpenSSH style public key set on the
ssh_public_keyuser property. - 2-Factor (2FA) authentication is now available using RFC-4266 - HOTP: HMAC-Based One-Time Password Algorithm), RFC-6238 - TOTP: Time-Based One-Time Password Algorithm, or Google Authenticator. QR codes for activation are available as well. One-time backup aka recovery codes can also be used. See Security for more info!
- New ACS codes for new 2FA/OTP:
ARandAF. See ACS for details.
oputil.js user 2fa USERNAME TYPEenables 2-factor authentication for a user.
oputil.js user info USERNAME --securitycan now display additional security information such as 2FA/OTP.oputil.js fb scan --quickis now the default. Override with--full.- ACS checks can now be applied to form actions. For example:
{
value: { command: "SEC" }
action: [
{
// secure connections can go here
acs: SC
action: @menu:securityMenu
}
{
// non-secure connections
action: @menu:secureConnectionRequired
}
]
}
idleLogoutSecondsandpreAuthIdleLogoutSecondscan now be set to0to fully disable the idle monitor.- Switched default archive handler for zip files from 7zip to InfoZip (
zipandunzip) commands. See UPGRADE. - Menu submit
action's can now in addition to being a simple string such as@menu:someMenu, or an array of objects with ACS checks, be a simple array of strings. In this case, a random match will be made. For example:
submit: [
{
value: { command: "FOO" }
action: [
// one of the following actions will be matched:
"@menu:menuStyle1"
"@menu:menuStyle2"
]
}
]
- Added
read(list/view) andwrite(post) ACS support to message conferences and areas. - Many new built in modules adding support for things like auto signatures, listing "my" messages, top stats, etc. Take a look in the docs for setting them up!
- Built in MRC support!
- Added an customizable achievement system!
0.0.9-alpha
- Development is now against Node.js 10.x LTS. While other Node.js series may continue to work, you're own your own and YMMV!
- Fixed
justifyproperties:leftandrightvalues were formerly swapped (oops!) - Menu items can now be arrays of objects not just arrays of strings.
- The properties
itemFormatandfocusItemFormatallow you to supply the string format for items. For example if a menu object is{ "userName" : "Bob", "age" : 35 }, aitemFormatmight be|04{userName} |08- |14{age}. - If no
itemFormatis supplied, the default formatter is{text}. - Setting the
datamember of an object will cause form submissions to use this value instead of the selected items index. - See the default
luciano_blocktronicsmatrixmenu for example usage.
- The properties
- You can now set the
sortproperty on a menu to sort items. Iftrueitems are sorted bytext. If the value is a string, it represents the key in menu objects to sort by. - Hot-reload of configuration files such as menu.hjson, config.hjson, your themes.hjson, etc.: When a file is saved, it will be hot-reloaded into the running system
- Note that any custom modules should make use of the new Config.get() method.
- The old concept of
autoScalehas been removed. See https://github.com/NuSkooler/enigma-bbs/issues/166 - Ability to delete from personal mailbox (finally!)
- Add ability to skip file and/or message areas during newscan. Set config.omitFileAreaTags and config.omitMessageAreaTags in new_scan configuration of your menu.hjson
{userName}(sanitized) and{userNameRaw}as well as{cwd}have been added to param options when launching a door.- Any module may now register for a system startup initialization via the
initializeModules(initInfo, cb)export. - User event log is now functional. Various events a user performs will be persisted to the
system.sqlite3user_event_logtable for up to 90 days. An example usage can be found in the updatedlast_callersmodule where events are turned into Ami/X style actions. Please seeUPGRADE.md! - New MCI codes including general purpose movement codes. See MCI codes
install.shwill now attempt to use NPM's--build-from-sourceoption when ARM is detected.oputil.js config newwill now generate a much more complete configuration file with comments, examples, etc.oputil.js config catdumps your current config to stdout.- Handling of failed login attempts is now fully in. Disconnect clients, lock out accounts, ability to auto or unlock at (email-driven) password reset, etc. See
users.failedLogininconfig.hjson. - NNTP support! See NNTP docs for more information.
oputil.js user rmandoputil.js user infoare in! See oputil CLI.- Performing a file scan/import using
oputil.js fb scannow recognizes variousFILES.BBSformats. - Usernames found in the
config.users.badUserNamesare now not only disallowed from applying, but disconnected at any login attempt. - Total minutes online is now tracked for users. Of course, it only starts after you get the update :)
- Form entries in
menu.hjsoncan now be omitted from submission handlers usingomit: true
0.0.8-alpha
- Mystic BBS style extended pipe color codes. These allow for example, to set "iCE" background colors.
- File descriptions (FILE_ID.DIZ, etc.) now support Renegade |## pipe, PCBoard, and other less common color codes found commonly in BBS era scene releases.
- New menu stack flags:
noHistorynow works as expected, and a new addition ofpopParent. See the defaultmenu.hjsonfor usage. - File structure changes making ENiGMA½ much easier to maintain and run in Docker. Thanks to RiPuk (Dave Stephens)! See UPGRADE.md for details.
- Switch to pure JS xxhash instead of farmhash. Too many issues on ARM and other less popular CPUs with farmhash (Dave Stephens)
- Native CombatNet support! (Dave Stephens)
- Fix various issues with legacy DOS Telnet terminals. Note that some may still have issues with extensive CPR usage by ENiGMA½ that will be addressed in a future release.
- Added web (http://, https://) based download manager including batch downloads. Clickable links if using VTXClient!
- General VTX hyperlink support for web links
- DEL vs Backspace key differences in FSE
- Correctly parse oddball
INTL,TOPT,FMPT,Via, etc. FTN kludge lines - NetMail support! You can now send and receive NetMail. To send a NetMail address a external user using
Name <address>format from your personal email menu. For example,Foo Bar <123:123/123>. The system also detects other formats such asaName @ address(Foo Bar@123:123/123) oputil.js: Addedmb areafixcommand to quickly send AreaFix messages from the command line. You can manually send them from personal mail as well.oputil.js fb rm|remove|del|deletefunctionality to remove file base entries.oputil.js fb descfor setting/updating a file entry description.- Users can now (re)set File and Message base pointers
- Add
--updateoption tooputil.js fb scan - Fix @watch path support for event scheduler including FTN, e.g. when looking for a
toss!.nowfile produced by Binkd.
...LOTS more!
Pre 0.0.8-alpha
See GitHub