From 4919b18a3f3caf9fafd6db887f376f2e92f16654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 11:47:28 +0100 Subject: [PATCH 01/20] Add versioning for methods in Revit where int was changed to long Previously worked for fallback case of type.GetMethod, and was giving the correct method back, but with new system need versioning --- BHoMUpgrades/Upgrades/v90.json | 87 ++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v90.json b/BHoMUpgrades/Upgrades/v90.json index 7961540..5b473bd 100644 --- a/BHoMUpgrades/Upgrades/v90.json +++ b/BHoMUpgrades/Upgrades/v90.json @@ -1204,6 +1204,93 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }" ], "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Core.Query.ElementIdsByElementType(Autodesk.Revit.DB.Document, System.Int32, System.Collections.Generic.IEnumerable)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "ElementIdsByElementType", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ElementId, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }], \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Core.Query.ElementIdsByViewSpecific(Autodesk.Revit.DB.Document, System.Int32, System.Collections.Generic.IEnumerable)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "ElementIdsByViewSpecific", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ElementId, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }], \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Core.Query.ElementIdsByVisibleInView(Autodesk.Revit.DB.Document, System.Int32, System.Collections.Generic.IEnumerable)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "ElementIdsByVisibleInView", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ElementId, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }], \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Core.Query.ElementIdsOfFamilyTypes(Autodesk.Revit.DB.Document, System.Int32, System.Collections.Generic.IEnumerable)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "ElementIdsOfFamilyTypes", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ElementId, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }], \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Core.Query.ElementIdsOfMemberElements(Autodesk.Revit.DB.Document, System.Int32, System.Collections.Generic.IEnumerable)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "ElementIdsOfMemberElements", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ElementId, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }], \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Core.Query.ElementIdsOfViews(Autodesk.Revit.DB.Document, System.Int32, System.Collections.Generic.IEnumerable)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "ElementIdsOfViews", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ElementId, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }], \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Core.Query.ParameterName(Autodesk.Revit.DB.Document, System.Int32)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "ParameterName", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Tagging.Modify.AddIdFragment(BH.oM.Tagging.TagHost, Autodesk.Revit.DB.Element, System.Int32)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Tagging.Modify, Revit_Tagging_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "AddIdFragment", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Tagging.TagHost\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Element, RevitAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" } }, "ToOld": { From c747cc32af73cd1e5b1ca8e3e9253e89cfab0672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 11:48:14 +0100 Subject: [PATCH 02/20] Add versioning for HasValue Previously returned A method, but was actually returning the wrong method from the deserialisation. Adding versioning, in combination with the new serialsier fixes this issue --- BHoMUpgrades/Upgrades/v82.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v82.json b/BHoMUpgrades/Upgrades/v82.json index 4d6ea3e..3786ad2 100644 --- a/BHoMUpgrades/Upgrades/v82.json +++ b/BHoMUpgrades/Upgrades/v82.json @@ -337,6 +337,15 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"8.2\" }" ], "_bhomVersion": "8.2" + }, + "BH.Engine.Verification.Query.HasValue(Autodesk.Revit.DB.Parameter)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2021, Version=8.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"8.2\" }", + "MethodName": "HasValue", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Parameter, RevitAPI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"8.2\" }" + ], + "_bhomVersion": "8.2" } }, "ToOld": { From e071661a9aff039323054fc412cb37d37c426544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 15:27:02 +0100 Subject: [PATCH 03/20] Add Versioning for Descirption method for changing from QuantityAttribute to ClassificationAttribute --- BHoMUpgrades/Upgrades/v40.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v40.json b/BHoMUpgrades/Upgrades/v40.json index 4b33011..b6a14b6 100644 --- a/BHoMUpgrades/Upgrades/v40.json +++ b/BHoMUpgrades/Upgrades/v40.json @@ -1662,6 +1662,15 @@ "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Diffing.Query, Diffing_Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null\" }", "MethodName": "DifferentProperties", "Parameters": [ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Diffing.DiffingConfig\" }" ] + }, + "BH.Engine.Reflection.Query.Description(System.Type, BH.oM.Quantities.Attributes.QuantityAttribute)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Reflection.Query, Reflection_Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null\" }", + "MethodName": "Description", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Type, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Base.Attributes.ClassificationAttribute\" }" + ] } }, "ToOld": { From 4ab2734a85f0a8b53c1c4e5603189ac7ee7792c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 15:27:24 +0100 Subject: [PATCH 04/20] Add versioning for various Facade methods changing from List to IEnumerable --- BHoMUpgrades/Upgrades/v43.json | 60 ++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v43.json b/BHoMUpgrades/Upgrades/v43.json index ea8fb20..1ed2011 100644 --- a/BHoMUpgrades/Upgrades/v43.json +++ b/BHoMUpgrades/Upgrades/v43.json @@ -669,6 +669,66 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Structure.Reinforcement.BarRebarIntent\", \"_bhomVersion\" : \"4.3\" }" ], "_bhomVersion": "4.3" + }, + "BH.Engine.Facade.Compute.AdjacentElements(BH.oM.Dimensional.IElement1D, System.Collections.Generic.List)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Facade.Compute, Facade_Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"4.3\" }", + "MethodName": "AdjacentElements", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement1D\", \"_bhomVersion\" : \"4.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement2D\", \"_bhomVersion\" : \"4.3\" }], \"_bhomVersion\" : \"4.3\" }" + ], + "_bhomVersion": "4.3" + }, + "BH.Engine.Facade.Compute.AdjacentElements(BH.oM.Dimensional.IElement2D, System.Collections.Generic.List)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Facade.Compute, Facade_Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"4.3\" }", + "MethodName": "AdjacentElements", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement2D\", \"_bhomVersion\" : \"4.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement2D\", \"_bhomVersion\" : \"4.3\" }], \"_bhomVersion\" : \"4.3\" }" + ], + "_bhomVersion": "4.3" + }, + "BH.Engine.Facade.Compute.AdjacentElements(BH.oM.Dimensional.IElement1D, System.Collections.Generic.List)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Facade.Compute, Facade_Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"4.3\" }", + "MethodName": "AdjacentElements", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement1D\", \"_bhomVersion\" : \"4.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement1D\", \"_bhomVersion\" : \"4.3\" }], \"_bhomVersion\" : \"4.3\" }" + ], + "_bhomVersion": "4.3" + }, + "BH.Engine.Facade.Compute.EdgeAdjacencies(BH.oM.Dimensional.IElement1D, System.Collections.Generic.List, System.Double)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Facade.Compute, Facade_Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"4.3\" }", + "MethodName": "EdgeAdjacencies", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement1D\", \"_bhomVersion\" : \"4.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement2D\", \"_bhomVersion\" : \"4.3\" }], \"_bhomVersion\" : \"4.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"4.3\" }" + ], + "_bhomVersion": "4.3" + }, + "BH.Engine.Facade.Compute.FacadeAreasByConstruction(System.Collections.Generic.List)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Facade.Compute, Facade_Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"4.3\" }", + "MethodName": "FacadeAreasByConstruction", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Facade.IFacadeObject\", \"_bhomVersion\" : \"4.3\" }], \"_bhomVersion\" : \"4.3\" }" + ], + "_bhomVersion": "4.3" + }, + "BH.Engine.Facade.Compute.UniqueAdjacencies(System.Collections.Generic.List, System.Boolean)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Facade.Compute, Facade_Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"4.3\" }", + "MethodName": "UniqueAdjacencies", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Dimensional.IElement2D\", \"_bhomVersion\" : \"4.3\" }], \"_bhomVersion\" : \"4.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"4.3\" }" + ], + "_bhomVersion": "4.3" } }, "ToOld": { From 98af7b7d03cc65cc65f06588a1d8e66eda4fea46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 15:27:43 +0100 Subject: [PATCH 05/20] Changing from BHoMObject to IBHoMObject --- BHoMUpgrades/Upgrades/v70.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v70.json b/BHoMUpgrades/Upgrades/v70.json index 4e5a9f2..52f3037 100644 --- a/BHoMUpgrades/Upgrades/v70.json +++ b/BHoMUpgrades/Upgrades/v70.json @@ -373,6 +373,15 @@ ], "_bhomVersion": "7.0" + }, + "BH.Engine.BuroHappoldData.Query.Creator(BH.oM.Base.BHoMObject)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.BuroHappoldData.Query, BuroHappoldData_Engine, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"7.0\" }", + "MethodName": "Creator", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Base.IBHoMObject\", \"_bhomVersion\" : \"7.0\" }" + ], + "_bhomVersion": "7.0" } }, "ToOld": { From 04fab88b1de8a2a8df414b1f9ab2b89531f2cf95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 15:28:08 +0100 Subject: [PATCH 06/20] Explicitly re-point ConcreteSection geometry method to the IGeometricalSection method --- BHoMUpgrades/Upgrades/v73.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v73.json b/BHoMUpgrades/Upgrades/v73.json index 8fce75d..e71515a 100644 --- a/BHoMUpgrades/Upgrades/v73.json +++ b/BHoMUpgrades/Upgrades/v73.json @@ -199,6 +199,15 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"7.3\" }" ], "_bhomVersion": "7.3" + }, + "BH.Engine.Structure.Query.Geometry(BH.oM.Structure.SectionProperties.ConcreteSection)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Structure.Query, Structure_Engine, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"7.3\" }", + "MethodName": "Geometry", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Structure.SectionProperties.IGeometricalSection\", \"_bhomVersion\" : \"7.3\" }" + ], + "_bhomVersion": "7.3" } }, "ToOld": { From 45143707356b3f3a0c60fa3e6019fc74a5cfc43a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 15:28:34 +0100 Subject: [PATCH 07/20] IsValid to IsValidName --- BHoMUpgrades/Upgrades/v82.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v82.json b/BHoMUpgrades/Upgrades/v82.json index 3786ad2..01a0228 100644 --- a/BHoMUpgrades/Upgrades/v82.json +++ b/BHoMUpgrades/Upgrades/v82.json @@ -346,6 +346,15 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Parameter, RevitAPI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"8.2\" }" ], "_bhomVersion": "8.2" + }, + "BH.Revit.Engine.UI.Query.IsValid(BH.oM.Adapters.Revit.Parameters.ParameterValueSource)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.UI.Query, Revit_UI_Engine_2021, Version=8.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"8.2\" }", + "MethodName": "IsValidName", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Adapters.Revit.Parameters.ParameterValueSource\", \"_bhomVersion\" : \"8.2\" }" + ], + "_bhomVersion": "8.2" } }, "ToOld": { From c5c48076d7a3eea510ca6ae094ffd5b5c589595e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 15:29:18 +0100 Subject: [PATCH 08/20] Int32 to Int64 (int to long) for a couple of more methods related to revit --- BHoMUpgrades/Upgrades/v90.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v90.json b/BHoMUpgrades/Upgrades/v90.json index 5b473bd..1d14496 100644 --- a/BHoMUpgrades/Upgrades/v90.json +++ b/BHoMUpgrades/Upgrades/v90.json @@ -1291,6 +1291,26 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }" ], "_bhomVersion": "9.0" + }, + "BH.Engine.Adapters.Revit.Modify.SetHost(BH.oM.Base.IBHoMObject, System.Int32, System.String)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Adapters.Revit.Modify, Revit_Engine, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "SetHost", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Base.IBHoMObject\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" + }, + "BH.Revit.Engine.Diffing.Query.Geometry2dReference(System.Int32)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Diffing.Query, Revit_Diffing_Engine_2022, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.0\" }", + "MethodName": "Geometry2dReference", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.0\" }" + ], + "_bhomVersion": "9.0" } }, "ToOld": { From 147604b8e3fd0661d827f42fb0224ab009498349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Thu, 29 Oct 2026 15:30:10 +0100 Subject: [PATCH 09/20] Some List to Ienumerable as well as concrete class to interface updates --- BHoMUpgrades/Upgrades/v92.json | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/BHoMUpgrades/Upgrades/v92.json b/BHoMUpgrades/Upgrades/v92.json index 3bdc592..a2ce076 100644 --- a/BHoMUpgrades/Upgrades/v92.json +++ b/BHoMUpgrades/Upgrades/v92.json @@ -303,6 +303,36 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.2\" }" ], "_bhomVersion": "9.2" + }, + "BH.Engine.Tagging.Query.Bounds(System.Collections.Generic.List)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Tagging.Query, Tagging_Engine, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.2\" }", + "MethodName": "Bounds", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Geometry.Line\", \"_bhomVersion\" : \"9.2\" }], \"_bhomVersion\" : \"9.2\" }" + ], + "_bhomVersion": "9.2" + }, + "BH.Engine.Tagging.Query.HostId(BH.oM.Tagging.TagHost)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Tagging.Query, Tagging_Engine, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.2\" }", + "MethodName": "HostId", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Tagging.ITagHost\", \"_bhomVersion\" : \"9.2\" }" + ], + "_bhomVersion": "9.2" + }, + "BH.Engine.Tagging.Query.MaxDistanceByProjection(System.Collections.Generic.List, BH.oM.Geometry.Line, BH.oM.Geometry.Vector, System.Boolean)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Tagging.Query, Tagging_Engine, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"9.2\" }", + "MethodName": "MaxDistanceByProjection", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.IEnumerable`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Geometry.Line\", \"_bhomVersion\" : \"9.2\" }], \"_bhomVersion\" : \"9.2\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Geometry.Line\", \"_bhomVersion\" : \"9.2\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Geometry.Vector\", \"_bhomVersion\" : \"9.2\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"9.2\" }" + ], + "_bhomVersion": "9.2" } }, "ToOld": { From 44da9e6a9ce48c05b218919802584f8de551241b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 09:42:13 +0100 Subject: [PATCH 10/20] Change from namespace to explicit type versioning The previous name-space handling for these types also versioned some types that was later removed, without before having their namespace changed. That made some other old types fail versioning. This new method fixes that issue --- BHoMUpgrades/Upgrades/v43.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/BHoMUpgrades/Upgrades/v43.json b/BHoMUpgrades/Upgrades/v43.json index 1ed2011..68c823c 100644 --- a/BHoMUpgrades/Upgrades/v43.json +++ b/BHoMUpgrades/Upgrades/v43.json @@ -1,10 +1,10 @@ { "Namespace": { "ToNew": { - "BH.oM.Structure.SectionProperties.Reinforcement": "BH.oM.Structure.Reinforcement" + }, "ToOld": { - + } }, "Type": { @@ -19,7 +19,11 @@ "BH.oM.Adapters.Revit.Parameters.ElementTypeParameterLink": "BH.oM.Adapters.Revit.Mapping.ElementTypeParameterLink", "BH.oM.Adapters.Revit.Parameters.IParameterLink": "BH.oM.Adapters.Revit.Mapping.IParameterLink", "BH.oM.Adapters.Revit.Parameters.ParameterMap": "BH.oM.Adapters.Revit.Mapping.ParameterMap", - "BH.oM.Revit.Parameters": "BH.oM.Adapters.Revit.Parameters" + "BH.oM.Revit.Parameters": "BH.oM.Adapters.Revit.Parameters", + "BH.oM.Structure.SectionProperties.Reinforcement.BarRebarIntent": "BH.oM.Structure.Reinforcement.BarRebarIntent", + "BH.oM.Structure.SectionProperties.Reinforcement.IBarReinforcement": "BH.oM.Structure.Reinforcement.IBarReinforcement", + "BH.oM.Structure.SectionProperties.Reinforcement.LongitudinalReinforcement": "BH.oM.Structure.Reinforcement.LongitudinalReinforcement", + "BH.oM.Structure.SectionProperties.Reinforcement.TransverseReinforcement": "BH.oM.Structure.Reinforcement.TransverseReinforcement" }, "ToOld": { "BH.oM.CFD.Harpoon.HarpoonRunMode": "BH.oM.CFD.Enums.HarpoonRunMode", @@ -32,7 +36,11 @@ "BH.oM.Adapters.Revit.Mapping.ElementTypeParameterLink": "BH.oM.Adapters.Revit.Parameters.ElementTypeParameterLink", "BH.oM.Adapters.Revit.Mapping.IParameterLink": "BH.oM.Adapters.Revit.Parameters.IParameterLink", "BH.oM.Adapters.Revit.Mapping.ParameterMap": "BH.oM.Adapters.Revit.Parameters.ParameterMap", - "BH.oM.Adapters.Revit.Parameters": "BH.oM.Revit.Parameters" + "BH.oM.Adapters.Revit.Parameters": "BH.oM.Revit.Parameters", + "BH.oM.Structure.Reinforcement.BarRebarIntent": "BH.oM.Structure.SectionProperties.Reinforcement.BarRebarIntent", + "BH.oM.Structure.Reinforcement.IBarReinforcement": "BH.oM.Structure.SectionProperties.Reinforcement.IBarReinforcement", + "BH.oM.Structure.Reinforcement.LongitudinalReinforcement": "BH.oM.Structure.SectionProperties.Reinforcement.LongitudinalReinforcement", + "BH.oM.Structure.Reinforcement.TransverseReinforcement": "BH.oM.Structure.SectionProperties.Reinforcement.TransverseReinforcement" } }, "Method": { From b0e579277b35c81ad1d0a76e4c94718e5b14ef56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 09:52:25 +0100 Subject: [PATCH 11/20] Adding versioning that for some reason was not collected with previous version attributes back in 6.1, as well as some missing versioning Also, fixes an incorrect "Message for deleted" key and adding in a item->list versioning. Also adds a MessageForNoUpgrade message for SpacePLacementSchema where the signature was changed a bit to much for verisoning to make sense --- BHoMUpgrades/Upgrades/v61.json | 91 +++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 2 deletions(-) diff --git a/BHoMUpgrades/Upgrades/v61.json b/BHoMUpgrades/Upgrades/v61.json index 955f58e..9388512 100644 --- a/BHoMUpgrades/Upgrades/v61.json +++ b/BHoMUpgrades/Upgrades/v61.json @@ -473,6 +473,92 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }" ], "_bhomVersion": "6.1" + }, + "BH.Revit.Engine.Core.Create.ViewPlan(Autodesk.Revit.DB.Document, Autodesk.Revit.DB.Level, System.String, Autodesk.Revit.DB.CurveLoop, Autodesk.Revit.DB.ElementId, Autodesk.Revit.DB.ViewDetailLevel)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Create, Revit_Core_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "MethodName": "ViewPlan", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Level, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ViewFamily, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.CurveLoop, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ElementId, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.ViewDetailLevel, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }" + ], + "_bhomVersion": "6.1" + }, + "BH.Revit.Engine.Core.Query.BuiltInCategories(BH.oM.Adapters.Revit.Elements.Family, Autodesk.Revit.DB.Document, System.Boolean)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "MethodName": "BuiltInCategories", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Adapters.Revit.Elements.Family\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }" + ], + "_bhomVersion": "6.1" + }, + "BH.Revit.Engine.Core.Query.BuiltInCategories(BH.oM.Base.IBHoMObject, Autodesk.Revit.DB.Document, System.Boolean)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "MethodName": "BuiltInCategories", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Base.IBHoMObject\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }" + ], + "_bhomVersion": "6.1" + }, + "BH.Revit.Engine.Core.Query.BuiltInCategory(Autodesk.Revit.DB.Document, System.String, System.Boolean)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "MethodName": "BuiltInCategory", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }" + ], + "_bhomVersion": "6.1" + }, + "BH.Revit.Engine.Core.Query.BuiltInCategory(BH.oM.Adapters.Revit.Elements.IInstance, Autodesk.Revit.DB.Document, System.Boolean)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "MethodName": "BuiltInCategory", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Adapters.Revit.Elements.IInstance\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }" + ], + "_bhomVersion": "6.1" + }, + "BH.Revit.Engine.Core.Query.BuiltInCategory(BH.oM.Adapters.Revit.Properties.InstanceProperties, Autodesk.Revit.DB.Document, System.Boolean)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "MethodName": "BuiltInCategory", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Adapters.Revit.Properties.InstanceProperties\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.1\" }" + ], + "_bhomVersion": "6.1" + }, + "BH.Revit.Engine.Core.Query.CategoryName(Autodesk.Revit.DB.BuiltInCategory, Autodesk.Revit.DB.Document)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Core.Query, Revit_Core_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "MethodName": "CategoryName", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.BuiltInCategory, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }" + ], + "_bhomVersion": "6.1" + }, + "BH.Revit.Engine.Schematic.Compute.UpdateAllSymbols(Autodesk.Revit.DB.Document, Autodesk.Revit.DB.View)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Schematic.Compute, Revit_Schematic_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "MethodName": "UpdateAllSymbols", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Document, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.List`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.View, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.1\" }], \"_bhomVersion\" : \"6.1\" }" + ], + "_bhomVersion": "6.1" } }, "ToOld": { @@ -587,7 +673,7 @@ "BH.Engine.Structure.Query.EmbodiedCarbon(BH.oM.Structure.Elements.Bar)": "Method removed as part of removal of EmbodiedCarbon from MaterialFragments to avoid conflicts and overlap with LCA_Toolkit.", "BH.Engine.Structure.Create.TieReinforcement(System.Double, System.Double, System.Int32)": "Method removed as part of complete refactoring of reinforcement handling in Structure_oM.", "BH.Engine.Structure.Create.LayerReinforcement(System.Double, System.Double, System.Int32, System.Boolean)": "Method removed as part of complete refactoring of reinforcement handling in Structure_oM.", - "BH.Engine.Structure.Create.PerimeterReinforcement(System.Double, System.Int32, BH.oM.Structure.SectionProperties.Reinforcement.ReinforcementPattern) ": "Method removed as part of complete refactoring of reinforcement handling in Structure_oM.", + "BH.Engine.Structure.Create.PerimeterReinforcement(System.Double, System.Int32, BH.oM.Structure.SectionProperties.Reinforcement.ReinforcementPattern)": "Method removed as part of complete refactoring of reinforcement handling in Structure_oM.", "BH.Engine.Structure.Create.Panel(BH.oM.Geometry.ICurve, System.Collections.Generic.List, BH.oM.Structure.SurfaceProperties.ISurfaceProperty, System.String)": "Method that use a mixture of geometry and objects between edges and openings removed.", "BH.Engine.Structure.Create.Panel(System.Collections.Generic.List, System.Collections.Generic.List, BH.oM.Structure.SurfaceProperties.ISurfaceProperty, System.String)": "Method that use a mixture of geometry and objects between edges and openings removed.", "BH.Engine.MachineLearning.Query.ToolkitName()": "The MachineLearning_Toolkit has been removed from installers and is not currently deployed. If you would like to experiment with the latest MachineLearning_Toolkit capabilities, please compile the toolkit from source. Please reach out to a member of the development team if you would like MachineLearning_Toolkit to be redeployed.", @@ -623,6 +709,7 @@ "BH.Engine.Structure.Create.RigidLink(BH.oM.Structure.Elements.Node, System.Collections.Generic.IEnumerable, BH.oM.Structure.Constraints.LinkConstraint, System.String)": "Old incomplete create method replaced with automatic proeprty assignment method and not able to be automatically upgraded due to incompatible parameter names. Please replace component with a default create method.", "BH.Engine.Structure.Create.AreaUniformTemperatureLoad(BH.oM.Structure.Loads.Loadcase, System.Double, BH.oM.Base.BHoMGroup, BH.oM.Structure.Loads.LoadAxis, System.Boolean, System.String)": "Old incomplete create method replaced with automatic proeprty assignment method and not able to be automatically upgraded due to incompatible parameter names. Please replace component with a default create method.", "BH.Engine.CableNetDesign.Compute.CalculateRadialHorizontalLengths(System.Collections.Generic.List>)": "Helper method for calculation of fixed plan relaxation with no real usecase outside the particular algorithm made private. Please raise an issue in the StructuralEngineering_Toolkit if this method was required for any particular workflow.", - "BH.Engine.Structure.Trusses.Create.Truss2DSettings(System.Boolean, System.Boolean, System.Boolean, System.Boolean, System.Double, System.Boolean, System.Boolean, BH.oM.Structure.Elements.BeamSpanType)": "Settings for creating Truss2D has been migrated with no explicit Create method. PLease use the default constructor for BH.oM.Structure.Generative.Truss2DInputs instead." + "BH.Engine.Structure.Trusses.Create.Truss2DSettings(System.Boolean, System.Boolean, System.Boolean, System.Boolean, System.Double, System.Boolean, System.Boolean, BH.oM.Structure.Elements.BeamSpanType)": "Settings for creating Truss2D has been migrated with no explicit Create method. PLease use the default constructor for BH.oM.Structure.Generative.Truss2DInputs instead.", + "BH.Revit.Engine.Mechanical.Create.SpacePlacementSchema(Autodesk.Revit.DB.Document, System.String, System.String)": "The schema is now identified by a Guid. Please use SpacePlacementSchema(Document, Guid) instead." } } \ No newline at end of file From 203eaba8c683feb8c6a1aca503ae4b007cf77c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 10:02:47 +0100 Subject: [PATCH 12/20] Fix verisoning for mering Security and ICT projects not fully captured The merge of the Revit Security and ICT projects into SecurityICT (6.3) was only partly versioned, so old Security/ICT methods and objects failed to deserialise. --- BHoMUpgrades/Upgrades/v63.json | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/BHoMUpgrades/Upgrades/v63.json b/BHoMUpgrades/Upgrades/v63.json index b3bc585..b1041c6 100644 --- a/BHoMUpgrades/Upgrades/v63.json +++ b/BHoMUpgrades/Upgrades/v63.json @@ -1,7 +1,8 @@ { "Namespace": { "ToNew": { - + "BH.Revit.Engine.Security": "BH.Revit.Engine.SecurityICT", + "BH.Revit.Engine.ICT": "BH.Revit.Engine.SecurityICT" }, "ToOld": { @@ -18,8 +19,9 @@ "BH.Revit.oM.Security.SecuritySettings": "BH.Revit.oM.SecurityICT.SecuritySettings", "BH.Revit.oM.Security.CuboidFace": "BH.Revit.oM.SecurityICT.CuboidFace", "BH.Revit.oM.Security.DoorSide": "BH.Revit.oM.SecurityICT.DoorSide", - "BH.Revit.oM.SecurityICT.FaceVertices": "BH.Revit.oM.Security.FaceVertices", - "BH.Revit.oM.SecurityICT.LateralPosition": "BH.Revit.oM.Security.LateralPosition", + "BH.Revit.oM.Security.CameraFieldOfViewSettings": "BH.Revit.oM.SecurityICT.CameraFieldOfViewSettings", + "BH.Revit.oM.Security.FaceVertices": "BH.Revit.oM.SecurityICT.FaceVertices", + "BH.Revit.oM.Security.LateralPosition": "BH.Revit.oM.SecurityICT.LateralPosition", "BH.Revit.oM.Security.Logging.CameraVisionLogItem": "BH.Revit.oM.SecurityICT.Logging.CameraVisionLogItem", "BH.Revit.oM.ICT.Logging.ChangeDataCircuitLogItem": "BH.Revit.oM.SecurityICT.Logging.ChangeDataCircuitLogItem", "BH.Revit.oM.ICT.Logging.CreateDataCircuitLogItem": "BH.Revit.oM.SecurityICT.Logging.CreateDataCircuitLogItem", @@ -41,6 +43,7 @@ "BH.Revit.oM.SecurityICT.SecuritySettings": "BH.Revit.oM.Security.SecuritySettings", "BH.Revit.oM.SecurityICT.CuboidFace": "BH.Revit.oM.Security.CuboidFace", "BH.Revit.oM.SecurityICT.DoorSide": "BH.Revit.oM.Security.DoorSide", + "BH.Revit.oM.SecurityICT.CameraFieldOfViewSettings": "BH.Revit.oM.Security.CameraFieldOfViewSettings", "BH.Revit.oM.SecurityICT.FaceVertices": "BH.Revit.oM.Security.FaceVertices", "BH.Revit.oM.SecurityICT.LateralPosition": "BH.Revit.oM.Security.LateralPosition", "BH.Revit.oM.SecurityICT.Logging.CameraVisionLogItem": "BH.Revit.oM.Security.Logging.CameraVisionLogItem", @@ -1164,6 +1167,20 @@ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.3\" }" ], "_bhomVersion": "6.3" + }, + "BH.Revit.Engine.Schematic.Compute.SymbolFromElements(Autodesk.Revit.UI.UIDocument, Autodesk.Revit.DB.XYZ, Autodesk.Revit.DB.XYZ, System.Collections.Generic.List, System.String)": { + "_t": "System.Reflection.MethodBase", + "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.Engine.Schematic.Compute, Revit_Schematic_Engine_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.3\" }", + "MethodName": "SymbolFromElements", + "Parameters": [ + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.UI.UIDocument, RevitAPIUI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Revit.oM.Schematic.EquipmentAssemblyItem, Revit_Schematic_oM_2023, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.XYZ, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.XYZ, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Collections.Generic.List`1, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"GenericArguments\" : [{ \"_t\" : \"System.Type\", \"Name\" : \"Autodesk.Revit.DB.Element, RevitAPI, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.3\" }], \"_bhomVersion\" : \"6.3\" }", + "{ \"_t\" : \"System.Type\", \"Name\" : \"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.3\" }" + ], + "_bhomVersion": "6.3" } }, "ToOld": { @@ -1366,6 +1383,7 @@ "BH.Revit.Engine.Utility.Compute.MarkIntersections(Autodesk.Revit.UI.UIDocument, System.Collections.Generic.List)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.Engine.Utility.Compute.MarkIntersectionsOnAllOpenViews(Autodesk.Revit.UI.UIDocument)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.Engine.Utility.Modify.PropagateExtents(System.Collections.Generic.List, System.Collections.Generic.List)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", + "BH.Revit.Engine.Utility.Modify.CategoryVisibility(Autodesk.Revit.DB.View, System.Collections.Generic.List, System.Boolean, System.Nullable)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.Engine.Utility.Compute.UtilitySettings(Autodesk.Revit.DB.Document)": "This method has been removed as a part of the legacy code cleanup. Please use the new Room Data Sheets feature or contact the developers if you still need it.", "BH.Revit.Engine.Utility.Create.SpaceViews(Autodesk.Revit.DB.Document, System.Collections.Generic.List)": "This method has been removed as a part of the legacy code cleanup. Please use the new Room Data Sheets feature or contact the developers if you still need it.", "BH.Revit.Engine.Utility.Query.SpaceViewsSettings()": "This method has been removed as a part of the legacy code cleanup. Please use the new Room Data Sheets feature or contact the developers if you still need it.", From 08c5d6fdd0c0e373ae2b86627e3f29c259cdda32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 10:04:03 +0100 Subject: [PATCH 13/20] Add message for deleted for various FilterByParameter methods that where completly restructured in 8.1 --- BHoMUpgrades/Upgrades/v81.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/BHoMUpgrades/Upgrades/v81.json b/BHoMUpgrades/Upgrades/v81.json index 5273f7c..5eb1c3f 100644 --- a/BHoMUpgrades/Upgrades/v81.json +++ b/BHoMUpgrades/Upgrades/v81.json @@ -362,6 +362,10 @@ "BH.Engine.Adapters.Revit.Query.FilterDescription(BH.oM.Adapters.Revit.Requests.FilterByParameterNumber)": "This method is not versioned because the input object is not supported any more. Please use an overload of FilterDescription method taking ConditionRequest to restore your workflow or contact the developers for further support.", "BH.Engine.Adapters.Revit.Query.FilterDescription(BH.oM.Adapters.Revit.Requests.FilterByParameterText)": "This method is not versioned because the input object is not supported any more. Please use an overload of FilterDescription method taking ConditionRequest to restore your workflow or contact the developers for further support.", "BH.Revit.Engine.Core.Query.ElementIds(BH.oM.Adapters.Revit.Requests.IParameterRequest, Autodesk.Revit.DB.Document, BH.oM.Adapters.Revit.Enums.Discipline, BH.oM.Adapters.Revit.Settings.RevitSettings, System.Collections.Generic.IEnumerable)": "This method is not versioned because the input object is not supported any more. Please use an overload of ElementIds method taking ConditionRequest to restore your workflow or contact the developers for further support.", - "BH.Revit.Engine.Core.Query.IElementIdsByParameter(Autodesk.Revit.DB.Document, BH.oM.Adapters.Revit.Requests.IParameterRequest, BH.oM.Adapters.Revit.Enums.Discipline, BH.oM.Adapters.Revit.Settings.RevitSettings, System.Collections.Generic.IEnumerable)": "This method is not versioned because the input object is not supported any more. Please use an overload of ElementIdsByCondition method to restore your workflow or contact the developers for further support." + "BH.Revit.Engine.Core.Query.IElementIdsByParameter(Autodesk.Revit.DB.Document, BH.oM.Adapters.Revit.Requests.IParameterRequest, BH.oM.Adapters.Revit.Enums.Discipline, BH.oM.Adapters.Revit.Settings.RevitSettings, System.Collections.Generic.IEnumerable)": "This method is not versioned because the input object is not supported any more. Please use an overload of ElementIdsByCondition method to restore your workflow or contact the developers for further support.", + "BH.Engine.Adapters.Revit.Create.FilterByParameterBool(System.String, System.Boolean)": "This method has been removed because the input object it relied on has been replaced with ConditionRequest combined with ValueCondition and ParameterValueSource, automated versioning was not possible. Please align your script using Create.FilterByParameterValue or create the ConditionRequest manually.", + "BH.Engine.Adapters.Revit.Create.FilterByParameterInteger(System.String, BH.oM.Adapters.Revit.Enums.NumberComparisonType, System.Int32)": "This method has been removed because the input object it relied on has been replaced with ConditionRequest combined with ValueCondition and ParameterValueSource, automated versioning was not possible. Please align your script using Create.FilterByParameterValue or create the ConditionRequest manually.", + "BH.Engine.Adapters.Revit.Create.FilterByParameterNumber(System.String, BH.oM.Adapters.Revit.Enums.NumberComparisonType, System.Double, System.Double)": "This method has been removed because the input object it relied on has been replaced with ConditionRequest combined with ValueCondition and ParameterValueSource, automated versioning was not possible. Please align your script using Create.FilterByParameterValue or create the ConditionRequest manually.", + "BH.Engine.Adapters.Revit.Create.FilterByParameterText(System.String, BH.oM.Adapters.Revit.Enums.TextComparisonType, System.String)": "This method has been removed because the input object it relied on has been replaced with ConditionRequest combined with ValueCondition and ParameterValueSource, automated versioning was not possible. Please align your script using Create.FilterByParameterValue or create the ConditionRequest manually." } } \ No newline at end of file From 426f3aa30f83e8e6d708385b565928d056280cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 10:09:03 +0100 Subject: [PATCH 14/20] Message for deleted for method deleted with support for Revit2021 removed --- BHoMUpgrades/Upgrades/v90.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BHoMUpgrades/Upgrades/v90.json b/BHoMUpgrades/Upgrades/v90.json index 1d14496..9f83e7a 100644 --- a/BHoMUpgrades/Upgrades/v90.json +++ b/BHoMUpgrades/Upgrades/v90.json @@ -1369,7 +1369,8 @@ "BH.Revit.Engine.ElementRelationships.Convert.ConvertToNewSettings(BH.oM.Base.BHoMObject)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.Engine.ElementRelationships.Compute.MergeSettings(System.Collections.Generic.List)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.Engine.Schematic.Compute.UnlinkConnectedSymbols(Autodesk.Revit.DB.Element, System.Boolean)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", - "BH.Revit.Engine.Structure.Compute.CopyGenericModelsFromLink(Autodesk.Revit.DB.Document, System.Collections.Generic.List, System.String, System.String, System.Boolean)": "This method has been removed and should not be needed any more." + "BH.Revit.Engine.Structure.Compute.CopyGenericModelsFromLink(Autodesk.Revit.DB.Document, System.Collections.Generic.List, System.String, System.String, System.Boolean)": "This method has been removed and should not be needed any more.", + "BH.Revit.Engine.Core.Query.GetDataType(Autodesk.Revit.DB.Definition)": "This method has been removed together with the support for Revit 2021, for which it was a compatibility shim. From Revit 2022 onwards, the same functionality is provided natively by Definition.GetDataType()." }, "MessageForNoUpgrade": { From f781c1c606b7d973ce27e9bb8f2ed9f9c59ffd1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 10:09:23 +0100 Subject: [PATCH 15/20] Correct namespace for message for deleted --- BHoMUpgrades/Upgrades/v91.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BHoMUpgrades/Upgrades/v91.json b/BHoMUpgrades/Upgrades/v91.json index 588c56f..b103706 100644 --- a/BHoMUpgrades/Upgrades/v91.json +++ b/BHoMUpgrades/Upgrades/v91.json @@ -280,10 +280,10 @@ "BH.Revit.Engine.SecurityICT.Query.Solid(Autodesk.Revit.DB.Element, Autodesk.Revit.DB.ViewDetailLevel)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.Engine.SecurityICT.Query.RectangularFaceVertex(Autodesk.Revit.DB.PlanarFace, BH.Revit.oM.SecurityICT.FaceVertices)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.Engine.SecurityICT.Compute.AddLockAssemblyItems(Autodesk.Revit.DB.FamilyInstance, BH.Revit.oM.SecurityICT.LockConfiguration, System.Collections.Generic.List, System.Collections.Generic.Dictionary)": "This method has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", - "BH.Revit.oM.SecurityICT.Enums.CuboidFace": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", - "BH.Revit.oM.SecurityICT.Enums.DoorSide": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", - "BH.Revit.oM.SecurityICT.Enums.FaceVertices": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", - "BH.Revit.oM.SecurityICT.Enums.LateralPosition": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", + "BH.Revit.oM.SecurityICT.CuboidFace": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", + "BH.Revit.oM.SecurityICT.DoorSide": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", + "BH.Revit.oM.SecurityICT.FaceVertices": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", + "BH.Revit.oM.SecurityICT.LateralPosition": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.oM.SecurityICT.Logging.LockAssembleLogItem": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.oM.SecurityICT.LockConfiguration": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", "BH.Revit.oM.SecurityICT.LockItem": "This object has been removed as a part of the legacy code cleanup. Please contact the developers if you still need it.", From 4ed9b99e2a93575630ed0b87ffb80c59073a2b02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 10:10:20 +0100 Subject: [PATCH 16/20] Add custom upgrader for ContextElements Making sure that a required property is present on the object, which is required for IImutable obejcts --- BHoMUpgrades/CustomUpgrades/v92.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/BHoMUpgrades/CustomUpgrades/v92.cs b/BHoMUpgrades/CustomUpgrades/v92.cs index 37470d6..ca7ab59 100644 --- a/BHoMUpgrades/CustomUpgrades/v92.cs +++ b/BHoMUpgrades/CustomUpgrades/v92.cs @@ -59,5 +59,25 @@ public static Dictionary UpgradeSearchSettings(Dictionary UpgradeContextElement(Dictionary oldVersion) + { + if (oldVersion == null) + return null; + + Dictionary newVersion = new Dictionary(oldVersion); + + // VisibleCutPolylines became a required constructor parameter once the context elements were made immutable + if (!newVersion.ContainsKey("VisibleCutPolylines")) + newVersion["VisibleCutPolylines"] = new List(); + + return newVersion; + } + + /***************************************************/ } } \ No newline at end of file From 5355b5c715dae16df7e25c4d4ebe6bdab9e7b00c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 10:19:13 +0100 Subject: [PATCH 17/20] Correctly handle the IssueLabels migration from central Datasets SHould use MessageFOrDeleted, not remove from test-set --- .ci/code/Versioning_Test/Datasets/8.3/Datasets.txt | 1 + BHoMUpgrades/Upgrades/v90.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.ci/code/Versioning_Test/Datasets/8.3/Datasets.txt b/.ci/code/Versioning_Test/Datasets/8.3/Datasets.txt index 8d6a4f0..ccfb251 100644 --- a/.ci/code/Versioning_Test/Datasets/8.3/Datasets.txt +++ b/.ci/code/Versioning_Test/Datasets/8.3/Datasets.txt @@ -137,6 +137,7 @@ LifeCycleAssessment\WasteRates\ASHRAE Standard Waste Rates LifeCycleAssessment\WasteRates\RICS Standard Waste Rates MEP\PlumbingFixtureFlow_LEED MEP\PlumbingFixtureUsage_LEED +Planning\Labels\IssueLabels Revit\FamilyMaps\BHoM Default FamilyMaps Revit\ParameterMaps\BHoM Default ParameterMaps Revit\ParameterMaps\BuroHappold Default ParameterMaps diff --git a/BHoMUpgrades/Upgrades/v90.json b/BHoMUpgrades/Upgrades/v90.json index 9f83e7a..5df4b63 100644 --- a/BHoMUpgrades/Upgrades/v90.json +++ b/BHoMUpgrades/Upgrades/v90.json @@ -1353,7 +1353,7 @@ }, "MessageForDeleted": { - + "Planning\\Labels\\IssueLabels": "Dataset was moved to the repository next to the code it relates to, and is no longer part of the installers." } }, "MessageForDeleted": { From 12416d4c728736e67d63a846b8a563334263f96a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 12:26:17 +0100 Subject: [PATCH 18/20] Add correct versioning for GSA adapter method name should be .ctor, not the type for adapter constructors --- BHoMUpgrades/Upgrades/v60.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BHoMUpgrades/Upgrades/v60.json b/BHoMUpgrades/Upgrades/v60.json index 2c6fb72..987757c 100644 --- a/BHoMUpgrades/Upgrades/v60.json +++ b/BHoMUpgrades/Upgrades/v60.json @@ -27,7 +27,7 @@ "BH.Adapter.GSA.GSAAdapter(System.String, BH.oM.Adapters.GSA.GSAConfig, System.Boolean)": { "_t": "System.Reflection.MethodBase", "TypeName": "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Adapter.GSA.GSA87Adapter, GSA87_Adapter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.0\" }", - "MethodName": "GSA87Adapter", + "MethodName": ".ctor", "Parameters": [ "{ \"_t\" : \"System.Type\", \"Name\" : \"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.oM.Adapters.GSA.GSAConfig\", \"_bhomVersion\" : \"6.0\" }", From 2291c4d5b522f427e57082d9a9f32f363d40e35a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 14:30:38 +0100 Subject: [PATCH 19/20] Change target runtime for testrunner from net8.0 to net8.0-windows and allow wpf and winforms This is already enabled for the CI systems. Allows methods relying on winforms/wpd/other windows dlls to deserialise correctly in the testing environment. --- .ci/code/TestRunner/TestRunner.csproj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.ci/code/TestRunner/TestRunner.csproj b/.ci/code/TestRunner/TestRunner.csproj index 8569768..15c737c 100644 --- a/.ci/code/TestRunner/TestRunner.csproj +++ b/.ci/code/TestRunner/TestRunner.csproj @@ -2,8 +2,10 @@ Exe - net8.0 -https://github.com/BHoM/Versioning_Toolkit + net8.0-windows + true + true + https://github.com/BHoM/Versioning_Toolkit enable enable From cccafb10901b2cf97df1ae3ee9f96f9b79d63e9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20N=C3=A4slund?= Date: Tue, 3 Nov 2026 14:43:23 +0100 Subject: [PATCH 20/20] Add overload for FromJsonDatasets to allow control over testfolder and failuredumpdir adding overload to help facilitate simpler testing of versioning locally --- .ci/code/Versioning_Test/Verify/FromJson.cs | 29 ++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/.ci/code/Versioning_Test/Verify/FromJson.cs b/.ci/code/Versioning_Test/Verify/FromJson.cs index eb40e8e..b689538 100644 --- a/.ci/code/Versioning_Test/Verify/FromJson.cs +++ b/.ci/code/Versioning_Test/Verify/FromJson.cs @@ -30,6 +30,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Reflection; using System.Text.RegularExpressions; namespace BH.Test.Versioning @@ -43,19 +44,29 @@ public static partial class Verify public static TestResult FromJsonDatasets(bool testAll = false) { string testFolder = @"C:\ProgramData\BHoM\Datasets\TestSets\Versioning"; + string failureDumpDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); + + return FromJsonDatasets(testAll, testFolder, failureDumpDir); + } + + /*************************************/ + + public static TestResult FromJsonDatasets(bool testAll, string testFolder, string failureDumpDir) + { List versions = new List { "9.3" }; if (testAll) versions.AddRange(new List { "9.2", "9.1", "9.0", "8.3", "8.2", "8.1", "8.0", "7.3", "7.2", "7.1", "7.0", "6.3", "6.2", "6.1", "6.0", "5.3", "5.2", "5.1", "5.0", "4.3", "4.2", "4.1", "4.0", "3.3" }); string exceptions = "Grasshopper|Rhinoceros"; - string failureDumpDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); - Directory.CreateDirectory(failureDumpDir); - if (versions.Count == 1) - Console.WriteLine($"Failures are dumped in {failureDumpDir} directory."); - else - Console.WriteLine($"Multiple versions are being tested, failures per each are dumped in a correspondent subfolder of {failureDumpDir} directory."); - + if (!string.IsNullOrWhiteSpace(failureDumpDir)) + { + Directory.CreateDirectory(failureDumpDir); + if (versions.Count == 1) + Console.WriteLine($"Failures are dumped in {failureDumpDir} directory."); + else + Console.WriteLine($"Multiple versions are being tested, failures per each are dumped in a correspondent subfolder of {failureDumpDir} directory."); + } // Test all the BHoM versions available List results = new List(); foreach (string version in versions) @@ -64,7 +75,7 @@ public static TestResult FromJsonDatasets(bool testAll = false) if (!string.IsNullOrWhiteSpace(dumpDir) && versions.Count > 1) dumpDir = Path.Combine(dumpDir, version); - results.Add(FromJsonDataset(Path.Combine(testFolder, version), exceptions, failureDumpDir)); + results.Add(FromJsonDataset(Path.Combine(testFolder, version), exceptions, dumpDir)); } // Generate the result message @@ -184,7 +195,7 @@ public static TestResult FromJsonDataset(string testFolder, string exceptions = Directory.CreateDirectory(failureDumpDir); foreach ((string, List) failure in failures) { - File.WriteAllLines(Path.Combine(failureDumpDir, $"{failure.Item1}.txt"), failure.Item2); + File.WriteAllLines(Path.Combine(failureDumpDir, $"{failure.Item1}.json"), failure.Item2); } } catch (Exception ex)