Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.5 Beta Release Thread
#1
This thread is not for discussion, so please don't post here. It is for official 5.5 beta release information. There is a separate sticky thread for discussion.

To get across the 5.3.903 boundary (which introduced some significant internal plumbing changes) you have to first be on 5.3.2 or beyond, so upgrade to one of those first, then you can take the next step to the latest beta.

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

Latest Version: 5.4.906
Confidence Level: 90

Download Link: http://www.charmedquark.com/Web2/Downloa..._4_906.exe

The subsequent posts list changes in each beta version...
Dean Roddey
Explorans limites defectum
Reply
#2
5.4.900
  • The CIDLib assert mechanism wasn't setting the file/line of the location that invoked the assert, it was doing the file/line of the handler that was invoked to build and throw the exception, which made it hard to figure out where the assert occurred.
  • Lower the minimum 5.x firmware version check in the Elk V2 driver that it uses to decide if counter queries are supported. Move it down to 5.2, which we know is working based on user systems.
  • Make it optional for TModule to adopt the installed program logger object. This allows for things like having the facility object (or some other thing) implement MLogger and install itself as the program logger. Previously it assumed it was receiving a dynamically allocated object and it would delete it.
  • There was a bug in the old Homeworks driver client interface, which was caused by the collection maximum element stuff being removed and me not getting it fully tested out.
  • Get rid of the old RIVA system, server and client. And we have to update the installer to get rid of it there, and the app shell since it no longer runs that server, and the release image builder.
  • Look at adding support for the Honeywell TH8320 thermo to the Z-Wave driver. This is by eye, but it looks pretty conventional and should work with the existing thermostat handler.
  • The old Lutron HW client side driver will time out when you save new config and have a large number of defined items. The server side is re-doing the processor setup and query of initial field values in the context of the config setting method, because there's nothing else that's going to make those initial field value queries happen. It takes so long the client times out. Normally that stuff happens in Connect() before the driver is online. Changing that will be a good bit of work, but first just try only doing the processor setup and login stuff from Connect() and skip that on config storage. See if that reduces the time enough to make the client happy.
Dean Roddey
Explorans limites defectum
Reply
#3
  • Get rid of a couple of the wee bits of ASM left in the code base, for the rotate left/right methods, and just move those up to platform platform independent, inline code done in C++. One less thing to worry about porting. The bulk byte swapping methods are still platform dependent since they can potentially get big speedups using local hardware.
  • Now that I'm using Visual Studio Code and it has syntax checking, I need to move the UNICODE define from the compiler command line generated by the build tool into the Windows per-platform defines header, so that it's seen by the syntax checking during editing. Otherwise, the IDE sees all ASCII versions of the APIs, which are not compatible with the wide character stuff I'm sending them and it marks lots of stuff as in error when it's not.
  • The SimpleFldClient CML class didn't get the new TimedFldChange2() method documented, which allows for sub-minute resolution.
  • Now that 5.4 is out, complete the previously begun work of creating a standard CQC server framework, so as to factor out most of the grunt work of setup and cleanup that the various CQC back-end services do, plus callbacks to let them customize where needed. This will make it easier to maintain and to change how servers work in the future, and it gets rid of probably the most significant code redundancy in CQC.
  • The installer is generating some no longer needed options for some of the servers, so get rid of those.
  • Update the data, event, logic, web, event, and driver servers to use the new server framework from above. A good bit of work, but it was well worth it.
  • Fix a silly error in the our core UPnP service action invocation method. Don't know if it really ever caused any issues, but it could have. It's used pretty much for all UPnP action invocation so that we can do them all generically, so it had plenty of opportunity.
  • Re-address the IV editor's alignment stuff to support align to initial selection again, which got lost in the previous version due to complexity in catching that up to a lot of changes. We need it to act reasonably both when lasso selection is done and when manual one at a time selection is done. In the latter case it should us the first one selected as the anchor for aligns. For spacing it's always the farthest ones used.
Dean Roddey
Explorans limites defectum
Reply
#4
5.4.902
  • Add support for namespaces to the CIDDocComp processor
  • The CQC Web Server which, along with the other CQC servers was updated in the previous drop to use the new 'server framework' I created to standardize the setup/cleanup of those programs, was still using some old data of his own when he should have been using stuff from the framework. So actions invoked from within the web server could fail due to insufficient rights.
  • Move more of the raw string stuff up out of the per-platform code to the platform independent code, to help minimize per-platform work.
  • Get the build tool mostly building on Linux. Not linking yet, and there are a few stubbed out methods, but the files are compiling, which was a big step of getting the build environment set up correctly.
  • Implement 'placement' style adding of elements to the by-value collections. This makes some things more convenient to do, and you get efficiency improvements out of it as well. Instead of constructing objects just to copy them into the collection, you just construct them in place. Making use of this will be an ongoing thing.
  • A long-hiding bug in the Z-Wave driver was found finally. If we get more than one nonce backed up from a unit, the method that finds the right nonce can get hung up.
  • There's a bug in the old Lutron Homeworks (non-QS) client side driver, which causes the attempt to add new items to fail.
Dean Roddey
Explorans limites defectum
Reply
#5
5.4.903
  • The composited style on the AI's main client window got lost somewhere along the line, making things flickery when resizing and whatnot.
  • Add support for the FortezZ MIMOLite Z-Wave unit.
  • Update the binary input stream system to support pushback. This will allow us to use streams in some places where currently we can't and have to use raw buffers.
  • The sys config global tab should be using + for the 'add new' buttons, not ... which means 'select'.
Dean Roddey
Explorans limites defectum
Reply
#6
5.4.904
  • All of the media renderer drivers derive from a common class. It sets up and initializes all of the standard renderer fields. It currently doesn't create some movie oriented ones, because they may not be used in all of them. But it knows what media types the derived renderer supports, so it should create and initialize those fields if movies are supported.
  • My changing over to use my new 'emplace' style collection element insertion support caused the Layout Template attribute for CABs to be in the attribute editor twice due to leaving a stray old insertion call.
  • Add a Busy flag to the SMS driver so actions can wait lock until it's sent the current message.
  • Rework the CIDBuild project definition file to make the stuff that projects use to indicate what platformats they support simpler (and allow that same stuff to be used by various blocks within projects where we might need platform specific things like tools options and include paths. And make it just skip altogether things that aren't for the current platform being built, otherwise it tries to expand macros and such that may not be defined on the current platform.
  • Update CIDLib to support weak pointers and deleters for counted and weak pointers. Not made use of yet, but it will be eventually to hopefully good effect.
  • If you do a save-all in the AI, all of the tabs that actually save need to redraw their headers to get rid of the asterisk.
  • Finish dealing with some side effects of trying to hunker down and get the inclusive/exclusive area issues really worked out. I was making it more complicated than it needed to be.
  • A lot of work on Linux support. CIDBuild is working now and I've been able to start working on add a Linux driver for the lowest level library, CIDKernel, which provides 85% or so of the platform encapsulation. That'll be an ongoing undertaking for a bit.
  • Bump the Z-Stick's UIRT timeouts up a bit to see if it helps with some timeout issues that some folks see. I'm guessing it doesn't and that it's units not responding or some such, but we'll see.
  • Add support for the Somfy ZRTSI blinds controllers to the Z-Wave driver, just two channels initially to see how this works.
  • The in place editor window is clipping the top border line off when invoked by the tree browser (as mostly seen in the AI's tree browser pane.) This is likely due to the above inclusive/exclusive work, so we come up one pixel short on vertical size now in the popup editor window when it's sizing to the tree slots.
  • The log monitor has developed a tick after an apparent fix to something else caused it to start picking up old messages when it loads up new incoming ones. Redo it to make use of our fancy new strong/weak pointer stuff that lets us avoid the problem previously being worked around, and make it work right again in the process.
  • The event server is trying to wait for paused event monitors to stop, but they were never started. So it makes it take longer to shutdown and logs an error because the thread stop failed.
  • Have the Explore Logs tab set the time column as the initial sort column.
  • The logic server should set its fields to error state initially so that, if values can't be stored for any fields, we don't get the warning about uninitialized fields when it comes online.
  • The logic server tab would continually push the focus back to any field whose config is in error each time it was asked to report its good/bad configuration status. It should only do that when you save, not during the periodic validity checks.
  • The logic server should provide better initial setup of the per-source field expressions based on the logic server field type.
  • When you add a new field to the logic server that takes an expression, the expression oriented controls should be disabled until at least one source field has been added, and disabled again if you delete the last source field.
Dean Roddey
Explorans limites defectum
Reply
#7
5.4.905
  • Add support for Insteon leak sensors (2852-222) to the ISY V2 driver.
  • Update the SMS driver to better support throttling of msgs. It has a Busy flag now which will remain set for five seconds after sending a message. It will reject msgs if they are sent while the Busy flag is set. So use a Devices::WaitFieldValue() to wait for the Busy Field to be False before you send. If you send faster than then the modem or the target service or someone along the line will generally just ignore the message.
  • Get rid of a fair bit of per-platform code by moving the file system tree deletion stuff up to the platform independent layer, working in terms of the more basic, underlying per-platform functionality.
  • More Linux platform support work, working through more CIDKernel Linux stuff.
  • Various performance improvements using new C++ capabilities implemented lately.
  • Add a new parameter parsing mechanism that will be very useful moving forward and save redundancy.
  • The fix to make all tabs clear their 'changes' indicator when a Save All is done created an unforeseen issue where saved triggered/scheduled events get saved to the Master Server but don't get pushed out to the Event Server, so you don't see them until a system restart. This has been fixed.
  • The client service is logging too much stuff if a media repo is configured but not online. So slow it down and log less when not in verbose mode.
  • Make the time column the initial sort column for the log monitor program, as was previously done in the log explorer tab in the AI.
  • Currently the logging core stuff is synchronous and the plugin loggers can queue and spool if they want. But this prevents a lot of optimizations. So move that queue and spool stuff into the core and let the spooler derivatives just be passive, and update to take advantage of a lot of optimization with new C++ capabilities.
  • Since we don't return the special . and .. directories from the kernel layer directory searches anymore, get rid of any checking for those in the higher level code.
Dean Roddey
Explorans limites defectum
Reply
#8
  • The System::HTMLEMail and System::EMail commands are sending the target address as the subject field. This was broken during recent optimization work.
  • Make the driver wizard dialog resizable, which means adding correct anchors to all of the controls of all those panels. They were all created before that auto-resizing stuff was implemented.
  • Add the line end prompt to the 'RP6' driver. It's just a manifest that loads the generic serial trigger drive, which supports the line end type selection. I didn't originally add it because I thought the RTI just used fixed CR/LF line ends, which is the default if the prompt isn't present, but actually it can be configured on the RTI side. So might as well make the selection available.
  • Update the IDL compiler to support some move semantics on the server side for better efficiency in those cases where a buffer or string or collection is being passed in and the values are being kept. The server side has to create a temp to stream the values in, so it's always safe to move that temp into the called server side API if it's advantageous.
  • The new core server framework (from which most of the CQC servers now derive) wasn't checking for failure to get a remote interface that it was trying to get, which could cause an exception. It wouldn't fail, but it would log bogus messages because it looked like more than just we couldn't find the remote server.
  • The system config tab doesn't see changes to the driver configuration after you open it, so it will prevent you from saving changes even if you make them valid by adding missing drivers and such.
Dean Roddey
Explorans limites defectum
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  5.5 Beta Discussions Thread Dean Roddey 53 2,160 11-19-2019, 03:49 PM
Last Post: Dean Roddey
  Official 5.4 Beta Discussion Thread Dean Roddey 441 52,060 06-15-2019, 02:33 AM
Last Post: Bugman
  Official 5.4 Beta Release Thread Dean Roddey 55 9,830 06-07-2019, 07:02 PM
Last Post: Dean Roddey
  Official 5.3 Beta Discussion Thread Dean Roddey 815 168,627 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.3 Release Thread Dean Roddey 27 9,384 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 94,330 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 9,484 10-09-2017, 06:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 208,699 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.1 Beta Release Thread Dean Roddey 28 20,747 05-12-2017, 05:44 PM
Last Post: Dean Roddey
  Official 5.0 Beta Discussions Dean Roddey 2,019 508,721 11-09-2016, 04:34 PM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)