FixScript SDK Documentation
Back to summary
ChangeLog
Version 0.3 (2021/10/03):
- FixScript 0.6
- Added support for packed char literals
- Added unused symbols to be directly available for token processing
- Changed serialization format to be more compact
- Changed symbols to be directly represented in token type
- Removed unneeded extra symbol for appending to arrays (no syntax change)
- Fixed counting of total heap size when cloning shared arrays
- Fixed compatibility with Windows 2000
- Fixed traversing of invalid symlinks in fixembed
- FixScript Macros 0.4
- Adjusted for new symbol representation in tokens
- FixScript Classes 0.5
- Adjusted for new symbol representation in tokens
- Fixed types for string_to_utf8 function
- FixScript Simple 0.2
- Adjusted for new symbol representation in tokens
- FixScript Unpack 0.3
- Adjusted for new symbol representation in tokens
- FixScript Optional 0.2
- Adjusted for new symbol representation in tokens
- FixScript AutoInit 0.1
- FixIO 0.5
- Added is_empty function to Path
- Added sync function to File
- Added ability to get native file descriptor/handle
- Added ability to set length of file
- Added support for file locking
- Fixed caching of file type
- Fixed create_directories in Path
- FixImage 0.4
- Added fiximage_create to C API
- Adjusted for new symbol representation in tokens
- FixGUI 0.5
- Added code editor
- Added ability to disable buttons
- Added ability to set label in PureButton
- Adjusted for new symbol representation in tokens
- Fixed memory leak when exchanging messages with workers
- Fixed handling of key combinations with ALT modifier on Windows
- Fixed other mouse buttons wrongly working when clicking on SubButton
- FixTask 0.3
- Added ability to start tasks using function handle directly
- Added support for channels
- FixNative 0.3
- Adjusted for new symbol representation in tokens
- FixBuild 0.3
- Added support for icons
- Added matches and find functions in build scripts
- Added automatic excluding of nested projects
- Adjusted for new symbol representation in tokens
- Fixed initialization of tasks not being done in every case
- Fixed traversing of invalid symlinks
- FixUtil 0.2
- Added stable sort variant
- Fixed wrong to_bytes function in JSON
Version 0.2 (2021/05/12):
- FixScript 0.5
- Added ability to set time limit for execution of scripts
- Added ability to stop execution of scripts from another thread
- Added ifloor, iceil, clamp, fclamp, add64 and sub64 intrinsic functions
- Added script_line function
- Added non-heap references to shared arrays in C API
- Added array_get_element_size function
- Added ability to reload scripts in-place replacing previous functions
- Added variant of array_fill function for the whole array
- Added ability to retrieve list of functions from script
- Improved error reporting of syntax errors produced by token processors
- Changed to use full error when optional native function is called without obtaining the error
- Changed heap_size function to return size in kilobytes
- Changed tokens_parse function to return the reference of the tokens array
- Changed the way compiler errors are handled (values instead of strings)
- Changed and renamed fixscript_create_shared_array_from to be clear what it does
- Removed trailing newlines in fixscript_to_string and in compiler errors
- Fixed crash when calling non-existing functions when running token processors in fixembed
- Fixed compression of scripts in fixembed
- Fixed fixscript_dump_value to properly end line when newlines are not used
- Fixed fixscript_set_heap_data to properly free data on all errors
- Fixed comparison of unresolved function references
- Fixed wrong clearing of temporary roots when native handlers invoke root clearing operation during GC
- Fixed inadequate adding of shared arrays to temporary roots
- Fixed crash on unclosed multiline comments
- Fixed handling of strings that contain nulls when dumping and logging
- Fixed small memory leak in perf_log function
- Fixed missing string escaping in to_string and dump
- Fixed too small precision when converting doubles to string
- Fixed inability to catch stack overflow errors
- Fixed crash when getting script name or function with no script provided in C API
- Fixed writing of floats to shared arrays
- FixScript Macros 0.3
- Added support for top-level functions defined from within a macro
- Changed to use script_line function for error reporting
- FixScript Classes 0.4
- Added ability to directly define static methods using private constants
- Added access to constants, locals and variables in API
- Added basic support for import aliases
- Added automatic to_string implementation
- Added ability to define global functions using private constants
- Changed to use script_line function for error reporting
- Changed adjusting of function calls to include return type in API
- Fixed parsing of empty array with whitespace between braces
- Fixed adjusting of functions when called from methods (using API)
- Fixed bug in throw statement that prevented method calls
- FixScript Unpack 0.2
- Changed to use script_line function for error reporting
- Fixed determination of nesting level
- FixScript Optional 0.1
- FixIO 0.4
- Added generalization of async stream interface
- Added print_err and println_err functions
- Added ability to get current time (both normal and monotonic)
- Added array_create_view function
- Added string representation of Path objects when dumping
- Added ability to get just file name from Path
- Added ability to get modification time of files
- Fixed accepted async TCP sockets not being put into non-blocking mode on Linux
- Fixed crashing due to SIGPIPE signal
- FixImage 0.3
- Added fiximage_get_core_count to C API
- Added functions for getting X and Y in Rect
- Fixed color conversion functions to be public
- FixGUI 0.4
- Added scroll_to_visible method in SubScrollView
- Added support for border in SubScrollView and PureScrollView
- Added set_rect variant without Rect in View
- Added SubDivider and PureDivider
- Added EventListeners
- Added initial code for SubTable and PureTable
- Added initial code for SubList and PureList
- Added relative mouse mode in Canvas
- Added get_scroll_position and set_scroll_position methods in SubScrollView
- Added ability to obtain native window handle on Windows
- Added initial support for GTK 2/3
- Added console output on Windows
- Changed worker interface to be optional
- Fixed missing EVENT_KEY_DOWN for KEY_ENTER/ESCAPE on Windows
- Fixed wrong EVENT_KEY_TYPED when Ctrl/Alt modifiers are active on Windows
- FixTask 0.2
- Added ability to create custom FixScript heaps
- Added ComputeTask and Global classes
- Fixed waiting on messages with timeout
- Fixed overinflation of heap when sending messages between tasks
- FixNative 0.2
- Added ability to get pointer to shared array data
- Added proper setting of return type for functions called using the 'extern' token processor
- Added ability to create memory region from given pointer and size
- Renamed SYSTEM_MACOSX to SYSTEM_MACOS
- Fixed incorrect checking for memory range on raw pointers
- Fixed error when trying to bind library multiple times
- FixBuild 0.2
- Added ability to set custom logging function
- Added internal parameters for getting scripts
- Added support for build scripts
- Renamed 'macosx64' target to 'macos'
- Fixed crash when calling non-existing functions in token processors
- Fixed compression of scripts
- Fixed ability to include *.fix files in resources
- Fixed random resource reading failures due to missing mutex
- Fixed problems with finding and opening of executable file
- Fixed compilation of FixGUI on Haiku 32bit
- FixUtil 0.1
Version 0.1 (2020/10/13):