Changelog

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 15

----------------------------------------------------------

SASL 3.16.2 (XP11.25+ support)


----------------------------------------------------------

-- Included changes for Commercial versions

----------------------------------------------------------
SASL 3.16.1 (XP11.25+ support)
----------------------------------------------------------

-- Added native plugin version for Apple Silicon ARM64 processors


-- Signed/notarized macOS plugin binaries
-- Switched to LuaJIT version supporting 64bit address space and use its default
allocator
-- Changed some minor UI in widgets
-- Make ESC key unfocus currently selected command in Developer Widget commands tab
-- Added project option to call 'update' callback after XP flightmodel calculation
(default is before XP FM)
-- Added "*" mode for product serial key field in Activation Widget (Commercial
version)

----------------------------------------------------------
SASL 3.15.0 (XP11.25+ support)
----------------------------------------------------------

- Fixed possible issue with sound playback in XP12 on macOS (switched to OpenAL-
soft implementation)
- Added functions to save/load XP situations (.sit files)
- Added functions to place user aircraft at specific airport or other location
- Updated X-Plane SDK and MSVC tools used to build SASL plugin

----------------------------------------------------------
SASL 3.14.5 (XP11.25+ support)
----------------------------------------------------------

- Fixed incorrect context window header height for some cases


- Fixed unnecessary events calling for context windows in some variants
- Fixed possible case when context window not restore saved position properly due
to deferred context window creation
- Add warning for cases when context window should save its state, but window name
is not provided
- globalProperty wrapper will now use double values in case when both floating
point types are provided via dataref accessors

----------------------------------------------------------
SASL 3.14.4 (XP11.25+ support)
----------------------------------------------------------

- Fixed initial state of textures created with 'createRenderTarget' function, now


they contain transparent black as earlier (regression from 3.14.0)
- Fixed missing dependencies for Linux plugin distributions

----------------------------------------------------------
SASL 3.14.2 (XP11.25+ support)
----------------------------------------------------------

- Fixed possible regression crashes which occur in case of extensive usage of fonts
or using of 'recreateTexture' function
----------------------------------------------------------
SASL 3.14.1 (XP11.25+ support)
----------------------------------------------------------

- Fixed the order of calling 'onModuleInit' (and some other general callbacks) for
subcomponents
- Fixed distribution packages not working correctly on server (Commercial version)

----------------------------------------------------------
SASL 3.14.0 (XP11.25+ support)
----------------------------------------------------------

- Replace 'initialize' and 'initializeAll' component functions with 'onModuleInit'


function called for every component (analogue to 'onModuleDone')
- Optimize rendering code in various ways (less queries, more caching, revised
OpenGL state processing etc)
- Fixed possible incorrect clipping 1px off when drawing into render target
- Fixed a few regression issues with drawing in render targets (including drawing
not always working when AA is enabled for target)
- Fixed incorrect call to OpenGL API when destroying shader objects
- Fixed correct shutdown of drawing system in case if render targets were not
correctly restored in project's Lua code
- Fixed possible issue with capturing right mouse click when using Auxiliary click
system interface
- Fixed redundant Project Tree processing when this page is not active in Developer
Widget
- Fixed interface for using external texture spaces for fonts atlases
- Fixed drawing backgrounds for fonts with specified external texture spaces
- Fixed resetting correct render target in all cases
- Fixed possible texture memory not properly freed after call to
'destroyRenderTarget'
- Fixed redundant calls to 'onModuleShutdown' after failed check for correct .key
file (Commercial version)
- Fixed showing SASL error notification after failed check for correct .key file
(Commercial version)
- Fixed various minor issues which might occur during fonts loading/processing
- Fixed possibly incorrect kerning of fonts when auto-hinting is used
- Fixed the cases when text outlines may not appear strictly correct in some cases
- Added ability to specify hinting algorithm for font loading – 'loadFontHinted'
function
- Added ability to disable custom blending support - 'setCustomBlending' function
- Added ability to optimize drawing in multiple render targets in 'update' callback
- 'setUpdateDrawingReady'
- Removed some processing running in background when related page is not selected
in Developer Widget
- Removed unused check of audio capture device
- Removed automatic creation of 'ovrdconfiguration.ini' file, fixed possible crash
during its processing
- Make 3D primitives rendering capability disabled by default for projects (since
it's not available on Vulkan anyway)
- Optimize memory usage for vertex data used in renderer

----------------------------------------------------------
SASL 3.13.1 (XP11.25+ support)
----------------------------------------------------------

- Fixed Lua annotations for functions on C/C++ side


- Fixed possible issue with wrong 3D positional sounds location
- Fixed errors/warnings logging in cases when errors occured inside nested
C++/Lua/C++... function calls
- Fixed possible incorrect warnings in case of anti-aliasing usage for render
targets (textures)
- Fixed collecting telemetry in SASL Developer Widget when telemetry tab is not
active
- Fixed 'resetBlending' function – initial blending state is correctly reset now
- Fixed 'getElapsedMicroseconds' function result
- Added validation for created framebuffers before usage
- Added ability to not create Depth/Stencil buffer attachment on render target
creation (masking won't work in this case)
- Added ability to specify AA level for render target on render target creation,
without need to specify this parameter in 'setRenderTarget' function
- Added ability to override SASL project configuration with 'ovrdconfiguration.ini'
file (only in Free SASL version, may be useful for distributed development in
teams)
- Added improvements on logging side (fixed formatting and update logged
information)
- Added general 'log' function, parametrized with more flexible output options per
log action
- Added ability to set decoration for custom decorated context windows with
'setDecoration' method
- Added special notification window reporting Lua errors when developer console in
widget is not enabled/visible
- Added ability to draw convex geometry with per-vertex color specification
- Added ability to create separate instances of the same font file and use defined
texture region for glyphs creation
- Added functions to display dynamic information about font and display generated
fonts textures ('getFontInfo', 'drawFontTexture')
- Added 'initialize' callback for Lua components ('initialize' callbacks guaranteed
to be called right before first 'update' call)
- Added logic to prevent possible drawing calls in components before 'initialize'
and first 'update' calls are done.
- Improved text drawing performance a little bit and improved glyphs packaging
algorithm
- Set SASL_STOP_PROCESSING as default Lua errors handling policy
('setLuaErrorsHandling' function can be used to alter behavior)

----------------------------------------------------------
SASL 3.12.1 (XP11.25+ support)
----------------------------------------------------------

- Fixed possible broken XP menu layout after menu item deletion


- Fixed a few bugs related to nested XP menus creation
- Fixed artificial limit on how many XP menu items and Hot Keys may be created
- Fixed "getElapsedMicroseconds" function behavior
- Fixed a few possible crashes during Search usage in SASL Dev Widget
- Fixed possible crash after fast reloading of project and 'startProcess' function
usage
- Fixed the crash in case of attempt to destroy currently active Render Target
- Fixed possible issue with incorrect Context Windows keyboard focusing
- Added 'hasFocus' method for Context Window object
- Added cache usage for Lua scripts and modules loaded with 'include' and 'request'
function
- Added ability to force new instance of Lua module creation (for modules loaded
with 'request')
- Added ability to schedule full SASL project reboot as soon as possible (may be
used to reload the project in reaction to specific event)
- Added parameter for 'onAirportLoaded' callback indicating the number new flights
started since SASL plugin enabling
- Added ability to omit file extension when using 'include' or 'request'
- Update default SASL Context Window decoration (drawing performance and title
showing)

----------------------------------------------------------
SASL 3.11.0 (XP11.25+ support)
----------------------------------------------------------

- Fixed 'readConfig', 'writeConfig' functions (make them correctly save information


about values types)
- Fixed possible CTD in case of calling subprocess creation function on Mac OS
- Fixed the bug with broken graphics processing in case of calling SASL project
command in 2D draw callback
- Added function to save textures to files in common formats

----------------------------------------------------------
SASL 3.10.2 (XP11.25+ support)
----------------------------------------------------------

- Fixed failing 'request' function behavior in both Free and Commercial SASL
- Fixed incorrect saving of telemetry active state between project reboots

----------------------------------------------------------
SASL 3.10.1 (XP11.25+ support)
----------------------------------------------------------

- Fixed drawing components cursors in old-style <subpanel>


- Fixed possible crash in case of enabled telemetry in Dev Widget

----------------------------------------------------------
SASL 3.10.0 (XP11.25+ support)
----------------------------------------------------------

- Fixed lookup of multi-typed datarefs (for example, for datarefs provinding both
float and double, type request is how handled correctly)
- Fixed one of the Lua constants representing blending equation identifiers
- Fixed starting point of vertical text drawing
- Fixed possible crash in case of OBJ instance creation (with anim datarefs)
without controlling datarefs list
- Fixed a few buttons highlighting in SASL Dev Widget
- Fixed leftover input state and trees collapsing in SASL Dev Widget
- Fixed case where we're not checking valid graphics context before clearing
(<clearRenderTarget>)
- Fixed tracking 3D mouse position in multi-monitor configurations (this time for
sure)
- Fixed a few issues related to 3D sound usage
- Improved speed of datarefs and commands search in SASL Dev Widget
- Added full annotations for all SASL functions (api.lua) to simplify development
using IDEs, code auto-completion tools and etc.
- Added special warnings for projects, which don't explicitly configure SASL
performance related options
- Added automatic highlighting and copy-paste support for edit fields in SASL Dev
Widget
- Added ability to execute selected command with keyboard ENTER in SASL Dev Widget
- Added function to export OpenGL texture ids from SASL graphics system
- Added functional to load/save Lua tables serialized in 'ini', 'xml', 'json'
formats (<readConfig>, <writeConfig>)
- Added ability to directly specify parent component for components created outside
of hierarchy ('parent' field in function arguments)
- Added functional to run child processes in sync in async manner
(<startProcessSync>, <startProcessAsync>)
- Added correct OpenGL state restoring in case if scripts will left it wrong
- Added ability to get raw DataRef pointers from Global Properties.
- Added 'request' function for scripts, similar to standard 'require', but working
only with SASL project hierarchy
- Added simpler and faster additional interface for interpolation
(<createLinearInterpolator>, etc)
- Added ability to use newlines (\n) for messageWindow text
- Updated telemetry functional
- Updated dependencies (C++ libraries) and toolsets

----------------------------------------------------------
SASL 3.9.0 (XP11.25+ support)
----------------------------------------------------------

- Fixed tracking of 3D panel mouse position in multi-monitor configurations and


with rotational offsets applied for monitors
- Fixed bug with mouse cursor associated with 3D panel component being active after
leaving 3D panel
- Fixed configuring 3D positional sounds for Aircraft plugins
- Fixed context windows states saving and restoring, also visibily is now saved as
well
- Added Lua functions to track 3D panel mouse position - <getCSMouseIsOnPanel>,
<getCSPanelMousePos>
- Added Lua routines to save and restore OGL internal line primitives settings
- Added option to draw text vertically
- Added async variants of functions to perform data transfers from URL (Net
interface)
- Updated SASL Dev Widget UI (scrollbars, drefs & commands search, dynamic text
size, bugfixes)
- Updated SASL default cursors texture

----------------------------------------------------------
SASL 3.8.0 (XP11.25+ support)
----------------------------------------------------------

- Fixed cathing middle mouse button events for legacy pop-ups and 3d panel
- Fixed bug with attempt to render into texture, which is already freed
- Fixed SASL_CW_RESIZE_RIGHT_BOTTOM resizing mode for non-propotional context
windows
- Improved cursor showing behavior for component, more logical and convenient
- Improved windows layering (legacy pop-ups window now live in separate layer)
- Added ability to save context window state (position, active context) between
project loadings
- Added functional to work with stereographic projections
- Added ability to completely destroy context window, freeing all handled resources
(<destroy> method)
- Added function to reset timer
- Added function to create hi-res system timer (can be used to measure time within
same callback)
- Added annotations for Lua SASL interface (used for auto-completion)
- Restructured internal code related to events system, etc

----------------------------------------------------------
SASL 3.7.2 (XP11.25+ support)
----------------------------------------------------------

- Fixed usage of nested render targets in non-graphics callbacks (<update>, etc)


----------------------------------------------------------
SASL 3.7.1 (XP11.25+ support)
----------------------------------------------------------

- Fixed some unnecessary re-activation triggers on Windows OS (Commercial Version)


- Fixed irrelevant entry in the Log about error before activation (Commercial
Version)

----------------------------------------------------------
SASL 3.7.0 (XP11.25+ support)
----------------------------------------------------------

- Fixed possible CTD during automatic context window positioning


- Used other method to catch click event for additional Click System Layer in VR
- Added function to disable and enable Unicode support for the font instance
- Added new Lua callback for components on shutdown - <onModuleShutdown>

----------------------------------------------------------
SASL 3.6.5 (XP11.25+ support)
----------------------------------------------------------

- Fixed CTD on X-Plane exit in case if SASL project is a Global Plugin


- Fixed internal click system bug with HOLD and UP mouse buttons statuses

----------------------------------------------------------
SASL 3.6.4 (XP11.25+ support)
----------------------------------------------------------

- Fixed possibility of CTD on startup in Linux version


- Fixed middle mouse button event for old-style <subpanel> windows

----------------------------------------------------------
SASL 3.6.3 (XP11.25+ support)
----------------------------------------------------------

- Minor internal DRM fix (Commercial Version)

----------------------------------------------------------
SASL 3.6.1 (XP11.25+ support)
----------------------------------------------------------

- Added <drawArcLine> function


- Added functions for changing OpenGL line width and stipple parameters
- Updated arguments specification for component creation (properties are passed as
references)
- Updated <setFontBckPadding> function

----------------------------------------------------------
SASL 3.6.0 (XP11.25+ support)
----------------------------------------------------------

- Fixed drawing multi-line text with non-default alignment


- Fixed cursor management for context windows after window is closed
- Fixed some cases when incorrect functions arguments are not handled
- Fixed rendering in to target with anti-aliasing enabled
- Fixed memory issue in case of using anti-aliasing
- Fixed logging of failed command handler call, shows failed command ID
- Fixed data management for functional array-like properties (datarefs)
- Fixed possible memory leak in case of image loading failure
- Added size getter callback usage for functional array-like properties (datarefs)
- Added new text rendering mode (forcing monospacing)
- Added function for empty texture creation
- Added ability to specify font glyphs spacing factor
- Added ability to use nested masking stack and nested render targets
- Added functional for text rendering with background
- Added ability to create global properties (datarefs) as read-only
- Updated Click System layer functional
- Updated logging in some places
- Updated routines for text measurement
- Removed ability to setup cursors scale factor in Click System
- Removed some experimental text rendering modes

----------------------------------------------------------
SASL 3.5.1 (XP11.25+ support)
----------------------------------------------------------

- Fixed <globalProperty> wrapper for string datarefs


- Fixed crash after <getEnvVariable> on Mac and Linux
- Fixed setting string datarefs (non-partial setters)
- Fixed broken <getCSMouseYPos> function
- Fixed special font render modes parametrization - ratio should be used instead of
fixed value
- Fixed text measurement in case if special modes applied
- Added new mode for text drawing: with forced fixed horizontal advance
- Added new functions for fonts system (instance configurations, instance-specific
drawing)
- Partially reverted focus logic for Context Windows (fixes possible issues with
global key handlers)

----------------------------------------------------------
SASL 3.5.0 (XP11.25+ support)
----------------------------------------------------------

- Fixed possible corruption of X-Plane interface textures after textured drawing in


the Context Window
- Fixed Context Window keyboard focusing logic in different modes
- Fixed various issues with keeping Context Windows proportionality
- Fixed missing TYPE_UNKNOWN global value
- Fixed crash during rendering to texture target on initial project loading outside
of any callback function
- Fixed a few issues with functional Lua datarefs
- Fixed auto-management of Context Window position
- Fixed receiving global monitors bounds via <getMonitorBoundsGlobal> in X-Plane <
11.30
- Fixed cursor shape cut by Context Window edges
- Fixed issue with CA certificates on Windows OS during usage of <net>
functionality
- Fixed instancing of Fonts IDs - specifying different fonts options for different
fonts instances is now working
- Fixed fonts usage with outline thickness < 1.0
- Fixed a few SVG usage issues: loading, fill rules, passing SVG error message into
Log
- Fixed fonts data caching
- Fixed necessity of tuning X-Plane App Security Settings on Mac OS 10.14
- Added ability to use fixed glyph spacing mode for text rendering
- Added ability to use partial getters/setters for string datarefs (same as for
array datarefs)
- Added function for getting current Context Windows mode
- Added callback parameter for Context Window - designed to intercept various
events related to internal windowing system
- Added ability to enable VR auto-handling for Context Window
- Added ability to select MSAA level during rendering to target
- Added alternative mode for Context Window resizing - only one resize spot on
right bottom edge (only applies to windows without default X-Plane decoration)
- Added ability to separetely apply custom window decoration for base window
rectangle - in the same way as for header decoration
- Added options to alter behavior of some drawing routines related to wide lines
and convex polygons
- Added interface for managing environment variables for current process
- Added function to clear rectangular shape in current render target
- Added functional for setting various download timeouts
- Improved datarefs sub-system
- Improved <globalProperty> function, allowing to use array index notation
- Improved auxiliary click system interface
- Improved activation widget interface (Commercial Version)

----------------------------------------------------------
SASL 3.4.2 (XP11.25+ support)
----------------------------------------------------------

- Added way to invert masking logic on <drawUnderMask> call


- Fixed global key handlers - now there's additional argument which identifies the
event

----------------------------------------------------------
SASL 3.4.1 (XP11.20+ support)
----------------------------------------------------------

- Improved custom datarefs export to DRE and to Datarefs Tree in Widget - now the
export is correct
even if dataref is created after initial project loading
- Improved work with render targets - now rendering in texture is possible not only
in <draw> callbacks
- Improved type casts messages for datarefs lookup - now they're mandatory DEBUG
level messages
- Improved datarefs lookup and creation speed
- Improved texture minification filtering - using mipmaps
- Improved images loading - supporting more formats and specifications
- Fixed <sasl.gl.loadImageFromMemory> function presence
- Fixed resetting current logging level after project reboot
- Fixed broken sound system on some Linux distributions
- Fixed crash on project reboot when Functional Properties in use

----------------------------------------------------------
SASL 3.4.0 (XP11.20+ support)
----------------------------------------------------------

- Fixed a few issues with <noResize> and <noMove> options for <contextWindow>
- Remade proportional resizing in <contextWindow>
- Added ability to configure custom window header - <customDecore> option for
<contextWindow>
- Added ability to change parameters (movable, resizable, proportional) for
<contextWindow> on the fly
- <contextWindow> now saves its previous position on modes changing (pop-out, free,
etc)
- Fixed a bug with 3D panel clicks introduces in 3.3.0 version.
----------------------------------------------------------
SASL 3.3.3 (XP11.20+ support)
----------------------------------------------------------

- Fixed various issues with unnecessary re-activation requests (Commercial Version)


- Fixed <drawMaskStart> function

----------------------------------------------------------
SASL 3.3.2 (XP11.20+ support)
----------------------------------------------------------

- Fixed cache for interpolators objects


- Fixed graphics artifacts in SASL Developer widget title

----------------------------------------------------------
SASL 3.3.1 (XP11.20+ support)
----------------------------------------------------------

- Fixed various issues with unnecessary re-activation requests (Commercial Version)


- Fixed activation dialog appearance on some multi-monitor setups (Commercial
Version)
- Dump problematic path in case of <listFiles> function fails
- Fixed huge FPS drop in case of Context Windows usage in VR

----------------------------------------------------------
SASL 3.3.0 (XP11.20+ support)
----------------------------------------------------------

- Removed XP10 support


- Add support for XP11 features (multi-monitors, OS pop-out windows, VR support
etc)
- Refer to the <XP11> marks in the documentation
- Add support for using SVG format
- Updated warnings and errors dumping
- Updated SASL Developer Widget to support multi-monitors and OS pop-out mode
- Improved DRM functionality to avoid unnecessary activations requests (Commercial
Version)

----------------------------------------------------------
SASL 3.2.7
----------------------------------------------------------

- Fix various issues with unnecessary re-activation requests (Commercial Version)

----------------------------------------------------------
SASL 3.2.6
----------------------------------------------------------

- Fix various issues with unnecessary re-activation requests (Commercial Version)

----------------------------------------------------------
SASL 3.2.5
----------------------------------------------------------

- Fixed issue with huge project reboot time in case of DRE windows presence
- Fixed OpenAL issues on Mac OS with SASL 3.2.4
- Improved DRM regarding unnecessary activations requests (Commercial Version)
- Fixed <hideOSCursor> option for components on 3D panel
- Added <setRenderTextPixelAligned> function to set pixel accurate text rendering
mode
- Added info about warnings and errors log entries count (since Reboot) into
Developer Widget
- Add ability to use alpha texture as mask between <drawMaskStart> and
<drawUnderMask> calls
- Fixed <fbo> option for components
- Added new function for setting Lua stacktrace limit used in case of Warnings and
Errors
- Fixed <unloadImage> function absence
- Added default mouse wheel handler for popups (now they're not transparent for
mouse wheel action)
- Fixed error logging in case of resources lookup fail
- Returned ability to specify <position> for component as function
- Fixed some SASL virtual keys constants values
- Fixed hard crash in case of some graphics resources lookup fail during draw
routines call

----------------------------------------------------------
SASL 3.2.4
----------------------------------------------------------

- Fixed minimal Mac OS version support: 10.11 is minimum supported now


- Fixed SASL project reloading command in case if <startDisabled> option is used

----------------------------------------------------------
SASL 3.2.3
----------------------------------------------------------

- Fixed interaction with FlightFactor Acf Plugin Manager

----------------------------------------------------------
SASL 3.2.2
----------------------------------------------------------

- Fixed sound system device issue on Mac OS

----------------------------------------------------------
SASL 3.2.1
----------------------------------------------------------

- Fixed DRM issues (Commercial Version)

----------------------------------------------------------
SASL 3.2.0
----------------------------------------------------------

- Use different user instructions and interface during activation for different
project types (Commercial Version)
- Fixed floating bug with crash after initial product activation (Commercial
Version)
- Updated DRM system and fixed some issues with unnecessary activation requests on
user side (Commercial Version)
- Updated ecnryption mechanism (Commercial Version)
- Use new dependencies system, all 3rd-party libraries updated to most fresh stable
versions
- Fixed symlinks handling on Linux and Mac during <listFiles> call
- Fixed drawing wide poly-line with 2 nodes
- Functions from <sasl.net> namespace returns error messages in case of errors
- Fixed SASL widget appearing if the previous position was out-of-the-screen
- Improved usability of tree node selectors (+/-) in SASL widget
- Fixed wrong cursor appearing on buttons in SASL widgets system
- Click on SASL Widget brings it in front of all other widgets
- Fixed tracking mouse buttons with enabled OS options to swap left and right mouse
buttons
- Added defined Lua constants for key codes and virtual key codes
- Push empty Lua table instead of <nil> in case of internal errors in <listFiles>
function
- Fixed bug in external string datarefs writing (incorrect null-termination)
- Added functional to disable specific parts of SASL engine:
- Drawing in 3D - <set3DRendering>
- Drawing on aircraft panel (for non-scenery project types) -
<setAircraftPanelRendering>
- Interactivity - <setInteractivity>
- Fixed little bug in cashing inside SASL logger
- Use single low-level phase for all 3D drawings (using single pass, only non-
blended stuff)
- Remade Telemetry page in SASL Widget
- Added Lua interface for managing X-Plane Hot Keys:
- <registerHotKey>
- <unregisterHotKey>
- <setHotKeyCombination>
- Add <setLuaErrorsHandling> function to control Lua errors handling modes (keep VM
processing or stop until reload)
- Turned some warnings messages all over the functional into errors messages
- Reworked Lua logging system using Lua stacktraces on errors and warnings
- Added check for using <set> on non-property types
- Fixed crash occured when menu handler is not attached to the menu item
- Fixed a few little bugs in Menus functional

----------------------------------------------------------
SASL 3.1.2
----------------------------------------------------------

- Added Lua interface for minimal, simple and synchronous file downloading

----------------------------------------------------------
SASL 3.1.1
----------------------------------------------------------

- Fixed option for starting SASL project in Disabled mode through configuration
file
- Fixed handling errors on calling <onModuleDone> project functions
- Added project options for using advanced rendering on Aircraft Panel
- Fixed interpolation helpers

----------------------------------------------------------
SASL 3.0.4
----------------------------------------------------------

- Made activation process more verbose, more errors will be shown and described
(Commercial Version)
- Changed definitions of some graphics-related constants to be platform-independent
- Added more blending constants for consistence
- Fixed aircraft panel drawing in case of multi-pass panel rendering (we now
drawing only in Emissive stage)
- Fixed registering multiple command handlers for same command ID in the same phase
- Fixed holding OS-specific resources after plugin stop (Commercial Version,
Windows)

----------------------------------------------------------
SASL 3.0.3
----------------------------------------------------------

- Fixed showing interactive areas after project reload


- Remade button to Show ID (Commercial Version)
- Fixed HWID generation fail on some machines (Commercial Version)

----------------------------------------------------------
SASL 3.0.2
----------------------------------------------------------

- Add message about new SASL version availability on every tab of SASL Developer
Widget
- Add global Lua variable which can be used to highlight interactive areas in case
of "Show Clickable Areas In Cockpit" X-Plane option enabled
- Fixed component's dimensions inheritance from main component
- Added order changing for low level SASL windows in reaction to handled click
event

----------------------------------------------------------
SASL 3.0.1
----------------------------------------------------------

- Fixed bug with mouse tracking in case of Scenery Project outside of scenery
project bounds

----------------------------------------------------------
SASL 3.0.0
----------------------------------------------------------

- Made <Execute Command> button generate commands calling with different stages,
based on mouse button state
- Fixed hiding cursor for panel components when corresponding option is selected
- Fixed global option to use 2d panel setup
- Fixed bug with getting size of array property
- Fixed startup crash on Windows in some cases (Commercial version)

----------------------------------------------------------
SASL 3.0.0-rc4
----------------------------------------------------------

- Fix commands execution via Commands Tab in SASL Widget


- Add functions to draw wide Bezier lines:
<drawWideBezierLineQ>
<drawWideBezierLineC>
<drawWideBezierLineQAdaptive>
<drawWideBezierLineCAdaptive>
- A couple of fixes for poly-lines and convex polygons drawing
- Text positioning more smooth now
- Fixed a few bugs in arcs drawing (there was a huge bug causing hundreds
unnecessary vertices on every call)
- Logging on loading now more laconic
- Added new options for popups, which will adapt popups after any XP Window resize:
<pinnedToXWindow = { boolean, boolean }>
<proportionalToXWindow = boolean >
- Fixed text outline positioning
- Removed legacy unnecessary bitwise operations functions (<bitand>, <bitor>,
<bitxor>).
Use <bit> package functional supplied with LuaJIT.
- Fixed generating mouse hold events for right and middle mouse buttons
- Added global reload SASL commands which will reload all available SASL instances
- Made restructure for resources loading functions
- Add Lua function to load .OBJ objects asynchronously (but we need to wait for XP
11.10 out, currently there's a bug)

----------------------------------------------------------
SASL 3.0.0-rc3
----------------------------------------------------------

- Added notifications about new SASL version available (SASL Widget)


- Fixed bug with visibility of some tree expand symbols (SASL Widget)
- Fixed bug with changing current keyboard input entry during scroll bar moving
(SASL Widget)
- Added preferences saving and auto-loading for SASL Widget
- Fixed standard components table entries filtering in SASL Project Tree tab (SASL
Widget)
- Fixed bug with panel initial size selection on first project loading

----------------------------------------------------------
SASL 3.0.0-rc2
----------------------------------------------------------

- Fixed <listFiles> function for MacOS and Linux


- Fixed search paths stacking during <include> operation

----------------------------------------------------------
SASL 3.0.0-rc1
----------------------------------------------------------

- Rework Sound System functional


- Add single element array properties support - <globalPropertyiae>,
<globalPropertyfae>
- Made arcs and poly-lines drawing more accurate
- Fix unstable crash inside Fonts system
- Fix <deleteTextureDataStorage> function registering
- Remove useless and counter-intuitive <setTextureSize> function
- Fix setting and getting string datarefs (both regular and functional)
- Make <onPlaneCrash> callback called only for Aircraft project type
- Add Commands Tab for SASL Widget
- Add routines to draw rotated text - <drawRotatedBitmapText>, <drawRotatedText>
- Add <globalProperty> sim property getter with automatic type retrieving
- Fix textures memory size updating (SASL Widget)
- Add option to synchronize all widget tabs size (SASL Widget)
- Tune UI elements colors (SASL Widget)
- Fix tree nodes flickering on tab change (SASL Widget)
- Add check-box and corresponding commands for stopping and starting project
processing (SASL Widget)
- Fix appearance of TRACE and DEBUG records in SASL console tab (SASL Widget)
- Fix shared datarefs handling
- Change default components positions and sizes handling (inheritance model)
- Implemented new subpanel interaction
- Rename <onMouseClick> event to <onMouseHold> (to prevent misunderstanding of
callback)
- Implement new default components
- Remove <setLineWidth> function
- Change the way of drawing wide lines, add new routines to draw wide lines, wide
poly-lines, convex shapes with wide borders, etc
- Add alignment parameter for bitmap text drawing routine
- Optimize text drawing
- Made reload command visible before Lua initialization
- Add Lua function to get project name

----------------------------------------------------------
SASL 3.0.0-beta3
----------------------------------------------------------

- Second parameter of <setRenderTarget> is now optional (false by default)


- Fixed crash during <tables> getting from Lua, if param isn't actually a table
(proper warning instead)
- Fixed vertices dump during texture manipulation routines
- Fixed bug with getting and setting raw data to texture data storages
- Fixed entering empty strings in edit fields of SASL Widget
- Fixed dynamic Project Tree updating (now properly updates all types of nodes)
- Fixed bug with monitoring Lua memory usage in Telemetry Page of SASL Widget
- Second parameter of <playSample> is optional now
- Applied combined sort for Project Tree and DataRefs in SASL Widget (lexicographic
for string IDs, and simple for arrays)
- Corrected specifying texture parts to draw and flipped data getting from current
target
- Fix entering negative values in SASL Widget edit fields
- Fixed cursor events handling (now passing through the whole XP window system,
when needed)
- Fixes for functional properties (arrays and strings)
- Fix custom datarefs getting and setting
- Fixed cashing textures loaded from memory
- Corrected SASL Widget UI
- Memory allocation for image buffers imroved
- FBO functional improved, clipping during render-to-texture is allowed, fix
getting current framebuffer data
- <recreateTexture> function fixed
- Added <getTextureSourceSize> function to query size of source image.
- New function to destroy render target(<destroyRenderTarget>) and creation
function renamed:
<getNewRenderTargetID> -> <createRenderTarget>
- Fix for releasing graphics memory in case of textures and fonts unloading.
- Added simple validation for command and datarefs identifiers ("sim" root isn't
allowed).
- Removed "security" parameter from configuration.
- Fixed mouse events handling for 3D panel.
- Added ability to hide X-Plane cursor as option, when setting cursor for component
(boolean "hideOSCursor" field in "cursor" table).
- Added function to set texture size, associated with texture.
- Functions renamed for consistence:
<loadImageFromMemory> -> <loadTextureFromMemory>
<unloadImage> -> <unloadTexture>
- Table with 3 values now can be passed as Color for drawing routines, as well as
table with 4 values.
- Getting texture part from other texture fixed.
- Little changes for developer widget interface, it's now adjustable via
configuration file (text size, font, colors, etc).
- Message Windows now bringing to front on selecting.
- Fix for OpenAL errors checking.
- Developer widget is resizable now and brings to front on selecting.
- Allow to use NUMPAD ENTER for developer widget.
- Added function to get current X-Plane version.
- Added functional to create global key handler callbacks (not for specific
components).
- Added additional parameters for <onKeyDown> and <onKeyUp> components callbacks
(defining if Shift, Alt<Option>, and Ctrl is down)
- Fix for default draw primitives opacity handling.
- Fix for drawing textures (in case if texture drawn before other graphics
primitives).
- Fix for drawing large text (properly handled now).
- Added <onMouseEnter> and <onMouseLeave> events for components.
- Added new callbacks - <onPlaneLoaded>, <onPlaneUnloaded>.
- Fix for proper <onModuleDone> callback on project unloading.
- Popups positions now stored in "popupsPositions.txt" file and there is no errors
dump, if the file not exist yet.
- Configuration files format for projects changed, and configuration now is a part
of project, not attached to SASL plugin binary.
- Measurement function for new fonts system returns only lenght for now.
- Added measurment function for text drawn with old bitmap fonts.
- A little bit faster fonts rendering.
- Fixed default blending handling (blending state properly restores in both X-Plane
10 and X-Plane 11).
- Fixed a few logging typos.
- Changed reload command to project-specific.

----------------------------------------------------------
SASL 3.0.0-beta2
----------------------------------------------------------

- Added ability to initialize created array datarefs with SIZE parameter.


- More warnings during datarefs usage.
- Added ability to use float arrays as color parameters in drawing routines.
- Fixed right and middle mouse buttons click event handling in case if X-Plane
window is not active (Linux, Windows)
- Fixed CTD on using test drawing routines on Linux and Mac OS.
- Proper re-initialization of DataRef Tree on SASL reload.
- Popups subpanel accepts now initial visibility parameter.
- Added ability to omit last parameter for array dataref get/set.
- Fixed CTD with disabled developer widget.
- Timer-based message windows appearence fixed.
- Fixed error output on update stage.
- Fixed bug with X-Plane commands phases.

----------------------------------------------------------
SASL 3.0.0-beta1
----------------------------------------------------------

You might also like