Repository navigation
Expand file tree
/
Copy pathChangeLog
More file actions
204 lines (157 loc) · 7.13 KB
/
Copy pathChangeLog
File metadata and controls
204 lines (157 loc) · 7.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
(in-progress)
- modemu2k (v0.2.5)
* New accessors for hosts that emulate a UART: m2k_pending_to_dte,
m2k_pending_to_line and m2k_get_ring_count
* Fix data loss in telnet line mode when the peer stops reading: the
DTE side kept being drained past the socket buffer's limit, where
the excess was discarded instead of held back
2026-07-18
- modemu2k (v0.2.4)
* Fix ATD aborting when the command line arrives as CR LF (DOS-style
DTEs): stray CR/LF/NUL during dialing no longer cancel the call;
any other input still does (V.250 abort-on-input)
* Hide internal symbols from the shared library; only m2k_* is
exported now (flex's yylex leaked and collided with dosemu2's
config lexer, silently breaking all AT parsing when embedded)
* m2k_setup_answer now errors out if the listener can't be set
non-blocking, instead of risking a hung m2k_step
2026-07-14
- modemu2k (v0.2.3)
* Add -a/--answer and ATA/RING/S0 answer-side modem semantics, so a
BBS on the PTY can receive incoming TCP calls (new m2k_setup_answer
/ m2k_get_answer_fd API)
* -v/--verbose is now repeatable: -vv adds byte-level buffer
narration (new VERB_BYTES category, AT%V4)
* Add m2k_set_log_level() / m2k_get_log_level() — severity-threshold
log filter (ERROR/WARN/INFO/DEBUG/TRACE); AT%V category semantics
unchanged
* Add m2k_describe_state() — one-call state snapshot for bug reports
and host-side debugging
* Stop treating the comm-program command as a printf format string;
substitute the slave path safely (overflow / format-string fix)
* Fix out-of-bounds read of telopts[] when a telnet peer sends a
malformed subnegotiation option byte
* Fix telnet IAC parser state being shared between modem contexts
(two m2k_t instances online at once corrupted each other's stream)
* Close the library-owned PTY / dev / accepted-client fd in
m2k_free() (was leaked every session)
* m2k-minicom: pass options after `--` to minicom (e.g.
`m2k-minicom -- -R CP437` to convert a BBS's CP437 characters
for a UTF-8 terminal)
* Rewrite test_connect / test_ipv6 to use loopback only; the dial
docblock `@snippet` moves to examples/m2k_dial.c. Removes hardcoded
GitHub IP and the need for any `network` suite tag
* Refresh public-header docblocks: drop deprecated m2k_dial /
m2k_online guidance; clarify several error-code edges
2026-05-30
- modemu2k (v0.2.2)
* Fix pkg-config Cflags so consumers can `#include <modemu2k.h>`
(was forcing the namespaced `<modemu2k/modemu2k.h>` form)
* Fix interactive ATZ wiping the -v verbose mask mid-session; add
m2k_set_force_verbose / m2k_get_force_verbose public API for hosts
that want narration regardless of AT%V state
2026-05-28
- modemu2k (v0.2.1)
* Add -v/--verbose flag (CLI). -v previously meant --version,
which now requires -V (breaking)
* Fix at%q to actually quit (regression from v0.2.0)
* Ctrl-C twice in CMD mode quits (CMD only; online mode
unaffected)
* m2k-minicom / m2k-picocom helper scripts forward arbitrary
args to modemu2k
2026-05-27
- modemu2k (v0.2.0)
* Refactor core into libmodemu2k; public API in modemu2k.h at the
project root, with M2K_API visibility markers on every public
function and M2K_VERSION_* macros + m2k_version() for
header/library skew detection
* Add steppable event-loop API (m2k_get_pollfds, m2k_step,
m2k_run_done, plus M2K_STATE_DIAL for non-blocking ATD) and
embed-mode I/O (m2k_setup_app_io, m2k_write_from_app,
m2k_read_to_app) so a host program can run modemu2k inside its
own poll/epoll loop with the host supplying the TTY-side bytes
* Add curl-style per-context error reporting: m2k_set_error_buffer
with M2K_ERROR_BUFFER_SIZE, m2k_strerror, and the M2K_ERR_*
codes (including M2K_ERR_AT for rejected AT commands and
M2K_ERR_WOULDBLOCK for flow-control retry)
* Add m2k_escape, m2k_is_online, m2k_has_carrier, m2k_get_listen_fd,
and m2k_set_dtr/_rts (with matching getters) for embed-mode
hosts; DTR 1→0 while a connection is live hangs up
(&D2-equivalent)
* Add TCP listen mode (-l/--listen <port>) for use as a virtual
modem backend (issue #32)
* Print --help output and exit when invoked with no arguments;
reject conflicting -c/-d/-l/-s combinations at parse time
instead of silently honoring the last one
* Wrap modemu2k.h declarations in extern "C" guards for C++ consumers
* Per-ctx state separation: +++ escape detector, line buffer, and
telnet option negotiation tables moved into m2k_t so two
coexisting contexts no longer share/clobber each other
* Detect POSIX PTY allocation via meson at configure time, fixing
PTY setup on macOS and FreeBSD which the previous compile-time
gate silently misdetected
* Fix connecting via hostname when the first resolved address fails,
e.g. localhost resolving to ::1 before 127.0.0.1 (issue #44)
* m2k_setup_pty() now returns a const char* into ctx-owned storage
instead of a heap-allocated string the caller must free (breaking)
* Add HACKING.md with code map, contracts, and integration sketches;
wired into the doxygen Related Pages
* Deprecate m2k_dial / m2k_online; slated for removal in 0.3.0 — use
m2k_run() or the step API instead
* Remove gettext/NLS support and translations
* Sync license claim to GPL-2-or-later (matches the source headers)
2022-08-18
- modemu2k (v0.1.0)
* fix segfault when building with Slackbuild or setting buildtype to debug
* fix build on macos (timeval errors, see
https://github.com/theimpossibleastronaut/modemu2k/pull/40)
* fix connecting to host using IP
* replaced autotools build system with mesonbuild
* 'm2k-minicom.sh' script renamed to 'm2k-minicom'
2020-06-19
* v0.0.6 released
2020-06-18
* Fix for compiling on gcc-10
2019-8-23
* v0.0.5 released
2019-8-22
* When making a connection, a message is printed informing the user
how to escape to command mode and return to online mode.
2019-8-21
* IPv6 connections can now be made.
* To specify a non-standard port, you must use a space now instead of
a colon
2019-8-19
* Replaced obsolete gethostbyname() with getaddrinfo()
* If the m2k-minicom.sh script is run from the scripts/ directory, it will
use the dev build of modemu2k in src/
2019-08-18
* v0.0.4 released
2019-08-17
* Fixed --version output
* Added script to invoke minicom: 'm2k-minicom.sh'
* Infrastructure to implement testing with `make check` added.
2018-10-17
* v0.0.3 released
2018-10-14
* zh_CN translation added
* nl_NL translation added
2018-10-13
* Removed "-" option
* Added support for translated messages using the GNU gettext library
* Improved usage output
* Now using getopt.h to parse cmd args
2018-10-11
* it_IT translation of man page added
2018-10-08
* pt_BR translation of man page added
2018-09-06
* Added quit instructions to start-up screen
* auto-generated config.h is now used
* man file will now install
* issue v0.0.2 release
2018-09-05
* applied patch from https://github.com/aur-archive/modemu
* Added configure script, autoconf and automake file
* increase version to 0.0.2-dev
* modemu2k Fork created