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
alpha
tobeta
-- 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
escapeTelnet
has been renamedescapeIACs
. Support for the old value will be removed in the future.
0.0.10-alpha
oputil.js user rename USERNAME NEWNAME
my_messages.js
module (defaulted to "m" at the message menu) to list public messages addressed to the currently logged in user. Takes into account their username andreal_name
property.- SSH Public Key Authentication has been added. The system uses a OpenSSH style public key set on the
ssh_public_key
user 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:
AR
andAF
. See ACS for details.
oputil.js user 2fa USERNAME TYPE
enables 2-factor authentication for a user.
oputil.js user info USERNAME --security
can now display additional security information such as 2FA/OTP.oputil.js fb scan --quick
is 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
}
]
}
idleLogoutSeconds
andpreAuthIdleLogoutSeconds
can now be set to0
to fully disable the idle monitor.- Switched default archive handler for zip files from 7zip to InfoZip (
zip
andunzip
) 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
justify
properties:left
andright
values were formerly swapped (oops!) - Menu items can now be arrays of objects not just arrays of strings.
- The properties
itemFormat
andfocusItemFormat
allow you to supply the string format for items. For example if a menu object is{ "userName" : "Bob", "age" : 35 }
, aitemFormat
might be|04{userName} |08- |14{age}
. - If no
itemFormat
is supplied, the default formatter is{text}
. - Setting the
data
member of an object will cause form submissions to use this value instead of the selected items index. - See the default
luciano_blocktronics
matrix
menu for example usage.
- The properties
- You can now set the
sort
property on a menu to sort items. Iftrue
items 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
autoScale
has 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.sqlite3
user_event_log
table for up to 90 days. An example usage can be found in the updatedlast_callers
module where events are turned into Ami/X style actions. Please seeUPGRADE.md
! - New MCI codes including general purpose movement codes. See MCI codes
install.sh
will now attempt to use NPM's--build-from-source
option when ARM is detected.oputil.js config new
will now generate a much more complete configuration file with comments, examples, etc.oputil.js config cat
dumps 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.failedLogin
inconfig.hjson
. - NNTP support! See NNTP docs for more information.
oputil.js user rm
andoputil.js user info
are in! See oputil CLI.- Performing a file scan/import using
oputil.js fb scan
now recognizes variousFILES.BBS
formats. - Usernames found in the
config.users.badUserNames
are 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.hjson
can 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:
noHistory
now works as expected, and a new addition ofpopParent
. See the defaultmenu.hjson
for 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 areafix
command 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|delete
functionality to remove file base entries.oputil.js fb desc
for setting/updating a file entry description.- Users can now (re)set File and Message base pointers
- Add
--update
option tooputil.js fb scan
- Fix @watch path support for event scheduler including FTN, e.g. when looking for a
toss!.now
file produced by Binkd.
...LOTS more!
Pre 0.0.8-alpha
See GitHub