Skip to content

v3.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 09 Jan 15:35
· 766 commits to main since this release

Enhancements

  • #46, #98, #250, #265, #272 - Added support for opening HTTP and HTTPS requests using _OPENCLIENT(). - @mkilgore
    • Feature is current unstable and requires $Unstable:Http to use.
    • On Linux and Mac OS this functionality requires libcurl to be installed.
    • HTTP(s) connections are opened using _OPENCLIENT() and generally work the same as the existing TCP/IP streams.
    • See the Wiki page on Downloading Files to see a complete overview of this functionality.
  • #28, #279 - Added _SNDNEW(frames&, channels&, bits&) function which can be used to make new sound buffers of a predetermined number of frames. - @a740g
    • The created sound buffer can be accessed using _MEMSOUND() to write sound data to it, and then played like any other sound.
  • #232, #279 - Sounds can now be opened from memory using _SNDOPEN(sound$, "memory"). - @a740g
    • The string provided to _SNDOPEN() in this case is not a filename, but instead contains the actual sound data that should be loaded into the new sound buffer.
  • #280, #279 - Added support for playing Amiga AHX and HVL audio files. - @a740g
    • They are played using _SNDOPEN() like any other audio file.
  • #261 - The IDE's new open file dialog will now remember the previous directory it was open to. - @SteveMcNeill
  • #264 - The error line color in the IDE is now configurable. - @SteveMcNeill

Bug Fixes

  • #252, #276 - Wiki will now be downloaded using the new HTTP support, curl is no longer needed. - @RhoSigma-QB64
  • #254 - _FONT settings that are invalid now produce an error rather than segfaulting. - @SteveMcNeill
  • #256, #258, #266, #267 - Fixed the command line compilation output when using some commands like $NoPrefix. - @mkilgore
  • #256, #257 - When compiling from the command line, the exe is now always located relative to the provided source file path. - @mkilgore
  • #234, #260 - Programs now wait for GLUT to be properly initialized before starting. - @mkilgore
  • #66, #270 - GLUT commands are now always executed on the correct thread. This fixes issues where some programs would randomly crash. - @mkilgore
  • #262, #233 - $IF checks involving VERSION now correctly compare all segments of the version individually. - @SteveMcNeill
    • Previously VERSION was compared as a string, which would have caused incorrect comparisons when the version numbers get larger.
  • #275 - Reduced the number of times nm is invoked to resolve Declare Library functions. - @flukiluke
  • #166, #279 - _SNDRAW is now fully implemented for the miniaudio audio backend - @a740g
    • The OpenAL audio backend is likely to be removed in the next version of QB64-PE.
  • #166, #279 - PLAY(n) now returns the number of sound samples left to play from PLAY, SOUND, or BEEP. - @a740g
  • #167, #279 - The timing of SOUND and PLAY calls were improved so that they wait for the sound to finish playing. - @a740g
  • #186, #279 - SOUND and PLAY now generate mono sound, reducing memory usage. - @a740g
  • #217, #279 - The N command for PLAY now plays the note in the correct octave. - @a740g, @mkilgore
  • #282, #284 - The long start-up time for QB64-PE programs has been fixed, there should no longer be a delay before the QB64-PE code starts running - @mkilgore
  • #281, #284 - A use-after-free bug was fixed in some of the buffer logic for the HTTP code - @mkilgore

Full Changelog: v3.4.1...v3.5.0