*************************************
*    Draw User Texts - CHANGELOG    *
*************************************

-TODO / KNOWN bugs-
Improve: [DUT] Possibility to insert texts in planes other than world XY
Add: [AA_AddNames] command to create part names automatically
Update: [UserDoc] Add recommandation with link to use "section tools" plugin with OTL
Update: [UserDoc] Add information about the 'GroupingMethod' option
Update: [UserDoc] [TomKod] Add common information about the new installer system
Fix: [TomKod] Installer should check Rhino's availablility at start and disable options if needed

>-------
v1.1.2 (01 July 2021)
Fixed: [OTL] Instead of looping through Doc.objects to look for partIDs, loop through doc.Objects.GetObjectList(ObjectType.Curve)
Changed: [OTL] 'ExtendPartIDToGroup' boolean option replaced by a multiple choice option 'GroupingMethod'{None, PartID, RhinoGroup, Both}
Removed: [OTL] Min & Max values set for numeric options (Offsets, lengths...) 
Fixed: [DUT] Bug when a layer has been deleted between two uses of the command
Fixed: [OTL] The layer picker in'Layer'='OtherLayer' always returned the document's first layer
-------<

v1.1.1 (17 june 2021)
Fixed: [DUT] The selected output layer wasn't saved between two calls of the command
Fixed: Installation issue with the yak package (Should be renamed and re-uploaded for Rhino7)
Fixed: [DUT] The drawn text's color source should always be "FromLayer" instead of copying the curve's color source
Added: [OTL] Option to complement PartID's grouping with rhino-groups ("ExtendPartIDToGroup")
Added: New windows installer with update/uninstall features

v1.1.0 (04 may 2021)
Fixed: [TomKod] logo updated
Fixed: [TomKod] Display error in commandline feedback "Online activation required before 00:00:00" (Date should be shown instead of Time)
Changed:[TomKod] Internal module "RhinoFunctions" reorganized
Fixed:	[TomKod] Help button text updated on activation form to target TomKod Server URL dynamically
Added:	[TomKod] Tooltips in license activation form
Fixed: Yak package will be built with a "win" argument, and status changed from release candidate to commercial
Fixed: 'PlugInDescription' tags in AssemblyInfo
Changed: [TomKodCommons] Code restructured to use TomKodCommons API (v1.0.2) instead of files shared between projects
Fixed: Null exception (Err#NullEx001)
Changed: UserTextGeneration module moved to TomKodCommons

v1.0.5 (17 dec. 2020)
Fixed: Bug where DrawUserTexts_License command opened DrawUserTexts_About instead
Fixed: [DUT] Some texts were sent far away when trying to slide them along the original curve (Domain.length <> curve.length)
Fixed: [DUT] When the selected curves belong to a group, the created texts should not be added to the group
Added: [OtL] Option to customize the reference attribute
Improve: [OtL] Automatically try to match any usertext key ending with the default Reference Attribute Key ("Reference")
Fixed: [DUT] [OtL] "Marine structure workshop failed with code: 4186"
Fixed: [DUT] [OtL] Bug where the annotations where computed several times.

v1.0.4 (11 dec. 2020)
Fixed: [TomKod] Crash when there is no internet connexion and no TomKod license certificate (*.TkLic)
Fixed: [TomKod] Display refresh bug when a TomKod license certificate is picked
Fixed: [TomKod] License validation form should not accept spaces (" ") in email textbox
Fixed: [TomKod] The waiting form should be closable, in case in fails to close itself
Improved: [TomKod] Activation form UI revisited with tabs
Fixed: [TomKod] Offline license certificate was not always read
Fixed: [TomKod] TomKod about template should give the actual license status and not every messages from the license system.
Fixed: [TomKod] CommercialLicenseStatus.data.expire_date is a string, CommercialLicenseStatus.ExpirationDate should be used instead
Fixed: [TomKod] Offline period should be based on "EncryptedOfflineLicense" class
Fixed: [TomKod] Bug with Unset plugin status, which was considered as a Beta instead of a commercial release
Fixed: [TomKod] Implement a plugin license status, and use it in _About abstract command
Fixed: [TomKod] Several license activation failure scenarii
Fixed: [TomKod] Waiting form (Floating progress bar) display should be refreshed on value update
Changed: [TomKod] New version of the activation form, with more feedback and options.
Added: [TomKod] Possibility to desactivate a license from the license activation windows (License not tied anymore to the computer)
Added: [TomKod] Support for offline activation files (*.TkLic)
Added: [TomKod] Possibility to make the licenses floating - Enabled by default (License are released when Rhino is closed)
Added: [TomKod] Common template for every TomKod command (Abstract class)
Tested: Plugin compatibility with Rhino7
Added: [DrawUserTexts_License] command
Fixed: [DUT] Texts vertical alignment was wrong in preview
Fixed: [OtL] "AddReference" option should have a default value when the reference is missing
Fixed: [DUT] LeaderMinimumOffset minimum limit was set to 150, and leader horizontal line had a fixed length of 200. (Needs to consider the scale)
Fixed: [DUT] Crash when the user cancelled the option to select a layer
Fixed: [OtL] "AddReference" option fails
Added: Keywords for yak package

v1.0.3 (22-10-2020)
Improved: Plugin logo added to yak repository.
Added: "DrawUserTexts_About" command
Improved: [TomKod] Use a common abstract class for TomKod plugins
Added: user guide in Tomkod Wiki-> https://wiki.tomkod.com/doku.php?id=start:plugins:drawusertexts:drawusertexts-usermanual
Added: Commands contextual help (Rhino's help panel) linked to Tomkod's wiki

v1.0.2 (08-17-2020)
Added: Support for Yak repository

v1.0.1.0 (07-10-2020)
Fixed: [license system] In case of sql connexion failure, don't show repeated messages
Fixed: [license system] In case of sql connexion failure, display the domain that should be whitelisted through the firewall
Fixed: [license system] Waiting form icon
Changed: [DUT] Command Scripted mode won't be used as debug mode anymore
Changed: [DUT] When an attribute is missing, displays "???" in preview mode
Fixed: [DUT] [OtL] Changing text height or font impacted all texts in document
Fixed: [DUT] [OtL] Both command failed when curves were pre-selected (Nothing happening/no options showing)
Fixed: [OtL] Command crashed on OnDynamicDraw() when SelectedGroup Is Nothing
Improved: Code structured in regions for GetOutlinesAndArrows()
Fixed: [OtL] Wrong Outline orientation. Center of oriented bounding box will always be used for non linear curve groups.
Fixed: Inside a group, CurvesLongBorder2 minimum length were hard coded to 50. Instead we will use 1/3 of CurvesLongBorder1 total length
Fixed: Issue with duplicated Main Curves in result
Fixed: Possible wrong offset point orientation when longuest curve were not linear 
		and the bounding box's center point were outside the group's closed curve.
Fixed: For non-rectangular groups, the orientation point should not be targeted by CreateArrow() to pick the side.
		Instead, offset the curve at a close distance and check the intersection with the arrow's lineCurves.
Fixed: Possible mis-detection for a group's longuest curves when they are not linear (Not along the bounding box's borders)

v1.0.0.5 (04-27-2020)
Changed: Minimum Rhino version requirement set to v6.15
Fixed: Bug where some required forms were sometimes in background

v1.0.0.4 (03-19-2020)
Added: [license system] A "Status" attribute to make the plugin free during Beta and Release-Candidate versions
Removed: [license system] Deprecated licenses table system
Changed: [license system] Security fix for special offline licenses
Changed: [license system] Improved error messages in case of activation failure

v1.0.0.3 (02-21-2020)
Added: Automatic check for updates every week
Changed: Command "AddAnnotationFromUserText" renamed "DrawUserTexts""
Changed: Commercial license check will only be needed once every 24 hours
Changed: Commercial license can be used offline 7 days after each valid online activation

v1.0.0.2 (02-19-2020)
Added: [license system] TimeOut for network communication (1s/3s)
Added: [license system] FallBack values for GetProductStoreID()
Fixed: [license system] Error message should be displayed in foreground
Added: [license system] Display a license validation progress form
Added: [license system] Help button on license activation form

v1.0.0.1
Added: [license system] Support for TomKod floating licenses (Command "TK_SetLicenseMode" to set the license mode from rhino)

v1.0.0.0
First release