diff --git a/.clang-format b/.clang-format
index ea71ad6..4922cf6 100644
--- a/.clang-format
+++ b/.clang-format
@@ -5,22 +5,24 @@
 AlignAfterOpenBracket: Align
 AlignConsecutiveAssignments: false
 AlignConsecutiveDeclarations: false
-AlignEscapedNewlinesLeft: false
-AlignOperands:   true
-AlignTrailingComments: true
+AlignEscapedNewlines: Right
+AlignOperands:  Align
+AlignTrailingComments:
+  Kind: Always
+  OverEmptyLines: 1
 AllowAllParametersOfDeclarationOnNextLine: true
-AllowShortBlocksOnASingleLine: false
+AllowShortBlocksOnASingleLine: Empty
 AllowShortCaseLabelsOnASingleLine: false
-AllowShortFunctionsOnASingleLine: None
+AllowShortFunctionsOnASingleLine: Empty
 AllowShortIfStatementsOnASingleLine: false
 AllowShortLoopsOnASingleLine: false
-AlwaysBreakAfterDefinitionReturnType: None
 AlwaysBreakAfterReturnType: None
 AlwaysBreakBeforeMultilineStrings: false
-AlwaysBreakTemplateDeclarations: true
+AlwaysBreakTemplateDeclarations: Yes
 BinPackArguments: true
 BinPackParameters: true
 BraceWrapping:
+  AfterCaseLabel:  true
   AfterClass:      true
   AfterControlStatement: true
   AfterEnum:       true
@@ -29,19 +31,28 @@
   AfterObjCDeclaration: true
   AfterStruct:     true
   AfterUnion:      true
+  AfterExternBlock: true
   BeforeCatch:     true
   BeforeElse:      true
   IndentBraces:    false
+  SplitEmptyFunction:   false
+  SplitEmptyRecord:     false
+  SplitEmptyNamespace:  false
+BreakAfterAttributes: Never
 BreakBeforeBinaryOperators: None
 BreakBeforeBraces: Custom
 BreakBeforeTernaryOperators: true
 BreakConstructorInitializers: AfterColon
+BreakInheritanceList: AfterColon
+BreakStringLiterals: false
 ColumnLimit:     80
 CommentPragmas:  '^ IWYU pragma:'
+CompactNamespaces: false
 ConstructorInitializerAllOnOneLineOrOnePerLine: false
 ConstructorInitializerIndentWidth: 4
 ContinuationIndentWidth: 4
 Cpp11BracedListStyle: true
+DeriveLineEnding: false
 DerivePointerAlignment: false
 PointerAlignment: Left
 DisableFormat:   false
@@ -51,21 +62,30 @@
 IncludeBlocks: Regroup
 IncludeCategories:
   - Regex:           '^[<"](gtest|gmock)'
-    Priority:        5
+    Priority:        7
   - Regex:           '^"config.h"'
     Priority:        -1
-  - Regex:           '^".*\.hpp"'
+  - Regex:           '^".*\.h"'
     Priority:        1
-  - Regex:           '^<.*\.h>'
+  - Regex:           '^".*\.hpp"'
     Priority:        2
-  - Regex:           '^<.*'
+  - Regex:           '^<.*\.h>'
     Priority:        3
-  - Regex:           '.*'
+  - Regex:           '^<.*\.hpp>'
     Priority:        4
+  - Regex:           '^<.*'
+    Priority:        5
+  - Regex:           '.*'
+    Priority:        6
 IndentCaseLabels: true
+IndentExternBlock: NoIndent
+IndentRequiresClause: true
 IndentWidth:     4
 IndentWrappedFunctionNames: true
-KeepEmptyLinesAtTheStartOfBlocks: true
+InsertNewlineAtEOF: true
+KeepEmptyLinesAtTheStartOfBlocks: false
+LambdaBodyIndentation: OuterScope
+LineEnding: LF
 MacroBlockBegin: ''
 MacroBlockEnd:   ''
 MaxEmptyLinesToKeep: 1
@@ -73,18 +93,29 @@
 ObjCBlockIndentWidth: 2
 ObjCSpaceAfterProperty: false
 ObjCSpaceBeforeProtocolList: true
+PenaltyBreakAssignment: 25
 PenaltyBreakBeforeFirstCallParameter: 19
 PenaltyBreakComment: 300
 PenaltyBreakFirstLessLess: 120
 PenaltyBreakString: 1000
 PenaltyExcessCharacter: 1000000
 PenaltyReturnTypeOnItsOwnLine: 60
+PenaltyIndentedWhitespace: 0
+QualifierAlignment: Left
+ReferenceAlignment: Left
 ReflowComments:  true
+RequiresClausePosition: OwnLine
+RequiresExpressionIndentation: Keyword
 SortIncludes:    true
 SortUsingDeclarations: true
 SpaceAfterCStyleCast: false
+SpaceAfterTemplateKeyword: true
 SpaceBeforeAssignmentOperators: true
+SpaceBeforeCpp11BracedList: false
+SpaceBeforeCtorInitializerColon: true
+SpaceBeforeInheritanceColon: true
 SpaceBeforeParens: ControlStatements
+SpaceBeforeRangeBasedForLoopColon: true
 SpaceInEmptyParentheses: false
 SpacesBeforeTrailingComments: 1
 SpacesInAngles:  false
@@ -92,7 +123,7 @@
 SpacesInCStyleCastParentheses: false
 SpacesInParentheses: false
 SpacesInSquareBrackets: false
-Standard:        Cpp11
+Standard:        Latest
 TabWidth:        4
 UseTab:          Never
 ...
diff --git a/bifurcation/bifurcation_static.cpp b/bifurcation/bifurcation_static.cpp
index 66b0c9a..c4b0f89 100644
--- a/bifurcation/bifurcation_static.cpp
+++ b/bifurcation/bifurcation_static.cpp
@@ -17,10 +17,11 @@
 
 #include <fmt/format.h>
 
+#include <nlohmann/json.hpp>
+
 #include <charconv>
 #include <filesystem>
 #include <fstream>
-#include <nlohmann/json.hpp>
 #include <optional>
 #include <string_view>
 #include <vector>
@@ -32,13 +33,11 @@
 
 BifurcationStatic::BifurcationStatic() :
     BifurcationStatic(STATIC_BIFURCATION_CONFIG)
-{
-}
+{}
 
 BifurcationStatic::BifurcationStatic(std::string_view bifurcationFile) :
     bifurcationFile(bifurcationFile)
-{
-}
+{}
 
 std::optional<std::vector<uint8_t>>
     BifurcationStatic::getBifurcation(uint8_t index) noexcept
@@ -77,7 +76,7 @@
         auto value = jsonData[key];
         value.get_to(vec);
     }
-    catch (std::exception const& e)
+    catch (const std::exception& e)
     {
         fmt::print(stderr,
                    "Failed to convert bifurcation value to vec[uin8_t]\n");
diff --git a/bmc_mode.cpp b/bmc_mode.cpp
index b3af71d..4964c56 100644
--- a/bmc_mode.cpp
+++ b/bmc_mode.cpp
@@ -19,6 +19,7 @@
 #include "handler.hpp"
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 #include <vector>
 
diff --git a/bmc_mode.hpp b/bmc_mode.hpp
index ee80d54..9d9b4f1 100644
--- a/bmc_mode.hpp
+++ b/bmc_mode.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 
 namespace google
diff --git a/cable.cpp b/cable.cpp
index cac7fea..6253579 100644
--- a/cable.cpp
+++ b/cable.cpp
@@ -18,9 +18,10 @@
 #include "errors.hpp"
 #include "handler.hpp"
 
+#include <ipmid/api-types.hpp>
+
 #include <cstdint>
 #include <cstring>
-#include <ipmid/api-types.hpp>
 #include <span>
 #include <string>
 #include <vector>
diff --git a/cable.hpp b/cable.hpp
index 138ade0..0923214 100644
--- a/cable.hpp
+++ b/cable.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 
 namespace google
diff --git a/cpld.cpp b/cpld.cpp
index e5dc276..a6e30e5 100644
--- a/cpld.cpp
+++ b/cpld.cpp
@@ -18,8 +18,9 @@
 #include "errors.hpp"
 #include "handler.hpp"
 
-#include <cstring>
 #include <ipmid/api-types.hpp>
+
+#include <cstring>
 #include <span>
 #include <vector>
 
diff --git a/cpld.hpp b/cpld.hpp
index 9f4d169..074fd5f 100644
--- a/cpld.hpp
+++ b/cpld.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 
 namespace google
diff --git a/entity_name.cpp b/entity_name.cpp
index 5ded4a0..8048ce8 100644
--- a/entity_name.cpp
+++ b/entity_name.cpp
@@ -18,9 +18,10 @@
 #include "errors.hpp"
 #include "handler.hpp"
 
+#include <ipmid/api-types.hpp>
+
 #include <cstdint>
 #include <cstring>
-#include <ipmid/api-types.hpp>
 #include <span>
 #include <string>
 #include <vector>
@@ -61,8 +62,8 @@
     std::string entityName;
     try
     {
-        entityName =
-            handler->getEntityName(request.entityId, request.entityInstance);
+        entityName = handler->getEntityName(request.entityId,
+                                            request.entityInstance);
     }
     catch (const IpmiException& e)
     {
diff --git a/entity_name.hpp b/entity_name.hpp
index d1a9913..3a3e149 100644
--- a/entity_name.hpp
+++ b/entity_name.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 #include <vector>
 
diff --git a/errors.hpp b/errors.hpp
index 33d1a8c..1db59c3 100644
--- a/errors.hpp
+++ b/errors.hpp
@@ -32,8 +32,7 @@
     explicit IpmiException(int ipmicc) :
         _message("IPMI Code Received: " + std::to_string(ipmicc)),
         _ipmicc(ipmicc)
-    {
-    }
+    {}
 
     virtual const char* what() const noexcept override
     {
diff --git a/eth.cpp b/eth.cpp
index 748aa18..0c76106 100644
--- a/eth.cpp
+++ b/eth.cpp
@@ -17,9 +17,10 @@
 #include "commands.hpp"
 #include "handler.hpp"
 
+#include <ipmid/api-types.hpp>
+
 #include <cstdint>
 #include <cstring>
-#include <ipmid/api-types.hpp>
 #include <span>
 #include <string>
 #include <tuple>
diff --git a/eth.hpp b/eth.hpp
index 67ed7b9..6f91bfe 100644
--- a/eth.hpp
+++ b/eth.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 
 namespace google
diff --git a/flash_size.cpp b/flash_size.cpp
index 339b81c..df23f4f 100644
--- a/flash_size.cpp
+++ b/flash_size.cpp
@@ -18,9 +18,10 @@
 #include "errors.hpp"
 #include "handler.hpp"
 
+#include <ipmid/api-types.hpp>
+
 #include <cstdint>
 #include <cstring>
-#include <ipmid/api-types.hpp>
 #include <span>
 #include <string>
 #include <vector>
diff --git a/flash_size.hpp b/flash_size.hpp
index 34c5549..58bd149 100644
--- a/flash_size.hpp
+++ b/flash_size.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 
 namespace google
diff --git a/google_accel_oob.cpp b/google_accel_oob.cpp
index e0fa615..8207f6e 100644
--- a/google_accel_oob.cpp
+++ b/google_accel_oob.cpp
@@ -16,9 +16,10 @@
 
 #include "commands.hpp"
 
+#include <sdbusplus/bus.hpp>
+
 #include <cstdint>
 #include <cstring>
-#include <sdbusplus/bus.hpp>
 #include <span>
 #include <string>
 #include <vector>
diff --git a/handler.cpp b/handler.cpp
index a82c401..9bbd082 100644
--- a/handler.cpp
+++ b/handler.cpp
@@ -13,6 +13,8 @@
 // limitations under the License.
 #include "handler.hpp"
 
+#include "bm_config.h"
+
 #include "bmc_mode_enum.hpp"
 #include "errors.hpp"
 #include "handler_impl.hpp"
@@ -25,23 +27,22 @@
 #include <sys/ioctl.h>
 #include <unistd.h>
 
+#include <nlohmann/json.hpp>
+#include <phosphor-logging/elog-errors.hpp>
+#include <phosphor-logging/log.hpp>
+#include <sdbusplus/bus.hpp>
+#include <xyz/openbmc_project/Common/error.hpp>
+
 #include <cinttypes>
 #include <cstdio>
 #include <filesystem>
 #include <fstream>
 #include <map>
-#include <nlohmann/json.hpp>
-#include <phosphor-logging/elog-errors.hpp>
-#include <phosphor-logging/log.hpp>
-#include <sdbusplus/bus.hpp>
 #include <sstream>
 #include <string>
 #include <string_view>
 #include <tuple>
 #include <variant>
-#include <xyz/openbmc_project/Common/error.hpp>
-
-#include "bm_config.h"
 
 #ifndef NCSI_IF_NAME
 #define NCSI_IF_NAME eth0
@@ -174,10 +175,10 @@
     // If value parses as expected, return version.
     VersionTuple version = std::make_tuple(0, 0, 0, 0);
 
-    int num_fields =
-        std::sscanf(value.c_str(), "%" SCNu8 ".%" SCNu8 ".%" SCNu8 ".%" SCNu8,
-                    &std::get<0>(version), &std::get<1>(version),
-                    &std::get<2>(version), &std::get<3>(version));
+    int num_fields = std::sscanf(value.c_str(),
+                                 "%" SCNu8 ".%" SCNu8 ".%" SCNu8 ".%" SCNu8,
+                                 &std::get<0>(version), &std::get<1>(version),
+                                 &std::get<2>(version), &std::get<3>(version));
     if (num_fields == 0)
     {
         std::fprintf(stderr, "Invalid version.\n");
diff --git a/handler.hpp b/handler.hpp
index 9ac3bb7..3b0a372 100644
--- a/handler.hpp
+++ b/handler.hpp
@@ -14,8 +14,9 @@
 
 #pragma once
 
-#include <cstdint>
 #include <ipmid/api-types.hpp>
+
+#include <cstdint>
 #include <map>
 #include <span>
 #include <string>
diff --git a/handler_impl.hpp b/handler_impl.hpp
index b4e87c6..bad01f1 100644
--- a/handler_impl.hpp
+++ b/handler_impl.hpp
@@ -17,10 +17,11 @@
 #include "bifurcation.hpp"
 #include "handler.hpp"
 
-#include <cstdint>
-#include <map>
 #include <nlohmann/json.hpp>
 #include <sdbusplus/bus.hpp>
+
+#include <cstdint>
+#include <map>
 #include <string>
 #include <string_view>
 #include <tuple>
diff --git a/host_power_off.cpp b/host_power_off.cpp
index ac19bad..fa3a37d 100644
--- a/host_power_off.cpp
+++ b/host_power_off.cpp
@@ -18,9 +18,10 @@
 #include "errors.hpp"
 #include "handler.hpp"
 
+#include <ipmid/api-types.hpp>
+
 #include <cstdint>
 #include <cstring>
-#include <ipmid/api-types.hpp>
 #include <span>
 #include <vector>
 
diff --git a/host_power_off.hpp b/host_power_off.hpp
index 0cbe9c2..38555f2 100644
--- a/host_power_off.hpp
+++ b/host_power_off.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 #include <vector>
 
diff --git a/ipmi.cpp b/ipmi.cpp
index c296e63..636cfa5 100644
--- a/ipmi.cpp
+++ b/ipmi.cpp
@@ -31,10 +31,11 @@
 
 #include <ipmid/api.h>
 
-#include <cstdint>
-#include <cstdio>
 #include <ipmid/api-types.hpp>
 #include <ipmid/message.hpp>
+
+#include <cstdint>
+#include <cstdio>
 #include <optional>
 #include <span>
 
diff --git a/ipmi.hpp b/ipmi.hpp
index 8194f0f..95683b9 100644
--- a/ipmi.hpp
+++ b/ipmi.hpp
@@ -20,6 +20,7 @@
 
 #include <ipmid/api-types.hpp>
 #include <ipmid/message.hpp>
+
 #include <optional>
 #include <span>
 
diff --git a/machine_name.cpp b/machine_name.cpp
index 4946cd6..c06ce5c 100644
--- a/machine_name.cpp
+++ b/machine_name.cpp
@@ -17,10 +17,11 @@
 #include "commands.hpp"
 #include "errors.hpp"
 
+#include <ipmid/api-types.hpp>
+
 #include <cstddef>
 #include <cstdio>
 #include <cstring>
-#include <ipmid/api-types.hpp>
 #include <optional>
 #include <span>
 #include <string>
diff --git a/machine_name.hpp b/machine_name.hpp
index 13baadd..ff0f7fa 100644
--- a/machine_name.hpp
+++ b/machine_name.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 
 namespace google
diff --git a/main.cpp b/main.cpp
index e903e1c..061c15f 100644
--- a/main.cpp
+++ b/main.cpp
@@ -17,12 +17,13 @@
 
 #include <ipmid/api.h>
 
-#include <cstdint>
-#include <cstdio>
-#include <functional>
 #include <ipmid/api-types.hpp>
 #include <ipmid/handler.hpp>
 #include <ipmid/iana.hpp>
+
+#include <cstdint>
+#include <cstdio>
+#include <functional>
 #include <span>
 
 namespace oem
@@ -52,9 +53,8 @@
                                oem::google::sysCmd, ::ipmi::Privilege::User,
                                [](::ipmi::Context::ptr ctx, uint8_t cmd,
                                   const std::vector<uint8_t>& data) {
-                                   return handleSysCommand(&handlerImpl, ctx,
-                                                           cmd, data);
-                               });
+        return handleSysCommand(&handlerImpl, ctx, cmd, data);
+    });
 }
 
 } // namespace ipmi
diff --git a/pcie_bifurcation.cpp b/pcie_bifurcation.cpp
index faa6bd9..dade4ed 100644
--- a/pcie_bifurcation.cpp
+++ b/pcie_bifurcation.cpp
@@ -23,6 +23,7 @@
 #include <fmt/format.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 #include <vector>
 
diff --git a/pcie_i2c.cpp b/pcie_i2c.cpp
index 8a8b839..854609c 100644
--- a/pcie_i2c.cpp
+++ b/pcie_i2c.cpp
@@ -17,9 +17,10 @@
 #include "commands.hpp"
 #include "handler.hpp"
 
+#include <ipmid/api-types.hpp>
+
 #include <cstdint>
 #include <cstring>
-#include <ipmid/api-types.hpp>
 #include <span>
 #include <string>
 #include <tuple>
@@ -84,8 +85,8 @@
     uint32_t i2c_bus_number = std::get<0>(i2cEntry);
     std::string pcie_slot_name = std::get<1>(i2cEntry);
 
-    int length =
-        sizeof(struct PcieSlotI2cBusMappingReply) + pcie_slot_name.length();
+    int length = sizeof(struct PcieSlotI2cBusMappingReply) +
+                 pcie_slot_name.length();
 
     // TODO (jaghu) : Add a way to dynamically receive the MAX_IPMI_BUFFER
     // value and change error to IPMI_CC_REQUESTED_TOO_MANY_BYTES.
diff --git a/pcie_i2c.hpp b/pcie_i2c.hpp
index 63d4df8..70b002f 100644
--- a/pcie_i2c.hpp
+++ b/pcie_i2c.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 
 namespace google
diff --git a/psu.cpp b/psu.cpp
index 32a3fe2..7f7a5b3 100644
--- a/psu.cpp
+++ b/psu.cpp
@@ -18,9 +18,10 @@
 #include "errors.hpp"
 #include "handler.hpp"
 
+#include <ipmid/api-types.hpp>
+
 #include <cstdint>
 #include <cstring>
-#include <ipmid/api-types.hpp>
 #include <span>
 #include <vector>
 
diff --git a/psu.hpp b/psu.hpp
index 56beb61..a7f0ce7 100644
--- a/psu.hpp
+++ b/psu.hpp
@@ -19,6 +19,7 @@
 #include <ipmid/api.h>
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 
 namespace google
diff --git a/test/handler_mock.hpp b/test/handler_mock.hpp
index 580b043..9e9b71e 100644
--- a/test/handler_mock.hpp
+++ b/test/handler_mock.hpp
@@ -31,7 +31,6 @@
 
 class HandlerMock : public HandlerInterface
 {
-
   public:
     ~HandlerMock() = default;
 
diff --git a/test/handler_unittest.cpp b/test/handler_unittest.cpp
index 9656364..b385321 100644
--- a/test/handler_unittest.cpp
+++ b/test/handler_unittest.cpp
@@ -18,13 +18,14 @@
 
 #include <systemd/sd-bus.h>
 
+#include <nlohmann/json.hpp>
+#include <sdbusplus/message.hpp>
+#include <sdbusplus/test/sdbus_mock.hpp>
+
 #include <charconv>
 #include <filesystem>
 #include <fstream>
 #include <functional>
-#include <nlohmann/json.hpp>
-#include <sdbusplus/message.hpp>
-#include <sdbusplus/test/sdbus_mock.hpp>
 #include <string>
 #include <tuple>
 
@@ -142,8 +143,7 @@
                     const std::string& config = "") :
         Handler(config),
         mock_(&mock)
-    {
-    }
+    {}
 
   protected:
     sdbusplus::bus_t getDbus() const override
diff --git a/test/helper.cpp b/test/helper.cpp
index d2c6169..191c944 100644
--- a/test/helper.cpp
+++ b/test/helper.cpp
@@ -15,6 +15,7 @@
 #include "helper.hpp"
 
 #include <ipmid/api-types.hpp>
+
 #include <optional>
 #include <span>
 #include <utility>
diff --git a/test/helper.hpp b/test/helper.hpp
index d7be3d1..c76fc37 100644
--- a/test/helper.hpp
+++ b/test/helper.hpp
@@ -17,6 +17,7 @@
 #include "handler_mock.hpp"
 
 #include <ipmid/api-types.hpp>
+
 #include <span>
 #include <utility>
 
diff --git a/util.cpp b/util.cpp
index 2540fe9..95e4d12 100644
--- a/util.cpp
+++ b/util.cpp
@@ -14,17 +14,18 @@
 
 #include "util.hpp"
 
+#include <nlohmann/json.hpp>
+#include <phosphor-logging/elog-errors.hpp>
+#include <xyz/openbmc_project/Common/error.hpp>
+
 #include <cstdint>
 #include <cstdio>
 #include <filesystem>
 #include <fstream>
-#include <nlohmann/json.hpp>
-#include <phosphor-logging/elog-errors.hpp>
 #include <regex>
 #include <string>
 #include <tuple>
 #include <vector>
-#include <xyz/openbmc_project/Common/error.hpp>
 
 namespace google
 {
@@ -71,7 +72,7 @@
             // If the last character is a null terminator; remove it.
             if (!contents.empty())
             {
-                char const& back = contents.back();
+                const char& back = contents.back();
                 if (back == '\0')
                     contents.pop_back();
             }
diff --git a/util.hpp b/util.hpp
index bfd5546..83e0b13 100644
--- a/util.hpp
+++ b/util.hpp
@@ -14,8 +14,9 @@
 
 #pragma once
 
-#include <cstdint>
 #include <nlohmann/json.hpp>
+
+#include <cstdint>
 #include <string>
 #include <tuple>
 #include <vector>
