|
1 | 1 | # What's New in Simu5G |
2 | 2 |
|
| 3 | +## v1.4.0 (2025-09-18) |
| 4 | + |
| 5 | +Compatible with **OMNeT++ 6.2.0** and **INET 4.5.4**. |
| 6 | + |
| 7 | +This release marks an important milestone in the ongoing transformation of |
| 8 | +Simu5G. While not introducing behavioral changes, this intermediate release |
| 9 | +focuses on restructuring the codebase to improve clarity, safety, and |
| 10 | +maintainability. Major updates include a reorganized directory structure, |
| 11 | +enforcing a consistent naming convention, making make packets more easily |
| 12 | +inspectable, and refactoring of parts of the C++ code to pave the way for |
| 13 | +changes in future versions. Although the release is not source-compatible with |
| 14 | +previous versions, existing simulations will continue to work unchanged once |
| 15 | +adjusted to follow the various rename operations. These improvements were |
| 16 | +contributed by Andras Varga (OMNeT++ Core Team). |
| 17 | + |
| 18 | +Renames: |
| 19 | + |
| 20 | +- Sources are now under src/simu5g/ instead of just src/, so that C++ includes |
| 21 | + start with "simu5g/". This helps identifying Simu5G includes when Simu5G is |
| 22 | + used as a dependency of other projects. |
| 23 | + |
| 24 | +- Some folders were moved inside the source tree to a more logical location. For |
| 25 | + example, the simu5g/nodes/mec/ subtree was promoted to simu5g/mec/. |
| 26 | + |
| 27 | +- Several source folders were renamed to more closely follow the all-lowercase |
| 28 | + convention. For example, mec/UALCMP/ became mec/ualcmp/, and mec/MECPlatform |
| 29 | + became just mec/platform. |
| 30 | + |
| 31 | +- Several classes were renamed to ensure that only the first letters of acronyms |
| 32 | + are uppercase. For example, MECHost became MecHost. |
| 33 | + |
| 34 | +- Several parameters were renamed to enforce camelcase names. For example, |
| 35 | + bs_noise_figure became bsNoiseFigure, and fading_paths became numFadingPaths. |
| 36 | + If you have existing Simu5G simulations, review the ini files carefully and |
| 37 | + update the parameter assignments accordingly. (Caveat: Assignment lines that |
| 38 | + refer to the old names will be simply ignored by the simulation -- there is no |
| 39 | + error message for that!) |
| 40 | + |
| 41 | +- The PdcpRrc modules were renamed to just Pdcp. Likewise, pdcpRrc submodules |
| 42 | + in NIC compound modules became pdcp. |
| 43 | + |
| 44 | +Further refactoring: |
| 45 | + |
| 46 | +- Several protocol header classes, while defined in msg files, contained heavy |
| 47 | + customization in C++ code, including the addition of new fields. Since the |
| 48 | + writing of those classes, the message compiler in OMNeT++ gained enough |
| 49 | + features so that most of the customizations were no longer needed, and the |
| 50 | + desired effect could be achieved in msg files only. This refactoring has the |
| 51 | + benefit of making packets more inspectable from Qtenv, and packet contents can |
| 52 | + now be serialized using parsimPack (useful for more thorough fingerprint |
| 53 | + tests). |
| 54 | + |
| 55 | +- MacCid is a central data type that pairs an LCID with a nodeId to uniquely |
| 56 | + identify a logical channel. It used to be a packed integer, and now it was |
| 57 | + turned into a C++ class with separate fields for the node ID and LCID and with |
| 58 | + accessor methods, for increased type safety. |
| 59 | + |
| 60 | +- carrierFrequency used to be a variable of the type double throughout the |
| 61 | + codebase. The type was changed to GHz (using INET's units.h) for increased |
| 62 | + type safety. This also helped identifying a bug in certain channel models |
| 63 | + (LteRealisticChannelModel, BackgroundCellChannelModel) where a double |
| 64 | + representing GHz instead of Hz was used in computing path loss, resulting |
| 65 | + in underestimated path loss values. |
| 66 | + |
| 67 | +- Binder received several WATCHes for increased transparency in Qtenv, and |
| 68 | + an overhaul of a subset of its API and internal data structures. |
| 69 | + |
| 70 | +- In the Pdcp modules, the unused EUTRAN_RRC_Sap port (and associated handling |
| 71 | + code) was removed. |
| 72 | + |
| 73 | +- Refactoring of internals in several protocol modules, including MAC, PDCP and |
| 74 | + RLC implementations. |
| 75 | + |
| 76 | + |
3 | 77 | ## v1.3.1 (2025-09-18) |
4 | 78 |
|
5 | 79 | This is a minor update for Simu5G-1.3.0. In addition to fixing regressions |
|
0 commit comments