diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e047fd148b..fc0e4e9c7c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,7 +164,7 @@ get_directory_property(hasParent PARENT_DIRECTORY) # TODO: Modify the more specific variables as needed to indicate prerelease, etc # Keep in beta in-between release cycles. Set to empty string (or comment out) for official) -set(PROJECT_VERSION_PRERELEASE "rc5") +set(PROJECT_VERSION_PRERELEASE "") # OpenStudio version: Only include Major.Minor.Patch, eg "3.0.0", even if you have a prerelease tag set(OPENSTUDIO_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") @@ -1248,7 +1248,7 @@ else() endif() # Install additional Documents, such as release notes -install(FILES "${PROJECT_SOURCE_DIR}/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_7_0_20231117.pdf" DESTINATION .) +install(FILES "${PROJECT_SOURCE_DIR}/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_20250618.pdf" DESTINATION .) install(FILES "${PROJECT_SOURCE_DIR}/LICENSE.md" DESTINATION .) install(FILES "${PROJECT_SOURCE_DIR}/copyright.txt" DESTINATION .) diff --git a/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_TDB.md b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_20250618.md similarity index 53% rename from developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_TDB.md rename to developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_20250618.md index bc62116ed37..114207906a7 100644 --- a/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_TDB.md +++ b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_20250618.md @@ -1,6 +1,6 @@ # OpenStudio Version 3.10.0 -_Release Notes_ - _TDB_ +_Release Notes_ - 2025-06-18 These release notes describe version 3.10.0 of the OpenStudio SDK developed by the National Renewable Energy Laboratory (NREL), Buildings and Thermal Sciences Center, Commercial Buildings Research Group, Tools Development Section, and associated collaborators. The notes are organized into the following sections: @@ -38,10 +38,9 @@ OpenStudio SDK 3.10.0 is supported on: * 64-bit Windows 7 – 11 * macOS: 11.6+ x86_64, 12.1+ arm64 -* Ubuntu: 20.04 x86_64, 22.04 x86_64, 22.04 arm64 -* Centos7 +* Ubuntu: 22.04 x86_64, 24.04 x86_64, 22.04 arm64 -OpenStudio SDK 3.10.0 supports [EnergyPlus Release @EP_VERSION@](https://github.com/NREL/EnergyPlus/releases/tag/v@EP_VERSION@), which is bundled with the OpenStudio installer. It is no longer necessary to download and install EnergyPlus separately. Other builds of EnergyPlus are not supported by OpenStudio SDK 3.10.0. +OpenStudio SDK 3.10.0 supports [EnergyPlus Release 25.1.0, Bug Fix Edition](https://github.com/NREL/EnergyPlus/releases/tag/v25.1.0-WithDSOASpaceListFixes), which is bundled with the OpenStudio installer. It is no longer necessary to download and install EnergyPlus separately. Other builds of EnergyPlus are not supported by OpenStudio SDK 3.10.0. OpenStudio SDK 3.10.0 supports Radiance 5.0.a.12, which is bundled with the OpenStudio installer; users no longer must install Radiance separately, and OpenStudio will use the included Radiance version regardless of any other versions that may be installed on the system. Other builds of Radiance are not supported by OpenStudio SDK 3.10.0. @@ -57,7 +56,7 @@ For help with common installation problems please visit [Getting Started](http:/ # OpenStudio SDK: Changelog -The 3.10.0 is a **** release. This update includes several new features, performance improvements, and bug fixes. +The 3.10.0 is a **major** release. This update includes several new features, performance improvements, and bug fixes. ## C++ Workflow code @@ -75,38 +74,96 @@ You can also refer to the [OpenStudio SDK Python Binding Version Compatibility M ## New Features, Major Fixes and API-breaking changes -* [#5326](https://github.com/NREL/OpenStudio/pull/5326) - Wrap ZoneHVAC:EvaporativeCoolerUnit +* [#5326](https://github.com/NREL/OpenStudio/pull/5326) - Wrap `ZoneHVAC:EvaporativeCoolerUnit` * The object was wrapped in the SDK. * Note: in EnergyPlus 24.2.0, the `Zone Relief Air Node Name` is an optional field. The OpenStudio SDK always fills with the connected zone's Exhaust Air Node, meaning the airflow is always being balanced by EnergyPlus: the object will extract air from the zone to balance the air supplied to the zone by the cooler outlet node. -* [#5369](https://github.com/NREL/OpenStudio/pull/5369) - Wrap Output:Table:Annual and Output:Table:Monthly +* [#5369](https://github.com/NREL/OpenStudio/pull/5369) - Wrap `Output:Table:Annual` and `Output:Table:Monthly` * Both objects were wrapped in the SDK * The OutputTableMonthly also includes a convenient factory methods to create the reports that are in the E+ datasets/StandardReports.idf * See `std::vector OutputTableMonthly::validStandardReportNames` to get a list of valid methods * and the factory method itself: `OutputTableMonthly OutputTableMonthly::fromStandardReports(const Model& model, const std::string& standardReportName)` -* [#5365](https://github.com/NREL/OpenStudio/pull/5365) - E+ 25.1.0: Wrap OutputControl:ResilienceSummaries +* [#5365](https://github.com/NREL/OpenStudio/pull/5365) - E+ 25.1.0: Wrap `OutputControl:ResilienceSummaries` -* [#5312](https://github.com/NREL/OpenStudio/pull/5312) - Wrap PythonPlugin:SearchPaths +* [#5312](https://github.com/NREL/OpenStudio/pull/5312) - Wrap `PythonPlugin:SearchPaths` + * The unique object was wrapped in the SDK. + * Forward translation intentionally happens before PythonPlugin_Instance so that there cannot be two PythonPlugin_SearchPaths objects. + +* [#5134](https://github.com/NREL/OpenStudio/pull/5134) - Addresses #5132, EPW design condition methods should return boost::optional doubles or integers + * `EpwDesignCondition` has many API-breaking changes related to its getters. The previous behavior was to misleadingly return a value of 0 for any empty design condition header field. The types for the getters are now either boost::optional or boost::optional. + +* [#5350](https://github.com/NREL/OpenStudio/pull/5350) - Wrap `CoilSystem:Cooling:Water` + * The object was wrapped in the SDK. + * This coil system enables "Water Side Economizer Mode" and "Wrap Around Water Coil Heat Recovery Mode". + +* [#5426](https://github.com/NREL/OpenStudio/pull/5426) - Re-wrap Thermochromic window model properly to handle extensible fields and translation to/from EnergyPlus + * While the class `ThermochromicGlazing` has been in the model namespace for a long time, it was actually not properly wrapped, unsable, and not forward translated + +* [#5384](https://github.com/NREL/OpenStudio/pull/5384) + [#5403](https://github.com/NREL/OpenStudio/pull/5403)- OutdoorAir upgrades + * Do **not** add a `Controller:MechanicalVentilation` if it does not have a `DesignSpecification:OutdoorAir` on it, which would produce an E+ `SevereError` + * Use a `DesignSpecification:OutdoorAir:SpaceList` if appropriate instead of using the first `DesignSpecification:OutdoorAir` found + * In case you have several Spaces with unique DSOAs that are using an absolute value (Outdoor Air Flow Rate) in the same ThermalZone, this previously would lead to an incorrect amount of Outdoor Air + +* [#5367](https://github.com/NREL/OpenStudio/pull/5367) - Add a new `ReportingMeasure::modelOutputRequests(model, runner, argument_map)` that runs before E+ FT + +* [#5385](https://github.com/NREL/OpenStudio/pull/5385) - add `WorkflowJSON::setRootDir(path&)` and `setRunDir(path&)` + +* [#5394](https://github.com/NREL/OpenStudio/pull/5394) - `--bundle` options not working for CLI in docker-openstudio, possibly OS itself ## Minor changes and bug fixes -Refer to the changelog on the release page at [v3.10.0](https://github.com/NREL/OpenStudio/releases/v3.10.0) +* [#5396](https://github.com/NREL/OpenStudio/pull/5396) - Create convenience method to set SpaceInfiltrationDesignFlowRate values from Space -**Full Changelog**: https://github.com/NREL/OpenStudio/compare/v3.9.0...v3.10.0 +* [#5372](https://github.com/NREL/OpenStudio/pull/5372) - add FuelTypes to PlantComponentUserDefined -**New Contributors**: +* [#5401](https://github.com/NREL/OpenStudio/pull/5402) - BCL measure update picks up subfolders like `resources/__pycache__` or `tests/.pytest_cache` -### OpenStudio Standards v@STANDARDS_VERSION@ +* [#5304](https://github.com/NREL/OpenStudio/pull/5304) - Measure manager fixups and improvements -Update the openstudio-standards gem to version [@STANDARDS_VERSION@](https://github.com/NREL/openstudio-standards/releases/tag/v@STANDARDS_VERSION@) -In addition to some refactoring, this release also included conversion of 90.1 data to formal database. +* [#5378](https://github.com/NREL/OpenStudio/pull/5378) - Old materials OSC (< 0.7.4) cannot be loaded anymore + +* [#5373](https://github.com/NREL/OpenStudio/pull/5373) - ThreeJSForwardTranslator adds unnecessary RenderingColor objects for AirLoopHVAC + +* [#5382](https://github.com/NREL/OpenStudio/pull/5382) - Add a helper `IdfObject::initializeFields(bool fill_default)` + +* [#5334](https://github.com/NREL/OpenStudio/pull/5334) - Register AFN scheduleTypeRegistry. + +* [#5345](https://github.com/NREL/OpenStudio/pull/5345) - Design Range Temperature for OS:CoolingTower:SingleSpeed is not being converted into EnergyPlus +* [#5322](https://github.com/NREL/OpenStudio/pull/5322) - AirLoopHVACUnitaryHeatPump(Multispeed) fixes -### OpenStudio Server vXXX +* [#5333](https://github.com/NREL/OpenStudio/pull/5333) - Typo in Schematron extension: .sch, not .sct! +* [#5337](https://github.com/NREL/OpenStudio/pull/5337) - Fixes `UnitarySystemPerformance:Multispeed` number of cooling speeds w/ `Coil:Cooling:DX` +* [#5325](https://github.com/NREL/OpenStudio/pull/5325) - Wrap GroundHeatExchangerVertical "Depth of Top of Borehole" field +* [#5316](https://github.com/NREL/OpenStudio/pull/5316) - OpenStudio CLI unable to require uuid in OpenStudio 3.9 (thereby breaking dependencies like openstudio-extension) + +* [#5320](https://github.com/NREL/OpenStudio/pull/5320) - gbXML Reverse Translator - Scan for the gbxml Schema version: skip schema validation with a warning when not 7.03 + +* [#5305](https://github.com/NREL/OpenStudio/pull/5305) - Remove SpaceAndSpaceGroupNames from Building + +* [#5321](https://github.com/NREL/OpenStudio/pull/5321) - Add Tank Element Control Logic field to WaterHeaterHeatPump + +* [#5374](https://github.com/NREL/OpenStudio/pull/5374) - DefrostEnergyInputRatioModifierFunctionofTemperatureCurve is orphaned when AirConditionerVariableRefrigerantFlow is removed + +* [#5413](https://github.com/NREL/OpenStudio/pull/5413) - Deal with `ASHRAETau2017` + +* [#5422](https://github.com/NREL/OpenStudio/pull/5422) - define SWIG_PYTHON_SILENT_MEMLEAK to shush the python destructor warnings + + +Refer to the changelog on the release page at [v3.10.0](https://github.com/NREL/OpenStudio/releases/v3.10.0) + +**Full Changelog**: https://github.com/NREL/OpenStudio/compare/v3.9.0...v3.10.0 + +**New Contributors**: + +### OpenStudio Standards v0.8.2 + +Update the openstudio-standards gem to version [0.8.2](https://github.com/NREL/openstudio-standards/releases/tag/v0.8.2) +In addition to some refactoring, this release also included conversion of 90.1 data to formal database. --- # This YAML header controls the pandoc (via TeX) to PDF settings diff --git a/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_20250618.pdf b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_20250618.pdf new file mode 100644 index 00000000000..d3be41a9c15 Binary files /dev/null and b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_0_20250618.pdf differ diff --git a/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_9_0.md b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_9_0.md index 2cef0fda416..5891bda4e55 100644 --- a/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_9_0.md +++ b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_9_0.md @@ -83,9 +83,6 @@ You can also refer to the [OpenStudio SDK Python Binding Version Compatibility M * `getHighHumidityOutdoorAirFlowRatio` (`boost::optional` to `double`) * `getControlHighIndoorHumidityBasedOnOutdoorHumidityRatio` (`boost::optional` to `bool`) -* [#5134](https://github.com/NREL/OpenStudio/pull/5134) - Addresses #5132, EPW design condition methods should return boost::optional doubles or integers - * `EpwDesignCondition` has many API-breaking changes related to its getters. The previous behavior was to misleadingly return a value of 0 for any empty design condition header field. The types for the getters are now either boost::optional or boost::optional. - ## Minor changes and bug fixes Refer to the changelog on the release page at [v3.9.0](https://github.com/NREL/OpenStudio/releases/v3.9.0)