From adb6b82340c40e859e4716df693c343a0e5efddf Mon Sep 17 00:00:00 2001 From: Tom Henderson Date: Mon, 27 May 2024 22:12:43 -0700 Subject: [PATCH] doc: Update AUTHORS, CHANGES.md, and RELEASE_NOTES.md for ns-3.42 --- AUTHORS | 9 +++++++++ CHANGES.md | 38 ++++++++++++++++------------------- RELEASE_NOTES.md | 52 ++++++++++++++++++++++++++++++------------------ 3 files changed, 59 insertions(+), 40 deletions(-) diff --git a/AUTHORS b/AUTHORS index 9214478b3..573414e17 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,3 +1,4 @@ +Rami Abdallah Eduardo Abinader (eduardo.abinader@gmail.com) John Abraham (john.abraham.in@gmail.com) Danilo Abrignani (dabrignani@gmail.com) @@ -43,6 +44,7 @@ Matthew Bradbury (matt-bradbury@live.co.uk) Dan Broyles (muxman@sbcglobal.net) Jonathan Brugge (j.d.brugge@student.utwente.nl) Junling Bu (linlinjavaer@gmail.com) +Alessio Bugetti (alessiobugetti98@gmail.com) Elena Buchatskaia (borovkovaes@iitp.ru) Alessio Bugetti (alessiobugetti98@gmail.com) Nuno Cardoso (nunopcardoso@gmail.com) @@ -56,6 +58,7 @@ Aditya Chaudhary (adityach2002@gmail.com) Shobhit Chaurasia (000shobhitchaurasia@gmail.com) Luciano Jerez Chaves (ljerezchaves@gmail.com) Eugene Chemeritskiy (echemeritskiy@arccn.ru) +Rui Chen (rui@chenrui.dev) Yufei Cheng (yfcheng@ittc.ku.edu) Aditya Chirania (adityachirania97@gmail.com) Zhao Wen Chow (shu@mos.ics.keio.ac.jp) @@ -136,6 +139,7 @@ Atishay Jain (atishayjain25@gmail.com) Sourabh Jain (jainsourabh679@gmail.com) Vivek Jain (jain.vivek.anand@gmail.com) Sam Jansen (sam.jansen@gmail.com) +Jacob Janzen (jacob.a.s.janzen@gmail.com) Chandrakant Jena (chandrakant.barcelona@gmail.com) Liu Jian (liujatp@gmail.com) Sascha Alexander Jopen (jopen@informatik.uni-bonn.de) @@ -151,6 +155,7 @@ Nils Kattenbeck (nils.kattenbeck@rwth-aachen.de) Morteza Kheirkhah (m.kheirkhah@sussex.ac.uk) Jörg Christian Kirchhof (christian.kirchhof@rwth-aachen.de) Ohad Klausner +Wojtek Kosior (koszko@koszko.org) Katarina Koutlia (katerina.koutlia@cttc.es) Shravya Ks (shravya.ks0@gmail.com) Flavio Kubota (flaviokubota@gmail.com) @@ -193,6 +198,7 @@ Andrey Mazo (mazo@iitp.ru) Jonathan McCrohan (jmccroha@tcd.ie) Andrew McGregor (andrewmcgr@gmail.com) Miralem Mehic (miralemmehic@gmail.com) +Zili Meng (zilim@ieee.org) Levente Mészáros (levy@omnetpp.org) Vedran Miletić (rivanvx@gmail.com) Saswat Mishra (clicksaswat@gmail.com) @@ -270,11 +276,13 @@ Karsten Roscher (sfx@rocktale.de) Ali Rostami (a.rostami@rutgers.edu) Bill Roome (wdr@bell-labs.com) David Rua (david.rua@gmail.com) +Chan Ruihua (chenrh20@mails.tsinghua.edu.cn) Andrea Sacco (andrea.sacco85@gmail.com) Richard Sailer (richard_sailer@systemli.org) Lynne Salameh (l.salameh@cs.ucl.ac.uk) Providence Salumu Munga (Providence.Salumu@gmail.com, Providence.Salumu_Munga@it-sudparis.eu) Francisco Javier Sánchez-Roselly (fnavarro@ujaen.es) +Mattia Sandri (sandrimatt@dei.unipd.it) Charitha Sangaraju (charitha29193@gmail.com) Siddharth Santurkar (siddharth.santurkar@ieee.org) Gaurav Sathe (gaurav.sathe@tcs.com) @@ -288,6 +296,7 @@ Ioannis Selinis (selinis.g@gmail.com) Tomasz Seweryn (tomasz.seweryn7@gmail.com) Dmitrii Shakshin (d.shakshin@gmail.com) Kulin Shah (m.kulin@gmail.com) +Muyuan Shen (shmy315@gmail.com) Guowang Shi (shiguowang2007@gmail.com) Phillip Sitbon (phillip.sitbon@gmail.com) Pedro Silva (pmms@inesctec.pt) diff --git a/CHANGES.md b/CHANGES.md index 0a8bc1fdd..eced4b4b2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,43 +13,39 @@ Note that users who upgrade the simulator across versions, or who work directly This file is a best-effort approach to solving this issue; we will do our best but can guarantee that there will be things that fall through the cracks, unfortunately. If you, as a user, can suggest improvements to this file based on your experience, please contribute a patch or drop us a note on ns-developers mailing list. -Changes from ns-3.41 to ns-3-dev --------------------------------- +Changes from ns-3.41 to ns-3.42 +------------------------------- ### New API -* (wifi) New trace helper `WifiPhyRxTraceHelper` for detailed tracing of Wi-Fi Phy reception events -* (wifi) New trace sources `SpectrumWifiPhy::SignalTransmission`, `YansWifiPhy::SignalArrival`, and `YansWifiPhy::SignalTransmission` -* (wifi) New trace sources `WifiPhyStateHelper::RxOutcome` and`WifiPhy::PhyRxPpduDrop`, to support additional tracing. - -* Objects now can be aggregated to multiple objects though the `Object::UnidirectionalAggregateObject` function. Objects aggregated in such a way can not use `GetObject` to access the objects they are aggregated to. -* (network) Added `ApplicationHelper` helper class to create and install applications, removing -redundant code in existing helpers and reducing the burden to add yet another helper when a new -application model is added. +* (antenna) Added `CircularApertureAntennaModel` class which characterizes the antenna gain pattern of the reflector antenna with circular aperture described in 3GPP TR 38.811 v15.4.0, Section 6.4.1 +* (core) Objects now can be aggregated to multiple objects though the `Object::UnidirectionalAggregateObject` function. Objects aggregated in such a way can not use `GetObject` to access the objects they are aggregated to. +* (core) Added `TestVector` iterators and dot product operator for `Vector2D` and `Vector3D` types +* (mobility) Added a new mobility model `GeocentricConstantPositionMobilityModel` for orbital and/or aerial nodes, and coordinate conversion methods between geocentric and topocentric coordinate systems +* (propagation, spectrum) Added 3GPP 38.811 Non-Terrestrial Networks (NTNs) channel model. Specifically, the large-scale phenomena have been implemented by extending `ThreeGppPropagationLossModel` with classes representing the various NTN propagation scenarios (Dense Urban, Urban, Rural and Suburban), while the frequency-dependent phenomena have been implemented by defining the corresponding scenarios in `ThreeGppChannelModel`. +* (network) Added `ApplicationHelper` helper class to create and install applications, removing redundant code in existing helpers and reducing the burden to add yet another helper when a new application model is added. * (wifi) Added a new **SingleRtsPerTxop** attribute to `WifiDefaultProtectionManager`, which, if set to true, prevents to use protection mechanisms (RTS or MU-RTS) more than once in a TXOP (unless required for specific purposes, such as transmitting an Initial Control Frame to an EMLSR client). * (wifi) Added a new **RtsCtsTxDurationThresh** to `WifiRemoteStationManager` to enable RTS/CTS protection based on the TX duration of the data frame. Both the value of this attribute and the value of the existing **RtsCtsThreshold** attribute are evaluated: if either of the thresholds (or both) is exceeded, RTS/CTS is used. -* (mobility) Added a new mobility model `GeocentricConstantPositionMobilityModel` for orbital and/or aerial nodes, and coordinate conversion methods between geocentric and topocentric coordinate systems -* (antenna) Added `CircularApertureAntennaModel` class which characterizes the antenna gain pattern of the reflector antenna with circular aperture described in 3GPP TR 38.811 v15.4.0, Section 6.4.1 -* (core) Added `TestVector` iterators and dot product operator for `Vector2D` and `Vector3D` types -* (propagation, spectrum) Added 3GPP 38.811 Non-Terrestrial Networks (NTNs) channel model. Specifically, the large-scale phenomena have been implemented by extending `ThreeGppPropagationLossModel` with classes representing the various NTN propagation scenarios (Dense Urban, Urban, Rural and Suburban), while the frequency-dependent phenomena have been implemented by defining the corresponding scenarios in `ThreeGppChannelModel`. +* (wifi) New trace helper `WifiPhyRxTraceHelper` for detailed tracing of Wi-Fi Phy reception events +* (wifi) New trace sources `WifiPhy::SignalTransmission`, `SpectrumWifiPhy::SignalArrival`, and `YansWifiPhy::SignalArrival` +* (wifi) New trace sources `WifiPhyStateHelper::RxOutcome` and`WifiPhy::PhyRxPpduDrop`, to support additional tracing. ### Changes to existing API -* `InetSocketAddress::SetTos()` and `InetSocketAddress::GetTos()` have been removed. -Applications have a new Attribute to set the IPv4 ToS field. +* (applications) Applications have a new Attribute to set the IPv4 ToS field. * (core) Deprecated enum `TestDuration` in `TestCase` class. It has been replaced by enum class `Duration`. * (core) In `TestSuite` class, deprecated `ALL`, `UNIT`, `SYSTEM`, `EXAMPLE` and `PERFORMANCE`. They have been replaced by `Type::ALL`, `Type::UNIT`, `Type::SYSTEM`, `Type::EXAMPLE` and `Type::PERFORMANCE`, respectively. * (core) Deprecated `EventId::IsRunning()`. It has been replaced with `EventId::IsPending()`. -* (wifi) `WifiPhyRxfailureReason` enum has a new drop reason `SIGNAL_DETECTION_ABORTED_BY_TX` to account for PPDUs dropped during the initial reception phase -* (wifi) Deprecated `WIFI_TID_TO_LINK_MAPPING_{NOT_SUPPORTED,SAME_LINK_SET,ANY_LINK_SET}`. They have been replaced by `WifiTidToLinkMappingNegSupport::{NOT_SUPPORTED,SAME_LINK_SET,ANY_LINK_SET}`, respectively. -* (wifi) Deprecated `{IDLE, CCA_BUSY, TX, RX, SWITCHING, SLEEP, OFF}`. They have been replaced by `WifiPhyState::{IDLE, CCA_BUSY, TX, RX, SWITCHING, SLEEP, OFF}`, respectively. +* (energy) The model library code of the energy module now uses the nested namespace `energy`. * (lr-wpan) `MacPibAttributeIdentifier` attribute ids are now standard compliant. * (lr-wpan) Multiple new identifiers added to `MacPibAttributeIdentifier`. * (lr-wpan) Adds standard version comments to `MLME-GET.request` function. * (lr-wpan) In the MAC layer, renamed `m_selfExt` to the variable `m_macExtendedAddress` to make it consistent with the standard specification. * (lr-wpan) The Lr-wpan module now uses the namespace `lrwpan`. +* (lr-wpan) The model library code of the lr-wpan module now uses the nested namespace `lrwpan`. * (lr-wpan) The `LrWpan` prefix of variables, structs and enumerations in the PHY and MAC was shorten to reflect the recent namespace change. +* (wifi) Deprecated `WIFI_TID_TO_LINK_MAPPING_{NOT_SUPPORTED,SAME_LINK_SET,ANY_LINK_SET}`. They have been replaced by `WifiTidToLinkMappingNegSupport::{NOT_SUPPORTED,SAME_LINK_SET,ANY_LINK_SET}`, respectively. +* (wifi) Deprecated `{IDLE, CCA_BUSY, TX, RX, SWITCHING, SLEEP, OFF}`. They have been replaced by `WifiPhyState::{IDLE, CCA_BUSY, TX, RX, SWITCHING, SLEEP, OFF}`, respectively. * (wifi) Obsoleted **Txop** attributes `MinCw`, `MaxCw`, `Aifsn` and `TxopLimit`. The corresponding attributes for multi-link devices (`MinCws`, `MaxCws`, `Aifsns` and `TxopLimits`) can be used instead. -* (energy) The energy module and all its contents now uses the namespace `energy`. ### Changes to build system @@ -58,7 +54,7 @@ Applications have a new Attribute to set the IPv4 ToS field. ### Changed behavior -* Fixed the corner rebound direction in `RandomWalk2d[Outdoor]MobilityModel` and the initial direction in case of node starting from a border or corner. +* (mobility) Fixed the corner rebound direction in `RandomWalk2d[Outdoor]MobilityModel` and the initial direction in case of node starting from a border or corner. * (tcp) TcpCubic and TcpLinuxReno will no longer grow their congestion window when application-limited, now matching Linux behavior Changes from ns-3.40 to ns-3.41 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 0358e357d..a28d6d482 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -13,47 +13,61 @@ 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.42 +------------ -In this release, we have introduced pedantic warnings to enhance C++ standard conformance and improve portability. +In this release, we have introduced pedantic compiler warnings to enhance C++ standard conformance and improve portability. Also, model library code in the lr-wpan and energy modules has been moved into a nested C++ namespace. + +### Availability + +This release is available from: + ### Supported platforms +This release is intended to work on systems with the following minimal +requirements (Note: not all ns-3 features are available on all systems): + +- g++-9 or later, or LLVM/clang++-10 or later +- Python 3.6 or later +- CMake 3.13 or later +- (macOS only) Xcode 11 or later +- (Windows only) Msys2/MinGW64 toolchain or WSL2 + Python API requires [Cppyy](https://cppyy.readthedocs.io/en/latest/installation.html) and has only -been tested on Linux. The latest known version to work with ns-3 is cppyy==3.1.2. +been tested on Linux. As of this release, the latest known version to work with ns-3 is cppyy==3.1.2. ### New user-visible features -- (wifi) 1901! - Added WifiPhyRxTraceHelper for Wi-Fi Phy tracing -- (network) !1828 - Added a common helper to create and install applications + +- (antenna) !1517 - Added `CircularApertureAntennaModel`, which mimics the reflector antenna with circular aperture described in 3GPP TR 38.811 v15.4.0, Section 6.4.1 +- (core) !1517 - Added `TestVector` iterators and dot product operator for `Vector2D` and `Vector3D` types +- (energy) !1948 - Adds C++ namespace 'energy' - (lr-wpan) !1915 - Use MAC and PHY standard attribute ids - (lr-wpan) !1924 - Adds MAC attribute identifiers - (lr-wpan) !1927 - Adds standard version comments to MLME-GET.request function -- (lr-wpan) !1926 - Adds namespace lrwpan and prefix shortening +- (lr-wpan) !1926 - Adds C++ namespace 'lrwpan' and prefix shortening +- (mobility) !1986 - Adds simple constant-mobility-example +- (mobility) !1517 - Added the `GeocentricConstantPositionMobilityModel` mobility model and coordinate conversion methods between geocentric and topocentric coordinate systems +- (propagation, spectrum) !1517 - Added 3GPP 38.811 Non-Terrestrial Networks channel model +- (network) !1828 - Added a common helper to create and install applications - (wifi) - The `WifiMacHelper` provides a `SetDcf` and a `SetEdca` methods to configure attributes of `Txop` and `QosTxop` objects, respectively - (wifi) - The `ApWifiMac` provides new attributes (`CwMinsForSta`, `CwMaxsForSta`, `AifsnsForSta` and `TxopLimitsForSta`) to define the EDCA access parameters to include in the EDCA Parameter Set advertised to associated stations - (wifi) - The `WifiMacHelper` provides a `SetChannelAccessManager` and a `SetFrameExchangeManager` methods to configure attributes of `ChannelAccessManager` and `FrameExchangeManager` objects, respectively - (wifi) - Simulation duration and data rate parameters of existing wifi examples changed to use Time and DataRate types -- (mobility) !1986 - Adds simple constant-mobility-example -- (energy) !1948 - Adds namespace energy -- (mobility) !1517 - Added the `GeocentricConstantPositionMobilityModel` mobility model and coordinate conversion methods between geocentric and -topocentric coordinate systems -- (antenna) !1517 - Added `CircularApertureAntennaModel`, which mimics the reflector antenna with circular aperture described in -3GPP TR 38.811 v15.4.0, Section 6.4.1 -- (core) !1517 - Added `TestVector` iterators and dot product operator for `Vector2D` and `Vector3D` types -- (propagation, spectrum) !1517 - Added 3GPP 38.811 Non-Terrestrial Networks channel model +- (wifi) 1901! - Added WifiPhyRxTraceHelper for Wi-Fi Phy tracing ### Bugs fixed -- (build) #1048 - Resolved an issue with static and monolithic builds incorrectly linking to non-ns-3 libraries. -- (build) #1058 - Corrected the behavior of the ./ns3 clean command in symlinked directories. -- (build) #1065 - Rolled back the -Os optimization setting as the default on MacOS to address lld compatibility issues. - (bindings) - Preventing module namespace collision by checking if namespace exists before injecting it. -- (core) #1060 - Addressed a stack overflow problem in MakeEvent. - (bindings, core) #1059 - Resolved potential initialization issues in TimerImpl and ensured compatibility with Cppyy3. - (bindings, core) - Introduced a helper class to manage static initialization of Time as a workaround for Cppyy3 static initialization problems. - (bindings, lte, wifi) - Relocated statically initialized variables from header files to source files for Cppyy3 compatibility. +- (build) #1048 - Resolved an issue with static and monolithic builds incorrectly linking to non-ns-3 libraries. +- (build) #1058 - Corrected the behavior of the ./ns3 clean command in symlinked directories. +- (build) #1065 - Rolled back the -Os optimization setting as the default on MacOS to address lld compatibility issues. +- (core) #1060 - Addressed a stack overflow problem in MakeEvent. - (tests) - Enhanced error handling in test.py to avoid attempts to open non-existent XML files following early test termination by sanitizers. +- (tcp) #735 - BBR fails to discard invalid samples - (tcp) #966 - Tcp Cubic (and LinuxReno) cwnd should not grow during application-limited phase - (tcp) #1085 - Do not reset Cubic W_max upon timeout - (wifi) #1072 - Support configuration of custom EDCA parameters via Txop attributes before device installation