IncludeCPP 4.0.3__tar.gz → 4.2.1__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.1}/IncludeCPP.egg-info/PKG-INFO +101 -1
  2. {includecpp-4.0.3 → includecpp-4.2.1}/IncludeCPP.egg-info/SOURCES.txt +10 -1
  3. {includecpp-4.0.3 → includecpp-4.2.1}/MANIFEST.in +1 -0
  4. {includecpp-4.0.3 → includecpp-4.2.1}/PKG-INFO +101 -1
  5. {includecpp-4.0.3 → includecpp-4.2.1}/README.md +101 -1
  6. includecpp-4.2.1/includecpp/CHANGELOG.md +164 -0
  7. includecpp-4.2.1/includecpp/DOCUMENTATION.md +593 -0
  8. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/__init__.py +1 -1
  9. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/__init__.pyi +4 -1
  10. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/cli/commands.py +698 -84
  11. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/ai_integration.py +46 -13
  12. includecpp-4.2.1/includecpp/core/cpp_api_extensions.pyi +350 -0
  13. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/CSSL_DOCUMENTATION.md +186 -5
  14. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/cssl_builtins.py +101 -4
  15. includecpp-4.2.1/includecpp/core/cssl/cssl_languages.py +1757 -0
  16. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/cssl_parser.py +424 -98
  17. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/cssl_runtime.py +480 -38
  18. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/cssl_syntax.py +88 -4
  19. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/cssl_types.py +31 -2
  20. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/generator/parser.cpp +121 -4
  21. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/generator/parser.h +6 -0
  22. {includecpp-4.0.3 → includecpp-4.2.1}/pyproject.toml +2 -1
  23. {includecpp-4.0.3 → includecpp-4.2.1}/setup.py +2 -1
  24. includecpp-4.2.1/tests/test_multilang.py +511 -0
  25. {includecpp-4.0.3 → includecpp-4.2.1}/IncludeCPP.egg-info/dependency_links.txt +0 -0
  26. {includecpp-4.0.3 → includecpp-4.2.1}/IncludeCPP.egg-info/entry_points.txt +0 -0
  27. {includecpp-4.0.3 → includecpp-4.2.1}/IncludeCPP.egg-info/requires.txt +0 -0
  28. {includecpp-4.0.3 → includecpp-4.2.1}/IncludeCPP.egg-info/top_level.txt +0 -0
  29. {includecpp-4.0.3 → includecpp-4.2.1}/LICENSE +0 -0
  30. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/__main__.py +0 -0
  31. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/cli/__init__.py +0 -0
  32. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/cli/config_parser.py +0 -0
  33. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/__init__.py +0 -0
  34. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/build_manager.py +0 -0
  35. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cpp_api.py +0 -0
  36. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cpp_api.pyi +0 -0
  37. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cppy_converter.py +0 -0
  38. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/CSSL_DOCUMENTATION_NEW.md +0 -0
  39. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/__init__.py +0 -0
  40. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/cssl_builtins.pyi +0 -0
  41. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/cssl_events.py +0 -0
  42. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl/cssl_modules.py +0 -0
  43. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl_bridge.py +0 -0
  44. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/cssl_bridge.pyi +0 -0
  45. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/error_catalog.py +0 -0
  46. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/error_formatter.py +0 -0
  47. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/exceptions.py +0 -0
  48. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/path_discovery.py +0 -0
  49. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/project_ui.py +0 -0
  50. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/core/settings_ui.py +0 -0
  51. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/generator/__init__.py +0 -0
  52. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/generator/type_resolver.cpp +0 -0
  53. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/generator/type_resolver.h +0 -0
  54. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/py.typed +0 -0
  55. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/templates/cpp.proj.template +0 -0
  56. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/__init__.py +0 -0
  57. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/cssl/__init__.py +0 -0
  58. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/cssl/extension.js +0 -0
  59. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/cssl/images/cssl.png +0 -0
  60. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/cssl/images/cssl_pl.png +0 -0
  61. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/cssl/language-configuration.json +0 -0
  62. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/cssl/package.json +0 -0
  63. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/cssl/snippets/cssl.snippets.json +0 -0
  64. {includecpp-4.0.3 → includecpp-4.2.1}/includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json +0 -0
  65. {includecpp-4.0.3 → includecpp-4.2.1}/requirements.txt +0 -0
  66. {includecpp-4.0.3 → includecpp-4.2.1}/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.1
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.1
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,164 @@
1
+ # IncludeCPP Changelog
2
+
3
+ ## v4.2.1 (2025-01-08)
4
+
5
+ ### CLI Improvements
6
+ - `--doc` and `--doc "term"` now load from local DOCUMENTATION.md
7
+ - `--changelog` now loads from local CHANGELOG.md
8
+ - Added `--changelog --N` (e.g., `--changelog --5`) for showing N releases
9
+ - Added `--changelog --all` for showing all releases
10
+
11
+ ### Documentation
12
+ - Added comprehensive DOCUMENTATION.md for CLI reference
13
+ - Added CHANGELOG.md for version history
14
+
15
+ ---
16
+
17
+ ## v4.2.0 (2025-01-08)
18
+
19
+ ### Multi-Language Support
20
+ - Added `libinclude("language")` for loading language support modules
21
+ - Added `supports <lang>` keyword for writing in other language syntax
22
+ - Added cross-language instance sharing with `lang$InstanceName` syntax
23
+ - Added language transformers for Python, JavaScript, Java, C#, C++
24
+ - Added default parameter values in CSSL functions
25
+
26
+ ### SDK Packages
27
+ - Added C++ SDK (`sdk/cpp/includecpp.h`)
28
+ - Added Java SDK (`sdk/java/src/com/includecpp/CSSL.java`)
29
+ - Added C# SDK (`sdk/csharp/IncludeCPP.cs`)
30
+ - Added JavaScript SDK (`sdk/javascript/includecpp.js`)
31
+ - Added `includecpp cssl sdk <lang>` command to generate SDKs
32
+
33
+ ### CLI Improvements
34
+ - Added `--doc "searchterm"` for documentation search
35
+ - Added `--changelog --all`, `--changelog --N` for changelog viewing
36
+ - Improved error messages with line context
37
+
38
+ ### Bug Fixes
39
+ - Fixed compound assignment operators in Python transformer (-=, +=, *=, /=)
40
+ - Fixed type annotation stripping in `supports python` blocks
41
+ - Fixed self parameter handling in Python method transformation
42
+
43
+ ---
44
+
45
+ ## v4.1.0 (2024-12-15)
46
+
47
+ ### CodeInfusion System
48
+ - Added `<<==` operator for code injection into functions
49
+ - Added `+<<==` for appending code without replacing
50
+ - Added method appending with `&Class::method` syntax
51
+ - Added `++` append mode for function definitions
52
+
53
+ ### Class Improvements
54
+ - Added `overwrites` keyword for method replacement
55
+ - Added `extends Parent::method` for method-level inheritance
56
+ - Added `super()` and `super::method()` calls
57
+ - Added shuffled returns with `shuffled<T>` type
58
+
59
+ ### New Containers
60
+ - Added `combo<T>` for filter/search operations
61
+ - Added `iterator<T>` for programmable iterators
62
+ - Added `datastruct<T>` universal container
63
+
64
+ ### Python Interop
65
+ - Added `python::pythonize()` for returning CSSL classes to Python
66
+ - Added `python::wrap()` and `python::export()` aliases
67
+ - Added universal instances with `instance<"name">`
68
+
69
+ ---
70
+
71
+ ## v4.0.3 (2024-11-20)
72
+
73
+ ### Universal Instances
74
+ - Added `instance<"name">` for cross-runtime shared containers
75
+ - Added `cssl.getInstance("name")` Python API
76
+ - Added `cssl.createInstance("name")` Python API
77
+ - Added `cssl.deleteInstance("name")` Python API
78
+ - Added method injection into instances with `+<<==`
79
+
80
+ ### Module System
81
+ - Added `CSSL.makemodule()` for creating callable modules
82
+ - Added `CSSL.makepayload()` for payload file registration
83
+ - Added payload binding with `bind=` parameter
84
+
85
+ ---
86
+
87
+ ## v4.0.2 (2024-11-01)
88
+
89
+ ### Simplified API
90
+ - Added `CSSL.run()` as main entry point
91
+ - Added `CSSL.module()` for creating modules from strings
92
+ - Added `CSSL.script()` for inline payload registration
93
+ - Improved parameter handling with `parameter.get()` and `parameter.return()`
94
+
95
+ ### Shared Objects
96
+ - Added `cssl.share(obj, "name")` for Python object sharing
97
+ - Added `$name` syntax for accessing shared objects
98
+ - Changes in CSSL reflect back to Python objects
99
+
100
+ ---
101
+
102
+ ## v4.0.0 (2024-10-15)
103
+
104
+ ### Major Release
105
+ - Complete rewrite of CSSL parser and runtime
106
+ - Added generic container types (`stack<T>`, `vector<T>`, `map<K,V>`)
107
+ - Added class system with constructors and inheritance
108
+ - Added BruteInjection operators (`<==`, `+<==`, `-<==`)
109
+ - Added global variables with `@name` syntax
110
+ - Added captured variables with `%name` syntax
111
+
112
+ ### AI Integration
113
+ - Added `includecpp ai` command group
114
+ - Added AI-assisted code analysis
115
+ - Added AI-powered optimization
116
+ - Added `includecpp ai ask` for project questions
117
+
118
+ ---
119
+
120
+ ## v3.2.0 (2024-09-01)
121
+
122
+ ### CPPY Conversion
123
+ - Added `includecpp cppy convert` command
124
+ - Added Python to C++ conversion
125
+ - Added C++ to Python conversion
126
+ - Added AI-assisted conversion with `--ai` flag
127
+ - Added type mapping tables
128
+
129
+ ### Build Improvements
130
+ - Added `--fast` flag for incremental builds
131
+ - Added object file caching
132
+ - Added SHA256 hash checking for unchanged modules
133
+ - Reduced rebuild time to ~0.4s when unchanged
134
+
135
+ ---
136
+
137
+ ## v3.1.0 (2024-08-01)
138
+
139
+ ### CLI Enhancements
140
+ - Added `includecpp auto` command
141
+ - Added `includecpp fix` for code analysis
142
+ - Added `--verbose` flag for detailed output
143
+ - Added `-j` flag for parallel jobs
144
+
145
+ ### Plugin Format
146
+ - Added `DEPENDS()` for module dependencies
147
+ - Added `TEMPLATE_FUNC()` for template instantiation
148
+ - Added `METHOD_CONST()` for overloaded methods
149
+
150
+ ---
151
+
152
+ ## v3.0.0 (2024-07-01)
153
+
154
+ ### Initial CSSL
155
+ - Added CSSL scripting language
156
+ - Added basic data types and control flow
157
+ - Added functions and basic classes
158
+ - Added Python interop with shared objects
159
+
160
+ ### Core Features
161
+ - C++ to Python binding generation
162
+ - Plugin file format (.cp)
163
+ - CMake-based build system
164
+ - Cross-platform support (Windows, Linux, Mac)