FLCL Version History
Home Up Feedback Search

Products
Order
Downloads
Support
Articles & Tips
Recommended Links
About

 
 

 
Other Links:
Delphi CodeSmith Blog  

This page contains the version history for the Fuzzy Logic Component Library.  The latest patches and updates are available on our Support Page.

Note: THE FLCL uses the RiverSoftAVG Common Classes Library.  Please see the RCCL Version History for additional details.

-------------------------------------------------------------------
January 27, 2018      Version 6.0.2
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
August 13, 2017       Version 6.0.1
        - Recompiled for RAD Studio 10.2.1 Tokyo Support


-------------------------------------------------------------------
April 2, 2017         Version 6.0
        - Added RAD Studio 10.2 Tokyo Support
        - Added Linux Support


-------------------------------------------------------------------
January 8, 2017       Version 5.9.3
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
November 6, 2016      Version 5.9.2
        - Updated documentation for the FuzzyLogic.pas unit to use the
          full power of Documentation Insight (originally, the unit
          was documented using the lite version which lacked features)
        - Updated documentation for the FuzzyInterfaces.pas unit to use the
          full power of Documentation Insight (originally, the unit
          was documented using the lite version which lacked features)
        - Updated documentation for the IFuzzyLogic.pas unit to use the
          full power of Documentation Insight (originally, the unit
          was documented using the lite version which lacked features)
        - Updated documentation for the RSFuzzyLogicParser.pas unit to use the
          full power of Documentation Insight (originally, the unit
          was documented using the lite version which lacked features)


-------------------------------------------------------------------
October 9, 2016       Version 5.9.1
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
July 24, 2016         Version 5.9
        - Reduced size of installer by removing RiverSoftAVG Common Classes Library
        - Updated installer to download RiverSoftAVG Common Classes Library as needed
        - Updated installer creation procedure to automatically generate
          version numbers and be encrypted


-------------------------------------------------------------------
June 5, 2016          Version 5.8.2
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
May 22, 2016          Version 5.8.1
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
April 24, 2016        Version 5.8
        - Added RAD Studio 10.1 Berlin Support
        - Removed Directory Exists warning from installer


-------------------------------------------------------------------
March 13, 2016        Version 5.7.6
        - Fixed Controls being grayed out in Delphi Palette when target was iOS 64-bit


-------------------------------------------------------------------
March 5, 2016         Version 5.7.5
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
February 5, 2016      Version 5.7.4
        - Recompiled because of RiverSoftAVG Common Classes Library Changes
        - Recompiled for Delphi 10 Seattle Update 1
        - Updated Faucet demo to use USFormatSettings for StrToFloat so
          that it will work internationally
        - Updated Faucet demo (FMX) to use USFormatSettings for StrToFloat so
          that it will work internationally


-------------------------------------------------------------------
January 10, 2016      Version 5.7.3
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
December 6, 2015      Version 5.7.2
        - Recompiled because of RiverSoftAVG Common Classes Library Changes
        - Fixed bug in installer which would not set the library path correctly
           for iOS64 in XE8+


-------------------------------------------------------------------
November 16, 2015    Version 5.7.1
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
September 6, 2015    Version 5.7
        - Added RAD Studio 10 Seattle Support


-------------------------------------------------------------------
June 14, 2015        Version 5.6.3
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
May 17, 2015         Version 5.6.2
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
May 3, 2015          Version 5.6.1
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
April 19, 2015       Version 5.6
        - Added RAD Studio XE8 Support


-------------------------------------------------------------------
February 15, 2015    Version 5.5.5
        - Fixed TFuzzySet.GetCompatibilityIndex method to return the
          maximum truth value (not the average)
        - Added Project Risk Demo


-------------------------------------------------------------------
January 04, 2015    Version 5.5.4
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
December 28, 2014    Version 5.5.3
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
November 16, 2014    Version 5.5.2
        - Recompiled for RAD Studio XE7 Update 1


-------------------------------------------------------------------
September 22, 2014   Version 5.5.1
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
September 7, 2014    Version 5.5
        - Added RAD Studio XE7 Support
        - Changed packages to use LibSuffix.inc exclusively (no more LibSuffix120.inc,
          LibSuffix130.inc, etc)


-------------------------------------------------------------------
July 6, 2014         Version 5.4
        - Added Appmethod (Object Pascal) Support
        - Recompiled for Delphi XE6 Update 1
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
June 8, 2014         Version 5.3.1
        - Changed code to not use "implements" keyword when NO_IMPLEMENTS
          keyword is defined; NEXTGEN and OSX (XE5) internal errors occur
          otherwise


-------------------------------------------------------------------
April 27, 2014       Version 5.3
        - Added RAD Studio XE6 Support


-------------------------------------------------------------------
March 30, 2014       Version 5.2.2
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
February 9, 2014     Version 5.2.1
        - Recompiled because of RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
January 19, 2014     Version 5.2
        - Recompiled for RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
September 22, 2013     Version 5.1
        - Added RAD Studio XE5 Support
        - Added Android Support
        - Validated library on physical Android Device


-------------------------------------------------------------------
August 25, 2013     Version 5.0.1
        - Added missing *.inc files to installer so that components can be 
          built


-------------------------------------------------------------------
August 18, 2013     Version 5.0
        - Validated library on physical iOS Device
        - Changed code to call DisposeOf on AUTOREFCOUNT, not NEXTGEN


-------------------------------------------------------------------
July 29, 2013     Version 5.0b1
        - Recompiled for RiverSoftAVG Common Classes Library Changes


-------------------------------------------------------------------
July 21, 2013     Version 5.0b0
        - Added RAD Studio XE4 Support
        - Added iOS Support
        - Dropped RAD Studio 2009 Support
        - Refactored classes to use generics versions of lists and hash tables instead
          of classes from Contnrs.pas, GLists.pas, InterfaceCollections.pas,
          Structures.pas, and GHashTable.pas
        - Refactored Packages (dpk) to use $IFDEFs with $LIBVERSION
          to create multiple compiled versions for each version of Delphi
          from the same package file
        - Renamed FuzzyLogic.dpk to RSFuzzyLogic.dpk
        - Replaced Free calls with DisposeOf for NEXTGEN compiler
        - Removed Free calls for NEXTGEN compiler
        - Added Fuzzy Ratings Mobile Demo App
        - Added [Weak] Attribute to owner objects references for
          Automatic Reference Counting (ARC) compiler
        - Removed InterfaceCollections.pas unit and redefined
          TIStack=TStack<IFuzzyStreamToken>
        - Changed TFuzzyLogicTokenStream.PutBackToken method signature to
          pass interface by const

Note: This release dramatically changed support classes in order to
      better support XE4 Mobile compiler features: Automatic Reference Counting,
      TList deprecation, and suggested deprecation of Pointer type. It makes
      heavy use of generics instead of older TList-type and TGHashTable classes
      which used pointers.  A lot of effort has gone into making the new classes
      support the same methods and properties of the old classes.  However,
      there may be changes needed to be made to your code.  Of special note:
        - InterfaceCollections unit has been replaced with RSInterfaceCollections unit
        - Contnrs.pas, GLists.pas, and GHashTable.pas have been replaced with
          System.Generics.Collections.pas or RSGenerics.Collections.pas

      The old units are still available but are not used.


-------------------------------------------------------------------
March 24, 2013     Version 4.2.1
        - Changed occurrences of #13#10 to use sLineBreak constant


-------------------------------------------------------------------
January 27, 2013     Version 4.2
        - Changed Evaluation version code allowing
          no restrictions, except only for VCL and FMX Win32/64 and
          displaying nag screen when Delphi is not running
        - Updated for Rad Studio XE3, Update 2


-------------------------------------------------------------------
November 25, 2012     Version 4.1
        - Updated Help File including changing popup links to 
          normal links and updated hierarchy topics
        - Added TFzyGetHelpEditor component editor to display FuzzyLogic component help


-------------------------------------------------------------------
September 16, 2012     Version 4.0
        - Added RAD Studio XE3 Support


-------------------------------------------------------------------
June 03, 2012     Version 4.0 EEP3
        - Updated for Rad Studio XE2, Update 4, HotFix 1


-------------------------------------------------------------------
April 22, 2012     Version 4.0 EEP2
        - Updated for Rad Studio XE2, Update 4
        - Recompiled for RiverSoftAVG Common Classes Library Changes
    - Updated readme.rtf


-------------------------------------------------------------------
March 17, 2012     Version 4.0 EEP1
        - Added Support for FireMonkey
    - Added Shower (FMX) Demo project
    - Fixed bug in Shower Demo where multiple ShowMessages would
      display until the user clicked OK when simulation failed


-------------------------------------------------------------------
December 11, 2011     Version 3.0
        - Added support for Rad Studio XE2, Win32 and Win64


-------------------------------------------------------------------
September 29, 2010     Version 2.9
        - Added support for Rad Studio XE


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

Sept 7, 2009    Version 2.8.1
        - Added support for Delphi 2010
        - Changed help file(s) from WinHelp to HTML Help.  Note that there
          is a known issue with the display to Delphi links (available with
          WinHelp but not HTML Help)


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

Jan 31, 2009    Version 2.8
        - Added support for Delphi 2009 (Final)
        - Added TIFSValues.ToString method and TIFuzzySets.ToString methods,
          which just call their owners' ToString methods, to work around
          a D2009 "implements" problem


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

Dec 21, 2008    Version 2.8B1
    - Changed Install Directory to C:\Comps\RiverSoftAVG to reduce chances
      of too long path names (on new installs to a machine)
        - Added optional TEncoding parameter to ParseXXX methods for D2009
        - Added optional TEncoding parameter to TFuzzyLogicTokenStream
          constructor for D2009
        - Added optional TEncoding parameter to TRSFuzzyLogicParser.CreateStream
          protected method for D2009
        - Added optional Encoding parameter to IFuzzyParser.ParseFuzzySet
          and ParseFuzzyVariable methods


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

Nov 23, 2008    Version 2.8B0
        - Added support for Delphi 2009
        - Changed TFuzzyLogicTokenStream.FinishToken method to use
          new IsNumberChar (RSCommon) function instead of set expression
        - Modified classes to avoid warnings about collisions with
          new methods added to TObject (D2009/.NET)
        - Changed AnsiChar back to Char, to align with D2009 fixes
          in TGTextStream
        - Changed TFuzzyLogicTokenStream.SkipInLineSpaces to use
          new GetChar method to avoid any assumptions about 1-byte characters
        - Added hack in TIFuzzySet and TIFuzzyVariable for D2009 to get
          around compiler error


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

Feb 09, 2008    Version 2.7.1
        - Recompiled to be compatible with RiverSoftAVG Common Classes
          Library 3.6.2


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

Nov 03, 2007    Version 2.7
        - Released as Fuzzy Logic Component Library Standalone version
    - Fixed TFuzzySet.Expression assignment in TFuzzySet.CreateCrispValue
          method (changed FormatFloat call to Format call)
        - Added 2 new TFuzzyVariable.AssertRule methods
        - Added TFuzzyVariable.GetCorrelationStrength
        - Modified TIFuzzySet.SetValues method to explicitly call Assign(TPersistent),
          otherwise, the RAD Studio 2007 .NET compiler was getting confused
        - Fixed TIFuzzyLogic component to parse its Strings property
          after the form is loaded
        - Added 2 new TIFuzzyVariable.AssertRule methods
        - Added TIFuzzyVariable.GetCorrelationStrength
        - Fixed TRSFuzzyLogicParser.PrettyPrint(TFuzzySet, Boolean) method
          to use FuzzySet.Expression when FuzzySet.Name = ''
        - Added 2 new AssertRule methods to IFuzzyVariable interface
        - Added GetCorrelationStrength method to IFuzzyVariable interface
    - Added Faucet Control Demo
        - Updated Help File


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

Oct 06, 2007    Version 2.6.1
    - Added RAD Studio 2007 .NET Support
    - Added RAD Studio 2007 support to installer


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

June 23, 2007    Version 2.6
    - Added Delphi 2007 support to installer
        - Fixed TFuzzyLogic.AddAutoTerms method to properly set the new
          fuzzy sets' expression property
        - Added AddAutoTerms method to TIFuzzyLogic
        - Called AddAutoTerms in TIFuzzyLogic.VariableAdded method
        - Added support for the for-in language construct in TFuzzyVariableTableEnumerator,
        - Added support for the for-in language construct in TFuzzySetValues
        - Added support for the for-in language construct in TFuzzySets
        - Added support for the for-in language construct in TFuzzyVariables 
        - Improved installer


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

Feb 8, 2006    Version 2.5 RELEASE
    - Official 2.5 release


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

Dec 11, 2005    Version 2.5b6
    - Official release for Delphi 2006


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

Nov 8, 2005    Version 2.5b5
    - Installers have had a massive overhaul
        - Compiled files are now installed to <INSTALLDIR>\Bin\W32\Dxx or
          <INSTALLDIR>\Bin\NET\Dxx and path is updated
          WARNING: BE SURE TO UNINSTALL PREVIOUS FILES WHICH MAY BE IN
          $(DELPHI)\Projects\Bpl DIRECTORY
        - Attempts to detect if evaluation or full versions are being
          installed and warns about incompatibilities
        - Smarter updates of registry
        - Added missing registry updates (Package Search Path, Namespace Search Path, etc)
    - Fixed Missing Component Icons (.NET)


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

Sept 26, 2005    Version 2.5b4
        - Changed Win32 VCL package numbers to 2.5
        - Added support to classes for interface methods that
          use underscore in order to get rid of annoying .NET hint


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

Aug 31, 2005    Version 2.5b3
        - Modified properties and added accessor methods of interfaces to
          use underscore in order to get rid of annoying .NET hint


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

July 2005    Version 2.5 Beta 2
        - Added FuzzyCorrelationNameList and FuzzyCorrelationSuffixNameList
          constants to FuzzyConsts.pas
        - Added FuzzyInferenceNameList and FuzzyInferenceSuffixNameList
          constants to FuzzyConsts.pas


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

June 2005    Version 2.5 Beta 0
        - Modified most files to:
                - Include RSDefines.inc
                - Include RSConstants.pas
                - Changed all methods and properties that use IUnknown interface to use
                  IInterface interface.  Added IInterface interface for Delphi 5 support
                - Changed all QueryInterface calls to use Supports functions.
                - Removed reference counting code for .NET (not needed)
                - Changed ToString properties to AsString and GetToString methods to
                  ToString to sync better with .NET (in which all objects have ToString
                  method)
                - Changed Tag properties to be of TRSTag type (Win32=Integer;.NET=Variant)
                - Introduced TxxxPersistent class to get around a delphi
                  compiler bug with class helpers (QC report #11019)
                - Added inherited Creates calls to constructors for
                  compatibility with .NET
                - Deleted AfterConstruction and BeforeDestruction methods (for .NET)
                - Extracted icons from DCR files to create assembly bitmap files
                  for design-time icons in .NET
                - Conditional compiled IUnknown methods (_addref, _release...)
                  because they are not needed with .NET
        RiverSoftAVG Fuzzy Logic Component Library
                - Modified IFuzzyLogic.pas
                        - Added LOTS of methods to TIFuzzySet because .NET does not support
                          "implements" keyword
                        - Added LOTS of methods to TIFuzzyVariable because .NET does not support
                          "implements" keyword
                        - Changed hash table pointer references to use TRSPointerType
                        - Had to resurface TFuzzyStreamTokenList methods because of
                          Delphi.NET compiler bug (QC report #)
                - Modified FuzzyLogic.pas
                      - Changed VerifyAll protected method to use TFuzzyStreamTokenTypes
                        instead of TIntegerSet (needed for .NET) and changed all calls
                        to VerifyAll
                      - Changed overloaded constructors to NOT call other constructor
                        (not supported well in Delphi.NET)
                      - Moved EFzyException to FuzzyConsts
                - Modified FuzzyConsts.pas
                           - Moved some constants to RSConstants.pas
                           - Moved EFzyException to FuzzyConsts and inherit from ERSException


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

January 2005    Version 2.14
        - Updated for Delphi 2005 (Win32)
    - Modified source files to work with .NET (Incomplete)
    - Renamed GCollections package to RSCommon package for Delphi 2005 ONLY

    Known Issues (Does not affect IECS):
            Fuzzy Calculator: very hot or cold works but hot or cold does not
            Var Editor Frame is incomplete


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

June 2004    Version 2.13
        - Fixed bug in setting TIFuzzyLogic.Strings property at design time
        - Fixed the TFuzzyLogicTokenStream to use its xxxChar properties
          correctly (was using constants instead sometimes)
        - Fixed parsing error in ParseFuzzyVariable and ParseFuzzyVariableIntf
          where last close parenthesis would be incorrectly put back
          onto token stack
        - Correctly set TIFuzzyLogic.ItemClass property in constructor
        - Finished Help File

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

May 2004    Version 2.12
        - Added ItemByName property to TFuzzySets and TFuzzyVariables objects
        - Added SUnknownFuzzyVarName and SUnknownFuzzySetName resource
          strings to FuzzyConsts unit
    - Fixed installers (wasn't properly copying the packages)


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

March 2004    Version 2.11
    - Installation script is much smarter about managing the different Delphi versions
        - Moved TFuzzySet.Defined property to published visibility
        - Set Defined to True if design time
        - Improved Help File
        - Reintroduced FuzzyOperatorMinThreshold into TIFuzzySet (caused
          access violation)
        - Fixed TCustomFuzzyLogic.Strings property to properly update
          itself when the underlying fuzzy variables have changed
        - Added ToString and ValuesToString properties and GetToString and
          GetValuesToString methods to TFuzzySet
        - Added ToString property and GetToString method to TFuzzyVariable
        - Moved TFuzzySet.Defined property to published visibility
        - Set Defined to True if design time
        - Added UpdateStrings method to TCustomFuzzyLogic
        - Overrode UpdateStrings method in TFuzzyLogic
        - Fixed Parse method in TFuzzyLogic (actually the code for UpdateStrings)
        - Added Parse and ParseFuzzyLogic methods to TCustomFuzzyLogicParser
        - Fixed Parsing error for s and z functions in CalcFuzzyFunction
          method of TCustomFuzzyLogicParser
        - Added DefuzzifyValue property and CreateCrispValue to IFuzzySet interface
        - Added ParseFuzzyLogic protected methods
        - Fixed Bug in PrettyPrint of fuzzy variables
        - Included FuzzyHelper.pas in Fuzzy Logic Installation, needed for some
          demos
          Known Issues:
                - Design-time setting of fuzzy sets could be better

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

January 2004    Version 2.1B
        - Added FuzzyLogicReg file and Icon
        - Added TCustomFuzzyLogicParser component
        - Added RSFuzzyLogicParser unit, with TFuzzyLogicTokenStream class and
          TRSFuzzyLogicParser component
        - Added FuzzyHelper unit
        - Added const keyword to sender arg of TIFuzzySetEvent
        - Moved Defined property from TIFuzzySet to TFuzzySet base class
        - Moved Defuzzify method from TIFuzzySet to TFuzzySet base class
        - Added TFuzzyStreamToken and TFuzzyStreamTokenList classes to IFuzzyLogic.pas
        - Added IFuzzyStreamToken and IFuzzyStreamTokenList to FuzzyInterfaces.pas
        - Added CreateFuzzyName(BaseHedgeType, ModifyY, Expression) function
        - Added Parsing error resource strings
        - Added TFuzzyStreamTokenType and TFuzzyStreamTokenTypes
        - Fixed FormatFuzzyExpression to use brackets instead of parentheses

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

May 2003    Version 2.02
        - Last Version of Fuzzy Logic bundled solely with IECS
 

Send mail to webmasterNO@SPAMRiverSoftAVG.com with questions or comments about this web site.
Copyright © 2002-2018 RiverSoftAVG
Last modified: January 27, 2018