mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-08-04 08:51:51 +02:00
* Slow disconnects to thwart brute force attacks - these names won't exist anyway, but we want the attacking client to not DoS us
5.4 KiB
5.4 KiB
Whats New
This document attempts to track major changes and additions in ENiGMA½. For details, see GitHub.
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.db
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.
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
- Correly 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