Skip to content

Commit 7db332f

Browse files
committed
fix: update CHANGELOG for recent security fixes, changes, and new features
1 parent 5afc5c9 commit 7db332f

1 file changed

Lines changed: 81 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,41 @@ The git repositories are hosted at the following sites:
1313
* <https://bacnet.sourceforge.net/>
1414
* <https://github.com/bacnet-stack/bacnet-stack/>
1515

16-
## [Unreleased] - 2026-05-29
16+
## [Unreleased] - 2026-06-29
1717

1818
### Security
1919

20+
* Secured lighting_command_decode out-of-bounds read, and enforce the
21+
FADE_TO and RAMP_TO required levels. (#1412)
22+
* Secure SCFailedConnectionRequest and SCDirectConnection decoder by
23+
adjusting the apdu size calculation. (#1413)
24+
* Secured RAMFS by checking read-only property for file size setting
25+
and zero new memory during realloc to prevent data leaking. (#1411)
26+
* Secured EPICs app property list management by adding append function. (#1409)
27+
* Secured Life Safety Zone member handling for write property. (#1410)
28+
* Secured the basic RAMFS to prevent buffer overrun during consecutive
29+
record appends and prevent heap out-of-bounds read during record
30+
replacement. (#1408)
31+
* Secured rpm_ack_decode_service_request buffer overflow by validating data
32+
length and remaining bytes. Added unit tests for
33+
handler_read_property_multiple_ack decoder paths. (#1395)
34+
* Secured BACnet/SC short proprietary option headers using BVLC-SC option
35+
header validation and rejecting proprietary options with hdr_len < 3
36+
(minimum vendor-id + option-type). Made proprietary option decode
37+
initialize outputs and only read vendor-id/option-type when hdr_len >= 3.
38+
Added a regression test that injects a malformed proprietary option
39+
and asserts decode fails with ERROR_CODE_HEADER_ENCODING_ERROR. (#1396)
40+
* Secured apps/router-mstp and apps/router-ipv6 routing, introducing
41+
routed_npdu_apdu_encode() with an explicit oversized-PDU drop check.
42+
Fixed protocol-version access (avoid reading pdu[0] when pdu_len == 0).
43+
Refactored logging in router applications to use debug_log_fprintf
44+
for consistent debug output. Refactored the router apps to use the
45+
bactext_debug_severity_strtol() for the BACNET_ROUTER_DEBUG environment
46+
variable. (#1392)
47+
* Secured the network control handler in the router-ipv6 and router-mstp apps
48+
to ensure proper offset calculation and prevent buffer overrun. (#1387)
49+
* Secured xy_color_decode() by adjusting apdu_size calculation to prevent
50+
out-of-bounds read. (#1386)
2051
* Secured the basic device object which had a string use after free.
2152
Added character string buffer stndup and same/diff functions.
2253
Changed all the device object character string handling to use
@@ -66,6 +97,16 @@ The git repositories are hosted at the following sites:
6697

6798
### Added
6899

100+
* Added .github/prompts to .gitignore
101+
* Add debug severity handling with ASCII string conversion functions into
102+
bactext module. Changed all the example apps to use the
103+
bactext_debug_severity_strtol() function for the "--debug" command
104+
line argument. (#1393)
105+
* Added Lighting_Output_Overridden_Ramp function. (#1389)
106+
* Added a lighting command override ramp function. Refactored the lighting
107+
commands to prevent them from meddling with tracking values and lighting
108+
operations while the light is overridden. (#1388)
109+
* Added BACNET_DEFINES variable to CMake build. (#1384)
69110
* Added BACnet/SC (BSC) datalink support to the modbus-gateway application.
70111
Extended GW_CONFIG with sc sub-struct holding all BACNET_SC_* fields, and
71112
added compile-time fallback: non-BSC binary + "bsc" JSON → warns and falls
@@ -115,6 +156,32 @@ The git repositories are hosted at the following sites:
115156

116157
### Changed
117158

159+
* Changed the GTK discover app to refresh objects quickly. Fixed object
160+
tree view to update a single row in place, preserving the selection.
161+
Implemented property value editing with Enter key commit control for
162+
WriteProperty. Refactored main window layout and default window size
163+
and column spacing constants for better usability. Removed REFRESH
164+
button. (#1390)
165+
* Changed compiler warnings to be stricter and remove unnecessary suppressions.
166+
Apply const correctness across multiple files, including datalink interface
167+
name parameters across multiple files. Apply const qualifications to the
168+
character buffer string functions. Apply const correctness to string
169+
parameters in bacapp.c and bacapp.h. Revise parsing of const strings using
170+
bacnet_stptok() to tokenize. Add bacnet_strncpy to ensure null-terminated
171+
partial string copying. Replace strncpy with bacnet_strncpy for safer string
172+
copying in modbus_rtu and point_table modules. Fixed file compile warnings
173+
where the "no previous declaration" is being generated. Fixed floating-point
174+
arithmetic by adding type casts for clarity, including a changing
175+
color_rgb_clamp to use float instead of double to fix compiler float
176+
conversion warnings. Refactor hostname validation and encoding functions
177+
for const correctness and improved string handling.
178+
Renamed routed_get_my_address to Routed_Device_Get_My_Address and
179+
update references for consistency with BAC_ROUTING.
180+
Refactor Ringbuf functions to remove unnecessary volatile qualifiers
181+
and casting to improve type safety. Use cast to uintptr_t for specific
182+
casting to const where appropriate. Enable additional compiler warnings
183+
in unit tests and treat them as errors to enforce clean builds.
184+
Add parse_primitive_value function to handle primitive data parsing. (#1385)
118185
* Changed debug_print to debug_log_fprintf in ReadRange handler. (#1303)
119186
* Changed logging in many modules to use debug_log_fprintf for consistent
120187
error and debug output that can be adjusted during runtime. (#1364)
@@ -150,6 +217,17 @@ The git repositories are hosted at the following sites:
150217

151218
### Fixed
152219

220+
* Fixed out-of-bounds write in Read Property ACK closing tag encoding. (#1407)
221+
* Fixed AV COV change on out-of-service writes by marking them. (#1406)
222+
* Fixed GetEventInformation service choice in error reply. (#1405)
223+
* Fixed device object property value codec by advancing cursor. (#1404)
224+
* Fixed Recipient_List decode by advancing the cursor for list elements. (#1402)
225+
* Fixed GetAlarmSummary to accept empty request. (#1401)
226+
* Fixed Binary_Lighting_Output_Create to initialize Time_Of_Active_Time_Reset
227+
and Time_Of_Strike_Count_Reset using datetime_wildcard_set.
228+
* Fixed access credential object initialization to use datetime_wildcard_set
229+
for activation and expiration times.
230+
* Fixed C89 build warnings from modbus gateway application. (#1383)
153231
* Fixed ReadRange service request to reject for missing mandatory parameters
154232
in Read Range request. (#1303)
155233
* Fixed BACnet/SC primary hub reconnection logic when connected to failover
@@ -204,6 +282,8 @@ The git repositories are hosted at the following sites:
204282

205283
### Removed
206284

285+
* Remove unnecessary LEGACY=true flag from build commands in Makefile,
286+
workflows, and scripts. (#1383)
207287
* Removed unmaintained ports/uip, ports/arduino_uno, ports/pic18*,
208288
and ports/rx62n folders and references. (#1324)
209289

0 commit comments

Comments
 (0)