From 84639da240a87df354306bd8091508f3f42ae243 Mon Sep 17 00:00:00 2001 From: Tom Henderson Date: Mon, 13 Mar 2023 15:00:56 -0700 Subject: [PATCH] Update CHANGES.md and RELEASE_NOTES.md --- CHANGES.md | 32 +++++++++++++++++--------------- RELEASE_NOTES.md | 46 +++++++++++++++++++++++++++------------------- 2 files changed, 44 insertions(+), 34 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index dfaa50ff7..dc4f605e1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -18,38 +18,40 @@ Changes from ns-3.37 to ns-3.38 ### New API -* (network) Add class `TimestampTag` for associating a timestamp with a packet. -* (wifi) Added a new attribute **NMaxInflights** to QosTxop to set the maximum number of links on which an MPDU can be simultaneously in-flight. -* (core) Added several macros in **warnings.h** to silence compiler warnings in specific sections of code. Their use is discouraged, unless really necessary. -* (internet-apps) Add class `Ping` for a ping model that works for both IPv4 and IPv6. -* In `src/spectrum`, a new fast-fading model `TwoRaySpectrumPropagationLossModel` has been added. This model serves as a performance-oriented alternative to the `ThreeGppSpectrumPropagationLossModel` and `ThreeGppChannelModel` classes, and it has been designed with the goal of providing end-to-end channel samples which are statistically close to the ones generated by the latter. -* (lr-wpan) `LrWpanNetDevice::SetPanAssociation` is introduced to create more complex topologies (multi-hop) using a manual association. * (core) Added new template classes `ValArray` and `MatrixArray` to represent efficiently 1D, 2D and 3D arrays. `ValArray` implements basic efficient storage of such structures and the basic operations, while `MatrixArray` allows to represent 3D arrays as arrays of mathematical matrices and invoke different mathematical operations on the arrays of matrices: multiplication, transpose, hermitian transpose, etc. `MatrixArray` can use Eigen to perform computationally complex operations. +* (core) Added several macros in **warnings.h** to silence compiler warnings in specific sections of code. Their use is discouraged, unless really necessary. +* (lr-wpan) Added beacon payload handle support (MLME-SET.request) in **LrWpanMac**. +* (lr-wpan) `LrWpanPhy::SetRxSensitivity` now supports the setting of Rx sensitivity. +* (lr-wpan) `LrWpanNetDevice::SetPanAssociation` is introduced to create more complex topologies (multi-hop) using a manual association. +* (netanim) Added a helper function to update the size of a node +* (network) Added class `TimestampTag` for associating a timestamp with a packet. +* (spectrum) A new fast-fading model `TwoRaySpectrumPropagationLossModel` has been added. This model serves as a performance-oriented alternative to the `ThreeGppSpectrumPropagationLossModel` and `ThreeGppChannelModel` classes, and it has been designed with the goal of providing end-to-end channel samples which are statistically close to the ones generated by the latter. +* (wifi) Added a new attribute **NMaxInflights** to QosTxop to set the maximum number of links on which an MPDU can be simultaneously in-flight. +* (wifi) New API has been introduced to support 802.11be Multi-Link Operations (MLO) +* (wifi) New API has been introduced to support 802.11ax dual NAV, UL MU CS, and MU-RTS/CTS features ### Changes to existing API -* (network) **Ipv4Address** and **Ipv6Address** now do not raise an exception if built from an invalid string. Instead the address is marked as not initialized. +* (antenna, spectrum) `ComplexVector` definition has changed. Its API is implemented in `MatrixArray`. Some functions such as `push_back` and `resize` are not supported any more. On the other hand, the size initialization through constructor and access operator[] are maintained. Instead of `size ()` users can call `GetSize()`. * (internet) TCP Westwood model has been removed due to a bug in BW estimation documented in . The TCP Westwood+ model is now named **TcpWestwoodPlus** and can be instantiated like all the other TCP flavors. * (internet) `TcpCubic` attribute `HyStartDetect` changed from `int` to `enum HybridSSDetectionMode`. -* (internet-apps) Classes `v4Ping` and `Ping6` will be deprecated and removed in the future, replaced by the new `Ping` class. -* (lr-wpan) Add file `src/lr-wpan/model/lr-wpan-constants.h` with common constants of the LR-WPAN module. -* (lr-wpan) Remove the functions `LrWpanCsmaCa::GetUnitBackoffPeriod()` and `LrWpanCsmaCa::SetUnitBackoffPeriod()`, and move the constant `m_aUnitBackoffPeriod` to `src/lr-wpan/model/lr-wpan-constants.h`. -* (lr-wpan) Adds beacon payload handle support (MLME-SET.request) in **LrWpanMac**. -* (core) Now test-runner exits if no TestSuite is specified. -* (lr-wpan) Adds the possibility to modify the Rx sensitivity in **LrWpanPhy**. +* (internet-apps) Added class `Ping` for a ping model that works for both IPv4 and IPv6. Classes `v4Ping` and `Ping6` will be deprecated and removed in the future, replaced by the new `Ping` class. +* (lr-wpan) Added file `src/lr-wpan/model/lr-wpan-constants.h` with common constants of the LR-WPAN module. +* (lr-wpan) Removed the functions `LrWpanCsmaCa::GetUnitBackoffPeriod()` and `LrWpanCsmaCa::SetUnitBackoffPeriod()`, and moved the constant `m_aUnitBackoffPeriod` to `src/lr-wpan/model/lr-wpan-constants.h`. * (lr-wpan) `LrWpanHelper::CreateAssociatedPan` replace `LrWpanHelper::AssociateToPan` and is able to create an associated PAN of the devices with both short addresses (16-bits) and extended addresses (EUI-64 bits). -* (antenna, spectrum) `ComplexVector` definition has changed. Its API is implemented in `MatrixArray`. Some functions such as `push_back` and `resize` are not supported any more. On the other hand, the size initialization through constructor and access operator[] are maintained. Instead of `size ()` users can call `GetSize()`. ### Changes to build system * Added NinjaTracing support. * Check if the ccache version is equal or higher than 4.0 before enabling precompiled headers. -* Improve bindings search for linked libraries and their include directories. +* Improved bindings search for linked libraries and their include directories. * Added `./ns3 distclean` option. It removes the same build artifacts as `./ns3 clean`, along with documentation, python and test artifacts. ### Changed behavior * (applications) **UdpClient** and **UdpEchoClient** MaxPackets attribute is aligned with other applications, in that the value zero means infinite packets. +* (network) **Ipv4Address** and **Ipv6Address** now do not raise an exception if built from an invalid string. Instead the address is marked as not initialized. +* (tests) The test runner test.py will exit if no TestSuite is specified. * (wifi) Control frames (specifically, BlockAckRequest and MU-BAR Trigger Frames) are stored in the wifi MAC queue and no longer in a dedicated BlockAckManager queue * (wifi) BSSIDs are no longer hashed by the ApInfo comparator because it may lead to different results on different platforms diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 5f590d377..36ce82a8b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -13,8 +13,8 @@ a [GitLab.com issue tracker](https://gitlab.com/nsnam/ns-3-dev/-/issues) number, and references prefixed by '!' refer to a [GitLab.com merge request](https://gitlab.com/nsnam/ns-3-dev/-/merge_requests) number. -Release 3-dev -------------- +Release 3.38 +------------ ### Supported platforms @@ -33,33 +33,41 @@ This release has discontinued support for g++-8 compilers. ### New user-visible features -- (network) !938 - Add class `TimestampTag` for associating a timestamp with a packet. -- (network) !1163 - Initializing an Ipv[4,6]Address from an invalid string do not raise an exception anymore. Instead the address is marked as not initialized. -- (internet) !1186 - `TcpWestwood` model has been removed, and the class has been renamed `TcpWestwoodPlus`. -- (internet) !1229 - You can now ping broadcast addresses. - (core) !1236 - Added some macros to silence compiler warnings. The new macros are in **warnings.h**, and their use is not suggested unless for very specific cases. +- (core) !1269 - Added new template classes `ValArray` and `MatrixArray` for efficient storage and operations on 1D, 2D, and 3D arrays. +- (documentation) - Added an Installation Guide to replace the ns-3 wiki's installation page +- (internet) !1229 - Ping now supports broadcast addresses. +- (internet) !1186 - `TcpWestwood` model has been removed, and the class has been renamed `TcpWestwoodPlus`. - (internet-apps) - A new Ping model that works for both IPv4 and IPv6 has been added, to replace the address family specific v4Ping and Ping6. -- (lr-wpan) !1268 - Adding beacon payload now its possible using MLME-SET.request primitive. -- (core) !1302 - Now test-runner exits if no TestSuite is specified. -- (spectrum) !1046 - Addition of the TwoRaySpectrumPropagationLossModel fast-fading class, as the outcome of the related GSoC 2022 project titled "A simplified channel and beamforming model for ns-3" -- (wifi) Add support for 802.11be Multi-Link Operations (MLO), STR mode only -- (wifi) Implement 802.11ax dual NAV (basic NAV and intra-BSS NAV) -- (wifi) Implement 802.11ax Uplink Multi-User Carrier Sense (UL MU CS) mechanism and have it used by non-AP STAs when determining if they can reply to a received Trigger Frame -- (wifi) Add support for 802.11ax MU-RTS/CTS protection -- (lr-wpan) !1006 - Add rx Sensitivity configuration support. -- (core) !1269 - Add new template classes `ValArray` and `MatrixArray` for efficient storage and operations on 1D, 2D, and 3D arrays. +- (lr-wpan) !1006 - Added RX sensitivity configuration support. +- (lr-wpan) !1268 - Added beacon payload via MLME-SET.request primitive. +- (netanim) Added helper function to update the size of a node +- (network) !938 - Added class `TimestampTag` for associating a timestamp with a packet. +- (network) !1163 - Initializing an Ipv[4,6]Address from an invalid string do not raise an exception anymore. Instead the address is marked as not initialized. +- (spectrum) !1046 - Added the TwoRaySpectrumPropagationLossModel fast-fading class, as the outcome of the related GSoC 2022 project titled "A simplified channel and beamforming model for ns-3" +- (wifi) Added support for 802.11be Multi-Link Operations (MLO), STR mode only +- (wifi) Added more fields to the EHT Capabilities information element +- (wifi) Added an initial 802.11be-based example program +- (wifi) Added 802.11ax dual NAV (basic NAV and intra-BSS NAV) +- (wifi) Added 802.11ax Uplink Multi-User Carrier Sense (UL MU CS) mechanism and have it used by non-AP STAs when determining if they can reply to a received Trigger Frame +- (wifi) Added support for 802.11ax MU-RTS/CTS protection ### Bugs fixed +- (core) !1236 - Deprecation warnings are silenced while calling `NS_OBJECT_ENSURE_REGISTERED` - (build) #808 - Handle profile setting changes in the first ns3 run - (build) #815 - Configure find_program to search for programs in PATH first, then AppBundles in MacOS -- (network) !1229 - Fixed a bug in `Ipv4Address::IsSubnetDirectedBroadcast` +- (lr-wpan) #636 - Ext address, short address and manual assoc adjustments - (internet) !1229 - Fixed a bug in `Icmpv4Header::HandleEcho` when replying to broadcast-type Echo requests, and two bugs in `Ipv4RawSocketImpl::SendTo` in handling sockets bound to a specific address and directed to a broadcast-type address. - (internet) - `NeighborCacheHelper::PopulateNeighborCache` is now robust against missing IPv4 or IPv6 stack in nodes. -- (core) !1236 - Deprecation warnings are silenced while calling `NS_OBJECT_ENSURE_REGISTERED` +- (network) !1229 - Fixed a bug in `Ipv4Address::IsSubnetDirectedBroadcast` - (wifi) Fixed multiple issues about setting the TXOP holder -- (wifi) #861 - bianchi validation script can't run with 11ax -- (lr-wpan) #636 - Ext address, short address and manual assoc adjustments +- (wifi) #861 - Bianchi validation program was not compatible with 11ax +- (wifi) Fixed 10 MHz offset in center frequencies for 6 GHz channels +- (wifi) Fixed setting of Duration/ID field of a Multi-STA Block Ack +- (wifi) Fixed handling of the HE TB TXVECTOR and TRIGVECTOR parameters +- (wifi) Prevent extraction of in-flight MPDUs due to lifetime expired +- (wifi) Fixed getting the primary 80 MHz channel number in the 6 GHz band Release 3.37 ------------