Update CHANGES.md and RELEASE_NOTES.md

This commit is contained in:
Tom Henderson
2023-03-13 15:00:56 -07:00
parent ea22cf2b77
commit 84639da240
2 changed files with 44 additions and 34 deletions

View File

@@ -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 <https://gitlab.com/nsnam/ns-3-dev/-/issues/579>. 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

View File

@@ -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
------------