Talking about scripting, the original way to write IDA scripts was to use a proprietary IDC language. This had multiple high-level APIs that can be used in both static and dynamic analysis.
Later, IDA started supporting Python and provided access to IDC functions with the same names under the idc module. Another functionality (generally, more low level) is available in the idaapi and idautils modules, but for automating most generic things, the idc module is good enough.
Since the list of APIs has extended over time, more and more naming inconsistencies have been accumulated. Eventually, at some stage, it requiring a revision, which would be impossible to implement while keeping it backwards-compatible. As a result, starting from IDA version 7.0 (the next version after 6.95), a new list of APIs was introduced, which affected plugins relying on the SDK and IDC functions. Some of them were just renamed from CamelCase to underscore_case, while others...