IncludeCPP 4.0.3__tar.gz → 4.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. {includecpp-4.0.3 → includecpp-4.2.2}/IncludeCPP.egg-info/PKG-INFO +101 -1
  2. {includecpp-4.0.3 → includecpp-4.2.2}/IncludeCPP.egg-info/SOURCES.txt +10 -1
  3. {includecpp-4.0.3 → includecpp-4.2.2}/MANIFEST.in +1 -0
  4. {includecpp-4.0.3 → includecpp-4.2.2}/PKG-INFO +101 -1
  5. {includecpp-4.0.3 → includecpp-4.2.2}/README.md +101 -1
  6. includecpp-4.2.2/includecpp/CHANGELOG.md +175 -0
  7. includecpp-4.2.2/includecpp/DOCUMENTATION.md +593 -0
  8. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/__init__.py +1 -1
  9. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/__init__.pyi +4 -1
  10. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/cli/commands.py +698 -84
  11. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/ai_integration.py +46 -13
  12. includecpp-4.2.2/includecpp/core/cpp_api_extensions.pyi +350 -0
  13. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/CSSL_DOCUMENTATION.md +186 -5
  14. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/cssl_builtins.py +101 -4
  15. includecpp-4.2.2/includecpp/core/cssl/cssl_languages.py +1757 -0
  16. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/cssl_parser.py +429 -98
  17. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/cssl_runtime.py +480 -38
  18. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/cssl_syntax.py +88 -4
  19. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/cssl_types.py +31 -2
  20. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/generator/parser.cpp +121 -4
  21. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/generator/parser.h +6 -0
  22. {includecpp-4.0.3 → includecpp-4.2.2}/pyproject.toml +2 -1
  23. {includecpp-4.0.3 → includecpp-4.2.2}/setup.py +2 -1
  24. includecpp-4.2.2/tests/test_multilang.py +511 -0
  25. {includecpp-4.0.3 → includecpp-4.2.2}/IncludeCPP.egg-info/dependency_links.txt +0 -0
  26. {includecpp-4.0.3 → includecpp-4.2.2}/IncludeCPP.egg-info/entry_points.txt +0 -0
  27. {includecpp-4.0.3 → includecpp-4.2.2}/IncludeCPP.egg-info/requires.txt +0 -0
  28. {includecpp-4.0.3 → includecpp-4.2.2}/IncludeCPP.egg-info/top_level.txt +0 -0
  29. {includecpp-4.0.3 → includecpp-4.2.2}/LICENSE +0 -0
  30. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/__main__.py +0 -0
  31. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/cli/__init__.py +0 -0
  32. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/cli/config_parser.py +0 -0
  33. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/__init__.py +0 -0
  34. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/build_manager.py +0 -0
  35. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cpp_api.py +0 -0
  36. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cpp_api.pyi +0 -0
  37. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cppy_converter.py +0 -0
  38. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/CSSL_DOCUMENTATION_NEW.md +0 -0
  39. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/__init__.py +0 -0
  40. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/cssl_builtins.pyi +0 -0
  41. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/cssl_events.py +0 -0
  42. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl/cssl_modules.py +0 -0
  43. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl_bridge.py +0 -0
  44. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/cssl_bridge.pyi +0 -0
  45. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/error_catalog.py +0 -0
  46. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/error_formatter.py +0 -0
  47. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/exceptions.py +0 -0
  48. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/path_discovery.py +0 -0
  49. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/project_ui.py +0 -0
  50. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/core/settings_ui.py +0 -0
  51. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/generator/__init__.py +0 -0
  52. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/generator/type_resolver.cpp +0 -0
  53. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/generator/type_resolver.h +0 -0
  54. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/py.typed +0 -0
  55. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/templates/cpp.proj.template +0 -0
  56. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/__init__.py +0 -0
  57. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/cssl/__init__.py +0 -0
  58. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/cssl/extension.js +0 -0
  59. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/cssl/images/cssl.png +0 -0
  60. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/cssl/images/cssl_pl.png +0 -0
  61. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/cssl/language-configuration.json +0 -0
  62. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/cssl/package.json +0 -0
  63. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/cssl/snippets/cssl.snippets.json +0 -0
  64. {includecpp-4.0.3 → includecpp-4.2.2}/includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json +0 -0
  65. {includecpp-4.0.3 → includecpp-4.2.2}/requirements.txt +0 -0
  66. {includecpp-4.0.3 → includecpp-4.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 4.0.3
3
+ Version: 4.2.2
4
4
  Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
5
5
  Home-page: https://github.com/liliassg/IncludeCPP
6
6
  Author: Lilias Hatterscheidt
@@ -906,3 +906,103 @@ print(greeter.name) # "Python"
906
906
  - `python::export(instance)` - Alias
907
907
 
908
908
  All three do the same thing: wrap a CSSL class instance for Python use.
909
+
910
+ ## Universal Instances (v4.0.3+)
911
+
912
+ Universal instances are shared containers accessible from CSSL, Python, and C++:
913
+
914
+ ```python
915
+ from includecpp import CSSL
916
+
917
+ cssl = CSSL.CsslLang()
918
+
919
+ # Create in CSSL
920
+ cssl.run('''
921
+ instance<"myContainer"> container;
922
+ container.data = "Hello";
923
+ container.count = 42;
924
+ ''')
925
+
926
+ # Access from Python
927
+ container = cssl.getInstance("myContainer")
928
+ print(container.data) # "Hello"
929
+ print(container.count) # 42
930
+
931
+ # Modify from Python
932
+ container.newValue = "Added from Python"
933
+
934
+ # Changes reflect in CSSL
935
+ cssl.run('''
936
+ instance<"myContainer"> c;
937
+ printl(c.newValue); // "Added from Python"
938
+ ''')
939
+ ```
940
+
941
+ ### Instance Methods
942
+
943
+ ```python
944
+ cssl.getInstance("name") # Get instance (None if not found)
945
+ cssl.createInstance("name") # Create or get instance
946
+ cssl.deleteInstance("name") # Delete instance
947
+ cssl.listInstances() # List all instance names
948
+ ```
949
+
950
+ ### Method Injection
951
+
952
+ Inject methods into instances using `+<<==`:
953
+
954
+ ```cssl
955
+ instance<"api"> api;
956
+
957
+ // Inject a method
958
+ api +<<== {
959
+ void greet(string name) {
960
+ printl("Hello, " + name + "!");
961
+ }
962
+ };
963
+
964
+ api.greet("World"); // Hello, World!
965
+ ```
966
+
967
+ ## Simplified Module API (v4.0.2+)
968
+
969
+ Create CSSL modules from files with payload binding:
970
+
971
+ ```python
972
+ from includecpp import CSSL
973
+
974
+ # Register payload from file
975
+ CSSL.makepayload("api", "lib/api/myapi.cssl-pl")
976
+
977
+ # Create module from file, binding to payload
978
+ mod = CSSL.makemodule("writer", "lib/writer.cssl", bind="api")
979
+ mod.SaySomething("Hello!") # Call functions directly
980
+ ```
981
+
982
+ ## VSCode Extension
983
+
984
+ IncludeCPP includes a VSCode extension for CSSL syntax highlighting.
985
+
986
+ ### Installation
987
+
988
+ ```bash
989
+ # Copy extension to VSCode extensions folder
990
+ # Windows: %USERPROFILE%\.vscode\extensions\
991
+ # Linux/Mac: ~/.vscode/extensions/
992
+
993
+ # Or install from included files
994
+ pip show includecpp # Find package location
995
+ # Copy vscode/cssl folder to extensions
996
+ ```
997
+
998
+ ### Features
999
+
1000
+ - Syntax highlighting for `.cssl`, `.cssl-pl`, `.cssl-mod` files
1001
+ - Snippets for common patterns
1002
+ - Run CSSL files with F5
1003
+ - Proper coloring for:
1004
+ - Keywords and control flow
1005
+ - Data types (purple/lilac)
1006
+ - Variable declarations (light blue)
1007
+ - Injection operators (`<<==`, `<==`)
1008
+ - Global (`@`), shared (`$`), and captured (`%`) references
@@ -4,6 +4,8 @@ README.md
4
4
  pyproject.toml
5
5
  requirements.txt
6
6
  setup.py
7
+ ./includecpp/CHANGELOG.md
8
+ ./includecpp/DOCUMENTATION.md
7
9
  ./includecpp/__init__.py
8
10
  ./includecpp/__init__.pyi
9
11
  ./includecpp/__main__.py
@@ -16,6 +18,7 @@ setup.py
16
18
  ./includecpp/core/build_manager.py
17
19
  ./includecpp/core/cpp_api.py
18
20
  ./includecpp/core/cpp_api.pyi
21
+ ./includecpp/core/cpp_api_extensions.pyi
19
22
  ./includecpp/core/cppy_converter.py
20
23
  ./includecpp/core/cssl_bridge.py
21
24
  ./includecpp/core/cssl_bridge.pyi
@@ -31,6 +34,7 @@ setup.py
31
34
  ./includecpp/core/cssl/cssl_builtins.py
32
35
  ./includecpp/core/cssl/cssl_builtins.pyi
33
36
  ./includecpp/core/cssl/cssl_events.py
37
+ ./includecpp/core/cssl/cssl_languages.py
34
38
  ./includecpp/core/cssl/cssl_modules.py
35
39
  ./includecpp/core/cssl/cssl_parser.py
36
40
  ./includecpp/core/cssl/cssl_runtime.py
@@ -57,6 +61,8 @@ IncludeCPP.egg-info/dependency_links.txt
57
61
  IncludeCPP.egg-info/entry_points.txt
58
62
  IncludeCPP.egg-info/requires.txt
59
63
  IncludeCPP.egg-info/top_level.txt
64
+ includecpp/CHANGELOG.md
65
+ includecpp/DOCUMENTATION.md
60
66
  includecpp/__init__.py
61
67
  includecpp/__init__.pyi
62
68
  includecpp/__main__.py
@@ -69,6 +75,7 @@ includecpp/core/ai_integration.py
69
75
  includecpp/core/build_manager.py
70
76
  includecpp/core/cpp_api.py
71
77
  includecpp/core/cpp_api.pyi
78
+ includecpp/core/cpp_api_extensions.pyi
72
79
  includecpp/core/cppy_converter.py
73
80
  includecpp/core/cssl_bridge.py
74
81
  includecpp/core/cssl_bridge.pyi
@@ -84,6 +91,7 @@ includecpp/core/cssl/__init__.py
84
91
  includecpp/core/cssl/cssl_builtins.py
85
92
  includecpp/core/cssl/cssl_builtins.pyi
86
93
  includecpp/core/cssl/cssl_events.py
94
+ includecpp/core/cssl/cssl_languages.py
87
95
  includecpp/core/cssl/cssl_modules.py
88
96
  includecpp/core/cssl/cssl_parser.py
89
97
  includecpp/core/cssl/cssl_runtime.py
@@ -103,4 +111,5 @@ includecpp/vscode/cssl/package.json
103
111
  includecpp/vscode/cssl/images/cssl.png
104
112
  includecpp/vscode/cssl/images/cssl_pl.png
105
113
  includecpp/vscode/cssl/snippets/cssl.snippets.json
106
- includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json
114
+ includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json
115
+ tests/test_multilang.py
@@ -5,4 +5,5 @@ recursive-include includecpp/templates *
5
5
  recursive-include includecpp/generator *.cpp *.h
6
6
  recursive-include includecpp *.py
7
7
  recursive-include includecpp *.pyi
8
+ recursive-include includecpp *.md
8
9
  recursive-include includecpp/vscode *.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 4.0.3
3
+ Version: 4.2.2
4
4
  Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
5
5
  Home-page: https://github.com/liliassg/IncludeCPP
6
6
  Author: Lilias Hatterscheidt
@@ -906,3 +906,103 @@ print(greeter.name) # "Python"
906
906
  - `python::export(instance)` - Alias
907
907
 
908
908
  All three do the same thing: wrap a CSSL class instance for Python use.
909
+
910
+ ## Universal Instances (v4.0.3+)
911
+
912
+ Universal instances are shared containers accessible from CSSL, Python, and C++:
913
+
914
+ ```python
915
+ from includecpp import CSSL
916
+
917
+ cssl = CSSL.CsslLang()
918
+
919
+ # Create in CSSL
920
+ cssl.run('''
921
+ instance<"myContainer"> container;
922
+ container.data = "Hello";
923
+ container.count = 42;
924
+ ''')
925
+
926
+ # Access from Python
927
+ container = cssl.getInstance("myContainer")
928
+ print(container.data) # "Hello"
929
+ print(container.count) # 42
930
+
931
+ # Modify from Python
932
+ container.newValue = "Added from Python"
933
+
934
+ # Changes reflect in CSSL
935
+ cssl.run('''
936
+ instance<"myContainer"> c;
937
+ printl(c.newValue); // "Added from Python"
938
+ ''')
939
+ ```
940
+
941
+ ### Instance Methods
942
+
943
+ ```python
944
+ cssl.getInstance("name") # Get instance (None if not found)
945
+ cssl.createInstance("name") # Create or get instance
946
+ cssl.deleteInstance("name") # Delete instance
947
+ cssl.listInstances() # List all instance names
948
+ ```
949
+
950
+ ### Method Injection
951
+
952
+ Inject methods into instances using `+<<==`:
953
+
954
+ ```cssl
955
+ instance<"api"> api;
956
+
957
+ // Inject a method
958
+ api +<<== {
959
+ void greet(string name) {
960
+ printl("Hello, " + name + "!");
961
+ }
962
+ };
963
+
964
+ api.greet("World"); // Hello, World!
965
+ ```
966
+
967
+ ## Simplified Module API (v4.0.2+)
968
+
969
+ Create CSSL modules from files with payload binding:
970
+
971
+ ```python
972
+ from includecpp import CSSL
973
+
974
+ # Register payload from file
975
+ CSSL.makepayload("api", "lib/api/myapi.cssl-pl")
976
+
977
+ # Create module from file, binding to payload
978
+ mod = CSSL.makemodule("writer", "lib/writer.cssl", bind="api")
979
+ mod.SaySomething("Hello!") # Call functions directly
980
+ ```
981
+
982
+ ## VSCode Extension
983
+
984
+ IncludeCPP includes a VSCode extension for CSSL syntax highlighting.
985
+
986
+ ### Installation
987
+
988
+ ```bash
989
+ # Copy extension to VSCode extensions folder
990
+ # Windows: %USERPROFILE%\.vscode\extensions\
991
+ # Linux/Mac: ~/.vscode/extensions/
992
+
993
+ # Or install from included files
994
+ pip show includecpp # Find package location
995
+ # Copy vscode/cssl folder to extensions
996
+ ```
997
+
998
+ ### Features
999
+
1000
+ - Syntax highlighting for `.cssl`, `.cssl-pl`, `.cssl-mod` files
1001
+ - Snippets for common patterns
1002
+ - Run CSSL files with F5
1003
+ - Proper coloring for:
1004
+ - Keywords and control flow
1005
+ - Data types (purple/lilac)
1006
+ - Variable declarations (light blue)
1007
+ - Injection operators (`<<==`, `<==`)
1008
+ - Global (`@`), shared (`$`), and captured (`%`) references
@@ -870,4 +870,104 @@ print(greeter.name) # "Python"
870
870
  - `python::wrap(instance)` - Alias
871
871
  - `python::export(instance)` - Alias
872
872
 
873
- All three do the same thing: wrap a CSSL class instance for Python use.
873
+ All three do the same thing: wrap a CSSL class instance for Python use.
874
+
875
+ ## Universal Instances (v4.0.3+)
876
+
877
+ Universal instances are shared containers accessible from CSSL, Python, and C++:
878
+
879
+ ```python
880
+ from includecpp import CSSL
881
+
882
+ cssl = CSSL.CsslLang()
883
+
884
+ # Create in CSSL
885
+ cssl.run('''
886
+ instance<"myContainer"> container;
887
+ container.data = "Hello";
888
+ container.count = 42;
889
+ ''')
890
+
891
+ # Access from Python
892
+ container = cssl.getInstance("myContainer")
893
+ print(container.data) # "Hello"
894
+ print(container.count) # 42
895
+
896
+ # Modify from Python
897
+ container.newValue = "Added from Python"
898
+
899
+ # Changes reflect in CSSL
900
+ cssl.run('''
901
+ instance<"myContainer"> c;
902
+ printl(c.newValue); // "Added from Python"
903
+ ''')
904
+ ```
905
+
906
+ ### Instance Methods
907
+
908
+ ```python
909
+ cssl.getInstance("name") # Get instance (None if not found)
910
+ cssl.createInstance("name") # Create or get instance
911
+ cssl.deleteInstance("name") # Delete instance
912
+ cssl.listInstances() # List all instance names
913
+ ```
914
+
915
+ ### Method Injection
916
+
917
+ Inject methods into instances using `+<<==`:
918
+
919
+ ```cssl
920
+ instance<"api"> api;
921
+
922
+ // Inject a method
923
+ api +<<== {
924
+ void greet(string name) {
925
+ printl("Hello, " + name + "!");
926
+ }
927
+ };
928
+
929
+ api.greet("World"); // Hello, World!
930
+ ```
931
+
932
+ ## Simplified Module API (v4.0.2+)
933
+
934
+ Create CSSL modules from files with payload binding:
935
+
936
+ ```python
937
+ from includecpp import CSSL
938
+
939
+ # Register payload from file
940
+ CSSL.makepayload("api", "lib/api/myapi.cssl-pl")
941
+
942
+ # Create module from file, binding to payload
943
+ mod = CSSL.makemodule("writer", "lib/writer.cssl", bind="api")
944
+ mod.SaySomething("Hello!") # Call functions directly
945
+ ```
946
+
947
+ ## VSCode Extension
948
+
949
+ IncludeCPP includes a VSCode extension for CSSL syntax highlighting.
950
+
951
+ ### Installation
952
+
953
+ ```bash
954
+ # Copy extension to VSCode extensions folder
955
+ # Windows: %USERPROFILE%\.vscode\extensions\
956
+ # Linux/Mac: ~/.vscode/extensions/
957
+
958
+ # Or install from included files
959
+ pip show includecpp # Find package location
960
+ # Copy vscode/cssl folder to extensions
961
+ ```
962
+
963
+ ### Features
964
+
965
+ - Syntax highlighting for `.cssl`, `.cssl-pl`, `.cssl-mod` files
966
+ - Snippets for common patterns
967
+ - Run CSSL files with F5
968
+ - Proper coloring for:
969
+ - Keywords and control flow
970
+ - Data types (purple/lilac)
971
+ - Variable declarations (light blue)
972
+ - Injection operators (`<<==`, `<==`)
973
+ - Global (`@`), shared (`$`), and captured (`%`) references
@@ -0,0 +1,175 @@
1
+ # IncludeCPP Changelog
2
+
3
+ ## v4.2.2 (2025-01-08)
4
+
5
+ ### Bug Fixes
6
+ - **Fixed bidirectional `lang$Instance` mutations** - Cross-language instance access now correctly modifies shared objects
7
+ - `js$GameData.score = 1337` now properly updates the original instance
8
+ - All mutations via `lang$Instance.member = value` are now applied bidirectionally
9
+ - Fixed `LANG_INSTANCE_REF` token not being recognized in `parse_program()`, `_parse_statement()`, and `_parse_action_block()`
10
+ - Parser now correctly handles `lang$Instance` as a valid expression start token
11
+
12
+ ---
13
+
14
+ ## v4.2.1 (2025-01-08)
15
+
16
+ ### CLI Improvements
17
+ - `--doc` and `--doc "term"` now load from local DOCUMENTATION.md
18
+ - `--changelog` now loads from local CHANGELOG.md
19
+ - Added `--changelog --N` (e.g., `--changelog --5`) for showing N releases
20
+ - Added `--changelog --all` for showing all releases
21
+
22
+ ### Documentation
23
+ - Added comprehensive DOCUMENTATION.md for CLI reference
24
+ - Added CHANGELOG.md for version history
25
+
26
+ ---
27
+
28
+ ## v4.2.0 (2025-01-08)
29
+
30
+ ### Multi-Language Support
31
+ - Added `libinclude("language")` for loading language support modules
32
+ - Added `supports <lang>` keyword for writing in other language syntax
33
+ - Added cross-language instance sharing with `lang$InstanceName` syntax
34
+ - Added language transformers for Python, JavaScript, Java, C#, C++
35
+ - Added default parameter values in CSSL functions
36
+
37
+ ### SDK Packages
38
+ - Added C++ SDK (`sdk/cpp/includecpp.h`)
39
+ - Added Java SDK (`sdk/java/src/com/includecpp/CSSL.java`)
40
+ - Added C# SDK (`sdk/csharp/IncludeCPP.cs`)
41
+ - Added JavaScript SDK (`sdk/javascript/includecpp.js`)
42
+ - Added `includecpp cssl sdk <lang>` command to generate SDKs
43
+
44
+ ### CLI Improvements
45
+ - Added `--doc "searchterm"` for documentation search
46
+ - Added `--changelog --all`, `--changelog --N` for changelog viewing
47
+ - Improved error messages with line context
48
+
49
+ ### Bug Fixes
50
+ - Fixed compound assignment operators in Python transformer (-=, +=, *=, /=)
51
+ - Fixed type annotation stripping in `supports python` blocks
52
+ - Fixed self parameter handling in Python method transformation
53
+
54
+ ---
55
+
56
+ ## v4.1.0 (2024-12-15)
57
+
58
+ ### CodeInfusion System
59
+ - Added `<<==` operator for code injection into functions
60
+ - Added `+<<==` for appending code without replacing
61
+ - Added method appending with `&Class::method` syntax
62
+ - Added `++` append mode for function definitions
63
+
64
+ ### Class Improvements
65
+ - Added `overwrites` keyword for method replacement
66
+ - Added `extends Parent::method` for method-level inheritance
67
+ - Added `super()` and `super::method()` calls
68
+ - Added shuffled returns with `shuffled<T>` type
69
+
70
+ ### New Containers
71
+ - Added `combo<T>` for filter/search operations
72
+ - Added `iterator<T>` for programmable iterators
73
+ - Added `datastruct<T>` universal container
74
+
75
+ ### Python Interop
76
+ - Added `python::pythonize()` for returning CSSL classes to Python
77
+ - Added `python::wrap()` and `python::export()` aliases
78
+ - Added universal instances with `instance<"name">`
79
+
80
+ ---
81
+
82
+ ## v4.0.3 (2024-11-20)
83
+
84
+ ### Universal Instances
85
+ - Added `instance<"name">` for cross-runtime shared containers
86
+ - Added `cssl.getInstance("name")` Python API
87
+ - Added `cssl.createInstance("name")` Python API
88
+ - Added `cssl.deleteInstance("name")` Python API
89
+ - Added method injection into instances with `+<<==`
90
+
91
+ ### Module System
92
+ - Added `CSSL.makemodule()` for creating callable modules
93
+ - Added `CSSL.makepayload()` for payload file registration
94
+ - Added payload binding with `bind=` parameter
95
+
96
+ ---
97
+
98
+ ## v4.0.2 (2024-11-01)
99
+
100
+ ### Simplified API
101
+ - Added `CSSL.run()` as main entry point
102
+ - Added `CSSL.module()` for creating modules from strings
103
+ - Added `CSSL.script()` for inline payload registration
104
+ - Improved parameter handling with `parameter.get()` and `parameter.return()`
105
+
106
+ ### Shared Objects
107
+ - Added `cssl.share(obj, "name")` for Python object sharing
108
+ - Added `$name` syntax for accessing shared objects
109
+ - Changes in CSSL reflect back to Python objects
110
+
111
+ ---
112
+
113
+ ## v4.0.0 (2024-10-15)
114
+
115
+ ### Major Release
116
+ - Complete rewrite of CSSL parser and runtime
117
+ - Added generic container types (`stack<T>`, `vector<T>`, `map<K,V>`)
118
+ - Added class system with constructors and inheritance
119
+ - Added BruteInjection operators (`<==`, `+<==`, `-<==`)
120
+ - Added global variables with `@name` syntax
121
+ - Added captured variables with `%name` syntax
122
+
123
+ ### AI Integration
124
+ - Added `includecpp ai` command group
125
+ - Added AI-assisted code analysis
126
+ - Added AI-powered optimization
127
+ - Added `includecpp ai ask` for project questions
128
+
129
+ ---
130
+
131
+ ## v3.2.0 (2024-09-01)
132
+
133
+ ### CPPY Conversion
134
+ - Added `includecpp cppy convert` command
135
+ - Added Python to C++ conversion
136
+ - Added C++ to Python conversion
137
+ - Added AI-assisted conversion with `--ai` flag
138
+ - Added type mapping tables
139
+
140
+ ### Build Improvements
141
+ - Added `--fast` flag for incremental builds
142
+ - Added object file caching
143
+ - Added SHA256 hash checking for unchanged modules
144
+ - Reduced rebuild time to ~0.4s when unchanged
145
+
146
+ ---
147
+
148
+ ## v3.1.0 (2024-08-01)
149
+
150
+ ### CLI Enhancements
151
+ - Added `includecpp auto` command
152
+ - Added `includecpp fix` for code analysis
153
+ - Added `--verbose` flag for detailed output
154
+ - Added `-j` flag for parallel jobs
155
+
156
+ ### Plugin Format
157
+ - Added `DEPENDS()` for module dependencies
158
+ - Added `TEMPLATE_FUNC()` for template instantiation
159
+ - Added `METHOD_CONST()` for overloaded methods
160
+
161
+ ---
162
+
163
+ ## v3.0.0 (2024-07-01)
164
+
165
+ ### Initial CSSL
166
+ - Added CSSL scripting language
167
+ - Added basic data types and control flow
168
+ - Added functions and basic classes
169
+ - Added Python interop with shared objects
170
+
171
+ ### Core Features
172
+ - C++ to Python binding generation
173
+ - Plugin file format (.cp)
174
+ - CMake-based build system
175
+ - Cross-platform support (Windows, Linux, Mac)