1.7.20210108-dev
- support for OpenGL & Vulkan Renderer on TPF2 Windows Beta 31499 (not compatible with old versions)

1.7.20210105-dev
- support for OpenGL & Vulkan Renderer on TPF2 Windows Beta 31408 (not compatible with old versions)
- add inspector window using tpf ui
- add menu to commonapi button in tpf ui
- tpf ui wrapper changes: 
-   autorebuild ui if uilist changes via stepfn
-   support changeonenter
-   use id as caption failback
-   TextInput set inital text
-   Use protected pcall for fireEvents (so errors won't quit the game)

1.6.20201231-dev
- Enable disclaimer in error messages again
- Fix translation missing in native code
- Fix commonapi.dmp error in sol type metatable mt.pairs function
- commonapi.dmp metatable reduced output when mt.__name or mt.__type.name is found

1.6.20201226-dev
- support for OpenGl & Vulkan Renderer on TPF2 Beta 31379
- In Vulkan Render: AltGR + c will disable rendering hook for perfomance tests
- Warning: This version only supports TPF2 Windows Beta 31379!

1.6.20201220-dev
- add commonapi.rerequire
- support for OpenGl Renderer on TPF2 Beta 31340
- Warning: This version only supports TPF2 Windows Beta 31340 in OpenGL mode!

1.6.20200729-dev
- fix: "CommonAPI2 UI waiting for Menu" was shown after savegame

1.6.20200728-dev
- disabled steam_29596_1 to test failback system. Please use buildoverwrite on mainmenu: steam_29596_1
- native: reduced debug output of dll
- disabled style_sheet, using style_sheet crashes build 29596 going back to mainmenu and open ug console
- added new commonapi.ui.inspect(uguielement|"id") command to dump whole UI trees (works only in tpf lua threads)
- added mainmenu access to commonapi settings via text button
- added fake window functionality for mainmenu code
- unified code for ModSettingsWindow
- changed the way commonapi.ui works, depending on lua thread use either commonapi ui or tpf ui
- add support for resizeable window with scrollbar into tpf ui wrapper
- add gog_29596_1 as known good version
- changed autoloader, only load known good modules, fixes problems with commonapi.something tab complete in ug console
- hide internals from commonapi object

1.6.20200721-dev
- Native: Always show lua errors in LUAObject::initCommonAPIState on stdout

1.6.20200717-dev
- fix and enable LINE_DESTINATION for Windows Build (experimental!)
- add steam_29596_1, steam_29596_2
- add steam_29485_1, steam_29485_2, steam_29571_1 steam_29571_2 to known good
- Native: Use static getInstance instance for console
- Native: Fix small leak of memory in lua fs code (only while loading)
- Native: Try to free memory in LUASharedData when game quits to improve leak searching
- Native: Hook TPF2 SDL_Quit call to run GUI_Teardown, improves leak searching

1.6.20200630-dev
- Add code to stationhelper allowing toggling mod tracks with automatic track modules for modular stationadapter
- TPFUI: Replaced ui button
- TPFUI: Remove elements properly when rebuilding window
- TPFUI: Add element ids
- Fix: Linux Steam Build 29433

1.6.20200627-dev
- Windows only build
- Use getBuildNr for loader, don't load native with unknown version
- Add build overwrite setting, so new builds can be added
- Fix: Windows Build 29372, Build 29433
- Fix: inspect.lua, don't crash with userdata
- Fix: don't crash in utils._t if language can't be found
- Duplicate ModSettingsWindow to be used with ug ui
- Internal: Start of render nativeui uilist with UGs api.gui toolkit

1.6.20200623
- Complete mod removed

1.5.20200622
- Anti-Crash Dummy release, native code removed as told so via telephone

1.4.20200620-dev
- Fix: GUIBridge_Render error: invalid key to 'next', events can indirectly change ui._windowlist
- _modmm: Use native paths to 7zip and system rename, try to avoid double slashes

1.4.20200619-dev
- Fix Windows Build 29372
- Fix minor Version
- Don't log imgui.NextColumn() problems

1.4.20200618-dev
- Fix Windows Build 29331
- Fix Linux Build 29231

1.4.20200616-dev
- Mod download window, add filter function
- Bump known good version to Build Windows 29231
- Remove script fix for mod FileFilter filtering

1.4.20200614-dev
- Modlist export/import and dependency management only works in the advanced game settings window.

1.4.20200611-dev
- New: Mod download window
- upgrade imgui to 1.76 table branch, add table ui elements
- workaround crashes in imgui bridge code when window is minimized
- Fix linux version number can't find testing tpf version

1.3.20200607-dev
- Use Steam overlay for steam links

1.3.20200606-dev
- load commonapi2.init via dofile in strings.lua, move version check to init routine

1.3.20200522-dev
- Fix: crash with commonapi2_gamescript.lua without native code
- Fix: scanDirsShell for CommonAPI2 Lite

1.3.20200520-dev
- Support TPF2 Windows Build 28962 testing
- New: Big fat error message if the Build isn't testet
- Add different code paths for testing build 28962, modDescs in UI::ModDataProvider has different size
- Fix: required mods by steamid not found, even when they are subscribed 
- Big Warning: Linux version not tested yet
- Steam release

1.3.20200517-dev
- Fix: Modlist import can't select local/mods, by extending commonapi.mods with a internal _realmodid
- New: userdata dumping to commonapi.dmp / inspect.lua
- New: Error message when more then one native dll is loaded
- Start of support for TPF Windows Builds with new Linker options
- Fix a lot Linux fragments for testing version. Line Destination / Entity system still not fixed

- !!! This is a development version, heavy usage of DEBUG messages if loglevel is debug. Windows only release !!!

1.3.20200510-dev
- Support for TPF Build 28772 (Steam testing branch)
- Replaced internal UserProfile access to ModRep and GetLanguageCode by build specific helper functions
- Upgrade to dear imgui, v1.76
- Fix glyph loading for Japanese and other languages (initial loading times could be a bit higher)
- Move Line Destination window into the commonapi game thread, add reset button
- LINE_DESTINATION: Use first stop as failback. 
- !!! This is a development version, heavy usage of DEBUG messages if loglevel is debug. Windows only release !!!

1.3.20200503-dev
- Rebuild internal lua system via LUARef objects, should stop CommonAPI2 accessing lua states from different threads
- SyncObject, set self.data = data after syncing
- onchange event for UI TextInput
- New LINE_DESTINATION Code
- Add new setting enablelinedestination (restart of game required, default true)
- New lua commonapi game thread
- Add commonapi.supports(string) function/module
- !!! This is a development version, heavy usage of DEBUG messages if loglevel is debug. Windows only release !!!

1.2.20200407
- Fix crash with heavy concurrent access to stdout.txt by using mutex
- Refactor code for ModList handling, don't call lua in render state but while constructor/destructor runs, should reduce race conditions
- linux build with active luasocket
- Add FileFilter fix so staging_area and userdir/mods won't be filtered by region settings

1.1.20200325-dev
- console, new tab complete code, should fix numeric key problems
- add luasocket (note: needs activation by settings)
- add local mod install
- fix UI FileDialog folder level can't be changed when path ends with slash

1.1.20200313-dev
- remove railroadCrossings code hotpatch (fixed by UG)
- update windows build to use SDL 2.0.8

1.1.20200309-dev
- Tweak ui perfomance, don't scan all elements for events, record events in table
- Replace flat rendering method with tree rendering for certain ui elements
- Add repository download code for transportfever.net mods (requires installed curl, included in windows 10 >=1803, Linux: apt install curl)
- Add mod upgrade code by using download (Requires 7z in C:\Program Files\7-Zip, see 7-zip.org for install, Linux: apt install p7zip-full)
- Bundle lua library dkjson
- Use marshal to convert repository json to .m file for faster load speed
- Upgrade imgui bindings
- Add tab elements to ui

1.1.20200125-dev
- don't compact and compress track list
- fix missing path to mod script folder while preloading files

1.1.20200109-dev
- ModListWindow should only be called on valid window object.

1.1.20200108-dev (Linux test version)
- use ttf fonts for other languages (untested)
- linux: disable menu modlist code, no usable fragments found yet
- linux: experimental build

1.1.20200104-dev
- use FileDialog for modlist loading and saving
- linux: add getGamePath via /proc/self/exe
- linux: fix user profile fragment

1.1.20200103-dev
- fix fileFilters filtering railroadCrossings mods (code hotpatch)

1.1.20191231-dev
- add order support to mod list settings window
- add initial height to mod list settings window for creating scrollbar

1.1.20191225-dev
- add new syncing code using native, sync repositories
- do preloading via native ui code until lua only variant is found
- enable uiparameter module, use combobox for entries
- native: fix crash with not found mod in modlist code (ModRep::GetModDir crash)

1.1.20191223-dev
- don't run ui code in TPF lua states
- use native shared data to find currently loaded mods
- resize ModListWindow, split column settings and deps
- uiparameter.modify*, don't replace ui element if selectionlist is passed and result would be empty
- fix native: CGame::CGame Hook needs to fake modlist state variable so sorting will work correctly and deps can be resolved correct
- native: give shared data own locking, should fix deadlocks
- native: CrashDebugger: port file tracing and enable menu CrashDebugger again
- native: Update Dear ImGui to 1.73

1.1.20191221-dev
- native: port to TPF 27594 Build
- native: port Modlist handling, don't use assembler code
- native: add better error message for fragments
- native: start port to Linux (unfinished, still broken)
- native: add lua state rename functionality
- trying a build with less debug output

1.1.20191215-dev
- native: add syncing data between lua states code via lua-marshal
- replace translate2 with own version checking if getTextRes exists
- add syncing between repositories (currently not working)
- disable hooking (crashes game)
- don't try to load CommonAPI2Native.so (unfinished)

1.1.20191213-dev
- add stationhelper.toggleCatenaryRow and toggleTrackRow 
- rework getText some text functions

1.1.20191208-dev
- add new module stationhelper

1.0-dev
- use commonapi2 script folder while keeping commonapi interface
- native: allow several LUA States at same time in Console
- native: disable most code (defunctional)
---- CommonAPI2 Port 

1.11.20191025-dev (Windows only)
- fix: Modlist import should not overwrite already enabled mod with new load order, UI::GetNumActiveMods crashes
- fix: add entityId again into vehicle callback (backward compatible fix)
- fix: Garbage collecting material commonapi-3d at LogoRep creation time, should fix crash when reloading a game

1.11.20191015-dev (Windows only)
- new: 3d texture support for material PHYSICAL_NRML_MAP_CBLEND_DIRT_LOGO: map_logo = "commonapi-3d/<path in texturesdirectory>/" 
(default.tga in directory is required)
- new: garbage collecting material commonapi-3d
- new: with vehicle mapping code for logo textures
- new vehanimations.getLineName(data) to get current line data (temporary until better code is written)

1.11.20191002-dev
- new: color attribute in animation callback
- new: logo string attribute in animation callback (let you change logo texture on PHYSICAL_NRML_MAP_CBLEND_DIRT_LOGO material by vehicle)
- braking changes: entityId -> id to be compatible with game.interface.getEntity
- new: line and stopIndex in animation callback

1.10.20190929 
- new: age (in months) attribute for randomized vehicle animations
- fix: debug.getinfo while loading mod.lua could see commonapi loader, resulting in eat1963_track_package_1 overwriting commonapi settings.lua

1.9.20190922 
- added entityId to vehicle animation data
- new: randomized vehicle animation for linux

1.8.20190920-dev (Windows only release)
- new: randomized vehicle animation now controlled by lua
- new: new commonapi.vehanimations.add(mdlname, fn) interface with vehicle animations enabled

1.8.20190914-dev
- new: make conditional code patching possible (settings.lua)
- new: randomized vehicle animation switchable by settings.lua enablenewanimations (default enabled)
- experimental menu: allow selecting default animation via random animation slider
- sync open & close random vehicle animation (except trains)
- add linux support for random animation,

1.8.20190902-dev (Windows only release)
- new partial console autocomplete via tab (won't work with array [] syntax)
- add new experimental feature: Disable country street to city street convert
- add new experimental feature: Randomized vehicle animation

1.8.20190823-dev
- fix: don't crash with nullptr entries in street repository access and backup functions

1.7.20190721
- *nix: listdirs.sh don't use readlink -f, first resolve directory via pwd -P, then call find. (faster, macOS friendly)
- This version should support preloading files on macOS (no native library support), thanks momocat
- Steam release

1.6.20190717
- fix: don't crash with nullptr entries in track repository

1.5.20190714-dev
- fix: call applyFileFilters while preloading files otherwise repository data is invalid.

1.5.20190630-dev
- fix: utils.getFileData broken since 20190627, screws up repositories
- fix: disabling native dll loading will result in a lot _native loading dummy calls
- internals of _commonModifyParam (used by modifyTrackCatenary) changed, report when obj returns no repository entries

1.5.20190627-dev
- utils.getFileData: use protected calls when trying to get data
- mods: load strings.lua via utils.getFileData preventing crashes
- mods: allow missing strings.lua and mods.lua (no warning about missing file)
- mods: add config to package.path while loading mods and strings.lua
- if Mod in UI::ModDataProvider is not found, try to enable non tpf mod without version nummer postfix
- Change internal event system, addEvent third parameter needs an unique string

1.5.20190522-dev
- fix CrashDebug: vehicle cargo goes crazy with Steam Version, 
- CrashDebug: Last seen transport vehicle model name at crash ()
- CrashDebug: Use Ringbuffer and show last 20 files loaded by TPF only at crash
- Add TPFMM check, don't load binary component when in TPFMM

1.5.20190421-dev
- disable SetupLUA error message for TPFMM compatibility
- hook TPF Assert for better CrashDebug functionality
- add new CrashDebug hook for stream file open

1.5.20190407-dev
- fix Console not scrollable,
- added Console autoscroll checkbox
- fix Russian translation by nagor
- fix CommonAPI Settings dialog missing translation ingame
- added CrashDebug functionality (windows only)
	Shows memory locations of Mesh pointer and adds output to CreateTriangleMesh

1.4.20190331
- Use only one texture for Lato Font 
- Add cyrillic subset to font glyphs
- Add internal switch to different fonts:
  Support Japense, Thai, Chinese font glyphs. 
  (full game restart required, note the Chinese font loads a lot glyphs!)
- added Russian translation by nagor
- Steam release

1.3.20190324
- Fix UIWindow usage in ui.msgbox
- Add new menu entry "Settings" "More..." 
- Don't use TPF ModRep::GetModDir with missing mods by checking UI::ModDataProvider::field_0x50
- Missing mods won't be added to modlist export
- Add header to activemodlist.lua export, complete mod list as text
- Add debug verbosity setting

- refactor commonapi.mods
- refactor commonapi.settings
- refactor commonapi/ui/modsettings.lua


1.2.20190310
- Native UI 
	WARNING: The internal ui system changed
	uielement.onclick changed parameters (item, container)
	commonapi.ui.UIWindow is now commonapi.ui.Window
	checkbox will fire click event
	won't fire click event on window when uielement is clicked
	add visible attribute
- Update doc
	commonapi.ui interface description
- Mod Settings Window, support subtype = integer for mod setting number type

1.2.20190228-beta
- Native ui
- Mod Settings Window close after save
	use float as default numeric input
	fix translation when other mod is loaded already
- Add mod list export import function
- fireevents now uses pcall
- Native 
	can be disabled via eis_os_commonapi_1/settings.lua
	allow lua to change commonapi ui scale (saved in settings.lua)
	add function to change modlist

1.0.20190217-dev
- refactor commonapi.mods
	use new moddb table code allowing accessing aliases
	merge code 
- crash early when there is more then one commonapi version and show proper error message
- rewritten commonapi.init so commonapi is local until init() routine
- emulate _ when in init phase
- add mod version to stdout.txt modlist
- fix Mod Settings Window exports mod settings.lua with data function
- Native
	add mod check routines to new game mod list
	hide debug messages
	enable linux build again, yay!
- change version to 1.2 and call it beta


1.0.20190205-dev
- don't load ui/modsettings.lua without ui (will crash)
- fix: mod strings.lua missing can't be loaded
- mods: load inactive mods to detect inactive mods properly
- Native
	fix crash with ModList destruction, broken ptr compare
	fix linux asm relocation (still no linux build yet)

1.0.20190204-dev
- check mod.lua info requireMods
- add version to modentry
- Native
	fix windows steam hooking CheckSnapPointCurve
	fix windows steam hooking CheckSnapPointSlope
	add nasm to toolchain
	compile lua with c++ throw support
	add commonapi lua runtime in main menu
	add modsettings window
	add modlist hook
	add modlist error window
	add mod dependencies window
	add ui checkbox, columns

1.0.20181231-dev
- Native
	change ui layout for StreetTrackToolbox
	fix render crash when changing graphic settings
	add console history (up/down)
	add ui translation support
	add lua function to read userprofile language

1.0.20181226-dev
- Native
	fix lua state missing after game save (keep first active lua state)
	hook code slope and curve snappoint routine (thank you patch)
- Native ui
	rename Label.name to caption
	uiwindow.width, uiwindow.height added
	use ui scale factor in lua code
	add reloading code
	
1.0.20181223-dev
- Native UI
	switched from key to ids in ui (To clarify it's not compatible with UGs UI Code)
	New ui scale factor
	Add float and int input ui element
	Known bugs:
		Disable slope and curve check doesn't work anymore
	Update imgui to 1.66b
	
1.0.20181219-dev
- Native Code
	Add new render thread hook
	Add new native ui (api not stable yet!)
	Add stdout.txt / lua console
	Patch creation routine, maxrange now 2500
	
1.0.20181211-dev
- Native Code
	support thank you patch
	
1.0.20181118-dev
- Native Code
	Update imgui to 1.65
	
1.0.20181101-dev
- Native Code
	always use runtime c++ stdout
	code refactor

1.0.20181031-dev
- Native Code
	fix Windows maxslope

1.0.20181028-dev
- Native Code
	StreetTrackToolbox
		Add new slope function
- Native Code Linux
	fix TPF Repo destructor

1.0.20181024-dev
- Native Code Linux
	port FS functions 
	found compatible build flags
	fix crashing lua
	add TPF Repo

1.0.20181014-dev
- bump minor version to 1
- commonapi.dmp uses bundled inspect.lua, so it's always available
- detect OS by package.cpath
- fix library loading on linux 
- Native Code
	Start of linux version

1.0.20181007-dev
- Native DLL
	Alt-GR + C toggles CommonAPI Menu
	StreetTrackToolbox
		convert speed to m/s
	(internal) find code section position and size via PE Header parsing

1.0.20181003-dev
- Native DLL
	add follow short jmp to fragmentsearcher
	find streetbuilder_maxCurvatures vector in memory
	
	StreetTrackToolbox
		add disable curvation checkbox to StreetTrackToolbox
		change street eambankment setting aswell
- add own todo list

1.0.201809xx-dev
- Native DLL
	repository code converted to c++ template
	new StreetTrackToolbox window
	add StreetType restore code
	Code Refactor

1.0.20180722-dev
- Native DLL
	add stdout.txt flush call
	add TrackType restore code

1.0.20180717-dev
- Native DLL
	add AltGR + C Hotkey for CommonAPI Menu
	change render path, inject at tooltip drawing, fixes bug with mouse cursor

1.0.20180713-dev (internal)
- Native dll
	add GUI Library
	add CommonAPI Menu 
	enable construction window patch
	add mini interpreter for search and patching
	add tracktype repository hook
	add ui access to tracktypes
- fix missing string: setting_filterstreets_desc

1.0.20180527-dev
- Add native dll for Windows
	determine TPF Build version
	add basic hook for CGame
	disabled construction window size patch
- add conditional loader for dll
- utils.scanDirs use nativefs, huge speedup
- better compactEntries (support anything between braces)
- add filter for streets
- add repository subdirectory scanning
- add basic support for street types (default, usa)
- filter airport streets

1.0.20171021
- UI:
	compress ui, reduces ui size for duplicate names.
	Autoremove km/h in names, as speed is displayed already
- Steam: Add translation support for mods in workshop and staging
- settings.lua
	compressui setting
- stdout.txt
	repository preloader shows how many files to load and when done.
	show details about detected game language
	current ui settings

1.0.20171007
- Steam workshop path bugfix

1.0.20171003
- uiparameter objects
	Bugfix: use catenary as default
- internal: fix data.info.modid
- added modmanager preview image
- first workshop release

1.0.20170930
- new api: settings
- new commonapi.version
- filters:
	visibleInUI filters now at 1850
	(internal) new function filtering by filtertracks
- settings.lua support:
	filtertracks = "lua patterns separated by ;"
- uiparameter objects:
	new addFilter method
	added StreetSelector (unstable)
	internal: add filtertracks filter to TrackSelectors
- uiparameter new function:
	createStreet
- mods new function:
	getById
- mod.lua parsing
	Add new data.info.modid setting, so steam workshop mods can be found by mods.getById by regular name
- internal: change modentry
- internal: repo.getEntriesFiltered, break loop early if filter returns false
- internal: don't show mods found by hook (less output to stdout.txt)

1.0.20170924
- uiparameter objects
	createUIParams will create entries depending on year.
	(To keep index stable across years, non matching entries get empty names)
- uiparameter new functions: 
	uiparameter.replace
	uiparameter.modifyTrackCatenary
- track repository
	add hack to change order: standard.lua, high_speed.lua
	(should allow to use the track upgrade tool)
- stdout.txt
	disable commonapi preloading lines
	
1.0.20170912
- First alpha release