2022-11-10 — [Diff]( https://github.com/NREL/OpenStudio/compare/v3.4.0...v3.5.0 )
- ![Improved:][improved] [4689](https://github.com/NREL/OpenStudio/pull/4689),[#4702](https://github.com/NREL/OpenStudio/pull/4702),[#4694](https://github.com/NREL/OpenStudio/pull/4694),[#4674](https://github.com/NREL/OpenStudio/pull/4674),[#4641](https://github.com/NREL/OpenStudio/pull/4641),[#4688](https://github.com/NREL/OpenStudio/pull/4688),[#4653](https://github.com/NREL/OpenStudio/pull/4653) - Phase 1 support to run Python based measures.
* Currently, this functionality is experimental and can only be accessed from the CLI using the experimental `labs` subcommand. This also includes a redesigned help menu (`openstudio labs --help`) to explore the various new options this new feature has to offer.
* Included in the installation are example .osw workflow files that contain Python based measures that can be ran using the labs subcommand. For instance, the following will run a python based workflow: `openstudio run -w ./Examples/compact_osw/compact_python_only.osw`
* For this release, only Python or Ruby can be ran in a single workflow file. Running both Python and Ruby support is planned for the next phase 2 installment in v3.6.0
- ![Improved:][improved] [4600](https://github.com/NREL/OpenStudio/pull/4600) - Phase 1 support to run Python EMS plugin using OpenStudio.
- ![Improved:][improved] [4623](https://github.com/NREL/OpenStudio/pull/4623) - FloorspaceJS to OpenStudio direct reverse translator vs the 3-way process of converting FloorspaceJS to ThreeJS to OSM.
- ![Improved:][improved] [4571](https://github.com/NREL/OpenStudio/pull/4571) - Metadata mapped to GLTF data object at export. Allows users to view metadata in a glTF capable browser.
- ![Improved:][improved] [4587](https://github.com/NREL/OpenStudio/pull/4587) - Error handling and gbXML schema validation when running gbXML based workflows.
- ![Improved:][improved] [4616](https://github.com/NREL/OpenStudio/pull/4616) - Addresses #4611, allow non-Quadratic curves for the EIR-f-PLR for the Chiller:Electric:EIR object
* `Chiller:Electric:EIR` has a few API-breaking changes related to its Curves. The types for the constructor, getters and setters used to be explicit (eg: `CurveBiquadratic`): it is now the base class, more generic, `Curve` type for added flexibility.
- ![Improved:][improved] [4642](https://github.com/NREL/OpenStudio/pull/4642) - Addresses #4575, API change for EvaporativeCoolerFluid:SingleSpeed
* `EvaporativeCoolerFluid:SingleSpeed` has an API-breaking change related to its `performanceInputMethod` getter. It is now a required field that returns `std::string` instead of `boost::optional<std::string>`.
- ![Improved:][improved] [4644](https://github.com/NREL/OpenStudio/pull/4644) - Addresses #4575, API change for Coil:Cooling:DX:SingleSpeed and Coil:Cooling:DX:TwoSpeed
* `Coil:Cooling:DX:SingleSpeed` and `Coil:Cooling:DX:TwoSpeed` have API-breaking changes related to many of their getters. They are now required fields that return `double` instead of `boost::optional<double>`. Also removes many deprecated methods.
- ![Improved:][improved] [4632](https://github.com/NREL/OpenStudio/pull/4632) - Remove deprecated methods for AirWallMaterial, Node, SizingSystem, ZoneAirMassFlowConservation
* Removes the deprecated `AirWallMaterial` class completely, in favor of `ConstructionAirBoundary`
* Removes functions in `Node` that have been deprecated for 9+ years
* Removes deprecated methods in the `SizingSystem`, `ZoneAirMassFlowConservation`, `PlantLoop` & `AirLoopHVAC`, `AvailablilityManagerNightCycle`, `ZoneVentilationDesignFlowRate` classes
* Refer to the CSV file at [developer/ruby/deprecated_methods.csv](https://github.com/NREL/OpenStudio/blob/develop/developer/ruby/deprecated_methods.csv) for more information
- ![Improved:][improved] [4665](https://github.com/NREL/OpenStudio/pull/4665) - Deprecate methods on Coil DX objects
* `Coil:Cooling:DX:SingleSpeed`, `Coil:Cooling:DX:MultiSpeed:StageData`, and `Coil:Cooling:DX:CurveFit:Speed`: `ratedEvaporatorFanPowerPerVolumeFlowRate` and `setRatedEvaporatorFanPowerPerVolumeFlowRate` in favor of `ratedEvaporatorFanPowerPerVolumeFlowRate2017` and `setRatedEvaporatorFanPowerPerVolumeFlowRate2017`
* `Coil:Heating:DX:SingleSpeed` and `Coil:Heating:DX:MultiSpeed:StageData`: `ratedSupplyFanPowerPerVolumeFlowRate` and `setRatedSupplyFanPowerPerVolumeFlowRate` in favor of `ratedSupplyFanPowerPerVolumeFlowRate2017` and `setRatedSupplyFanPowerPerVolumeFlowRate2017`
- ![Improved:][improved] [4666](https://github.com/NREL/OpenStudio/pull/4666) - Changes related to availability schedule methods
* `Coil:Heating:Gas:MultiStage` has an API-breaking change related to its `availabilitySchedule` getter. It is now a required field that returns `Schedule` instead of `boost::optional<Schedule>`. Method `resetAvailabilitySchedule` is also removed.
- ![Improved:][improved] [4701](https://github.com/NREL/OpenStudio/pull/4701) - `ZoneHVACPackagedTerminalAirConditioner` and `ZoneHVACPackagedTerminalHeatPump`
* `ZoneHVACPackagedTerminalAirConditioner` and `ZoneHVACPackagedTerminalHeatPump` have an API-breaking change related to its `supplyAirFanOperatingModeSchedule` getter. It is now a required field that returns `Schedule` instead of `boost::optional<Schedule>`. Method `resetSupplyAirFanOperatingModeSchedule` is also removed.
* It is set to `alwaysOnDiscreteSchedule` (=Constant) in the Constructor if you provide a `FanConstantVolume` (This is **required** by E+)
* It is set to `alwaysOffDiscreteSchedule` (=Cycling) in the Constructor if you provide any other fan types (E+ treats a blank schedule as always off)
* There are unusual `VersionTranslator` Rules for Packaged Systems (PTAC or PTHP) that use a `FanConstantVolume` and that do not have a `Supply Air Fan Operating Mode Schedule`. In 22.1.0 this would effectively, and mistakenly, function as a cycling fan, but this is now disallowed in E+ 22.2.0. In order to retain a similar functionality and energy usage, the `FanConstantVolume` will be replaced by a `FanSystemModel` with an Always Off Schedule (=cycling fan, similar to a `Fan:OnOff`), mapping inputs such as pressure rise and efficiency appropriately.
- ![Improved:][improved] [4484](https://github.com/NREL/OpenStudio/pull/4484) - Enable C++20
- ![Improved:][improved] [4671](https://github.com/NREL/OpenStudio/pull/4671) - New Coil:*:WaterToAirHeatPump:EquationFit fields
- ![Improved:][improved] [4698](https://github.com/NREL/OpenStudio/pull/4698) - Update EnergyPlus to v22.2.0
- ![Improved:][improved] [4685](https://github.com/NREL/OpenStudio/pull/4685) - Address #4630, wrap Output:Schedules and Output:Constructions objects
- ![Improved:][improved] [4577](https://github.com/NREL/OpenStudio/pull/4577) - gbXML translation fixes and enhancements
- ![Improved:][improved] [4610](https://github.com/NREL/OpenStudio/pull/4610) - Addresses #4538, wrap phase change material properties
- ![Improved:][improved] [4625](https://github.com/NREL/OpenStudio/pull/4625) - Addresses #4615, wrap OutputControl:Table:Style and Output:SQLite
- ![Improved:][improved] [4580](https://github.com/NREL/OpenStudio/pull/4580) - Add color for Foundation boundary condition
- ![Improved:][improved] [4568](https://github.com/NREL/OpenStudio/pull/4568) - Installer adjustments for clang 13.1.6+, and some mac arm64 adjustments
- ![Fixed:][fixed] [4585](https://github.com/NREL/OpenStudio/pull/4585) - Add libintl.8.dylib to mac15 x86 for e+
- ![Improved:][improved] [4589](https://github.com/NREL/OpenStudio/pull/4589) - Switch to E+ Space FT by default
- ![Improved:][improved] [4579](https://github.com/NREL/OpenStudio/pull/4579) - Add Volume field to Space
- ![Fixed:][fixed] [4593](https://github.com/NREL/OpenStudio/pull/4593) - Fix ZoneInfiltration:DesignFlowRate FT when Space FT enabled
- ![Fixed:][fixed] [4597](https://github.com/NREL/OpenStudio/pull/4597) - Hotfix GLTF extras broke running tests in Debug
- ![Improved:][improved] [4594](https://github.com/NREL/OpenStudio/pull/4594) - Bump OS ruby to use fPIC and zlib/minizip to 1.2.12 to match
- ![Fixed:][fixed] [4590](https://github.com/NREL/OpenStudio/pull/4590) - Correct typo: Newell, not Newall
- ![Improved:][improved] [4316](https://github.com/NREL/OpenStudio/pull/4316) - Addresses #2610, insertComponent can create duplicate unique model objects
- ![Improved:][improved] [4604](https://github.com/NREL/OpenStudio/pull/4604) - Cached getters for all unique model objects
- ![Improved:][improved] [4605](https://github.com/NREL/OpenStudio/pull/4605) - Gltf Refactor
- ![Fixed:][fixed] [4612](https://github.com/NREL/OpenStudio/pull/4612) - Fix build error due to GLTF refactor on Windows
- ![Fixed:][fixed] [4596](https://github.com/NREL/OpenStudio/pull/4596) - Bump conan dependencies (which will allow MSVC 2022 and C++20) and clang 13.1+ fixes
- ![Fixed:][fixed] [4614](https://github.com/NREL/OpenStudio/pull/4614) - Support Ubuntu 18.04 and Centos7
- ![Fixed:][fixed] [4619](https://github.com/NREL/OpenStudio/pull/4619) - Fix #4543 - E+ 22.1.0: Wrap SetpointManager:SystemNodeReset:Temperature and SetpointManager:SystemNodeReset:Humidity
- ![Fixed:][fixed] [4622](https://github.com/NREL/OpenStudio/pull/4622) - Addresses #4620, harmonize (remove?) max. material thickness limit
- ![Fixed:][fixed] [4627](https://github.com/NREL/OpenStudio/pull/4627) - Fix #4547 - FT always warns about missing Design Specification Outdoor Air for AirTerminalSingleDuctInletSideMixer
- ![Fixed:][fixed] [4640](https://github.com/NREL/OpenStudio/pull/4640) - Fix python bindings github workflows with C++20
- ![Fixed:][fixed] [4626](https://github.com/NREL/OpenStudio/pull/4626) - Fix #4601 - add some useful log messages when requested WWR is rejected
- ![Fixed:][fixed] [4592](https://github.com/NREL/OpenStudio/pull/4592) - Fix#127 - Fix volume calculation to match EnergyPlus
- ![Fixed:][fixed] [4621](https://github.com/NREL/OpenStudio/pull/4621) - Fix #4551 - Add minimum/maximum values to numeric OSArguments and use it in validateUserArgument
- ![Fixed:][fixed] [4643](https://github.com/NREL/OpenStudio/pull/4643) - Update docs for setThermalConductance and setThermalResistance changing thickness
- ![Fixed:][fixed] [4650](https://github.com/NREL/OpenStudio/pull/4650) - Enable centos7 for c++20
- ![Fixed:][fixed] [4629](https://github.com/NREL/OpenStudio/pull/4629) - Addresses #3666, CoilWaterHeaterDesuperheater: Issue Error in ForwardTranslator if Heat Reclaim Efficiency is out of bounds
- ![Fixed:][fixed] [3912](https://github.com/NREL/OpenStudio/pull/3912) - Add consistently failing test for warnings/errors and document
- ![Fixed:][fixed] [4669](https://github.com/NREL/OpenStudio/pull/4669) - Fix #4668 - Wrap E+ 22.2 new People fields
- ![Fixed:][fixed] [4287](https://github.com/NREL/OpenStudio/pull/4287) - Build and test CSharp bindings for Linux/Mac/Windows
- ![Fixed:][fixed] [4652](https://github.com/NREL/OpenStudio/pull/4652) - Addresses #4647, wrap the E+ Table:Lookup, Table:IndependentVariableList, and Table:IndependentVariable objects
- ![Fixed:][fixed] [4679](https://github.com/NREL/OpenStudio/pull/4679) - Remove cruft
- ![Improved:][improved] [4672](https://github.com/NREL/OpenStudio/pull/4672) - Fix #4645 - Update FT for space-level infiltration/ventilation objects (E+ 22.2.0-IOFreeze)
- ![Fixed:][fixed] [4676](https://github.com/NREL/OpenStudio/pull/4676) - Fix #4648 4654 - SurfaceProperty:GroundSurfaces and SurfaceProperty:IncidentSolarMultiplier
- ![Fixed:][fixed] [4681](https://github.com/NREL/OpenStudio/pull/4681) - Fix glass U factor sql error
- ![Fixed:][fixed] [4661](https://github.com/NREL/OpenStudio/pull/4661) - Volume, CeilingHeight, FloorArea for Space object
- ![Fixed:][fixed] [4660](https://github.com/NREL/OpenStudio/pull/4660) - Fix #4120 - set boost's visibility to global/default instead of hidden
- ![Fixed:][fixed] [4680](https://github.com/NREL/OpenStudio/pull/4680) - Update ruby gems including the new tbd gem
- ![Fixed:][fixed] [4686](https://github.com/NREL/OpenStudio/pull/4686) - Addresses #4599, documentation for isGroundSurface() is missing an outside boundary condition
- ![Fixed:][fixed] [4677](https://github.com/NREL/OpenStudio/pull/4677) - Fix #4675 - E+ 22.2.0 - Sizing:Zone has new fields
- ![Fixed:][fixed] [4691](https://github.com/NREL/OpenStudio/pull/4691) - Followup to #4575
- ![Fixed:][fixed] [4662](https://github.com/NREL/OpenStudio/pull/4662) - Support CoilCoolingDX on ZoneHVAC, CoilSystem, Desuperheater
- ![Fixed:][fixed] [4694](https://github.com/NREL/OpenStudio/pull/4694) - Fix #4638 python ruby workflow
- ![Fixed:][fixed] [4687](https://github.com/NREL/OpenStudio/pull/4687) - Fix #4656 - E+ 22.2.0: Wrap Chiller:Electric:ASHRAE205
- ![Fixed:][fixed] [4697](https://github.com/NREL/OpenStudio/pull/4697) - Volume, CeilingHeight, FloorArea for Space object
- ![Fixed:][fixed] [4658](https://github.com/NREL/OpenStudio/pull/4658) - Update to v22.2.0
- ![Fixed:][fixed] [4683](https://github.com/NREL/OpenStudio/pull/4683) - Fix #4663 4664 - Fix CoilCoolingDXMultiSpeed::clone and extend testing for AirLoopHVAC::clone
- ![Fixed:][fixed] [4702](https://github.com/NREL/OpenStudio/pull/4702) - Mod to Python Engine
- ![Fixed:][fixed] [4700](https://github.com/NREL/OpenStudio/pull/4700) - Fix #4673 - Allow setting ZoneMixing objects at Space level
- ![Fixed:][fixed] [4710](https://github.com/NREL/OpenStudio/pull/4710) - Update gems for standard 0.2.17.rc1
- ![Fixed:][fixed] [4712](https://github.com/NREL/OpenStudio/pull/4712) - Fix #4659 - Filesystem fixups
- ![Fixed:][fixed] [4713](https://github.com/NREL/OpenStudio/pull/4713) - Deprecated methods that date back to as early as v2.5.0 have been removed from this release. Moving forward, it is our goal to support deprecated methods for three release cycles and then remove them. If you run into errors (e.g. `undefined method`), please reference this [list](https://github.com/NREL/OpenStudio/blob/develop/developer/ruby/deprecated_methods.csv) for the suggested replacement.
- ![Improved:][improved] [OpenStudio-benchmarks](https://github.com/NREL/OpenStudio-benchmarks) - Added additional performance benchmark tests to improve SDK performance.