Releases: frame-lang/frame_transpiler
v0.11.8
v0.11.7
Frame v0.11.7 Release Notes
Frame v0.11.7 is a bug fix release.
Changelog
Bug Fixes:
- Fixed bug for 'return' not being generated for all paths for ^(foo).
- Fixed crasher in scanner for single line comments at the end of the file.
- Removed comment generation (for now).
v0.11.6
Bug Fixes
Fixed GraphViz crasher with files with no Frame systems.
v0.11.5
Frame v0.11.5 Release Notes
Frame v0.11.5 is a bug fix release.
Changelog
Bug Fixes:
- Fixed GraphViz bug related to loops not properly generating transitions in DOT.
v0.11.4
Frame v0.11.4 Release Notes
We're excited to introduce Frame v0.11.4, featuring a range of enhancements to the Frame language, further elevating its capabilities and standardization. This release also includes significant updates to improve the transpiler's functionality, now supporting input from stdin and file paths. This enhancement enhances integration with CI/CD workflows involving Frame, providing developers more flexibility and convenience.
Changelog
(Note: The enhanced language features are currently supported in Python 3, with plans to extend support to other languages in upcoming releases.)
Bug Fixes:
- Addressed crashes and panics that occurred during transpilation, improving overall stability and reliability.
- Removed the
@^
(event return) token and related code to streamline functionality and enhance clarity in the transpilation process.
Playground
- Decommissioned http://framepiler.frame-lang.org/.
- Updated the playground.
Website
- Redirected https://frame-lang.org to docs.frame-lang.org.
Stdin support
The CLI has been updated to support stdin:
framec -language python_3 < HelloWorld.frm > HelloWorld.py
or
cat HellowWorld.frm | framec -language python_3 > HellowWorld.py
v0.11.3
Frame v0.11.3 Release Notes
We're excited to introduce Frame v0.11.3, featuring a range of enhancements to the Frame language, further elevating its capabilities and standardization. This release also includes significant updates to improve the transpiler's functionality, now supporting input from stdin and file paths. This enhancement enhances integration with CI/CD workflows involving Frame, providing developers more flexibility and convenience.
Changelog
(Note: The enhanced language features are currently supported in Python 3, with plans to extend support to other languages in upcoming releases.)
- Codebase: Updated all version references to v0.11.3, including tests.
Release Notes
- Added Simple List Support: This release introduces support for simple lists, enhancing the versatility of the language and enabling more efficient data handling in your programs.
- Added New Interface Return Value: With the implementation of a new interface return value, you can now achieve more intuitive and streamlined interactions within your code.
Playground
- Decommissioned http://framepiler.frame-lang.org/.
- Updated the playground.
Website
- Redirected https://frame-lang.org to docs.frame-lang.org.
Stdin support
The CLI has been updated to support stdin:
framec -language python_3 < HelloWorld.frm > HelloWorld.rs
or
cat HellowWorld.frm | framec -language python_3 > HellowWorld.go
v0.11.2
Frame v0.11.2 Release Notes
We're thrilled to unveil Frame v0.11.2, packed with exciting enhancements to the Frame language, elevating its capabilities and standardization. This release also brings a notable upgrade to the transpiler, now facilitating input from stdin alongside file paths, thereby bolstering integration with CI/CD workflows that involve Frame.
Changelog
(Note: The enhanced language features are currently supported in Python 3, with plans to extend support to other languages in upcoming releases.)
- Graphviz Integration: Replaced PlantUML with Graphviz for UML support, enhancing visualization capabilities.
Stdin support
The CLI has been updated to support stdin:
framec -language graphviz < HelloWorld.frm > HelloWorld.dot
or
cat HellowWorld.frm | framec -language graphviz > HellowWorld.dot
v0.11.1
Frame v0.11.1 Release Notes
We're thrilled to introduce Frame v0.11.1, featuring a range of exciting enhancements to the Frame language, offering increased power and standardization to the notation. This release also includes a significant improvement to the transpiler, now allowing input from stdin in addition to accepting file paths, thus enhancing integration with CI/CD processes involving Frame.
Changelog
(Note: The enhanced language features are currently supported in Python 3, with plans to extend support to other languages in upcoming releases.)
- Fixed Code Generation Issue: Addressed a bug that was affecting code generation, ensuring a smoother experience for users.
Stdin support
The CLI has been updated to support stdin:
framec -language python_3 < HelloWorld.frm > HelloWorld.rs
or
cat HellowWorld.frm | framec -language python_3 > HellowWorld.go
v0.11.0
Frame v0.11.0 Release Notes
We're thrilled to introduce Frame v0.11.0, featuring a range of exciting enhancements to the Frame language, offering increased power and standardization to the notation. This release also includes a significant improvement to the transpiler, now allowing input from stdin in addition to accepting file paths, thus enhancing integration with CI/CD processes involving Frame.
Changelog
(Note: The new language features are currently supported in Python 3, with support for other languages in future releases.)
New Language Features and Updates
Functions
-
Introduction of Functions:
Developers can now easily construct simple Frame programs with the introduction of functions. The current syntax supports a singlemain()
function, with the upcoming v0.12 release extending support for an unlimited number of functions.
System Controller Instantiation
-
Frame Systems and Control:
With the inclusion of Frame functions, developers can now create fully functional Frame programs, gaining the ability to instantiate and control Frame systems. This allows for comprehensive control over system initialization, state parameters, start state parameters, and domain variables.
Operations
-
Frame Operations:
Frame operations, publicly accessible methods that bypass the state machine, now offer privileged access to system domain data. Additionally, operations can be designated as static, enabling systems to provide libraries of associated functionality for complex or repetitive system management routines.
Enums
-
Enum Support:
Frame now supports system-enumerated types, enhancing the expressiveness of the language.
Loops
-
Looping in Frame:
Frame now supports two types of loops: For-like loops and Infinite loops, providing developers with versatile options for program flow control.
Stdin support
The CLI has been updated to support stdin:
framec -language python_3 < HelloWorld.frm > HelloWorld.rs
or
cat HellowWorld.frm | framec -language python_3 > HellowWorld.go
Frame v0.10.1
Frame v0.10.1 brings a lot of exciting additions to the Frame language, adding both power and standardization to the notation. In addition, the transpiler now can read from stdin as well as still accepting file paths as in the past. This enables improved CI/CD processes involving Frame.
Changelog
Note: The new language features are now supported in Golang, Javascript, Python3. Other languages will be supported in coming releases.
- Go - Fixed deepcopy of compartment in stack history.
- Python - Fixed type hint for class instances.
Stdin support
The CLI has been updated to support stdin:
framec -language rust < HelloWorld.frm > HelloWorld.rs
or
cat HellowWorld.frm | framec -language golang > HellowWorld.go