bpy.ops.script.python_file_run operator instead of exec(), complying with the Extensions platform policy on dynamic code execution.__name__ == "__main__" and __file__ set (same as the Text Editor's Run Script), and imported modules still won't create __pycache__ in your script folders.compile()/exec() so __name__ is "__main__" and if __name__ == "__main__": blocks run as expected__pycache____pycache__ folders from the panel treeRemoved use of self.layout_type in UIList.draw_item(), which has been removed from the Blender API
Initial release.