It is currently Mon Jun 26, 2017 3:33 pm



Welcome
Welcome to rfobasic

You are currently viewing our boards as a guest, which gives you limited access to view most discussions and access our other features. By joining our free community, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content, and access many other special features. In addition, registered members also see less advertisements. Registration is fast, simple, and absolutely free, so please, join our community today. **You are not required to provide truthful information to any registration questions. Be whomever you wish to be.!


Post new topic Reply to topic  [ 9 posts ] 
Author Message
 Post subject: Version v01.89 released
Unread postPosted: Wed Dec 30, 2015 12:34 am 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
I bet you thought it would never happen! I was pretty sure it would never happen! But it did!

Version v01.89 is up on BinTray.
It is on its way to the Google Play Store. If it is not there yet, it will be soon.

You can download the new version by clicking this link.
There are release notes here to tell you what's new, and for the whole story view or download the updated manual, De Re BASIC!.

Here are the release notes, mostly copied from BinTray. I hope they are complete. Please post if you know of something I missed.
We fixed some bugs that were new in v01.86, v01.87, and v01.88.
The big news for this release is the modifiable Paint. A few of you may also like the (now documented!) App.start and App.broadcast commands.

I'm sorry, I did not get enough testing done to include mougino's fast variable look-up. That is not Nicolas's fault! I used his changes as an excuse to make a really big change to the way BASIC! handles variables. But I'll talk about that when I cut the first test build, v01.89.01, coming soon to a forum near you.

Quote:
Fixes
  • Since v01.85(!), any GPS.Open with the optional second and/or third parameters caused a hard crash.
  • New in v01.88: Any hard keyboard change, e.g., connect or disconnect USB or Bluetooth keyboard could cause a hard crash.
  • The optional colons used in Sensors.open were being treated as command separators.
  • Label lines are not cached unless they are executed. Early caching by the preprocessor masked syntax errors.
  • Editor: Disabled hardware-accelerated graphics in the Editor and Editor->Search screens. This prevents display errors on some devices.
  • Editor: Corrected an error in "Save and Run" that caused it to save in the directory last viewed in the the Load screen.
  • New in v01.88: an Input or Select Dialog opened just after a GR.close could attach to the GR screen and die with it.
  • Fn.Def does not allow duplicate parameter names.
  • Position after text.open for append is 1, per manual. This has been broken since v01.86. (Position after byte open for append is size of file plus 1, also per manual.)
  • Fixed the data parameter of the AM.Start (now App.Start) command.

Known bug
  • Do not Undim arrays in interrupt-handling code. This action may get a Runtime Error, depending on where the arrays were created.

Enhancements
  • Editor: the menu order is different for devices before and since Honeycomb.
  • Preferences: added more choices for Editor menu items that can move to the Action Bar.
  • The "Empty console color" Preference is also applied to Select.
  • Added Manifest permissions so the installer can create shortcuts.
  • If Font.Load can't load a font file, it returns -1 instead of stopping with a Runtime Error.
  • Added Array.fill command.
  • Added Byte.read.number and Byte.write.number commands.
  • Byte.read.byte can take a list of zero or more numeric parameters.
  • Byte.write.byte can take a list of zero or more numeric parameters followed by zero or one string parameter.
  • Text.readln can take a list of zero or more string parameters.
  • Added a Paint pointer parameter to all commands that can create a Paint, so they can modify one instead.
  • Added Paint.copy and Paint.reset commands.
  • Changed AM.Start/Broadcast to App.Start/Broadcast. Added these previously-undocumented commands to the manual.
  • Extended the (undocumented) Debug.stats command to show control stack counts.

The changes are described in more detail in De Re BASIC!, the user's guide and reference manual of BASIC!.
There is more information on GitHub, Issue #195

- Marc


Top
 Profile  
 
 Post subject: Version v01.89.01 released
Unread postPosted: Wed Dec 30, 2015 2:06 pm 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
Test build version v01.89.01 is now available on BinTray. (View on BinTray)(Download from BinTray.)
I've also put a copy on Paul's FTP server. (Download v01.89.01)

I put standard release v01.89 on the FTP server, too. (Download v01.89)(Download manual for v01.89)
I understand that some people have had problems with BinTray's redirected download links.
At the same time, I deleted all old versions from the FTP server. I intend to use only BinTray is for archiving binaries.

What? Already a v01.89.01? What's wrong?

Yes, there is already a v01.89.01, and there's nothing wrong with v01.89 (at least, nothing I know about yet!). v01.89 and v01.89.01 should look exactly the same to you, except that v01.89.01 will run some of your programs on some of your devices faster. Some of the much faster, like 5x (but don't count on that! That result came from a somewhat contrived test, lots of variables and nothing else.)

You know that's (mostly) because Nicolas found a way to speed up variable name look-ups using a binary search. His change was not in v01.89, but it is in v01.89.01. I have combined it with a nearly total re-write of the variable management in BASIC!.

The good:
- Faster variable searches.
- Faster function start-up.
- Lots of gooey object-oriented goodness.
- Arrays. Oh, my, arrays. So many changes. Less storage, faster operations. But the best part is that when you delete an array (Array.delete or UNDIM), the storage is released. All of it. The variable name still exists, but the array storage is gone. (Me? Excited? Well... yes.)

The bad:
Quote:
3 files changed, 1538 insertions(+), 1313 deletions(-)
That much change needs a LOT of testing. I did not have time to do that much testing before releasing v01.89. Even if I did all that testing now, I'd probably miss problems.

That's what v01.89.01 is for. If at all possible for you, I ask all of you to run your favorite programs with v01.89.01.

I've run a lot of stuff, including some advanced stuff like GW_demo. I predict that one of you will find a serious bug in v01.89.01 with the first program you run. Maybe I should run a contest.

Have at!

Thanks.

- Marc


Top
 Profile  
 
 Post subject: Re: Version v01.89.02 released
Unread postPosted: Fri Jan 08, 2016 10:02 pm 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
Test build version v01.89.02 is now available on BinTray. (View on BinTray)(Download from BinTray.)
I've also put a copy on Paul's FTP server. (Download v01.89.02)

Your testing is finding bugs. Thank you, I counted on you, and you delivered.

Test build v01.89.02 fixes bugs. If they survive user testing, the fixes will be included in the next release. These comments are copied from BinTray:
  • Crash (since v01.83): ASCII() or UCODE() function with sufficiently complex expression in the index argument.
  • Bug (v01.89): GR.CLS now preserves your Current Paint and Working Paint. (Was resetting both to default.)
  • Bug (v01.89.01): Array assignment with same array on both sides of the equals sign works. (Was reading and writing the same element.)
  • Bug (v01.89.01): GR.TEXT.SKEW now displays skewed text correctly. (Was either not displaying the text or displaying it without skew.)

- Marc


Top
 Profile  
 
 Post subject: Re: Version v01.89.03 released
Unread postPosted: Thu Feb 11, 2016 4:09 am 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
Test build version v01.89.03 is now available on BinTray and Paul's FTP server.
The download links: on BinTray and on the FTP server.

I'm sorry, have not yet written any release notes. However, you can get a brief summary of changes from GitHub Issue #207, where I'm accumulating changes for v01.90. Some changes don't show there because they are fixes for bugs that are new in v01.89.01 or v01.89.02. I'll get more description when I can.

- Marc


Top
 Profile  
 
 Post subject: Re: Version v01.89 released
Unread postPosted: Thu Feb 11, 2016 5:37 pm 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
Here's what I put in the BinTray Release Notes for v01.89.03:
  • Crash (since v01.84): GR.GET.TYPE with a numeric return variable.
  • Bugfix (new in v01.89): BYTE.READ.BYTE wrongly returning signed values.
  • Bugfix (new in v01.89): to Editor Load wrongly starting in "source/Sample_Programs".
  • Bugfix (new in v01.90.01): passing scalar by value to recursive function calls corrupting caller variable.
  • Enhancement to Editor Save: dialog shows correct path "source" after load from "source/Sample_Programs".
  • Enhancement to RANDOMIZE(): argument is now optional, same as 0.
  • Enhancement to GR and HTML: support same reverse orientations as Preferences.
  • Enhancement to GR.GET.TYPE, GRABURL, GRABFILE: on certain errors return testable value "" and set GETERROR$() string.
  • Enhancement to SENSORS commands: add Step Detector, Step Counter, and Geomagnetic Rotation Vector.
  • Enhancement to SOCKET.MYIP: option to return multiple IP addresses and count of IP addresses.
  • Enhancement to SQL.NEXT: option to return multiple columns' data in a single array, with column count.
  • Enhancement: improve timing when GR.OPEN or GR.ORIENTATION change the screen orientation.
  • Enhancement: commands that create an array can overwrite an existing array.
  • New function IS_NUMBER(): returns true if VAL() would not cause an error.
  • New command ARRAY.DIMS: returns the dimensions of one array in another array.
  • New command SCREEN: returns information about screen rotation and dimensions in all modes. [NOTE: This will be renamed in v01.89.04!!]
  • Retraction: A bare variable on a line is no longer a valid statement. (Not backward-compatible.)
  • Infrastructure: Build to API 20 (KitKat+).


Top
 Profile  
 
 Post subject: Re: Version v01.89.04 released
Unread postPosted: Fri Feb 12, 2016 11:45 pm 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
[quote="jMarc"]Test build version v01.89.04 is now available on BinTray and Paul's FTP server. I put an interim PDF manual in both places, too.

The download links:
apk on BinTray
Manual on BinTray
apk on the FTP server
Manual on the FTP server

Changes:
- Remove the new SCREEN command, replacing it with two others: SCREEN.ROTATION and SCREEN.SIZE.
- Editor -> CLEAR: mark the buffer clean (as if saved) to avoid dialog before Editor -> LOAD or another CLEAR.

- Marc


Top
 Profile  
 
 Post subject: Re: Version v01.89.05 released
Unread postPosted: Sat Mar 05, 2016 7:59 pm 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
Test build version v01.89.05 is now available on BinTray and Paul's FTP server.
The download links: on BinTray and on the FTP server.
I did not release an updated manual for v01.89.05, but the 1.89.04 manual on BinTray isn't too far off.

There are release notes on BinTray. There is a brief summary of changes since v01.89 in GitHub Issue #207, where I'm accumulating changes for v01.90. Some changes don't show there because they are fixes for bugs that are new in v01.89.01 through v01.89.04.

Here's what I put in the BinTray Release Notes for v01.89.05:
  • Fix crash when Gr.Poly list is cleared or changed to have an odd number of coordinates.
  • Fix "UNDIM in Interrupt" bug introduced in v01.89.
  • Fix bug: single-line IF with function after ELSE was causing syntax error.
  • Add commands VolKeys.ON and VolKeys.OFF. (Nicolas Mougin)
  • Extend SW.CASE to allow list of values. (Nicolas Mougin)
  • Extend SW.CASE to allow operators <>, <=, >= (single value only). (Nicolas Mougin)
  • User function always overrides built-in function with the same name.
  • Minor Edit -> Clear bug, not setting Saved.

This is very close to what will be in v01.90. Thank you for all your help catching bugs in v01.89 and especially in v01.89.01.

- Marc


Top
 Profile  
 
 Post subject: Re: Version v01.89.06 released
Unread postPosted: Sun Mar 13, 2016 9:52 am 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
Test build version v01.89.06 is now available on Bintray and Paul's FTP server.
The download links: on Bintray and on the FTP server.
There are release notes on Bintray. Here's what they say:
Bintray wrote:
Test build v01.89.06 fixes bugs forum users caught while running recent test builds. That's what test builds are for!

Special thanks to @JeffKerr, whose GraphicControls framework is one of the best examples around of programming in BASIC!, and a perennially great bug-catcher.

  • Fix crash (from v01.89.01) on zero-length variable name.
  • Fix bug (from v01.89.05) when switches are logically nested. That is, a GOSUB routine or a user-defined function may contain a switch, and that routine or function may be called from inside another switch.
  • Unfortunately, we can't upgrade to "recent" versions of Android until we can accommodate the Chromium-based WebView. We tried it in v01.89.03, but this build is back down to API 18. BASIC! runs on all versions of Android from FroYo through Marshmallow, but it does not take advantage of all the features available.

This is even closer to what will be in v01.90. Thank you for all your help catching bugs in v01.89 and especially in v01.89.01.

- Marc


Top
 Profile  
 
 Post subject: Re: Version v01.89 released
Unread postPosted: Thu Mar 24, 2016 3:06 am 
Offline

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2802
Location: Colorado, U.S.
With apologies to you all, I have put test build version v01.89.07 on Bintray and Paul's FTP server.
The v01.89.06 was badly flawed and should have been replaced immediately, but I got sick.
Nothing serious, but still debilitating. I have not done any BASIC!, not even reading the forum, for a full week.

This new version fixes the SW commands broken in v01.89.06.
One little bonus: you can nest switches now. Not just indirectly, through GOSUB or user-defined functions, but also directly, one switch inside another.
That's it, no other changes.

The download links: on Bintray and on the FTP server.

This is another huge delay in v01.90. Intended in February, it will now be pushed out into April.

- Marc


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
suspicion-preferred