Version .9 changelog

From QB64 Wiki
Jump to navigation Jump to search

AUTOMATIC VERSION UPDATES IMPORTANT: QB64 V0.91 users onwards do not need to download ANY Updates! Simply click on the QB64 FILE menu's UPDATE command (if QB64 hasn't already detected the new version) to download newer versions. You can allow or block automatic updates in the Options Menu. Enjoy, Galleon NOTE: Some auto-updates may take longer! Please allow them to finish completely. The Help menu About will tell which version of QB64 is currently running. The included Readme.txt file is also updated with the current version improvements. All QB64 versions after Version .94 will contain the full MinGW C++ compiler. Note: QB64 is currently being converted to Open GL graphics. When fully implemented, DLL files will no longer be required. Latest Update April 20, 2012 V0.954 Specific =============== -Implements the '_MEM' memory variable interface for safe, fast, raw memory access [1] -Patch applied for SHELL "consolecommand >somefile" in Win7 Professional (previously didn't work) NOTE: This version is the last SDL version and will be updated as required until GL is fully incorporated. V0.953 Specific =============== March 10, 2012 -New commands added to allow the use of a console window and hide or display the main program window: $CONSOLE _CONSOLE OFF/ON _DEST _CONSOLE $SCREENHIDE $SCREENSHOW _SCREENHIDE _SCREENSHOW -Codes can now be sent by END or SYSTEM in a program. END return_code SYSTEM return_code -The SHELL (function) and _SHELLHIDE function can return the END or SYSTEM code sent. return_code = SHELL("myprogram.exe") return_code = _SHELLHIDE("myprogram.exe") -A couple of bugs addressed V0.952 Specific =============== February 26, 2012 -First automated symultaneous multiplatform release of QB64 across Windows, Linux & MacOSX -Some bugs addressed -Simple console usage added. A console window will now appear briefly when the IDE is run. V0.951 Specific =============== February 18, 2012 -Implements a range of important bug/incompatibility fixes but no new functionality (see the bugs/incompatibilities forum for details) V0.95 Specific === Primarily implements significant improvements to the IDE: 1/18/2012 -IDE is ~2x faster at checking programs -Recently opened files list -Bulk comment and uncomment -Saved code bookmarks for navigation -ASCII chart (and value of cursor's ASCII character shown) -Quick search field ═0 along with a ↨ list of things recently searched for -CONTROL+left/right arrow to move between words of text in code -Double click text in a single line text field to clear it -Copy (CTRL+C or CTRL+INS) and paste (CTRL+V or SHIFT+INS) into/from single line text fields -Mouse wheel scrolls lists (such as file lists in the open box) -Can press keyboard keys to jump through list items (before it just gave the first one or in some cases didn't work at all) -View/open/edit/save files with any extension, not just .BAS -Backwards searching (SHIFT+F3) -When a code error is reported in the IDE you can click on the 'ON LINE 1022' part of the message (which is now highlighted) to jump to that location in your code -HOME key now toggles between the absolute left hand side (like before) on the first press and the first indented character of the line -Help system: -Linked to WIKI -Cached for speed but can be updated on request -F1 for help about a keyword (or symbol) the cursor is currently on in your code -Navigation ribbon for moving forward and backwards between recently viewed help pages -Typing a word quickly finds links on help pages (useful on large index pages) -Fully keyboard and/or mouse browsable -F6 to transition between help window and code window _SCREENIMAGE now supports four screen position parameters to get a portion of the desktop. _CONTROLCHR OFF sets all ASCII control characters(0 to 31) as text characters. ON resets. V0.94 Specific === September 10, 2011 Large Download will take about ONE HOUR through auto-update ! Download full MinGW C++ compiler V0.942 ZIP file update here for faster download! NOTE: After installing Version .94, Update to Version .942 from File menu! -DECLARE LIBRARY significantly improved: -_OFFSET integer variable type and _OFFSET (function) implemented for the storage of pointers and offsets which varies across systems/implementations and will grow in the future. -DECLARE CUSTOMTYPE LIBRARY, allows you to override the required types and use the variable types you want, provided they are the same size -DECLARE STATIC LIBRARY, for specifying static linking over shared library linking -Added DECLARE LIBRARY support to MacOSX & Linux including library versioning -SHELL _DONTWAIT and _SCREENIMAGE implemented in MacOSX & Linux -_FILEEXISTS and _DIREXISTS functions added to check for file & path existance -'Go to line', 'undo' & 'redo' added to IDE -Many bugs fixed, refer to bugs/incompatibilities forum -.'\internal\temp\recompile.bat/.sh/.command' batch/script file now autogenerated on run to investigate C++ compilation issues when they arrise -Note: Windows version of QB64 now distributed with the full (not stripped down) version of the MinGW C++ compiler. Update to v .942 after download and installation of v .94! V0.936 Specific =============== June 26, 2011 -Implements the QB64 device interface which can handle joystick, keyboard and mouse input in a common way by referring to buttons, axes & wheels: -New commands added: _DEVICES, _DEVICEINPUT and _DEVICE$ See: Example usage _AXIS, _BUTTON, _BUTTONCHANGE, _WHEEL, LASTAXIS, _LASTBUTTON, _LASTWHEEL -Implemented QBASIC's STICK, STRIG, STRIG(n) and ON STRIG(n) functionality: Example usage -Fixed problem with _CONNECTIONADDRESS returning 'localhost' IP (external site this function relied on changed their procedure). Will add optional $ suffix next release! V0.935 Specific =============== May 27, 2011 -Improvements to _MAPTRIANGLE -Clipping bugs which caused program to crash fixed -_MAPTRIANGLE _SEAMLESS ... option added so common edges aren't drawn twice, affecting alpha dependent results -Limits (-16383 to 16383) on coordinate positions imposed, as this is a software mapper for speed reasons it has some limitations -_SETALPHA fixed (was broken by syntax checking upgrade) V0.934 Specific =============== -Fixed the critical problem which made the IDE freeze/crash after a period of usage (Depending on the OS and RAM, the period could have been as short as a few minutes!) -Improved support MacOSX (Note: V0.933 was a Mac only version released via a link in the bugs/incompatibilities forum) -New command added: _MAPTRIANGLE Calling syntax: _MAPTRIANGLE (10,10)-(10,20)-(20,20)[,sourceimage] TO (10,10)-(10,20)-(20,20)[,destimage] What does it do? It texture maps a triangular region from the source image onto the destination image. What's supported: -8bit, 32bit, _CLEARCOLOR and _ALPHA Notes: A software mapper, but an extrememly fast one. Could easily be used to make an image rotator V0.932 Specific =============== This is an essential update which corrects problems added by V0.931 naming restrictions! -Implements a totally revised set of rules governing name restrictions which offers far greater QBASIC compatibility than V0.931 -Reports as yet unimplemented QBASIC commands as 'not implemented' when you try to use them -Bugs/Incompatibilities: -Indwelling $INCLUDE problem fixed -DELETE key after mouse click issue in IDE corrected -Phantom errors' after correction of an invalid sub/function argument declaration in IDE fixed Syntax for an off screen GET has changed to require a color parameter after the array name. V0.931 Specific ============ If you have this version PLEASE UPDATE to V0.932! -Implements robust syntax checking into all parts of the QB64 compiler: -Naming restrictions -Reserved name restrictions -Duplicate name restrictions -Checking for incorrect syntax -Checking all types match correctly for SUB/FUNCTION calls -and much more... -Minor bug-fixes/improvements [0.927] February 27, 2011 _SNDRAW interface added along with _SNDRAWLEN and _SNDRATE. (See Multiplatform improvements: -Linux/MacOSX: Pop-up box on runtime errors -Linux/MacOSX: _CLIPBOARD$ uses OS's clipboard, very useful in QB64 IDE for cut/copy/paste operations -Linux: DELETE key now works correctly -MacOSX: Apple(Command)+X/C/V/A also supported in IDE -MacOSX: CTRL+BREAK now works (CTRL+F15 on keyboards without a designated 'break' key) -(Linux too?)/MacOSX: TIMER now begins on the correct value, before it always started on the same value which also made RANDOMIZE TIMER do nothing! Bugs/Incompatibilities: -Severe memory leak related to GET/PUT fixed [0.926] January 30, 2011 NOTE: This version reduces the size of QB64 compiled EXE files by as much as 44%! The minimum compiled EXE size has been reduced from 875 KB to 495 KB. Newly implemented QBASIC commands: KEY ON, KEY LIST, ON KEY(n)..., KEY(n) ON/OFF/STOP, KEY index,string$, etc PALETTE USING New commands added to QB64: _SCREENMOVE newwindowxposition,newwindowyposition _SCREENMOVE _MIDDLE 'center window on desktop mywindowxposition = _SCREENX 'set window's desktop position mywindowyposition = _SCREENY _MOUSEMOVE xoffset,yoffset 'moves the mouse cursor myosinfo$ = _OS$ (See Critical bugs fixed in: PRINT USING - EOF - handling of NOT operator - passing multiple arrays to functions KILL - READ - Other minor problems addressed There is a new menu item in the 'Options' menu called 'About' which will tell you which version of QB64 you have. After this update it will say 0.926 V0.92 Updates October 17, 2010 [0.923] DECLARE LIBRARY command added to allow for calling functions in external libraries ( [0.923] Various minor bugs/incompatibilities fixed [0.922] QB64 IDE can now use codepages, select them in the options->language... section. Note: A .TTF font MUST be in use to see the results. [0.922] New command: _MAPUNICODE unicodevalue TO asciivalue 'Maps UNICODE codes to ASCII values for purposes such as simulating codepages [0.922] New command: unicodevalue=_MAPUNICODE(asciivalue) 'Returns the UNICODE code that the ascii value is currently mapped to [0.922] Linux version updated [0.922] Significant bugs/incompatibilities corrected, including: -corrections to the passing of UDT members by reference -fixed memory leak in _FREEIMAGE (as _FREEIMAGE is called internally by QB64 for SCREEN management, it also affected some programs not calling _FREEIMAGE) -corrected mismatch in dimension count of multidimensional arrays passed to functions -corrections to the implementation of the FIELD statement (for other bugs/incompatibilities addressed, refer to the forum) [0.921] Various bug fixes and patches applied to V0.92 V0.92 Specific October 4, 2010 -Significant improvements to the QB64 input system have occurred primarily for multilingual and multiplatform reasons: i) The new _KEYHIT and _KEYDOWN functions can be used to monitor key press/release events/states. These also return UNICODE (UTF32) codes when UNICODE characters are entered. ii) IME support added to facilitate entering Japanese, Chinese and Korean characters. Note: The font CYBERBIT.TTF is free for non-commercial use and is now included in QB64. It is only required to facilitate input via IME and not loaded unless the user switches to an IME input system mode. QB64 also locates several fall-back fonts under circumstances when 'cyberbit' is not present, therefore it is unnecessary to distribute this font with your programs. iii) QB64 now maps the UNICODE input of characters which appear in the CP437 extended range(128-255) to their correct character. This means characters with umlauts and other international characters now appear correctly when using INKEY$ iv) QB64 emulates scancodes based on what a stock-standard 101-key keyboard might return. Scancodes are language/platform specific, so this change means programs which do use INP will work as expected on all platforms. -Support for the FIELD statement added. -Some bugs/incompatibilities addressed but others will be corrected over coming weeks via automatic updates. (See the bugs/incompatibilities forum for further information) V0.91 Updates August 22, 2010 -The DATA folder (and its contents) are no longer required. You may delete them when/if you wish. -Various bugs & incompatibilites addressed (of note: FREEFILE, FIX, INT, INPUT, INCLUDE) -Improved syntax checking -Removed blank pixel lines occurring between box drawing characters when using .TTF fonts 7/8/2010: -FILES command implemented V0.91 Specific -Primarily implements the QB64 auto-updater. QB64 now checks for and applies updates to QB64 automatically or according to the update options you specify in the IDE. V0.9 Specific July 11, 2010 (Linux users must now run the batch/script file '' to build/setup/install QB64) -Primarily updates Linux pure 64-bit support -C++ components have been overhauled to be 64-bit compatible (affects all versions of QB64) -Further bugs/incompatibilities fixed (see forum for details) -Samples have been checked for Linux compatibility (eg. case sensitive filenames)

See also:

Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page