| 1 | Subtext: a multi-user BBS server for Macintosh | 
    
      | 2 | Written by joshua stein <jcs@jcs.org> - http://jcs.org/subtext | 
    
      | 3 |  | 
    
      | 4 | Subtext is free software; see the LICENSE file for copyright/licensing. | 
    
      | 5 |  | 
    
      | 6 | Introduction | 
    
      | 7 | ================================================================== | 
    
      | 8 | Subtext is a multi-user BBS server that is developed and runs on Macintosh | 
    
      | 9 | System 6 and above.  It supports dialin access through a serial modem and | 
    
      | 10 | Telnet access through MacTCP.  For full documentation, see the GUIDE file. | 
    
      | 11 |  | 
    
      | 12 | Support | 
    
      | 13 | ================================================================== | 
    
      | 14 | Updates to Subtext are published on the Kludge BBS and can be downloaded | 
    
      | 15 | on the World Wide Web at http://jcs.org/subtext | 
    
      | 16 |  | 
    
      | 17 | For questions and support running a Subtext BBS, connect to the | 
    
      | 18 | Kludge BBS by Telnet/Web at klud.ge, or modem at +1-312-654-0090. | 
    
      | 19 |  | 
    
      | 20 | The source code for Subtext can also be found on AmendHub at | 
    
      | 21 | http://amendhub.com/jcs/subtext | 
    
      | 22 |  | 
    
      | 23 | Release History | 
    
      | 24 | ================================================================== | 
    
      | 25 | 4.0 - 2024-02-19 | 
    
      | 26 | - Move views out of database to flat files in a "views" directory, allowing | 
    
      | 27 | them to be edited by other text editors and backed up; views are cached | 
    
      | 28 | at startup and can be reloaded through the sysop menu | 
    
      | 29 | - Speed up telnet IAC negotiation to avoid delay after connect, avoid doing | 
    
      | 30 | NEWENV unless talking to the trusted proxy | 
    
      | 31 | - Add BSD Syslog (RFC3164) support, sending all logged events to a | 
    
      | 32 | configured syslog server | 
    
      | 33 | - When opening the last-opened database at startup, if the Command key | 
    
      | 34 | is held down, do not open it and prompt for a different one | 
    
      | 35 | - Add support for {{center_XX}} template variable | 
    
      | 36 | - Remove ATQ0 from default modem init string to be able to handle when | 
    
      | 37 | the modem responds to init with an error | 
    
      | 38 | - When tossing FTN packets, log failures and move files to the "bad" | 
    
      | 39 | directory, then send local mail to sysop | 
    
      | 40 | - Add page number to prompt in boards menus | 
    
      | 41 | - Prevent running daily pruning jobs if system clock year is less than 2024, | 
    
      | 42 | to avoid pruning all mail and sessions if the clock gets reset | 
    
      | 43 | - Fix 'new'/'signup' logins not going directly to the signup menu | 
    
      | 44 | - Fix bug in modem handling where a session wasn't properly disassociated | 
    
      | 45 | when the session was forcefully closed | 
    
      | 46 | - Fix location lookup when connecting through the trusted proxy | 
    
      | 47 |  | 
    
      | 48 | 3.1 - 2023-11-21 | 
    
      | 49 | - In "who" command, show which area of the BBS each user is currently in | 
    
      | 50 | - Add a "logged_in_time" template variable, helpful for signoff template | 
    
      | 51 | showing how long the user was logged in for | 
    
      | 52 | - Find proper per-message originating and destination net/zone numbers | 
    
      | 53 | from FTN messages when different than FTN packet header | 
    
      | 54 | - Properly handle skip commands received from binkp servers to end the | 
    
      | 55 | session and retry later | 
    
      | 56 | - Abort idle binkp connections in case of server issues | 
    
      | 57 | - Set the software major version in outgoing FTN packets and use the | 
    
      | 58 | proper code for software that has not been assigned an id such as Subtext | 
    
      | 59 | - Include the actual timestamp of FTN packet files when sending through | 
    
      | 60 | binkp | 
    
      | 61 | - Fix a bug encoding FTN packets with the wrong termination | 
    
      | 62 | - Fix a bug where tossing FTN packets was adding messages for areas | 
    
      | 63 | not subscribed to into the previously used board | 
    
      | 64 | - Fix a bug in the console where an assertion was erroneously triggered | 
    
      | 65 | when the cursor was at the far corner but in bounds | 
    
      | 66 |  | 
    
      | 67 | 3.0 - 2023-11-11 | 
    
      | 68 | - Add support for using an IP geolocation database to lookup connecting | 
    
      | 69 | telnet IP addresses and log their location, storing it in the session | 
    
      | 70 | log and making it available in 'who' and 'last' menus | 
    
      | 71 | - Dynamically apply config changes made from the sysop menu without | 
    
      | 72 | requiring a restart | 
    
      | 73 | - Add a config setting to change the number of rings to wait before | 
    
      | 74 | answering the modem, possibly to allow for caller ID information to | 
    
      | 75 | come through after the first ring which will get logged | 
    
      | 76 | - Add '&D2' (hangup on DTR flash) to default modem initialization string | 
    
      | 77 | to make it clear we need it for proper hangup | 
    
      | 78 | - Do faster sorting in many places | 
    
      | 79 | - Allow "guest", "new", and "signup" logins to be made in mixed-case | 
    
      | 80 | - Add 'l' key in post view in boards to list posts, and 's' to show the post | 
    
      | 81 | again | 
    
      | 82 | - In sysop settings menu, make 'q' stop pagination at the 'more' prompt | 
    
      | 83 | - Fix a bug in sysop settings editor that could have caused config | 
    
      | 84 | corruption if the sesion was disconnected before exiting/saving the | 
    
      | 85 | editor | 
    
      | 86 | - Do more TCP connection status checks during binkp connections to detect | 
    
      | 87 | dropped connections | 
    
      | 88 | - Fix a bug in pagination that caused extra newlines to be shown in certain | 
    
      | 89 | terminals, and a bug that caused incorrect wrapping when the first | 
    
      | 90 | character of a post was a newline | 
    
      | 91 | - Fix a bug in boards that was causing '>' not to work in some cases | 
    
      | 92 | - Fix text selection and copying in the logger window | 
    
      | 93 |  | 
    
      | 94 | 2.0.1 - 2023-05-02 | 
    
      | 95 | - Fix corrupted default menu options that prevented first launch | 
    
      | 96 | - Minor telnet and ZMODEM compatibility fixes | 
    
      | 97 |  | 
    
      | 98 | 2.0 - 2023-05-01 | 
    
      | 99 | - Add support for FTN (FidoNet) EchoMail and NetMail, with support for | 
    
      | 100 | fetching from and sending to a Binkp hub, including PKZIP archives | 
    
      | 101 | of packets | 
    
      | 102 | - Move mail to a separate database file for easier backup and less | 
    
      | 103 | chance of corrupting the user database | 
    
      | 104 | - Implement sysop paging/answering, which displays the user's message | 
    
      | 105 | on the screen with a beep | 
    
      | 106 | - Implement custom "NoModem" protocol for file transfers, used when a | 
    
      | 107 | host is connecting through the trusted host assuming this is a web | 
    
      | 108 | gateway | 
    
      | 109 | - List more items per screen in boards, files, and sysop, and change | 
    
      | 110 | input handler to collect multiple digits | 
    
      | 111 | - List newest mail first and a global setting to automatically prune | 
    
      | 112 | mail after a configurable amount of days | 
    
      | 113 | - Add option to sysop menu to forcefully hangup/reset the modem, and | 
    
      | 114 | an option to reboot the system | 
    
      | 115 | - Add timezone UTC offset setting, use to convert timestamps in FTN | 
    
      | 116 | messages to local timezone, and add a "timezone" template variable | 
    
      | 117 | - Add setting for separate maximum idle time for sysops (which can be | 
    
      | 118 | set to 0 to disable idling out sysop sessions) | 
    
      | 119 | - Mask password fields in sysop settings menu | 
    
      | 120 | - Add BOARD_LIST_BOARDS command for main menu, which lists all local | 
    
      | 121 | boards | 
    
      | 122 | - Faster session log pruning, and fix a bug where failed logins were | 
    
      | 123 | still being written to the session log | 
    
      | 124 | - Fix SHA1 checksum calculation for uploaded files and show occasional | 
    
      | 125 | progress during calculation | 
    
      | 126 | - Implement folder file description/notes editing and add an option for | 
    
      | 127 | sysop to recalculate SHA1 checksum before saving | 
    
      | 128 | - Try to handle malloc failures gracefully everywhere rather than exiting | 
    
      | 129 |  | 
    
      | 130 | 1.1 - 2022-12-01 | 
    
      | 131 | - Fix crash that could occur when more than one user is in chat, one user | 
    
      | 132 | quits chat, and then remaining users continue to chat | 
    
      | 133 | - Fix problem when running under non-MultiFinder where subsequent | 
    
      | 134 | runs would fail with errors opening board and folder databases because | 
    
      | 135 | they were not properly closed on the first run | 
    
      | 136 |  | 
    
      | 137 | 1.0 - 2022-11-22 | 
    
      | 138 | - Initial release! |