Table of Contents

Acuit Pinpoint 6 Change History

Newer

See Acuit Pinpoint 7 Change History

6.229.27 - 2022-12-22

Workstation

  • Fix: Revert BREAKING CHANGE in version 6.227.61-alpha that caused stations that work with preassemblies to stop working with Acuit Pinpoint Server versions earlier than 6.227.61-alpha. Now, as long as the assembly scan is not setting the production group or sequence number, the older UnitScannedViaComponent2 API will be used.
  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.Data.Sqlite, System.Text.Json

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, Microsoft.AspNetCore.Authentication.Negotiate

Developer API

Server API

  • Now UnitScanned/UnitScanned2/UnitScanned3/UnitScanned4 allow null modelNumber parameter when it is not required.
  • Removed obsolete SetActiveSettingsXml API.

Acuit.Pinpoint.ResourceManagement Package

  • Now references Microsoft.Data.Sqlite 7.0.1

6.229.6 - 2022-12-01

Workstation

  • Fix: Potential crash (since v6.227.78-alpha) while exiting:

    System.InvalidOperationException: Collection was modified; enumeration operation may not execute.

  • Fix: Potential crash or inconsistent behavior (since v6.227.78-alpha) when accessing Acuit Pinpoint tables.
  • Some internal components were upgraded for incremental performance and reliability improvements: SQLitePCLRaw.bundle_e_sqlite3

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Serilog.AspNetCore

Developer API

Acuit.Pinpoint.ResourceManagement Package

  • Now references SQLitePCLRaw.bundle_e_sqlite3 2.1.3

Acuit.Pinpoint.ResourceManagement.Abstractions Package

  • Fix: ResourceChangeToken and DelayChangeToken will no longer throw ObjectDisposedException when RegisterChangeCallback is called.

6.229.0 - 2022-11-27

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: Newtonsoft.Json

Workstation

  • BREAKING CHANGE: Test workflows no longer automatically inherit parameters from unit workflows. Parameters that should be shared between workflows should now be configured via shared parameters.
  • New: Custom workflows can now be attached to named events.
    • The old unit workflow has been replaced by a "UnitLoaded" workflow event.
    • "NewTestRequested/TestTypeName" workflow events are raised when new tests are requested, but the old test workflow configuration is still supported to allow test views to be customized.
    • Now shared workflow parameters can be configured that are shared by all workflows at the station.
  • See "Acuit.Pinpoint.Workflows.Workstation Package" section below for notes about changes in behavior that affect plug-ins or custom workflows.
  • Fix: Bug where missing service during unit workflow would cause ActivationException instead of "missing required service" error.
  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.CodeAnalysis.CSharp.Scripting, Newtonsoft.Json

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire, Newtonsoft.Json, twitter-bootstrap

Developer API

Acuit.Pinpoint.Common Package

  • New: ExceptionExtensions MessagesHierarchyAsSingleLine and MessagesHierarchyAsMultipleLines extension methods.

Acuit.Pinpoint.Configuration Package

  • Now references Newtonsoft.Json 13.0.2

Acuit.Pinpoint.ResourceManagement.Abstractions Package

  • New: Added IResourceReference<T>, StronglyTypedResourceReference<T> types.
  • New: Added additional ResourceUrlHelpers method overloads.

Acuit.Pinpoint.Workflows Package

  • New: Added CompositeParameterValueProvider parameterless constructor and Providers property.
  • New: SingleServiceProvider and SingleServiceProvider<T>
  • Improve: Improvements to ExtendedServiceProvider:
    • Now allows an extending service provider to be provided.
    • With methods allowing service instances to easily be specified via chained method calls.
    • Deprecated old constructor and static helper method.
  • Now references Microsoft.CodeAnalysis.CSharp.Scripting 4.4.0

Acuit.Pinpoint.Workflows.Workstation Package

  • New: ShowMessageBox activity
  • New: Now custom placeholders can be specified for the PrintLabel activity
  • New: ExecuteDefaultHandler activity, to allow custom workflow event handlers to execute the default handler.
  • New: IWorkflowEventManager service (and related types), allowing plug-ins to raise custom named workflow events or add custom named workflow event handlers.
  • Change: Deprecated IParameterValueProviderRegistry; IWorkflowEventManager.AddContextParameterValueProvider should be used instead.

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: Removed TablesResourceExtensions class, replacing with new TableResourceUrlHelpers and TableResourceExtensions classes, which also add support for parsed tables with or without header rows.
  • Change: Deprecated ITablesProvider; TableResourceExtensions.CreateTableResourceReference should be used instead.

6.228.0 - 2022-11-13

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.Bcl.AsyncInterfaces, Microsoft.Extensions.Logging.Abstractions, System.Text.Encoding.CodePages

Workstation

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.Bcl.AsyncInterfaces, Microsoft.Data.Sqlite, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Primitives, System.Text.Encoding.CodePages, System.Text.Json, Telerik.Windows.Controls.Data.for.Wpf.Xaml, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Reporting

  • Updated to .NET 7 for incremental performance and reliability improvements.
  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, CsvHelper, Microsoft.AspNetCore.Authentication.Negotiate, Microsoft.Bcl.AsyncInterfaces, Microsoft.Extensions.Hosting.WindowsServices, Microsoft.Extensions.Logging.Abstractions, System.Text.Encoding.CodePages, Telerik.Reporting.OpenXmlRendering, Telerik.Reporting.Services.AspNetCore

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 7.0.0

Acuit.Pinpoint.Common Package

  • Now references Microsoft.Extensions.Logging.Abstractions 7.0.0

Acuit.Pinpoint.IO.Abstractions Package

  • Now references Microsoft.Bcl.AsyncInterfaces 7.0.0

Acuit.Pinpoint.Modbus Package

  • Now references Microsoft.Extensions.Logging.Abstractions 7.0.0

Acuit.Pinpoint.ResourceManagement Package

  • Now references Microsoft.Data.Sqlite 7.0.0

Acuit.Pinpoint.ResourceManagement.Abstractions Package

  • Now references Microsoft.Extensions.Primitives 7.0.0

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 30.0.1
  • Now references System.Text.Encoding.CodePages 7.0.0

Acuit.Pinpoint.Workflows Package

  • Now references Microsoft.Extensions.Logging.Abstractions 7.0.0

Acuit.Pinpoint.Workflows.Testing Package

  • Now references Microsoft.Extensions.Logging.Abstractions 7.0.0

6.227.204 - 2022-11-02

Server

  • DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.8).
  • POTENTIAL BREAKING CHANGE: Server now references CsvHelper 30.0.0 with breaking changes, so Server plug-ins that reference CsvHelper might need to be updated to reference CsvHelper 30.*
  • New: Now can specify ProductionGroup and SequenceNumber columns in the schedule upload headers from which the unit production group name and sequence number, respectively, will be taken (falling back to the schedule file name, and null, respectively, if not specified).
  • New: Added support for the RescanInvalid component type permission.
  • Fix: Bug where database can't be initialized when a table source file path is in an invalid format (database will show health problem).
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, log4net, Microsoft.AspNet.Mvc, Microsoft.AspNet.Razor, Microsoft.AspNet.WebPages, Microsoft.Web.Infrastructure

Workstation

  • BREAKING CHANGE: For stations that work with preassemblies, Acuit Pinpoint Server 6.227.61-alpha or later is required (due to it using the UnitScannedViaComponent3 server API).
  • BREAKING CHANGE: Now when Workstation is started via the 32-bit launcher (i.e., when it is configured to run in 32-bit mode on a 64-bit machine), it will use the "C:\ProgramData\Acuit Pinpoint\Workstation" folder for its data files instead of "C:\ProgramData\Acuit Pinpoint\Workstation32".
  • POTENTIAL BREAKING CHANGE: Workstation now references CsvHelper 30.0.0 with breaking changes, so Workstation plug-ins that reference CsvHelper might need to be updated to reference CsvHelper 30.*
  • See "Acuit.Pinpoint.Workflows Package", "Acuit.Pinpoint.Workflows.Testing Package", and "Acuit.Pinpoint.Workflows.Workstation Package" sections below for notes about changes in behavior that affect plug-ins or custom workflows.
  • New: Enforces RescanInvalid component type authorization whenever a component previously recorded as invalid is being rescanned for any reason.
  • New: Added the UnitProductionGroupName and UnitSequenceNumber parameters available to unit (and test) workflows.
  • New: Added unitProductionGroupName and unitSequenceNumber label template placeholders, deprecating scheduleName.
  • New: Multimedia reference content now supports an "autoPlay" parameter so that the default auto-play behaviour can be disabled.
  • Improve: The multimedia reference content viewer now shows a controllable position slider, and clicking the video will pause/play the video.
  • Improve: Now test view strips will not expand to show all test data; instead up to two lines will be shown, with a button that displays a popup window with all test data shown.
  • Improve: Error message when reference content file extension is not supported.
  • Some internal components were upgraded for incremental performance and reliability improvements: System.Text.Json
  • Change: Add assembly redirect for System.Text.Json.
  • Fix: Bug introduced in 6.212.108 where 32-bit launcher Workstation32.exe crashes with:

    System.Reflection.TargetParameterCountException: Parameter count mismatch.

  • Fix: Obscure bug in Bar code scanner tester where serial or networked bar code scanner bar code scans would show up in the tester but might also be used by the app.
  • Fix: Bug where Debug, Make Current Location Startup Location isn't used at startup sometimes.
  • New capabilities in Pinpoint Server emulation via "ServerEmulation" config section:
    • New: Restored "UnitScanStatus" in "ServerEmulation" section (removed in version 6.225.0) to allow default unit scan options, in particular so they can be defined for new preassembly scans.
    • Improve: Additional support for emulating preassembly stations.
    • New: Can now specify acceptable component parts returned in unit scanned statuses via new ApplicableComponentScans setting, which supercedes ApplicableComponentTypes.
    • Fix: Bug introduced in 6.220.172 that can cause crash while using Pinpoint Server emulation via the "ServerEmulation" config section with certain station settings.
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, log4net, Microsoft.CodeAnalysis.CSharp.Scripting, Microsoft.Extensions.Logging.Abstractions, System.ServiceModel.NetTcp, System.Text.Json, Telerik.Windows.Controls.Data.for.Wpf.Xaml, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml, WpfScreenHelper

Reporting

  • New: Added an "Include additional test data details" parameter to the "Test Data" report that determines whether to include additional details recorded with test data items in the output. This defaults to unchecked, which means the default report output has changed, since this data was previously always included.
  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, CsvHelper, Hangfire, jquery, jquery-validate, jquery-validation-unobtrusive, Microsoft.AspNetCore.Authentication.Negotiate, Microsoft.Extensions.Hosting.WindowsServices, Serilog, Serilog.AspNetCore, Telerik.Reporting.OpenXmlRendering, Telerik.Reporting.Services.AspNetCore, twitter-bootstrap

Developer API

Server API

  • New: Added UnitScannedViaComponent3 (deprecating UnitScannedViaComponent2).
  • New: Added IsAuthorizedForComponentType.

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.2

Acuit.Pinpoint.Client2

  • New: Added SequenceNumber property to Unit.

Acuit.Pinpoint.Common Package

  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.2

Acuit.Pinpoint.Modbus Package

  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.2

Acuit.Pinpoint.ResourceManagement Package

  • New: Initial version of this new experimental package.

Acuit.Pinpoint.ResourceManagement.Abstractions Package

  • New: Initial version of this new experimental package.

Acuit.Pinpoint.Server.Client Package

  • New: Added UnitScannedViaComponent3 (deprecating UnitScannedViaComponent2).
  • Now references System.ServiceModel.NetTcp 4.10.0

Acuit.Pinpoint.Server.Configuration Package

  • New: Added StandardPermissions.RescanInvalid standard permission.

Acuit.Pinpoint.Server.Interfaces Package (Server Plug-in API)

  • New: Added ProductionGroupName and SequenceNumber properties to ScheduleLine.

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 30.0.0

Acuit.Pinpoint.Timing Package

  • New: New package published to NuGet.

Acuit.Pinpoint.Timing.Abstractions Package

  • New: Added ITimeService.MaxDelay property.
  • Change: Now the ITimeService.DelayAsync overloads validate the delay argument.

Acuit.Pinpoint.Windows Package

  • Now references log4net 2.0.15

Acuit.Pinpoint.Workflows Package

  • POTENTIAL BREAKING CHANGE: Removed the CommaSeparatedArrayConverter<TElement>, CommaSeparatedArrayTypeDescriptionProvider, CommaSeparatedByteArrayConverter, CommaSeparatedByteArrayTypeDescriptor, CommaSeparatedInt32ArrayConverter, and CommaSeparatedInt32ArrayTypeDescriptor classes, replacing them with new internal implementations.
    This will only affect plug-ins that directly referenced these classes, which is unlikely.
  • New: Added ActivityWithOutput<TOutput>.
  • New: ExecuteWorkflow activity.
  • New: WorkflowXamlServices class, which replaces the now-deprecated XamlLoader and XamlParser classes.
  • New: Workflow, WorkflowSource, and WorkflowSourceConverter classes.
  • New: Comma-separated/range converters are now provided for these array types: bool[], byte[], sbyte[], decimal[], double[], float[], int[], uint[], long[], ulong[], short[], ushort[]. (Previously, only byte[] and int[] were supported.)
  • New: Expression<TValue> type, allowing an expression to be used with any type.
  • New: Added EnumerateParameters method to IParametersStorage
    This is a BREAKING CHANGE for any custom implementations.
  • New: TypeConverterHelper.ConvertValueToInvariantString method.
  • Change: Added Parameter.ToString override.
  • Change: Deprecated ExpressionBase and various type-specific type converters like StringExpressionConverter. Type-specific expression types like StringExpression aren't yet deprecated, but they will be removed in a future version, replacing with Expression<TValue>.
  • Fix: Bug in backwards-compatible support for test workflows using old http://schemas.acuit.com/pinpoint/2020/xaml/testing XAML workspace.
  • Now references Microsoft.CodeAnalysis.CSharp.Scripting 4.3.1
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.2

Acuit.Pinpoint.Workflows.Testing Package

  • New: ITestParameterValueProviderRegistry service allowing custom test workflow parameter value providers to be registered.
  • Change: Deprecated DoubleToleranceExpressionConverter. DoubleToleranceExpression isn't yet deprecated, but it will be removed in a future version, replacing with Expression<DoubleTolerance>.
  • Fix: Added PerformTest activity back (deleted in 6.212.108) as a deprecated activity to fix backwards-compatible support for older workflows.
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.2

Acuit.Pinpoint.Workflows.Workstation Package

  • New: Added AddPreassembly, RemovePreassembly, and ScanItem activities.
  • New: Added Output and OutputVariableName properties to VerifyAndAddComponentScan and RemoveComponent activites.
  • New: Added Acuit.Pinpoint.Workstation.Interfaces reference to expressions environment.
  • New: IParameterValueProviderRegistry service allowing custom workstation workflow parameter value providers to be registered.

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Added IWorkstationService.InvokeServerPlugInAsync methods
  • New: Added IUnitAtStationService methods: AddPreassembly, AddPreassemblyAsync, RemovePreassembly, and RemovePreassemblyAsync
  • New: Added unitProductionGroupName and unitSequenceNumber label template placeholders to UnitPlaceholdersDictionary, deprecating scheduleName.
  • New: Added SelectPreassembly overload that accepts production group name and sequence number to IUnitSelectorHost.
  • New: Added support for status message priorities to IWorkstationStatusManager.
  • New: Added support for IResourceProvider and IResourceProviderRegistry services.
  • New: Added support for ILocalResourceCache service.

6.226.0 - 2022-04-04

Server

  • Fix: bug introduced in v6.225.0 where get unexpected error when use web interface to try to edit workers (or do anything requiring direct database access)
  • Fixed incorrect documentation about behavior when there are no bar code formats defined for a component type.
  • Some internal components were upgraded for incremental performance and reliability improvements: Quartz

Workstation

  • Fix: Window arrangement bug that caused a single pixel row to disappear above the top of the status bar when there are no test strips visible.
  • Fix: FormatException crash when displaying test workflow test log with entries exceeding 1 hour elapsed time.
  • Fix: A crash that can happen when scanning units while using Pinpoint Server emulation via the "ServerEmulation" config section.
  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.Extensions.Logging.Abstractions, Telerik.Windows.Controls.Data.for.Wpf.Xaml, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.AspNetCore.Authentication.Negotiate, Serilog.AspNetCore, Telerik.Reporting.Services.AspNetCore

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.1

Acuit.Pinpoint.Common Package

  • Fix: Bug (since v6.24.0) where AssemblyAttributes.Executing() uses Acuit.Pinpoint.Common instead of the calling assembly.
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.1

Acuit.Pinpoint.Modbus Package

  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.1

Acuit.Pinpoint.Workflows Package

  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.1

Acuit.Pinpoint.Workflows.Testing Package

  • Fix: FormatException crash when displaying test workflow test log with entries exceeding 1 hour elapsed time.
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.1

Acuit.Pinpoint.Workflows.Workstation Package

  • New: SetBuyoff activity

6.225.0 - 2022-02-21

Workstation

  • New: HideTestStripWhenNotApplicable test type setting
  • New: Now can specify settings json files to use for configuration settings (as highest priority) via the command line. For example: "settingsFile=D:\WorkstationSettings.json" or "settingsFiles:0=D:\WorkstationSettings1.json" "settingsFiles:1=D:\WorkstationSettings2.json"
  • Changed capabilities to Pinpoint Server emulation via "ServerEmulation" config section:
    • BREAKING CHANGE: Moved "UnitScanStatus" options from "ServerEmulation" section to under each "Units" element so that a different scan status can be defined for each unit.
    • New: Support for station authorization settings and worker authorization.
  • Fix: Bug (introduced in version 6.92.0) in installer that prevented advanced mode (i.e., to customize install location) from working.
  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.CodeAnalysis.CSharp.Scripting, System.Text.Json, WpfScreenHelper

Reporting

  • Changes to configuration settings:
    • BREAKING CHANGE: The default URLs setting is now in appsettings.json; hosting.json is no longer used.
    • BREAKING CHANGE: Environment variable to override URLs is now ACUITPINPOINTREPORTING_URLS instead of ASPNETCORE_URLS.
    • BREAKING CHANGE: Removed default settings for "Authorization:Administrators".
    • BREAKING CHANGE: All logging is now configured in appsettings.json or "C:\ProgramData\Acuit Pinpoint\Acuit.Pinpoint.Reporting\settings.json" with changed syntax; nlog.config and "C:\ProgramData\Acuit Pinpoint\Acuit.Pinpoint.Reporting\nlog.custom.config" are no longer used.
    • New: Can override any settings via environment variables with ACUITPINPOINTREPORTING_ prefix.
    • Change: Removed "AllowedHosts" setting.
  • Improve: Now when an error occurs while the service is starting before application logging is working, error details will be recorded to "Acuit.Pinpoint.Reporting_Error.txt" in the user's temporary folder.
  • Improve: First fields on forms now have initial focus.
  • Change: Now targets .NET 6 (which is included with the app), so .NET 4.7.2 is no longer a system requirement.
  • Change: Application log format changed.
  • Change: Cleaned up unexpected error page.
  • Change: Removed host filtering.
  • Fix: Bug (introduced in version 6.92.0) in installer that prevented advanced mode (i.e., to customize install location) from working.
  • Fix: Hide "Dashboard" link if none are configured.
  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.AspNetCore.Authentication.Negotiate

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • Change: Removed dependency on Acuit.Pinpoint.HealthChecks.

Acuit.Pinpoint.Client2 Package

  • New: Added InternationalHeader class (migrated from Acuit.Pinpoint.Common.ServiceModel.International).

Acuit.Pinpoint.Common Package

  • New: Added .NET Standard 2.0 target (excludes Acuit.Pinpoint.Common.Configuration and Acuit.Pinpoint.Common.ServiceModel namespaces and slight different in RecursiveValidator.DefaultPropertyFilter behavior).
  • Change: Deprecated Acuit.Pinpoint.Common.ServiceModel.International (moved to Acuit.Pinpoint.Client2.InternationalHeader), Acuit.Pinpoint.Common.ServiceModel.InternationalBehavior (moved to Acuit.Pinpoint.Server.Client.Globalization.WSI18NClientEndpointBehavior), Acuit.Pinpoint.Common.ServiceModel.InternationalizationAttribute
  • Change: Deprecated Acuit.Pinpoint.Common.WildcardExpressions.WildcardExpression; replaced by Acuit.Pinpoint.WildcardExpressions.WildcardExpression in new Acuit.Pinpoint.WildcardExpressions package.
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.0

Acuit.Pinpoint.Configuration Package

  • New: Added support for command line settings sources.

Acuit.Pinpoint.Data Package

  • New: Added .NET Standard 2.1 target

Acuit.Pinpoint.Server.Client Package

  • New: Added Acuit.Pinpoint.Server.Client.Globalization.WSI18NClientEndpointBehavior
  • Change: Now targets .NET Standard 2.0.
  • Change: Removed dependency on Acuit.Pinpoint.Common.

Acuit.Pinpoint.Server.Configuration Package

  • Change: Now targets .NET Standard 2.0.

Acuit.Pinpoint.Tables Package

  • Change: Added dependency on System.Text.Encoding.CodePages.
  • Fix: Problem when used within a .NET Core project where Excel files with Windows code page aren't supported.

Acuit.Pinpoint.WildcardExpressions Package

  • New: New package for working with wildcard expressions (previously part of Acuit.Pinpoint.Common).

Acuit.Pinpoint.Workflows Package

  • Now references Microsoft.CodeAnalysis.CSharp.Scripting 4.1.0

6.224.0 - 2022-01-26

Server

Server7 Only

  • This pre-release test version has been removed from the distribution in preparation for the official release of version 7.

Workstation

  • Fix: Crash when Zebra label template file cannot be read.
  • Some internal components were upgraded for incremental performance and reliability improvements: Telerik.Windows.Controls.Data.for.Wpf.Xaml, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Reporting

  • New: First Pass Yield report redesigned to determine defective units based on defects only, with the ability to filter by defect names/stations/station types, or repair names/stations/station types.
  • Fix: Some layout issues introduced in version 6.217.0.
  • Some internal components were upgraded for incremental performance and reliability improvements: Telerik.Reporting.Services.AspNetCore

6.223.0 - 2022-01-15

Workstation

  • Improve: See "Acuit.Pinpoint.Workflows.Workstation Package" and "Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)" sections below for notes about changes in behavior that affect plug-ins or custom workflows.
  • Fix: Bug that caused VerifyAndAddComponentScan workflow activity and IUnitAtStationService.VerifyAndAddComponentScanAsync method to fail.

Developer API

Acuit.Pinpoint.Client2 Package

  • New: Added helpers to Unit: FindInstalledComponent, IsComponentInstalled, and IsValidComponentInstalled

Acuit.Pinpoint.Workflows.Workstation Package

  • New: RemoveComponent activity

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: IUnitAtStationService.RemoveComponentAsync method

6.222.0 - 2022-01-12

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: log4net

Workstation

  • Improve: See "Acuit.Pinpoint.Workflows.Workstation Package" and "Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)" sections below for notes about changes in behavior that affect plug-ins or custom workflows.
  • Some internal components were upgraded for incremental performance and reliability improvements: log4net

Developer API

Acuit.Pinpoint.Windows Package

  • Now references log4net 2.0.14

Acuit.Pinpoint.Workflows.Workstation Package

  • New: VerifyAndAddComponentScan activity

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: IUnitAtStationService.VerifyAndAddComponentScanAsync method

6.221.8 - 2022-01-12

Workstation

  • Improve: Added capabilities to Pinpoint Server emulation via "ServerEmulation" config section:
    • Support for unit buyoffs.
    • Support for "*" wildcard when typing unit serial numbers.

6.221.0 - 2021-12-19

Reporting

  • New: Now settings can be configured via C:\ProgramData\Acuit Pinpoint\Acuit.Pinpoint.Reporting\settings.json
  • Change: Database query command timeout changed to 5 minutes
  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire

Developer API

Acuit.Pinpoint.Data Package

  • Change: Database query command timeout changed to 5 minutes

6.220.190 - 2021-12-17

Reporting

  • Change: Remove git commit id from version display
  • Fix: Crash upon startup: System.IO.FileNotFoundException: Could not load file or assembly 'System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.

6.220.183 - 2021-12-17

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

Server7 Only

  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.TypeScript.MSBuild

Workstation

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.Bcl.AsyncInterfaces, System.Text.Json

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, DocumentFormat.OpenXml, NLog, Telerik.Reporting.Services.AspNetCore, twitter-bootstrap

Developer API

Acuit.Pinpoint.IO.Abstractions Package

  • Now references Microsoft.Bcl.AsyncInterfaces 6.0.0

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 27.2.1

6.220.172 - 2021-11-17

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: log4net

Workstation

Custom Unit Workflows

  • New: Custom unit workflows now support configurable parameters.
  • Change: Custom unit workflows are now configured via Workflow in the Workstation section instead of UnitWorkflow and UnitWorkflowFile (although those old settings are still temporarily supported for backward compatibility).

Test Workflows

  • New: ShowTestStrip setting for hiding test strip that normally appears when a test type is configured.
  • New: Test workflows can now be specified directly via XAML in the line configuration.
  • New: Allow test workflow parameters to be specified via new ParametersOverride section, which override all others, including those from unit model parameter tables.
  • New: Test workflows will inherit the custom unit workflow parameter values (as lowest-priority).
  • New: New UnitModelNumber, UnitModelNumberAlias, UnitScanStatus, and UnitSerialNumber fixed parameters available to workflows.
  • Improve: Test type test strips now have ViewSortHintAttribute of 50, allowing plug-ins to arrange their views relative to that.
  • Improve: UnitParametersTables settings are now validated and will show appropriate configuration health problem.
  • Change: Test workflows are now configured via Workflow in the Workstation:Testing:TestTypes:... section instead of Parameters, ParametersOverride, ConfigurationSectionName, UnitParametersTables, WorkflowPackageFile, and WorkflowFile (although those old settings are still temporarily supported for backward compatibility).
  • Change: Changes affecting test workflows, as detailed in the "Acuit.Pinpoint.Workflows.Testing Package" section below.
  • Change: Now test workflow packages are extracted to the temporary C:\ProgramData\Acuit Pinpoint\Workstation\PackageExpansionCache directory instead of the local temp folder.
  • Fix: Errors initializing UnitParametersTables for workflows are now handled cleanly, raising an alarm at the station, instead of crashing the app.

Devices

  • BREAKING CHANGE: The Workstation:BarCodeScanning:Scanners configuration section settings have changed; the following changes affect existing settings:
    • MaxLength has been replaced by MaxMessageLength
    • The following SerialPort settings have been removed: DiscardNull, ReadBufferSize, ParityReplace, ReadTimeout, ReceivedBytesThreshold, WriteBufferSize, WriteTimeout
  • Improve: Redesigned Configure Local Hardware window:
    • All configured devices for all registered device types are listed in one list, including custom device types registered by plug-ins.
    • For each device, all configuration settings are shown, along with the effective properties for the device, in separate tabs.
    • Device testing is consistent, via a "Test" button.
    • Closing a test window will now properly cancel pending light stack or label print operations.
    • Removed ability to configure bar code scanners and light stacks locally from Configure Local Hardware window. Now must always configure devices via key/value settings (which can still be locally-configured, via a local settings.json file). Old local hardware settings (i.e., in settings.config) will still be loaded and used for backward-compatibility, if there are no devices configured via new key/value settings.
  • Improve: New features and improvements for bar code scanners:
    • New Name setting to identify bar code scanner when there are multiple in device list and health checks.
    • ReconnectDelay setting now applies to all bar code scanner types.
    • CommandOnConnect setting added for Serial, Tcp, or KeyenceEthernet bar code scanners.
    • New Tcp bar code scanner type.
    • Now if serial port used by Serial becomes unavailable (e.g., a USB port is removed), will raise a health problem.
    • Improved debug logging.

Miscellaneous

  • New: New ShowAcceptableComponentNumbers setting in Workstation:BarCodeScanning section, which allows disabling the display of acceptable numbers in the component scan prompt.
  • New: New Workstation:Server section for custom Acuit Pinpoint Server connection settings.
  • Improve: Enhancements to server emulation capabilities via "ServerEmulation" config section.
  • Improve: Invalid "ServerEmulation" configuration values will now cause a health problem to be reported.
  • Change: Moved the DisableNumberTyping setting from Workstation to Workstation:BarCodeScanning section. The old setting will automatically get migrated if needed.
  • Change: Now plug-in zip files are extracted to the temporary C:\ProgramData\Acuit Pinpoint\Workstation\PackageExpansionCache directory instead of C:\ProgramData\Acuit Pinpoint\Workstation\ExpandedPlugInsCache.
  • Some internal components were upgraded for incremental performance and reliability improvements: log4net, Microsoft.CodeAnalysis.CSharp.Scripting, Microsoft.Extensions.Logging.Abstractions, Telerik.Windows.Controls.Data.for.Wpf.Xaml, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml, WpfScreenHelper

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: DocumentFormat.OpenXml, Hangfire, NLog, NLog.Web.AspNetCore, Telerik.Reporting.Services.AspNetCore

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • BREAKING CHANGE: The public API used in this package has been redesigned to enable bar code scanners to work with the new device management features (i.e., Acuit.Pinpoint.IO.Abstractions), likely breaking any dependent code. Notable breaking changes include:
    • BarCodeScanner abstract base class now derives from ConnectedDevice and implements new IBarCodeScanner interface, and old IsOpen, Open, Close, CheckOpenHealthAsync members have been replaced by IConnectedDevice mechanisms.
    • Classes that derive from BarCodeScanner and that override Dispose(bool) should also override DisposeAsyncCore.
    • BarCodeScanner.Validate was removed (configuration validation is now assumed to be done by the device registry).
    • The old BarCodeScanner.RawDataReceived event is now optionally implemented by bar code scanners via the new IBarCodeScannerRaw interface.
    • StreamingBarCodeScanner now requires derived classes to provide a Stream via DoConnectAndGetStreamAsync.
    • Constructor parameters and protected members of all bar code scanner classes have changed.
    • Now streaming bar code scanners use DeviceClosedConnectionException as close error when stream is closed from other side
  • New: TcpBarCodeScanner class
  • New: StreamingBarCodeScanner.CommandOnConnect, Encoding properties
  • Improve: Now if serial port used by SerialBarCodeScanner becomes unavailable (e.g., a USB port is removed), the serial port will immediately note the lost connection, and a health problem will be reported by the device registry.
  • Improve: Improved debug logging.
  • Now depends on these additional packages:
    • Acuit.Pinpoint.ErrorHandling.Abstractions
    • Acuit.Pinpoint.IO.Abstractions
    • Acuit.Pinpoint.Timing.Abstractions
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.0

Acuit.Pinpoint.IO.Abstractions Package

  • New: New package for abstracting management of registered and configured device types.

Acuit.Pinpoint.LabelPrinting Package

  • BREAKING CHANGE: LoftwarePrintServerClient.PrintToFileInterfaceAsync changed to two separate overloads, which both accept a CancellationToken token (with default) as the last parameter.
  • BREAKING CHANGE: Both ZebraLabelPrinter.PrintToNetworkPrinterAsync overloads changed to accept a CancellationToken token (with default) as the last parameter.

Acuit.Pinpoint.Modbus Package

  • BREAKING CHANGE: ModbusSerialInterface now uses Microsoft.Extensions.Logging for logging instead of log4net, with new constructor taking an ILogger. The old default constructor results in no debug logging.
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.0 instead of log4net 2.0.12

Acuit.Pinpoint.Timing.Abstractions Package

  • BREAKING CHANGE: (For implementors) Reset, Restart, Start, Stop methods added to IStopwatch.
  • New: (For clients) Reset, Restart, Start, Stop methods added to IStopwatch.

Acuit.Pinpoint.Windows Package

  • Now references log4net 2.0.13

Acuit.Pinpoint.Workflows Package

  • Now references Microsoft.CodeAnalysis.CSharp.Scripting 4.0.1
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.0

Acuit.Pinpoint.Workflows.Testing Package

  • New: IServiceProviderActivityExtensions.GetRequiredDevice
  • New: DoubleTolerance members: AbsoluteToleranceFor(double value) and static Add/Substract/+/- operators
  • Change: Deprecate ITester-related types and activities, which are replaced by new device registry feature
  • Change: Now depends on Acuit.Pinpoint.IO.Abstractions.
  • Now references Microsoft.Extensions.Logging.Abstractions 6.0.0

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: Remove ILabelPrintingService (IDeviceRegistry should be used instead).
  • BREAKING CHANGE: Simplify ILabelPrintDefinition, redesign LabelPrintDefinitionBase
  • New: IActivatorService service available to plug-ins
  • New: IInitializableOptions for use by registered devices and options
  • New: IDeviceTester/IDeviceTesterViewCreator interfaces allowing plug-ins to surface device testing features for custom devices from the Configure Local Hardware window.
  • New: IOptionsRegistry options registry service
  • New: Temporary ITablesProvider.GetTable synchronous method (but marked obsolete)
  • Change: Deprecated OptionsProvider<TOptions>, IOptionsProvider<TOptions>, IOptionsLoader<TOptions>
  • Now depends on this additional package:
    • Acuit.Pinpoint.IO.Abstractions

6.219.0 - 2021-08-06

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: Quartz

Server Console

  • Improve: Now handles some early initialization errors that weren't caught before
  • Improve: Improved unexpected error messages

Workstation

  • Improve: See "Acuit.Pinpoint.Workflows.Workstation Package" and "Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)" sections below for notes about changes in behavior that affect plug-ins
  • Improve: Improve unexpected error messages
  • Improve: Add log message when garbage collection is forced via debug menu
  • Improve: Handling of some unexpected errors that previously would get handled later than they occurred
  • Fix: Handing of unhandled exceptions during initial app startup, which stopped working in version 6.212.108.

Reporting

  • Improve: In "Test Data" report, show additional details recorded with test data items
  • Fix: login name in navbar no longer right aligned (broken in version 6.217.0)

Developer API

Acuit.Pinpoint.Client2 Package

  • New: UnitTest.EncodeTestDataAsXml helper

Acuit.Pinpoint.ErrorHandling.Abstractions Package

  • New: New package with abstractions for unexpected error handling services in Acuit Pinpoint

Acuit.Pinpoint.Windows Package

  • New: ApplicationExtensions class
  • New: SingleInstanceActivator class
  • New: DefaultErrorHandler class (ErrorHandler class deprecated)
  • New: AsyncDelegateCommand & AsyncDelegateCommand<T> constructors that take IErrorHandler (old constructors deprecated)
  • New: IApplicationDispatcherExtensions with InvokeTaskAsync
  • Improve: Add null argument checks to IApplicationDispatcher

Acuit.Pinpoint.Workflows.Testing Package

  • Change: Add some missing ArgumentNullException checks to IActiveTestExtensions.SetDataItem overloads

Acuit.Pinpoint.Workflows.Workstation Package

  • Improve: In UnitTestResultView, show additional details recorded with test data items

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: IErrorHandler can be imported as dependency
  • New: OptionsProvider<TOptions> constructor that takes IErrorHandler (old constructor deprecated)
  • New: IOptionsLoader<TOptions>.RetrieveFileAsync(string key) method overload (old RetrieveFileAsync(Expression<Func<TOptions, string>> serverFileNameSettingSelector) overload deprecated)

6.218.0 - 2021-07-28

Workstation

  • New: Allow test workflow parameters to be set via new Parameters section (which is easier than indirectly via ConfigurationSectionName)
  • Fix: bug where if a test workflow completes and saves a new test result synchronously, last test result does not appear in test strip UI

6.217.0 - 2021-07-23

Server

  • New: Can run in console via --console argument

Server7 Only

  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.TypeScript.MSBuild

Workstation

  • Change: See "Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)" section below for notes about changes in behavior that affect plug-ins

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: jquery, jquery-validate, NLog.Web.AspNetCore, twitter-bootstrap

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • Fix: OptionsProvider<TOptions> bug where IsReadyChanged sometimes would not get raised

6.216.0 - 2021-07-08

Workstation

  • Fix: bug where when unit test is recorded via plug-in, test strip UI is not updated

Developer API

Acuit.Pinpoint.Windows Package

  • Changes to IApplicationDispatcher:
    • New: Added methods that take a DispatcherPriority parameter
    • Change: Deprecated Dispatcher property

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • Changes to OptionsProvider<TOptions>:
    • Change: Now sets IsReady before raising options changed events
    • Fix: situation where IsReady can be set before options are loaded
    • Fix: rare situation where IsReady not set properly when station already started

6.215.0 - 2021-07-06

Workstation

  • Change: Now test workflows can be configured without a workflow defined
  • Fix: Improve error handling for test type configuration when can't initialize workflow files

Developer API

Acuit.Pinpoint.Workflows.Workstation Package

  • New: Added IsWorkflowDefined property to ITestViewModel

6.214.0 - 2021-07-01

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: ITablesProvider (GetTableData & GetTableDataAsync in IWorkstationService deprecated)
  • Change: Now depends on Acuit.Pinpoint.Tables

6.213.0 - 2021-06-28

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

Workstation

  • New: Label printing service, with support for Zebra printers and now Loftware Print Server, along with custom types implemented via plug-ins, with label print definitions configurable via key/value settings, and test label printing from Configure Local Hardware
  • New: As detailed in the "Acuit.Pinpoint.Workflows.Workstation Package" section below
  • Change: See "Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)" section below for notes about changes in behavior that affect plug-ins
  • Improve: Add missing Spanish translations
  • Improve: Formatting of some error messages
  • Improve: Some error handling code that resulted in a delay in logging and reporting unhandled app exceptions
  • Fix: When custom unit workflow fails due to an unhandled exception, abort the workflow and log/alarm rather than crash the app
  • Fix: When test workflow cannot be loaded, log/alarm rather than crash the app
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Reporting

  • Fix: Crash in 6.212.108 that prevented operation due to System.TypeLoadException
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Hangfire, Telerik.Reporting.Services.AspNetCore

Developer API

Acuit.Pinpoint.Common Package

  • New: StripOuterAggregateException extension method (in ExceptionExtensions)
  • Change: Now depends on Microsoft.Extensions.Logging.Abstractions 2.2.0

Acuit.Pinpoint.Configuration Package

  • New: ConfigurationOptionsExtensions class with GetSectionFromSelector method

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 27.1.1

Acuit.Pinpoint.Windows Package

  • Change: Add horizontal padding to DialogButton style
  • Change: Now IUserInterfaceServiceExtensions.ShowErrorMessageBox strips outer AggregateException

Acuit.Pinpoint.Workflows.Workstation Package

  • New: PrintLabel activity

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: ILabelPrintingService (ILabelPrinter deprecated), with support for custom label print definitions via LabelPrintDefinitionBase
  • New: IOptionsLoader<TOptions>.ConfigurationSection property
  • Change: OptionsProvider<TOptions> now defers initial loading of options asynchronously to the application dispatcher. This allows the constructor in derived classes to execute before the derived class's PrepareUpdatedOptionsAsync method will be called.

6.212.108 - 2021-06-14

Server

  • POTENTIAL BREAKING CHANGE: Server now references CsvHelper 27.1.0 with breaking changes, so Server plug-ins that reference CsvHelper might need to be updated to reference CsvHelper 27.*
  • New: Now database and line configuration XML allows <setting> values to be specified via a <value> child element, which makes it easier to define complex setting values.
  • New: Now database and line configuration XML allows <setting> values to be nested.
  • Change: Now Acuit Pinpoint Workstation versions 6.20 and earlier will fail to start with this alarm: "The client version is not supported by the current version of Acuit Pinpoint Server; please upgrade the client." (Previously, they would show this alarm: "This Acuit Pinpoint Workstation installation must be upgraded to work with new features used in this line configuration.")
  • Change: Make Spanish translations for pass/fail consistently pasa/falla
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

Server7 Only

  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.TypeScript.MSBuild

Workstation

  • BREAKING CHANGE: Test workflows are now configured in the "Workstation:Testing" configuration section instead of "Acuit.Pinpoint.Workstation.Testing".
  • BREAKING CHANGE: While executing custom unit workflow, the plug-in regions in unit display (MannedUnitSinglePlugInRegion and MannedUnitPlugInRegion) are now enabled. Previously, these would be disabled (e.g., while automatic component scans were occurring).
  • BREAKING CHANGE: Changes affecting test workflows, as detailed in the "Acuit.Pinpoint.Workflows.Testing Package" and "Acuit.Pinpoint.Workflows.Workstation Package" sections below
  • POTENTIAL BREAKING CHANGE: Workstation now references CsvHelper 27.1.0 with breaking changes, so Workstation plug-ins that reference CsvHelper might need to be updated to reference CsvHelper 27.*
  • New: Custom unit workflows feature
  • New: Now displays test data in test result area on test strip UI
  • New: TestStripViewFile setting for defining custom UI for test workflow test strip UI
  • New: Can now configure column mapping for test workflow unit parameters tables
  • New/Change/Improve: As detailed in the "Acuit.Pinpoint.Workflows Package", "Acuit.Pinpoint.Workflows.Testing Package", and "Acuit.Pinpoint.Workflows.Workstation Package" sections below
  • Improve: For plug-ins, IWorkstationService.AuthenticateWorker behavior will now include worker groups in returned status when connected to Acuit Pinpoint Server 6.200 or later
  • Improve: On unit test panel UI, show last test pass/fail, date, and reason, and show red behind until last test is passed, then green
  • Improve: Clean up to unit test panel UI (align columns, don't show red/green background while workflow is running)
  • Improve: Misc. cleanup to unit defects/repairs list
  • Improve: Include exception messages hierarchy in error messages throughout
  • Improve: Add missing Spanish resources related to test workflows
  • Change: Make Spanish translations for pass/fail consistently pasa/falla
  • Fix: When test workflow initiated via StartWorkflowCommand or RestartWorkflowCommand fails due to parameter error, log and show error message box instead of crash
  • Fix: If the user configuration settings file (user.config) is corrupt, now the file will be deleted at startup to allow the app to start
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.CodeAnalysis.CSharp.Scripting, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Server Console

  • Improve: Include exception messages hierarchy in error messages throughout
  • Fix: If the user configuration settings file (user.config) is corrupt, now the file will be deleted at startup to allow the app to start

Reports (SSRS)

  • Change: Add station columns to "Defective Units" report
  • ReportingUtility
    • Add schema check, and fix crash when unsupported schema
    • Add support for 2016 RDL schema

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, DocumentFormat.OpenXml, Hangfire, NLog, Telerik.Reporting.Services.AspNetCore

Developer API

Server API

  • Change: The obsolete GetStationSettings API now fails with the business logic fault: "The client version is not supported by the current version of Acuit Pinpoint Server; please upgrade the client." (Previously, it failed with this business logic fault: "This Acuit Pinpoint Workstation installation must be upgraded to work with new features used in this line configuration.")

Acuit.Pinpoint.Client2 Package

  • New: Unit.GetLatestTest(string testTypeName) helper

Acuit.Pinpoint.Common Package

  • BREAKING CHANGE: Validation attribute classes in Acuit.Pinpoint.Common.Validation are now sealed, except for CompareToAttribute, which is now abstract
  • New: ConfigurationFileCorruptionCleaner class
  • Change: Now depends on Microsoft.Extensions.Logging.Abstractions 5.0.0

Acuit.Pinpoint.Server.Configuration Package

  • New: Allow <setting> values to be specified via <value> child element in settings XML
  • New: Allow <setting> values to be nested in settings XML

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 27.1.0

Acuit.Pinpoint.Windows Package

  • New: AsyncDelegateCommand<T> class
  • New: IUserInterfaceServiceExtensions with ShowErrorMessageBox

Acuit.Pinpoint.Workflows Package

  • BREAKING CHANGE: IParametersCollection and IVariablesCollection were renamed to IParametersStorage and IVariablesStorage, respectively
  • BREAKING CHANGE: Workflows now throw new WorkflowParameterException instead of InvalidOperationException when a parameter value can't be set
  • New: XamlParser class
  • New: Now Delay activity has an Update property that can specify an activity that will be executed with every update
  • New: Add Spanish resources
  • Improve: Added some null argument checks
  • Improve: Mark Action property of Catch as the content property so don't have to enclose in <Catch.Action>
  • Change: Make Delay activity update TimeLeftVariableName on UpdateInterval boundaries
  • Change: Improve various exception messages throughout
  • Change: Add null argument check for name in both IParametersStorage and IVariablesStorage
  • Now references Microsoft.CodeAnalysis.CSharp.Scripting 3.10.0

Acuit.Pinpoint.Workflows.Testing Package

  • BREAKING CHANGE: Renamed PerformTest activity to RecordTest. Pre-6.210 workflows will automatically change any "PerformTest" text in the XAML to "RecordTest". Workflows using the 6.210+ workflows namespace must manually be updated to use the new activity name.
  • New: Add support for column mapping to TableParameterValueProvider
  • New: Add Spanish resources
  • Improve: Upon unexpected error in RecordTest activity, add test data item with unexpected error message, and include test type name in app log entry
  • Change: Improve various exception messages throughout

Acuit.Pinpoint.Workflows.Workstation Package

  • BREAKING CHANGE: ClearBuyoff will no longer silently do nothing if there is no unit at the station; now it will fail with InvalidOperationException
  • New: ScanComponent, ReleaseUnit, StartTestWorkflow activities
  • New: PushWorkstationStatus and SetWorkstationStatus activities
  • New: LocalizedResourceDictionary class
  • New: ITestViewModel interface
  • New: TestStripView control
  • New: Add Spanish resources
  • Improve: Make ClearBuyoff activity use async server comms

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: See the changes listed for Workstation above for changes in Acuit Pinpoint Workstation behavior that can affect plug-ins.
  • BREAKING CHANGE: Add cancellation token parameter to IUnitAtStationService.ExecuteTestWorkflowAsync
  • New: IOptionsProvider<TOptions>/OptionsProvider<TOptions> for making plug-in options easier
  • New: IUnitAtStationService service; many members in IWorkstationService marked obsolete
  • New: IWorkstationStatusManager service
  • New: Now Workstation exports a System.IServiceProvider
  • Improve: IWorkstationService.AuthenticateWorker will now include worker groups in returned status when connected to Acuit Pinpoint Server 6.200 or later
  • Improve: Added some null argument checks
  • Change: Now references Acuit.Pinpoint.HealthChecks package

6.211.0 - 2021-04-16

Server

  • Fix: BREAKING CHANGE from version 6.200.0 so that most deprecated legacy bar code scan patterns are again supported, by automatically migrating them to bar code definitions:

    • <line>/<barCode>
    • <stationType>/<barCode>
    • <componentType> attributes componentModelNumScanPattern, componentSerialNumScanPattern, forceModelNumberUppercase, forceSerialNumberUppercase, and singleScan

    Notes:

    • This does not migrate <componentType> attribute unitModelNumScanPattern, which is still no longer supported.
    • Acuit Pinpoint Workstation 6.21 or later is required. Versions before this are not supported.
    • If both legacy bar code scan patterns and new bar code definitions exist for a particular item (e.g., for unit settings or for a component type), then the legacy bar code scan patterns will be ignored and only the new bar code definitions will be used.

Workstation

  • Fix: BREAKING CHANGE from version 6.210.0 so that test workflows using old http://schemas.acuit.com/pinpoint/2020/xaml/testing XAML workspace will load without error

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire

Developer API

Acuit.Pinpoint.Workflows Package

  • Fix: BREAKING CHANGE from version 6.210.0 so that workflows using old http://schemas.acuit.com/pinpoint/2020/xaml/testing XAML workspace will load without error via XamlLoader.LoadFromXaml

6.210.0 - 2021-04-11

Server

  • POTENTIAL BREAKING CHANGE: Server now references CsvHelper 26.1.0 with breaking changes, so Server plug-ins that reference CsvHelper might need to be updated to reference CsvHelper 26.*
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Newtonsoft.Json, Quartz

Server7 Only

  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.TypeScript.MSBuild, Serilog.AspNetCore

Workstation

  • BREAKING CHANGE: Change workflows XAML workspace from http://schemas.acuit.com/pinpoint/2020/xaml/testing to http://schemas.acuit.com/pinpoint/2020/xaml/workflows
  • POTENTIAL BREAKING CHANGE: Workstation now references CsvHelper 26.1.0 with breaking changes, so Workstation plug-ins that reference CsvHelper might need to be updated to reference CsvHelper 26.*
  • Fix: Fix bug when ConfigurationSectionName setting for test workflow is not specified.
  • Change: Test workflow view model properties are now read-only
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.CodeAnalysis.CSharp.Scripting, Microsoft.Extensions.Logging.Abstractions, Newtonsoft.Json, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Reporting

  • New: Component Usage report
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, DocumentFormat.OpenXml, Hangfire, Newtonsoft.Json, NLog, NLog.Web.AspNetCore, Telerik.Reporting.Services.AspNetCore

Developer API

  • For all packages, improved package descriptions, updated project URL to point to Acuit Docs, and made many improvements to Acuit Docs.

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 5.0.0

Acuit.Pinpoint.Configuration Package

  • POTENTIAL BREAKING CHANGE: ServerConfigurationExtensions.GetLocalFileNameAsync and ServerConfigurationProvider.GetLocalFileNameAsync will now throw ArgumentNullException synchronously
  • Now references Newtonsoft.Json 13.0.1

Acuit.Pinpoint.LabelPrinting Package

  • POTENTIAL BREAKING CHANGE: ZebraLabelPrinter.PrintToNetworkPrinterAsync will now throw ArgumentNullException synchronously

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 26.1.0

Acuit.Pinpoint.Windows Package

  • New: AsyncDelegateCommand class

Acuit.Pinpoint.Workflows Package

  • BREAKING CHANGE: Change workflows XAML workspace from http://schemas.acuit.com/pinpoint/2020/xaml/testing to http://schemas.acuit.com/pinpoint/2020/xaml/workflows
  • BREAKING CHANGE: Make WorkflowEventBus internal
  • BREAKING CHANGE: Move IServiceProviderExtensions from Acuit.Pinpoint.Workflows.Extensions to Acuit.Pinpoint.Workflows workspace
  • StateMachine has been replaced with a new implementation, including these changes:
    • BREAKING CHANGE: Now Transition.Action runs after state exits and before state entries
    • New: Added Exiting and CancelExitCondition properties to State
    • Change: Transition.Condition is now optional
    • Change: Remove requirement that non-final state have transitions or substates
    • Fix: Fixes a resource leak
  • New: Add DisplayName property to Activity
  • New: Add SetValue method to WorkflowDataContext
  • Improve: Add Microsoft.Extensions.Logging debug log messages to Activity and StateMachine
  • Now references Microsoft.CodeAnalysis.CSharp.Scripting 3.9.0
  • No longer references Stateless

Acuit.Pinpoint.Workflows.Testing Package

  • BREAKING CHANGE: Change workflows XAML workspace from http://schemas.acuit.com/pinpoint/2020/xaml/testing to http://schemas.acuit.com/pinpoint/2020/xaml/workflows
  • Improve: Make some services for some activities optional:
    • ILogger<PerformTest> for PerformTest
    • IActiveTest for PowerOff, PowerOn, ThermostatClear, ThermostatSet: in particular, this allows these to be used outside of PerformTest.
  • Now references Microsoft.Extensions.Logging.Abstractions 5.0.0

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • POTENTIAL BREAKING CHANGE: ILabelPrinter.PrintLabelAsync will now throw ArgumentNullException synchronously

6.201.2 - 2021-02-18

Reporting

  • Improve: Misc. improvements and fixes to Serialized Component Changes, Test Data, and Unit Details report parameters pages. NOTE: When running with Pinpoint Server versions earlier than 6.200, these report parameter pages will not work for lines using deprecated legacy bar code scan patterns.

6.201.0 - 2021-02-17

Server

  • POTENTIAL BREAKING CHANGE: Server now references CsvHelper 23.0.0 with breaking changes, so Server plug-ins that reference CsvHelper might need to be updated to reference CsvHelper 23.*
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Quartz, Unity.Abstractions, Unit.Container

Workstation

  • POTENTIAL BREAKING CHANGE: Workstation now references CsvHelper 23.0.0 with breaking changes, so Workstation plug-ins that reference CsvHelper might need to be updated to reference CsvHelper 23.*
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.Extensions.Logging.Abstractions, Stateless, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Reporting

  • New: Unit Details report
  • Fix: bug in Produced Units report that caused this error message: "An error has occurred while processing Table 'table1': Failed to compare two elements in the array. ------------- InnerException ------------- The expression contains object 'ProducedDateTime' that is not defined in the current context."
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, DocumentFormat.OpenXml, Hangfire, jquery-validation-unobtrusive, NLog, NLog.Web.AspNetCore, Telerik.Reporting.Services.AspNetCore, twitter-bootstrap

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 3.1.12

Acuit.Pinpoint.Common Package

  • New: Added IsLiteral property to WildcardExpression class

Acuit.Pinpoint.Data Package

  • New: Added EnumerateInstalledComponents and EnumerateLatestTests helpers to Unit class
  • New: Added TransitionDateTimeLocal and ProducedDateTimeLocal properties to UnitState class

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 23.0.0

Acuit.Pinpoint.Workflows Package

  • Now references Stateless 5.10.1

Acuit.Pinpoint.Workflows.Testing Package

  • Now references Microsoft.Extensions.Logging.Abstractions 3.1.12

6.200.18 - 2020-12-13

Workstation

  • Fix: issue (since v6.92.0) where ArgumentNullException crash occurs when scan unit against Pinpoint Server older than v6.92, when applicable component types exist for the unit and station type
  • Improve: In Configure Server Connection wizard, in error messages, show exception messages for inner exceptions as well

Reporting

  • Improve: Sort all reports by report name
  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, jquery, jquery-validate, NLog, twitter-bootstrap

6.200.6 - 2020-12-05

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

Workstation

  • Fix: Revert change in version 6.200.0 that prevented worker logon with older versions of Acuit Pinpoint Server.
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

Developer API

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 18.0.0

6.200.0 - 2020-12-01

Server

  • BREAKING CHANGE: Removed support for deprecated legacy bar code scan patterns:
    • <line>/<barCode> no longer allowed.
    • <line>/<units> is not required.
    • <stationType>/<barCode> no longer allowed.
    • <componentType> attributes componentModelNumScanPattern, componentSerialNumScanPattern, forceModelNumberUppercase, forceSerialNumberUppercase, unitModelNumScanPattern, and singleScan no longer allowed.
    • When no component bar code settings are specified, now defaults to force uppercase for both model and serial.
  • BREAKING CHANGE: Acuit Pinpoint Workstation versions 6.20 and earlier are no longer supported. Those versions will fail to start, showing this alarm: "This Acuit Pinpoint Workstation installation must be upgraded to work with new features used in this line configuration." It is not recommended to use any Acuit Pinpoint Workstation version before 6.40, as they are missing support for some of the bar code definition features.
  • BREAKING CHANGE: Custom clients that use the GetStationSettings server API are no longer supported. See "Server API" below for more information.
  • Fix: obscure, unlikely health checks-related bug where "collection changed" exception could occur
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Hangfire, Quartz, Unity.Container

Server7 Only

  • BREAKING CHANGE: Removed support for Internet Explorer

Workstation

  • BREAKING CHANGE: Removed support for deprecated legacy bar code scan patterns. See notes under "Server" above for more details.
  • New: Can now configure light stack devices via key/value config, with new support for Q-Light/Signaworks USB tower lights
  • Improve: Some Spanish translations
  • Change: Light stack device problems are now shown as health problems instead of alarms
  • Fix: obscure, unlikely health checks-related bug where "collection changed" exception could occur
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.CodeAnalysis.CSharp.Scripting, Microsoft.Extensions.Logging.Abstractions, Stateless

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

Developer API

Server API

  • BREAKING CHANGE: Now GetStationSettings always fails with the business logic fault: "This Acuit Pinpoint Workstation installation must be upgraded to work with new features used in this line configuration." Any plug-ins or custom Acuit Pinpoint clients that use this API will stop working when Acuit Pinpoint Server is upgraded to this version or later. They should be updated to use the GetStationSettings3 API instead.
  • New: Add AuthenticateWorker2 (deprecating AuthenticateWorker)

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 3.1.10

Acuit.Pinpoint.Configuration Package

  • BREAKING CHANGE: Removed support for deprecated legacy bar code scan patterns. See notes under "Server" above for more details.

Acuit.Pinpoint.HealthChecks Package

  • Fix: bug in DefaultHealthCheckService where a health check registration added or removed while health checks are being performed would cause "collection changed" exception

Acuit.Pinpoint.Server.Client Package

  • New: Add AuthenticateWorker2 (deprecating AuthenticateWorker)

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 17.0.1

Acuit.Pinpoint.Workflows Package

  • Now references Microsoft.CodeAnalysis.CSharp.Scripting 3.8.0
  • Now references Stateless 5.1.5

Acuit.Pinpoint.Workflows.Testing Package

  • Now references Microsoft.Extensions.Logging.Abstractions 3.1.10

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: Now the IWorkstationService.UnitSelector default value will be the default unit selector instead of null, and it can no longer be set to null to use the default unit selector. This allows a plug-in to hook into the start/stop selecting process without replacing the unit selector.
  • BREAKING CHANGE: IWorkstationService.SetLightStackAuxRelay no longer functions and will throw NotImplementedException
  • New: Add IWorkstationService.AuthenticateWorker method
  • New: MainTopPlugInRegion region
  • Fix: bug in IItemScanningService.GetUnitScanSettings when station is set for not serialized, and can now throw InvalidOperationException if line config invalid.

6.110.2 - 2020-10-29

Workstation

  • Fix: problem where unit scan sequence can get messed up when a server plug-in adds "fake" unit stations with a scan date/time in the future
  • Add limited support for connecting to versions of Pinpoint Server earlier than 6.96

6.110.0 - 2020-10-27

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: log4net, Quartz

Workstation

  • Some internal components were upgraded for incremental performance and reliability improvements: log4net, Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire, Telerik.Reporting.Services.AspNetCore

Developer API

Acuit.Pinpoint.Modbus Package

  • Now references log4net 2.0.12

Acuit.Pinpoint.Windows Package

  • Now references log4net 2.0.12

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Add IWorkstationService.UnitProductionScheduleRepository, allowing a plug-in to provide a custom production schedule repository implementation

6.109.0 - 2020-10-14

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Quartz

Workstation

  • Fix: Misc. breaking changes to experimental configurable test workflow/UI feature, as described below.
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.Extensions.Logging.Abstractions

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Hangfire

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 3.1.9

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 15.0.8

Acuit.Pinpoint.Workflows Package

  • New: Add DoWhile, While activities
  • Fix: bug where state machine can run code in background thread, which will crash workflows that load WPF XAML
  • Fix: crash bug in StateMachine

Acuit.Pinpoint.Workflows.Testing Package

  • Now references Microsoft.Extensions.Logging.Abstractions 3.1.9

6.108.3 - 2020-09-28

Workstation

  • Fix: bug introduced in 6.108.0 where testing config section name changed

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: NLog

6.108.0 - 2020-09-25

Workstation

  • Change: Misc. breaking changes to experimental configurable test workflow/UI feature, as described below.

Developer API

Acuit.Pinpoint.Workflows.Testing Package

  • New: experimental package, with testing-related classes previously in Acuit.Pinpoint.Workstation.Workflows

Acuit.Pinpoint.Workflows.Workstation Package

  • New: experimental package, with Pinpoint-Workstation-related classes previously in Acuit.Pinpoint.Workstation.Workflows

Acuit.Pinpoint.Workstation.Workflows Package

  • BREAKING CHANGE: Removed this package, replacing with new Acuit.Pinpoint.Workflows.Testing and Acuit.Pinpoint.Workflows.Workstation packages

6.107.0 - 2020-09-25

Workstation

  • Change: Misc. breaking changes to experimental configurable test workflow/UI feature, as described below.

Developer API

Acuit.Pinpoint.Workflows Package

  • New: Add TimeLeftVariableName and UpdateInterval properties to Delay activity

Acuit.Pinpoint.Workstation.Workflows Package

  • BREAKING CHANGE: New ITestManager/IActiveTest approach to tracking tests

6.106.0 - 2020-09-24

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: log4net

Workstation

  • Change: Misc. changes to experimental configurable test workflow/UI feature, as described below.
  • Some internal components were upgraded for incremental performance and reliability improvements: log4net

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire

Developer API

Acuit.Pinpoint.Modbus Package

  • Now references log4net 2.0.11

Acuit.Pinpoint.Windows Package

  • Now references log4net 2.0.11

Acuit.Pinpoint.Workflows Package

  • Improve: Significant performance improvements for expressions within workflows, both in memory consumption and loading speed.

6.105.0 - 2020-09-21

Workstation

  • Change: Misc. changes to experimental configurable test workflow/UI feature, as described below.

Developer API

Acuit.Pinpoint.Workflows Package

  • BREAKING CHANGE: WorkflowsModule.Initialize to ensure all module-level initialization takes place
  • New: Comma-separated byte/int array converters available for general use
  • Fix: Potential ReflectionTypeLoadException error
  • Fix: Fix ByteArrayExpression and Int32ArrayExpression not converting from string literals defined in workflows
  • Fix: Allow negative numbers to be specified in Int32ArrayExpression

Acuit.Pinpoint.Workstation.Workflows Package

  • BREAKING CHANGE: WorkstationWorkflowsModule.Initialize to ensure all module-level initialization takes place

6.104.0 - 2020-09-17

Workstation

  • Change: Misc. changes to experimental configurable test workflow/UI feature, as described below.

Developer API

Acuit.Pinpoint.Workstation.Workflows Package

  • New: Add ByteExpression, ByteArrayExpression, Int32ArrayExpression
  • Improve: When specifying types (e.g., parameters and variables), accept "[]" to indicate an array or "?" to indicate nullable on any type, and match any type name in any loaded assembly
  • Changed: Add "System.Linq" to default expression imports

6.103.0 - 2020-09-17

Developer API

Acuit.Pinpoint.Workstation.Workflows Package

  • New: Add Int32Expression and SingleExpression, and additional Evaluate... validation helpers

6.102.5 - 2020-09-17

Server

Server7 Only

  • Some internal components were upgraded for incremental performance and reliability improvements: Serilog, Serilog.AspNetCore

Workstation

  • Some internal components were upgraded for incremental performance and reliability improvements: Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Telerik.Reporting.Services.AspNetCore

6.102.0 - 2020-09-16

Workstation

  • Change: Misc. breaking changes to new experimental configurable test workflow/UI feature.

Developer API

Acuit.Pinpoint.Workflows Package

  • Change: Misc. breaking changes to new experimental package.

Acuit.Pinpoint.Workstation.Workflows Package

  • Change: Misc. breaking changes to new experimental package.

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Add GetTableDataAsync to IWorkstationService

6.101.0 - 2020-09-15

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: log4net, EntityFramework, Quartz, Unity.Abstractions, Unit.Container

Workstation

  • New: experimental configurable test workflow/UI feature.
  • Now includes Acuit.Pinpoint.Tables, CsvHelper, ExcelDataReader in installation
  • Some internal components were upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit, log4net, Microsoft.Extensions.Logging.Abstractions, WpfScreenHelper

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: DocumentFormat.OpenXml, EntityFramework, Hangfire.*, NLog, NLog.Web.AspNetCore

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 3.1.8

Acuit.Pinpoint.Data Package

  • Now references EntityFramework 6.4.4

Acuit.Pinpoint.Modbus Package

  • Now references log4net 2.0.10

Acuit.Pinpoint.Timing.Abstractions Package

  • New: package with abstracted time service available to plug-ins.

Acuit.Pinpoint.Windows Package

  • Now references Extended.Wpf.Toolkit 3.8.2
  • Now references log4net 2.0.10

Acuit.Pinpoint.Workflows Package

  • New: experimental workflow engine package.

Acuit.Pinpoint.Workstation.Workflows Package

  • New: experimental workflow engine for Acuit Pinpoint Workstation allowing custom testing workflows.

6.100.0 - 2020-07-08

Workstation

  • New: Added new parameters to PDF content viewer: scaleFactor, horizontalScrollOffset, and verticalScrollOffset
  • Some internal components were upgraded for incremental performance and reliability improvements: Telerik.Windows.Controls.FixedDocumentViewers.for.Wpf.Xaml

6.99.18 - 2020-06-06

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Unit.Container

Workstation

  • Fix: Problem where plug-in referencing Microsoft.Extensions.Logging.Abstractions older than 3.1.3 could not be loaded.
  • Fix: NullReferenceException when connecting to newer Pinpoint Server version (since v6.96).

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: NLog.Web.AspNetCore, CsvHelper, Hangfire

Developer API

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 15.0.5

6.99.0 - 2020-04-10

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Unity.Abstractions, Unit.Container

Server7 Only

  • Some internal components were upgraded for incremental performance and reliability improvements: codemirror

Workstation

  • New: Workstation:BarCodeScanning:AutomatedBarCodeScanTimeWindow option allowing 5-second window to be configurable
  • Fix: bug since v6.92.0 where current production queue selection is lost when starting to scan a new preassembly

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, CsvHelper, Hangfire, NLog, NLog.Web.AspNetCore

Reports (SSRS)

  • Improve: Add Notes columns to Defective Units

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • Now references Microsoft.Extensions.Logging.Abstractions 3.1.3

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 15.0.4

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: IsEnabled property added to ItemScannerUnitProductionQueueLink

6.98.0 - 2020-03-03

Server

  • New: Acuit.Pinpoint:PlugIns:SearchPath key/value setting allowing server plug-ins to be loaded from paths outside of the Pinpoint Server install folder

Workstation

  • New: Built-in label printing service configurable via Workstation:LabelPrinting settings, available for plug-ins to use.

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: ILabelPrinter service

6.97.0 - 2020-03-02

Server

Server7 Only

  • New: Configure Tables pages
  • Improve: Clean up database links on Configure page

Workstation

  • Improve: Make PDF reference content viewer extract and display single page if "page" parameter specified, rather than scrolling to that page
  • Improve: Performance improvements when the same reference content file is displayed multiple times
  • Fix: potential problem where when the same reference content file is referenced multiple times for viewing at a station (e.g., two different pages from the same PDF), sometimes one or both won't display

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: DocumentFormat.OpenXml

Developer API

Acuit.Pinpoint.Common Package

  • New: ConcatMessagesHierarchy method added to ExceptionExtensions class

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: Changes to IFileViewer and FileViewerBase

6.96.0 - 2020-02-28

Server

  • BREAKING CHANGE: Removed "information file" system, replacing with the newly-redesigned "reference content" system.
  • BREAKING CHANGE: Removed "subassemblyScan" station type setting.
  • New: Reference content system, replacing the old "information file" feature, with support for multiple reference files per unit, configuration defined from tables, popup or always-displayed content, with tabbed or tiled arrangements.
  • New: "serialized" station type setting allowing a station to be configured to scan model numbers only for displaying applicable reference content.
  • Improve: Now upon unit scan, shift production counts are queried and included in response only when station is automated (which are the only stations that display that data)
  • Some internal components were upgraded for incremental performance and reliability improvements: bootstrap, CsvHelper, Unity.Abstractions

Server7 Only

  • Some internal components were upgraded for incremental performance and reliability improvements: codemirror

Workstation

  • BREAKING CHANGE: Removed support for "information file" system. When connecting to older Pinpoint Server, if this is configured, it will be ignored.
  • BREAKING CHANGE: Removed support for "subassemblyScan" station type setting.
  • BREAKING CHANGE: Removed support for ErrorResponse and ErrorBarcode bar code scanner settings
  • BREAKING CHANGE: Keyboard & serial bar code scanner Timeout property now is max time between characters, not max time for entire bar code
  • New: Reference content system, replacing the old "information file" feature, with support for multiple reference files per unit, configuration defined from tables, popup or always-displayed content, with tabbed or tiled arrangements.
  • New: Support for new "serialized" station type setting.
  • New: Can configure bar code scanners via key/value configuration system (new "BarCodeScanning" section).
  • New: New bar code duplicate scan filtering feature.
  • New: Support for Keyence Ethernet scanner.
  • New: Now includes Microsoft.Extensions.Logging.Abstractions, and exports Microsoft.Extensions.Logging.ILoggerFactory and Microsoft.Extensions.Logging.ILogger<TCategoryName> for use by plug-ins
  • Improve: The PDF file viewer now uses a custom integrated viewer instead of leveraging Internet Explorer with Adobe Reader components installed, and page number can be specified to view.
  • Improve: Bar code scanner problems no longer trigger alarms, but instead show up as health check problems.
  • Improve: Bar Code Scanner Tester improvements:
    • Show more raw data from device as "control" data (e.g., key-up/key-down events)
    • Show bar code scanner health problems at bottom.
    • Improved instructions text.
    • Use configured Timeout for keyboard or serial scanners as time to break up lines in raw data stream
  • Improve: Now keyboard scanners can be configured with no Prefix; if keystrokes aren't used elsewhere (e.g., typing in text box), will process as potential bar code scan
  • Improve: Problems parsing workstation options or invalid workstation options are shown via health check (instead of alarm)
  • Improve: During startup, don't needlessly retrieve shift production counts from server if station is not automated (and thus does not display that data)
  • Improve: Add some missing Spanish translations
  • Fix: bug where Bar Code Scanner Tester doesn't update the raw stream with serial scanners
  • Some internal components were upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, CsvHelper, Telerik.Reporting.Services.AspNetCore

Developer API

Server API

  • Change: UnitScanned* APIs no longer populate ShiftProduction property in returned status if station type is not automated.

Acuit.Pinpoint.BarCodeScanning Package

  • BREAKING CHANGE: KeyboardBarCodeScanner and SerialBarCodeScanner now derive from new StreamingBarCodeScanner class
  • BREAKING CHANGE: Remove ErrorResponse and ErrorBarCode properties
  • BREAKING CHANGE: BarCodeScanner now implements IHealthCheck, with new virtual CheckOpenHealthAsync method
  • BREAKING CHANGE: RawDataReceived event arguments changed.
  • BREAKING CHANGE: Keyboard & serial bar code scanner Timeout property now is max time between characters, not max time for entire bar code
  • New: KeyenceEthernetBarCodeScanner
  • New: TranslateHoneywell4820ControlCharacters and TranslateMotorolaSymbolDS4208ControlCharacters properties on KeyboardBarCodeScanner
  • Improve: Now keyboard scanners can be configured with no Prefix; if keystrokes aren't used elsewhere (e.g., typing in text box), will process as potential bar code scan
  • Change: KeyboardBarCodeScanner now raises bar code scan events asynchronously so keyboard will work if handler shows modal dialog.
  • Change: Add Browsable(false) attribute to BarCodeScanner.IsOpen.
  • Fix: StreamingBarCodeScanner.Suffix validation failing when set to only whitespace character(s)
  • Now depends on Acuit.Pinpoint.Common, Microsoft.Extensions.Logging.Abstractions packages

Acuit.Pinpoint.Common Package

  • New: ExceptionExtensions class with EnumerateFlattenedHierarchy method
  • New: RecursiveValidator.DefaultPropertyFilter method
  • New: RecursiveValidator.TryValidateObject overload accepting a property filter
  • New: RequiredAllowWhitespaceAttribute class
  • New: TypeExtensions class with IsSameOrSubclassOf method
  • Improve: RecursiveValidator.TryValidateObject now skips recursively validating properties same as or derived from System.IO.Ports.SerialPort, same as or derived from System.Exception, or with Browsable(false) attribute (to avoid TargetInvocationException and other exceptions)

Acuit.Pinpoint.Configuration Package

  • BREAKING CHANGE: Removed the old "information file"-related classes, replacing with new "reference content"-related classes.

Acuit.Pinpoint.HealthChecks Package

  • Change: Assembly is now marked CLS-compliant

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 15.0.0

Acuit.Pinpoint.Windows Package

  • New: IApplicationDispatcher service export
  • Now references Extended.Wpf.Toolkit 3.8.1

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: IFileViewer namespace and members changed
  • New: FileViewerBase class
  • IBarCodeScannersService.SubmitScan no longer needs to be called from UI thread, but will automatically do so async if called from another thread.
  • Now adds PresentationFramework reference

6.95.0 - 2020-01-24

Server

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later
  • POTENTIAL BREAKING CHANGE: Server now references CsvHelper 13.0.0; there are many breaking changes in this change, so any server plug-ins that reference CsvHelper need to be updated to reference CsvHelper 13.*
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, EntityFramework, Quartz, Unity.*

Server7 Only

  • Fix: View bug where would get NotSupportedException when try to search by component serial
  • Improve: View search results table is now condensed
  • Improve: Remove "Search criteria must be entered." error when no criteria entered on View page

Server Console

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Workstation

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later
  • Some internal components were upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit

Reporting

  • BREAKING CHANGE: In the CSV output for the First Pass Yield, Serialized Component Changes, and Test Data reports, values are now formatted for the invariant culture instead of for the default app culture (i.e., the server computer settings). For example, for a server set to US English, date/times that were previously formatted like 1/1/2020 2:00:00 PM will now be formatted like 01/01/2020 14:00:00.
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, DocumentFormat.OpenXml, EntityFramework, Hangfire.*, Telerik.Reporting.Services.AspNetCore

Reporting Utility

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Reports (SSRS)

  • New: Component Scan Count by Hour report

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Client2 Package

  • BREAKING CHANGE: Now targets .NET Standard 2.0

Acuit.Pinpoint.Common Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Configuration Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Data Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later
  • Now references EntityFramework 6.4.0

Acuit.Pinpoint.HealthChecks Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Hosting Package

  • BREAKING CHANGE: Now targets .NET Standard 2.0

Acuit.Pinpoint.LabelPrinting Package

  • BREAKING CHANGE: Now targets .NET Standard 2.0

Acuit.Pinpoint.Modbus Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Server.Client Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Server.Configuration Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Server.Interfaces Package (Server Plug-in API)

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Tables Package

  • BREAKING CHANGE: Now targets .NET Standard 2.0
  • Now references CsvHelper 13.0.0
    POTENTIAL BREAKING CHANGE: There are many breaking changes in this change, so any projects using the Acuit.Pinpoint.Tables package that reference CsvHelper need to be updated to reference CsvHelper 13.*

Acuit.Pinpoint.Windows Package

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: Now requires .NET Framework 4.7.2 or later

6.94.0 - 2019-11-13

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: UnitProductionQueuePlugInRegion region allowing plug-ins to add content to the unit production queue

6.93.0 - 2019-11-12

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Add ItemScanButtonRegion region allowing custom buttons to be added to item scanner (i.e., created via IItemScanningService.StartScanningItem)
  • New: IItemScanner now implements INotifyPropertyChanged

6.92.0 - 2019-11-12

Server

  • New: Support for showing list of acceptable component model/serial numbers on Workstation component scan prompt
  • New: Add description field to parts in component lists, which display on Workstation component scan prompt
  • Improve: Combine error log entry pairs where first showed formatted message and second showed exception into single error log entry
  • Improve: Consolidate separate "Sending email notification" log messages and separate "An email could not be sent" log messages into single message each
  • Change: Installer now installs Server Console into "Acuit Pinpoint Server 6\ServerConsole" folder
  • Change: Installer now includes additional files (*.pdb, *.xml, *.dll.config files, *.resources.dll files for other languages from dependencies)
  • Fix: installed Web.config being for debug instead of release build
  • Fix: Reduce chance of getting "Database/lines manager: Initializing" degraded health problem during startup by not reporting unhealthy until startup has been given 60 seconds to complete.
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, EntityFramework, Newtonsoft.Json

Workstation

  • New: Shows list of acceptable component model/serial numbers and descriptions on component scan prompt
  • Improve: Combine error log entry pairs where first showed formatted message and second showed exception into single error log entry
  • Change: Unit production queue is now part of main window instead of the manned interface view, so it is always accessible (e.g., when plug-in shows a scan dialog)
  • Change: Installer now puts shortcut in programs top level instead of within "Acuit Pinpoint Workstation 6" folder
  • Change: Installer now includes additional files (*.pdb, *.xml, *.dll.config files, *.resources.dll files for other languages from dependencies)
  • Some internal components were upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit, Newtonsoft.Json, WpfScreenHelper

Reporting

  • BREAKING CHANGE: Now requires .NET 4.7.2 (previously, required .NET 4.7.1).
  • New: Automated installer
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, EntityFramework, Hangfire, Newtonsoft.Json, NLog, NLog.Web.AspNetCore, Telerik.Reporting

Developer API

Acuit.Pinpoint.Configuration Package

  • Now references Newtonsoft.Json 12.0.3

Acuit.Pinpoint.Data Package

  • Now references EntityFramework 6.3.0

Acuit.Pinpoint.LabelPrinting Package

  • New: New package, available via Acuit private package feed

Acuit.Pinpoint.Tables Package

  • Now references CsvHelper 12.2.1

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: ItemScannerUnitProductionQueueLink class
  • New: IUnitProductionQueue service

6.91.0 - 2019-09-06

Server

  • Changed: Spanish term for production schedule to "secuencia de producci�n" (previously "programa de producci�n")
  • Improve: Combine 2 error log entries per health problem into 1 (remove "Exception details" line)

Workstation

  • New: Show production schedule number on unit interface view
  • New: Log health problems
  • Changed: Spanish term for production schedule to "secuencia de producci�n" (previously "programa de producci�n")

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor

6.90.0 - 2019-08-20

Reports

  • Fix: bug in legacy SSRS report definitions (introduced in v6.67.0) where queries fail due to "GO" in SQL
  • ReportingUtility: Add -i command to add isolation level to report files

Developer API

Server API

  • New: CreateUnitRecord API

Acuit.Pinpoint.Common Package

  • New: NumberHelpers.IsValid overload allowing validating number is not empty

Acuit.Pinpoint.Server.Client Package

  • New: Support for CreateUnitRecord API

6.89.0 - 2019-08-13

Developer API

Acuit.Pinpoint.Common Package

  • BREAKING CHANGE since v6.88.0: change bool validateNumberIds parameters to IEnumerable<string> validNumberIds to allow custom number ids to be validated
  • New: BarCodeDefinition.Parse overload with validNumberIds parameter

6.88.0 - 2019-08-13

Workstation

  • Configure Server Connection prompt for server name, not address
  • Log ServerName at startup, not ServerAddress
  • ServerEmulation:ServerAddress key-value setting changed to ServerName
  • Make retrieve files use same transport security mode as Pinpoint API, to fix bug where can't retrieve files from server set for anonymous clients (e.g., workstation starts but fails to retrieve plug-in files)
  • remove system.serviceModel section from app config file since sets everything automatically via code

Developer API

Server API

  • New: GetBasicUnitInformation API

Acuit.Pinpoint.Common Package

  • New: TextBarCodeDefinition and IsoIec15434Format06BarCodeDefinition constructors allowing number id validation to be skipped (for custom bar codes)

Acuit.Pinpoint.Server.Client Package

  • New: ClientHelper and PinpointFileClient classes
  • New: PinpointClient constructor with useTransportSecurity parameter, and CreateBinding and CreateEndpointAddress methods
  • New: Support for GetBasicUnitInformation API
  • Improve: PinpointClient now automatically adds internationalization header to get results in correct language based on thread UI culture
  • Changed: Some PinpointClient methods deprecated

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: PinpointServerName and IsTransportSecurityActive properties added to IWorkstationService

6.87.6 - 2019-08-07

Workstation

  • Improve: Now displays unit model number alias on manned interface display if one exists.
  • Improve: Now unit numbers on manned interface display have a while background behind them.

6.87.3 - 2019-08-06

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire

Workstation

  • Improve: Show overall green/red status for components and defects only under section header row, not entire control. This fixes (1) where components that don't apply can show red under them, which is confusing, and (2) where repaired defects can show red under them, which was wrong.

6.87.0 - 2019-08-04

Server

  • New: API calls are logged to rolling ApiLog.txt file, and any calls that result in unexpected errors or that take longer than 3 seconds are logged to rolling ApiErrorLog.txt file
  • Improve: Add some missing and fix some inconsistent Spanish translations

Workstation

  • New: Overall component/buyoff/defects status visible at a glance:
    • Show green as background behind all components when all applicable components are good, or red if any are bad. This allows operator to know all component scans are done even if some are scrolled out of view.
    • Show green as background behind all buyoffs when all applicable buyoffs are set, or red if any are missing.
    • Show red as background behind all defects/repairs when any unrepaired defects exist. This allows operator to know there are unrepaired defects even if they are scrolled out of view.
  • New: Health check for Pinpoint Server connection
  • Improve: Now components that haven't been scanned appear red with "Missing" as the reason invalid, even before the initial scan. Skipping a component scan now does nothing, since the status is already shown.
  • Improve: When alarms, health, or plug-in at bottom of display change height, smoothly animate change to reduce chance of display changing underneath operator about to click a button.
  • Improve: Cleaned up unit component display: Make "Alt" checkbox line up next to model/serial number. Make "Does not apply to this unit" NOT overlap previously-scanned model/serial number if they exist. Make "Missing" align vertically with component button.
  • Improve: Now alarms panel collapses unless there's active alarm, to provide more screen space for components, defects, and plug-ins
  • Fixed: Now allows component to be removed (from unit maintenance station) when it no longer applies to unit
  • Fixed: Now buttons for buyoffs that don't apply to unit are disabled.

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire

Developer API

Acuit.Pinpoint.Windows Package

  • New: AnimatedResizeStackPanel control

6.86.4 - 2019-07-15

Workstation

  • Fix: bug where component with skipPromptIfHaveValid set, if have valid scan, clicking rescan button does nothing.

6.86.2 - 2019-07-11

Workstation

  • BREAKING CHANGE: Computer name will now be used as station name--to force a different name, use the new "Use computer name" option in Configure Server Connection.
  • Fix: bug introduced in version 6.76.0 where when component marked as SkipPromptIfHaveValid is scanned, next component will be skipped but show green and same values, though not recorded in the unit record.

6.85.0 - 2019-07-10

Server

  • New: Show health report on Admin Overview page
  • New: Now when unitMaintenance is used for station type, explicit station buyoffs and component types will no longer be ignored
  • Changed: Various start/stop/init log messages

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire, Microsoft.AspNetCore.Server.HttpSys, NLog.Web.AspNetCore

Developer API

Acuit.Pinpoint.HealthChecks Package

  • BREAKING CHANGE: (since v6.81) Now HealthCheckPublisherHostedService implements IHostedService; removed Start, Stop, and IDisposable

Acuit.Pinpoint.Hosting Package

  • New: Initial version of this new package.

Acuit.Pinpoint.Server.Configuration Package

  • BREAKING CHANGE: ComponentTypeSettings.AuthorizationSet & TestTypeSettings.AuthorizationSet setters removed
  • New: Add missing property setters so that all config settings can be programmatically set
  • Changed: Move XML reading into DatabaseSettingsXmlReader and LineSettingsXmlReader (deprecating old members in DatabaseSettings and LineSettings)

6.84.0 - 2019-06-20

Server

  • New: Support for IHealthCheckService, with health problems logged and emailed to admins
  • Fix: bug introduced in version 6.78.0 where admin notifications are logged twice
  • Some internal components were upgraded for incremental performance and reliability improvements: Unity.*

Workstation

  • BREAKING CHANGE: (since v6.81.0) Health check config settings section changed from Workstation:HealthCheckPublisher to Workstation:HealthChecks, and default values changed: Delay from 3 to 5 seconds, Period from 3 to 30 seconds, Timeout from 3 to 30 seconds.

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: jquery-validate, Telerik.Reporting.*

Developer API

Server Plug-in API

  • New: Plug-ins can use IHealthCheckService service
  • New: ILineService methods: IsBuyoffApplicable, IsComponentTypeApplicable, IsTestTypeApplicable

Acuit.Pinpoint.HealthChecks Package

  • Changed: HealthCheckPublisherOptions property defaults changed: Delay from 3 to 5 seconds, Period from 3 to 30 seconds, Timeout from 3 to 30 seconds.

6.83.6 - 2019-06-13

Workstation

  • Fix: bug since v6.78.0 where defect/repair entry buttons do not appear

6.83.4 - 2019-06-13

Workstation

  • Fix: bug where plug-ins added after app startup (e.g., via configuration settings) that export IHealthCheckPublisher service(s) fail to load

6.83.0 - 2019-06-11

Developer API

Acuit.Pinpoint.Common Package

  • New: RecursiveValidator class for recursive validation via data annotations
  • New: CollectionNotEmptyAttribute, CompareToAttribute, GreaterThanAttribute, GreaterThanOrEqualToAttribute, LessThanAttribute, LessThanOrEqualToAttribute, WildcardExpressionAttribute data annotation validation classes

Acuit.Pinpoint.Configuration Package

  • BREAKING CHANGE: Removed OptionsValidator class added in version 6.82.0 (use RecursiveValidator in Acuit.Pinpoint.Common instead)

6.82.0 - 2019-06-10

Developer API

Acuit.Pinpoint.Configuration Package

  • New: OptionsValidator class

6.81.0 - 2019-06-07

Workstation

  • New: Health check problem display at the bottom of the screen (for plug-ins).
  • Improve: Now if component composition fails (e.g., due to improperly-configured plug-ins), the application will crash with an appropriate error message instead of silently ignoring the error.

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: NLog.Web.AspNetCore

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • Improve: Add missing Spanish translation.

Acuit.Pinpoint.Client2 Package

  • Improve: Add argument checks to some methods

Acuit.Pinpoint.Common Package

  • Improve: Add argument checks to some methods

Acuit.Pinpoint.Data Package

  • Improve: Add argument checks to some methods

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Health checks API

6.80.0 - 2019-05-31

Workstation

  • BREAKING CHANGE: Plug-ins created for version 6.79 to use secondary display will no longer work since region names have changed.
  • New: Support for plug-ins registering views to display on third, fourth, etc., screens

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: Screen2PlugInRegion region renamed as Screen2Region
  • BREAKING CHANGE: Screen2SinglePlugInRegion region removed
  • New: Screen3Region, Screen4Region, etc., region names allowing screens 3, 4, etc., to be used

6.79.4 - 2019-05-30

Workstation

  • Fix: bug introduced in 6.76.0 where production queue count does not decrement when scan preassembly

6.79.0 - 2019-05-29

Server

  • Fix: crash in web page that happens after deployment when server tries to compile pages
  • Fix: problem where a plug-in that references an older version of a certain dependencies supplied with Pinpoint Server (CsvHelper, ExcelDataReader, Newtonsoft.Json) will fail to load

Reporting

  • New: Dashboard section
  • Fix: problem where did not connect properly for Pinpoint databases with customized connection strings
  • Improve: README
  • Some internal components were upgraded for incremental performance and reliability improvements: Hangfire, Telerik.Reporting

Workstation

  • New: Support for plug-ins registering views to display on a second screen via new Screen2PlugInRegion and Screen2SinglePlugInRegion region names

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Screen2PlugInRegion and Screen2SinglePlugInRegion region names

6.78.6 - 2019-05-14

Server

  • Fix bug introduced in version 6.75.37 where an internal error will occur when try to view a table from web page. The logged error will be:
    An unhandled controller exception occurred
    System.IO.FileNotFoundException: Could not load file or assembly 'System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.
    

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: NLog.Web.AspNetCore

6.78.0 - 2019-05-02

Server

  • Improved: Now all notification emails are logged to application log (not just ones that fail to send)
  • Improved: Add log entries for when Pinpoint Server services are finished starting and stopping
  • Fix where upon a failed email notification with attachments, the email subject is logged instead of attachment names
  • Some internal components were upgraded for incremental performance and reliability improvements: ExcelDataReader, Newtonsoft.Json, Unity.*

Workstation

  • Fix some minor potential memory leaks
  • Improved: Added Spanish translation for production queue display
  • Some internal components were upgraded for incremental performance and reliability improvements: Newtonsoft.Json

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, DocumentFormat.OpenXml, Hangfire.*, jQuery, Newtonsoft.Json, NLog.Web.AspNetCore

Developer API

Acuit.Pinpoint.Configuration Package

  • New: IOptions generic interface. This is useful for exposing singleton object instances whose values don't come from the configuration system key/value settings.
  • Now requires Newtonsoft.Json 12.0.2

Acuit.Pinpoint.Tables Package

  • Now requires ExcelDataReader 3.6.0

6.77.0 - 2019-03-07

Server

  • New: Allow configuring SQL Server connection datasource and authentication via new "Acuit.Pinpoint:Databases" settings section
  • Some internal components were upgraded for incremental performance and reliability improvements: ExcelDataReader

Workstation

  • Some internal components were upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: bootstrap, jquery-validate, jquery-validation-unobtrusive, Telerik.Reporting.*

Developer API

Acuit.Pinpoint.Tables Package

  • Now requires ExcelDataReader 3.5.0

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: With the upgrade of Extended.Wpf.Toolkit from 3.4.0 to 3.5.0, Extended.Wpf.DataGrid is no longer included with Acuit Pinpoint Workstation.

6.76.0 - 2019-02-04

Server

  • New: Pinpoint can now automatically generate and track serial numbers for units or assemblies via autoGenerate settings for serialNumber config settings.
    DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.7).
  • Improved: Parts lists from database queries or from tables now parse the "alternate" column more flexibly, allowing a variety of ways to indicate true/false, and never causing an error.
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

Workstation

  • Fix: bug where when a unit is scanned that exists in a linked line, and automatic worker logon is configured for the station type in the linked line, the workstation will switch to the linked line but will not automatically scan the unit

Reporting

  • Improved: FPY report can now total by day or month, aggregate for all lines, and displays FPY % to just one decimal place
  • Improved: Installation instructions improved
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Hangfire, NLog.Web.AspNetCore

Developer API

Server API

  • New GetNextUnitSerialNumber, GetNextComponentSerialNumber APIs

Acuit.Pinpoint.Common Package

  • New: WildcardExpression.IsMatch static method
  • New: WildcardExpression.ToLiteral method
  • Improved: Slight fix to Spanish translation

Acuit.Pinpoint.Tables Package

  • Now uses CsvHelper 12.1.2

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: IWorkstationService.UnitSelector property, allowing a plug-in to override the default unit selection UI/process
  • New: IWorkstationService.ScanUnit2 method, returning a Unit instead of bool (IWorkstationService.ScanUnit deprecated)
  • New: IItemScanner members: ErrorMessage property, ClearIsRejected method
  • New: IItemScannerNumber members: IsValid, IsRejected, and IsSelected properties; SubmitNumber, and Clear methods; ValidNumberReceived event; and now implements INotifyPropertyChanged
  • New: IAlarmsManager.AddNewAlarm(string message, string context, bool interactive) method (IWorkstationService.ShowAlarm deprecated)
  • New: IAlarmsManager.IsDisplayingAlarmInMessageBox property
  • New: IWorkstationService.GetNextUnitSerialNumber, GetNextComponentSerialNumber methods, for retrieving automatically-generated serial numbers
  • New: IWorkstationService.ScanComponent method
  • Changed: Add GetUnitScanSettings, GetComponentScanSettings to IItemScanningService (corresponding methods in IWorkstationService deprecated)

6.75.37 - 2018-12-13

Server

  • Fix: bug introduced in 6.73.0 where Pinpoint Server services would not initialize properly if admin email address(es) aren't configured
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Microsoft.AspNet.Mvc, Newtonsoft.Json

Workstation

  • Fix: bug in emulator where test data doesn't show up in Unit Information display
  • Some internal components were upgraded for incremental performance and reliability improvements: Newtonsoft.Json

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, CsvHelper, Hangfire, Microsoft.AspNetCore, Newtonsoft.Json

Developer API

Acuit.Pinpoint.Tables Package

  • Now uses CsvHelper 12.0.1

6.75.10 - 2018-11-13

Workstation

  • Improved: During station startup, wait until plug-ins referenced from server are loaded and initialized (i.e., does not proceed to worker login/etc.)
  • Fix: bug where sometimes could get multiple restart-workstation prompts after plug-in settings change

6.75.0 - 2018-11-06

Workstation

  • Improved: Item scanner "Clear" button now clears error message, too
  • Fix: Add missing automation id's to Options dialog buttons
  • Fix: Bug since v6.73.0 where unit scan dialog would cover up production queue, preventing item from being selected

Developer API

Acuit.Pinpoint.Windows Package

  • Add MainWindow, ActiveWindow, IsMessageBoxShown properties to IUserInterfaceService

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE: (since v6.73.0) Renamed IItemScanner.ClearNumbers to Clear
  • New: Add IBarCodeScannersService (deprecating IWorkstationService.BarCodeScan)
  • New: Add IItemScanningService (deprecating IWorkstationService.StartScanningItem)
  • Improved: Now bar code scans are only handled by active/visible windows/views/controls--for example, when plug-in has navigated MainRegion to custom view, bar code scans are no longer handled by workstation engine, which could previously cause unexpected behavior
  • Improved: Add PresentationCore, System.ComponentModel.Composition, and System.ServiceModel assembly references

6.74.0 - 2018-10-29

Server

  • Improved: Dramatically improve performance when importing table data from some Excel spreadsheets
  • Add web redirect so old shortcuts to "/View/Search" will work (was changed in v6.71.4)
  • Fix: bug (introduced in v6.70) where @componentSerialNumber:componentTypeName@ and @componentModelNumber:componentTypeName@ placeholders don't work when the component type name has spaces or other special characters
  • Fix: bug in component scan tester tool where it would not work with component model or serial placeholders
  • Fix: bug in IPinpointFileService.RetrieveFile (used by plug-ins and when loading Workstation plug-ins via station settings) where some errors were not returned to caller via fault, instead causing unhandled errors on server

Workstation

  • Change "part" translated as Spanish "pieza" to be consistent with "parte" everywhere else

Developer API

Acuit.Pinpoint.Tables Package

  • Add Table.TruncateColumns method, dramatically improve performance of Table.RemoveEmptyColumns when there are many blank columns at the end

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • Add NoScanSinglePlugInRegion view region
  • ViewNames.NoScanViewReplace as now marked obsolete

6.73.0 - 2018-10-28

Server

  • Improved: Notification emails are now sent asynchronously, so callers do not wait until completes or fails
  • Some internal components were upgraded for incremental performance and reliability improvements: ExcelDataReader

Workstation

  • Improved: Added some components/preassembly support to server emulation capabilities via "ServerEmulation" config section
  • Fix: Fix bug introduced in v6.67.0 where parts of UI would show up in wrong language
  • Fix: Fix crash when station type is configured for noScan
  • Fix: Fix bug where plug-ins that register a "NoScanViewReplace" view, but error when view navigation occurs, falls back to default no scan view instead of crashing as it should

Server Console

  • Fix: Fix bug introduced in v6.67.0 where parts of UI would show up in wrong language

Developer API

Server API

  • New APIs:
    • GetComponentPartsList
    • GetTableData
    • SendMail
    • SendNotification

Server Plug-in API

  • New: Added to INotificationService interface:
    • SendMail(string recipients, string subject, string body)
    • SendMailAsync(string recipients, string subject, string body)
    • SendMailAsync(string from, string recipients, string subject, string body)
    • SendMailAsync(MailMessage message)

Acuit.Pinpoint.Tables Package

  • Now requires ExcelDataReader 3.4.2

Acuit.Pinpoint.Windows Package

  • New: New BaseUserInterfaceService(string applicationName) constructor, to allow initializing the service without having yet finished creating the main window.
  • Fix: Fix bug in ResourceExtension introduced in v6.67.0 where XAML resources were not translated using the correct culture (used CurrentCulture instead of CurrentUICulture)

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Added to IWorkstationService interface:
    • BarCodeScan event
    • NoScanStateReady event
    • GetComponentPartsList method
    • GetComponentScanSettings method
    • GetTableData method
    • GetUnitScanSettings method
    • SendMail method
    • SendNotification method
    • StartScanningItem method

6.72.0 - 2018-10-09

Workstation

  • New: Limited server emulation via "ServerEmulation" config section

Reporting

  • Some internal components were upgraded for incremental performance and reliability improvements: CronExpressionDescriptor, Microsoft.AspNetCore, Microsoft.AspNetCore.Mvc, NLog.Web.AspNetCore

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package

  • Improved IMenuRegistry.AddMenuItem exceptions

6.71.9 - 2018-10-04

Workstation

  • Improved: Some Spanish translations related to assemblies.

Developer API

  • The following packages are now publicly published to NuGet (other packages continue to be published to private Acuit feed):
    • Acuit.Pinpoint.Client2
    • Acuit.Pinpoint.Common
    • Acuit.Pinpoint.Configuration
    • Acuit.Pinpoint.Server.Client
    • Acuit.Pinpoint.Server.Interfaces
    • Acuit.Pinpoint.Tables
    • Acuit.Pinpoint.Windows
    • Acuit.Pinpoint.Workstation.Interfaces

6.71.4 - 2018-09-25

Server

  • Improved: Combine separate View/Search pages into one page, showing all search options all the time
  • Improved: View page validates wildcard fields and shows proper errors
  • Fix: Optimize component scan serial uniqueness check (to resolve slow component scans at some stations)

Reporting

  • Improved: Test Data report validates wildcard fields and shows proper errors

Developer API

Acuit.Pinpoint.Common Package

  • New: WildcardExpression.Escape methods
  • New: WildcardExpression sets support "not in set" via [^]
  • Change: WildcardExpression now throws NotSupportedException instead of InvalidOperationException when trying to convert to a SQL LIKE pattern or SQL where match expression and a wildcard feature is unsupported
  • Improved: WildcardExpression exceptions now contain detailed error messages explaining the specific problem with the wildcard or how a feature is unsupported
  • Fix: Fix bug in WildcardExpression where sets are not converted to SQL LIKE patterns properly

Acuit.Pinpoint.Data Package

  • New: PredicateBuilder class
  • New: ExpressionExtensions.SqlLikeFactory method
  • Change: Removed ExpressionExtensions.IsMatchAllWildcardPattern method

6.70.3 - 2018-09-24

Server

  • Fix: bug introduced in version 6.67.0 causing Production Monitor queries to fail:
    Production Monitor shows: "An error occurred retrieving the data."
    Server logs an unhandled error: "System.InvalidOperationException: Invalid operation. The connection is closed."

6.70.0 - 2018-09-22

Server

  • New: View web page to search for units now supports "[]" sets and "|" alternates wildcards.
  • Fix: Fix bug in view web page where when serial number search value is supplied, preassembly random serial numbers are included in query--now preassemblies are excluded when serial number specified.

Reporting

  • Improved: Add station name to Test Data report
  • Improved: Optimize Test Data report query
  • New: Report parameters that allow wildcards now support "[]" sets and "|" alternates wildcards.

Developer API

Acuit.Pinpoint.Common Package

  • New: WildcardExpression class (deprecates old WildcardPattern class)

Acuit.Pinpoint.Data Package

  • Improved: ExpressionExtensions.WildcardMatch now supports alternates ("|")

6.69.0 - 2018-09-20

Server

  • Fix: Bug where component types configured using groupName allow same serial number to be used in multiple components in group within same unit
  • Fix: Internal error instead of proper error message when try to create table with name in use, worker with badge number in use, or delete worker used in history
  • Fix: When a Pinpoint database cannot be opened (e.g., doesn't exist or login doesn't work), log error but allow Pinpoint to start and run with other databases
  • Fix: If try to add database already added to Pinpoint, reject it (before, could add same database multiple times)

Developer API

Acuit.Pinpoint.Data Package

  • New: DataExceptionExtensions class

6.68.0 - 2018-09-07

Reporting

  • An internal component was upgraded for incremental performance and reliability improvements: CronExpressionDescriptor

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: IStationSettings.StationComponents property, allowing plug-ins to see the list of station component settings for the component types that this station is responsible for scanning.

6.67.0 - 2018-09-05

Server

  • New: Enable snapshot transaction isolation level in databases, and change reports and Production Monitor queries to use it during their queries, to greatly reduce impact to production operations.
    DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.6).
  • Change: Installer sets up service for delayed auto start, and change restart service delay to 1 minute
  • Change: SQL Server 2008 R2 minimum requirement
  • Fix: Restore feature that stopped working some time ago that allowed a unit serial number to be typed with "*" wildcard(s)
  • Fix: Fix unhandled error when server API is called with null parameter; now returns appropriate fault
  • Admin docs link from About page now opens in new tab/window
  • An internal component was upgraded for incremental performance and reliability improvements: ExcelDataReader

Workstation

  • Fix: Restore feature that stopped working some time ago that allowed a unit serial number to be typed with "*" wildcard(s)
  • Fix: warning in application log: "<log4net.Error>Exception during StringFormat: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. <format>Component type {0} configured as CheckInstalledOnly but also has scan pattern(s) configured; ignoring scan pattern(s)</format><args>{}</args></log4net.Error>"

Reporting

  • New: Test Data report
  • New: Pinpoint server name and SQL Server login can be overridden via appsettings.json
  • New: Host filtering capability
  • Improved: Serialized Component Changes, First Pass Yield reports can be bookmarked (i.e., parameters are now in URL)
  • Improved: Serialized Component Changes, First Pass Yield reports: Change Parameters and Export CSV links
  • Improved: Serialized Component Changes, First Pass Yield reports: Queries are cached
  • Improved: Add report parameters to top of SerializedComponentChanges
  • Improved: Make all site pages fluid (without side margins)
  • Change: Default to server GC
  • Change: Make console launch just "--console", not "--console=1"
  • Fix: Serialized Component Changes now skips databases that aren't online

Developer API

Server Plug-in API

  • New: Add IEquatable implementation to DatedShift

Acuit.Pinpoint.Client2 Package

  • New: UnitTest.ParseXmlTestData method

Acuit.Pinpoint.Server.Client Package

  • Change: PinpointClient.UseAsync no longer capture async context

Acuit.Pinpoint.Server.Configuration Package

  • New: SequenceRange now implements IEquatable
  • New: Shift <= and >= operators
  • Fix: potential null reference exception in WorkflowState.ToString

Acuit.Pinpoint.Tables Package

  • An internal component was upgraded for incremental performance and reliability improvements: ExcelDataReader

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: IWorkstationService.BuyoffChanged event

6.66.4 - 2018-08-22

Server

  • Fix: Problem introduced in 6.66.0 where PerformUnitSequenceCheck, PerformUnitSequenceCheck2, PerformUnitFinalCheck, and PerformUnitFinalCheck2 would cause internal server error

Reporting

  • Improve documentation.
  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.AspNetCore, Microsoft.AspNetCore.Authentication, Microsoft.AspNetCore.Mvc

6.66.0 - 2018-08-22

Developer API

Server API

  • New: PerformUnitSequenceCheck2 & PerformUnitFinalCheck2

6.65.0 - 2018-08-19

Server

  • New: Configure schedule upload CSV columns via "Acuit.Pinpoint:Schedules:Headers" setting, ignoring unused columns
  • BREAKING CHANGE: Remove obsolete PrepareBlankUnitRecords server API
  • Fix: crash when table with no rows is imported (manually or automatically) into database table

Workstation

  • Make debug "View Configuration Settings" a regular dialog, not a touch dialog.

Developer API

Server API

  • BREAKING CHANGE: Remove PrepareBlankUnitRecords

Acuit.Pinpoint.Tables Package

  • New: Table.EnumerateHeaderAndRows method
  • New: Table(TextReader, bool) constructor
  • New: CsvHelper class
  • Fix: exception in Table.ColumnCount, Table.IsColumnEmpty, Table.RemoveColumn, and Table.RemoveEmptyColumns when there are no rows in the table

6.64.2 - 2018-08-14

Server

  • New: Support for nested preassemblies
  • POTENTIAL BREAKING CHANGE: Additional line configuration validation on preassembly structure (could cause line configs that loaded with no errors to now fail load)
  • New: Experimental feature where can enter "BOM" for component serial in Component Scan Tester to get a BOM-style listing for the specified unit
  • Fix: Won't start if a database table source file path points to a non-existent directory
  • Fix: Exception if a refreshWatchFile setting points to a non-existent directory
  • Some internal components were upgraded for incremental performance and reliability improvements: Quartz

Workstation

  • Fix: Plug-ins loaded via settings do not get their module info logged to app log

Developer API

Acuit.Pinpoint.Server.Client Package

  • New: BusinessLogicFaultReason enum value

Acuit.Pinpoint.Server.Configuration Package

  • New: LineSettings.InferUnitComponentStructure method

6.63.0 - 2018-08-07

Server

  • Remove admin manual from web pages and link to online "Acuit Pinpoint Administration Documentation" instead

Reporting

  • Fix error on page load due to wrong Popper being referenced (did not affect web page functionality)
  • Some internal components were upgraded for incremental performance and reliability improvements: NLog.Web.AspNetCore, popper.js

Developer API

Acuit.Pinpoint.BarCodeScanning Package

  • New: Initial release of this package

6.62.0 - 2018-08-01

Reporting

  • New: New standalone reporting web app

6.61.0 - 2018-08-01

Server

  • BREAKING CHANGE: <unitFilter> with only excludes defined now include all other units by default. This means no longer must put in something like <include modelNumber="*" />.
  • Improved: Now web interface should force Internet Explorer to not use compatibility view even over intranet.
  • Fix: Acuit.Pinpoint.Configuration Spanish resources are not installed.
  • Some internal components were upgraded for incremental performance and reliability improvements: CodeMirror, CsvHelper, jquery-validation-unobtrusive

Workstation

  • Fix: Acuit.Pinpoint.Configuration Spanish resources are not installed.
  • Add missing Extended.Wpf.Toolkit assemblies (part of package but not used by Pinpoint) so plug-ins can make use of them.
  • Some internal components were upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit

6.60.0 - 2018-05-17

Server

  • Improved: Split admin manual into separate page per chapter; link directly to XML reference page in help window for both line and database configuration pages.
  • Some internal components were upgraded for incremental performance and reliability improvements: CodeMirror, jquery-validation, jquery-validation-unobtrusive, Microsoft.AspNet.*

Workstation

  • New: View Configuration Settings debug tool.

Developer API

Acuit.Pinpoint.Configuration Package

  • New: BindableCollection helper class

6.59.4 - 2018-05-01

Server

  • Fix: The component verification allowInvalid setting no longer applies to checkInstalledOnly components to allow the response to the question to be changed (e.g., if the operator accidentally chose the wrong response initially).

Developer API

Acuit.Pinpoint.Configuration Package

  • Fix: Add missing Spanish resources dll to NuGet package.

6.59.0 - 2018-04-25

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: Unity

Workstation

  • Change: Move Full Screen above Scaling in View menu
  • Fix: "Plug-ins can register a view for the MannedUnitSinglePlugInRegion region only upon initialization" error when PinpointTorque plug-in is used at station with auto-logon enabled

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Add IsStationStarted & IsWorkerLoggedOn to IWorkstationService

6.58.0 - 2018-04-17

Server

  • New: "skipPromptIfHaveValid" component type setting.

Workstation

  • New: Support for "skipPromptIfHaveValid" component type setting.
  • Improved: Ignore plug-ins defined by Workstation:PlugIns settings that are blank, which allows locally removing a plug-in that was defined by the server.

Developer API

Acuit.Pinpoint.Configuration Package

  • New: "skipPromptIfHaveValid" component type setting.

6.57.0 - 2018-04-11

Developer API

Acuit.Pinpoint.Configuration Package

  • New: IMonitoredOptions<TOptions>.IsConfigured property

6.56.0 - 2018-04-10

Server

  • Fix: issue since v6.53 causing settings.json files to never load.

Workstation

  • New: Now can specify plug-ins via "Workstation:PlugIns" setting, from any settings.json file or database/line XML configuration. Single-file or local plug-ins can be referenced via the full path to the plug-in module DLL file. Plug-ins that consist of multiple files can be referenced via the full path to a zip file containing one or more plug-in modules in the root folder.
  • BREAKING CHANGE: Removed ability to specify plug-ins via References.txt file.
  • Fix: issue since v6.53 causing settings.json files to never load.
  • Fix: issue since v6.55.0 that caused plug-ins that import IWorkstationService to fail to load.
  • Now internal Prism log messages are logged.

Developer API

Acuit.Pinpoint.Windows Package

  • New: Log4NetPrismLogger class

6.55.0 - 2018-04-06

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: Unity

Workstation

  • Improved: Now DisableNumberTyping (previously only settable via app config file) can be configured via "Workstation:DisableNumberTyping" config setting anywhere using new key/value configuration feature.

Developer API

Acuit.Pinpoint.Configuration Package

  • New: ApplicationSettingsConfigurationProvider
  • New: IMonitoredOptions<TOptions>/MonitoredOptions<TOptions>

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Now settings from Acuit.Pinpoint.Workstation.Properties.Settings section in app/users/local machine XML config files will be added to key/value configurations under "Workstation" section

6.54.14 - 2018-03-28

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: Unity

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • IServerFileRetriever.RetrieveFileAsync will now work when a previously-downloaded file is in use by saving to an alternate file location.

6.54.10 - 2018-03-27

Server

  • Fix: Scanning an assembly with an "is installed" component check would reject the assembly with a "The component was rejected: [Component name]: Not installed" error
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Newtonsoft.Json, Unity

Developer API

Acuit.Pinpoint.Configuration Package

  • Some internal components were upgraded for incremental performance and reliability improvements: Newtonsoft.Json

Acuit.Pinpoint.Tables Package

  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper

6.54.0 - 2018-03-19

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New IWorkstationService.StationStarted event.

6.53.20 - 2018-03-18

Server

  • New: Can now define key/value configuration setting values for use by plug-ins at the server level (via external settings.json files), database level (via the database configuration XML), or line, station type, specific station, or plug-in level (via the line configuration XML).
  • Fix: Ensure "Service exiting" log entry occurs even upon an unhandled exception.

Workstation

  • New: Can now define key/value configuration setting values for use by plug-ins via external settings.json files on the workstation computer.

Developer API

Acuit.Pinpoint.Common Package

  • New LocalPaths.GetEntryAssemblyDirectory method.

Acuit.Pinpoint.Configuration Package

  • Initial release.

Acuit.Pinpoint.Server.Configuration Package

  • Support for new plug-ins key/value configuration settings definitions.
  • Fix some bugs in API when using directly, not from XML config.

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New IWorkstationService.Configuration property providing plug-ins with key/value configuration settings.
  • New IConfigurationRoot.GetLocalFileNameAsync method allowing workstation plug-in to retrieve a file from Pinpoint Server, cached locally for use by the plug-in.

Server API

  • New PinpointFileService allowing workstations to retrieve files from the server.

Server Plug-in API

  • Server plug-ins can have an IConfigurationRoot injected into them that provides the plug-in with effective key/value configuration settings.
  • New IDatabase.Configuration property, allowing access to database-level key/value config settings.
  • New ILineService.GetConfigurationForStation method, allowing a plug-in to retrieve the effective key/value configuration settings for a station type or particular station.

6.52.10 - 2018-03-11

Admin Manual

  • Improved: Now references are properly linked.

Server

  • New: Added groupName component type setting to allow serial number uniqueness checks to apply across a group of components.
  • New: Allow "name" attribute to be used in test data items to override the element name when data is displayed.

Workstation

  • New: Allow "name" attribute to be used in test data items to override the element name when data is displayed.
  • An internal component was upgraded for incremental performance and reliability improvements: Xceed.Wpf.Toolkit

Developer API

Help File

  • Misc. improvements to API documentation.

Server API

  • Added ComponentScanned3 and RemoveComponent2 (for consistency with plug-in API changes)

Server Plug-in API

  • Now Line plug-ins support dependency injection
  • Added ComponentScanned and ComponentRemoved events to ILineService

6.51.6 - 2018-03-04

Admin Manual

  • Now admin manual is in HTML format instead of PDF.

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: CodeMirror, CsvHelper, LinqKit, Newtonsoft.Json, Unity

Workstation

  • Fixed: Fixed bug (introduced in version 6.41.19) where Spanish resources are missing.
  • Fixed: Problem where separators in main menu could take focus.

Developer API

Acuit.Pinpoint.Tables Package

  • An internal component was upgraded for incremental performance and reliability improvements: CsvHelper

Help File

  • Added Acuit.Pinpoint.Data, Acuit.Pinpoint.Modbus, Acuit.Pinpoint.Server.Client documentation.
  • Other improvements and fixes.

6.51.2 - 2018-02-13

Server

  • New: Add Production Queue Sender to Maintenance web pages (was previously a separate stand-alone utility).
  • Some internal components were upgraded for incremental performance and reliability improvements: Microsoft.AspNet.Mvc, Unity

Workstation

  • Fixed: Fix "InvalidOperationException: Message Queuing has not been installed on this computer" crash during app startup when station type configured with showUnitModelProductionQueue="true" but MSMQ is not installed.

Developer API

Acuit.Pinpoint.Server.Configuration Package

  • Add LineSettings.EnumerateNamedStationTypes method.

Acuit.Pinpoint.Modbus Package

  • Initial release.

6.50.0 - 2018-02-06

Server

  • Improved: Now administrator email addresses separated by semicolons are allowed
  • Improved: Improve Admin, Settings web page
  • Fixed: "Out of memory" crash when test email server settings fails due to SMTP error
  • Some internal components were upgraded for incremental performance and reliability improvements: ExcelDataReader, LinqKit, Unity

Developer API

Server Plug-in API

  • Add SendNotification API to INotificationService; improve INotificationService API documentation

Acuit.Pinpoint.Data Package

  • Add association between UnitStates and Units so can easily query for produced units

Acuit.Pinpoint.Tables Package

  • An internal component was upgraded for incremental performance and reliability improvements: ExcelDataReader

6.49.11 - 2018-01-23

Server

  • Fixed: Fix crash in web app (introduced in version 6.47.0) when trying to save an edited worker (if worker was in a group before and after the edit).

6.49.9 - 2018-01-23

Developer API

Server Plug-in API

  • BREAKING CHANGE since v6.49.0 to ISchedule interface

6.49.7 - 2018-01-22

Server

  • Fix Common.Logging integration where a default configuration was being used, causing console logging to occur
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Unity

Workstation

  • Fix Common.Logging integration where a default configuration was being used, causing console logging to occur

6.49.2 - 2018-01-22

Server

  • Hook up Common.Logging so plug-ins that use it will log properly

6.49.0 - 2018-01-21

Developer API

Server Plug-in API

  • Add ILineService.PreparedBlankUnitRecords event

6.48.16 - 2018-01-19

Server

  • Some internal components were upgraded for incremental performance and reliability improvements: LinqKit.

Developer API

Acuit.Pinpoint.Data Package

  • Initial release

6.48.0 - 2017-12-21

Server

  • New: Record station IP address, Pinpoint Workstation version, last start date/time.
    DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.5).
  • Fix: When a database is upgraded to new schema, its lines weren't loaded and initialized until next access, which could cause background processing to not happen (introduced in version 6.44.0).
  • Some internal components were upgraded for incremental performance and reliability improvements: CsvHelper, Unity.

Workstation

  • Send version number to server when starting.

Developer API

Acuit.Pinpoint.Tables Package

  • An internal component was upgraded for incremental performance and reliability improvements: CsvHelper.

6.47.7 - 2017-12-12

Server

  • An internal component was upgraded for incremental performance and reliability improvements: CsvHelper.

Developer API

Acuit.Pinpoint.Tables Package

  • Initial release

6.47.0 - 2017-12-10

Server

  • Removed the Reports setup page from Admin area; SSRS reports should be set up using the separate ReportingUtility.
  • The reports link can be manually set via App_Data/ReportUploadSettings.xml to support non-SSRS reporting.
  • Installer now configures the Acuit Pinpoint Server service to automatically immediately restart upon failure.
  • Fix: Fix bug introduced in version 6.44.0 where Defect Summary page in Production Monitor would not show data and would generate an unhandled error in the server.
  • Fix: Fix bug introduced in version 6.45.6 that caused parts lists to be requeried every time they were referenced.
  • Fix: Older Newtonsoft.Json version references from the web app weren't redirected to the latest version (no known issues due to that).

Developer API

Acuit.Pinpoint.Common Package

  • Acuit.Pinpoint.Common: Add LocalPaths.EntryAssemblyOverride property.

Acuit.Pinpoint.Server.Client Package

  • Add default PinpointClient constructor to support custom endpoint via application config file.

6.46.6 - 2017-12-06

Server

  • An internal component was upgraded for incremental performance and reliability improvements: Unity.

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • Fix: Fix NullReferenceException that can occur if IWorkstationService.StationSettings.IsDefectsEntryConfigured is referenced by plug-in before station settings have been retrieved from Pinpoint Server.

6.46.3 - 2017-12-05

Workstation

  • At small window sizes, ensure defects list doesn't completely crowd out components list.

6.46.0 - 2017-12-04

Workstation

  • New: Now scrollable regions and lists can be scrolled via drag touch gestures.
  • Fix: When the components list won't fit on the screen, it can now be scrolled.

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • New: Add StationSettings property to IWorkstationService interface, initially with just IsDefectsEntryConfigured property.

6.45.6 - 2017-11-30

Server

  • New: tableAutoImport now supports Excel files.
    BREAKING CHANGE: Import file extension is now used to determine how to read (csv or txt only are interpreted as CSV, where before all files were).
  • BREAKING CHANGE: Unit maintenance station types now automatically include buyoffs as well as components.
  • New: <tables> database configuration, with support for an external table source file from which the table is kept synchronized.
  • New: <unitFilter> configuration for unit applicability for buyoffs, components, tests, and information files, with support for table lookups.
  • New: "unitMaintenanceSequenceRange" station type setting allowing a unit maintenance station to be set up for only a range of unit checks.
  • Now .txt files imported to table via web page are interpreted as CSV instead of rejected.
  • Performance improvements to internal caching mechanism.
  • Line configurations with external data errors are no longer rejected when saved.
  • Now admin notifications are sent when there is an external data problem from a component parts list from a query or table.
  • Empty rows and columns are now removed from tables (from web page import, external table source file, or auto table import replace; but not from auto table import update).
  • Improved shutdown process for orderly cleanup of database background processes.
  • Some internal components were upgraded for incremental performance and reliability improvements: CodeMirror, EntityFramework, ExcelDataReader, Unity.

Workstation

  • Fix: In bar code scan tester, unit model number settings are applied to component model number scans, sometimes causing tester to not recognize scans as valid.
  • Fix: Component buttons at unit maintenance stations are blank and do nothing (introduced in 6.41.19).

Developer API

Acuit.Pinpoint.Server.Configuration Package

  • BREAKING CHANGE: DatabaseSettings.TableAutoImportsSettings property removed and replaced by TablesSettings property. (Legacy XML configuration remains supported.)
  • BREAKING CHANGE: UnitFilter class redesigned. (Legacy XML configuration remains supported.)

6.44.0 - 2017-11-07

Server

  • BREAKING CHANGE: Authorization sets now inherit settings for permissions not listed in allow or deny.
  • Now can specify "*" in authorization settings to authorize all workers or groups.
  • Now lines are loaded and initialized asynchronously when the Pinpoint Server service is started; the service startup process no longer has to wait on the potentially lengthly initialization to complete.
  • Now PerformUnitSequenceCheck/PerformUnitFinalCheck results are cached to fix CPU/memory issue when they are called frequently.
  • Fixed inefficiency where workstation is asked to authorize actions that don't need it when multiple permissions are defined for station.

Developer API

Acuit.Pinpoint.Common Package

  • Add ChangeWatch constructor allowing time service to be provided.

Acuit.Pinpoint.Server.Configuration Package

  • BREAKING CHANGES: Various changes related to AuthorizationSet.

6.43.0 - 2017-10-31

Server

  • Added badge number to status returned by AuthenticateWorker API.

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • BREAKING CHANGE (from 6.42.0): Changed IWorkstationService.TryGetWorkerAuthorization to return worker badge number, first name, and last name (in addition to worker id).

6.42.0 - 2017-10-31

Server

  • Now allows custom authorization permissions.
  • Fixed problem handling Pinpoint service start error (log details and avoid NullReferenceException during disposal).
  • IsAuthorizedForStation API now checks permission for null reference.
  • Added favicon.ico to web site.

Workstation

  • Now handles comm error when authenticating worker for test override.

Developer API

Acuit.Pinpoint.Server.Client Package

  • Added Use/UseAsync helpers.
  • BREAKING CHANGE: Remove PinpointServiceClient.CleanUpAfterException.

Acuit.Pinpoint.Server.Configuration Package

  • BREAKING CHANGE: PermissionAssignment.PermissionType enum renamed to PermissionAssignment.Permission and made string.
  • BREAKING CHANGE: AuthorizationSet.Authorize now takes string permission instead of enum.
  • BREAKING CHANGE: PermissionType enum changed to StandardPermissions static class with string consts.

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • Added IWorkstationService.ScanUnit method.
  • Added check for active message or dialog box to IWorkstationService.ReleaseUnit method.
  • Added IWorkstationService.TryGetWorkerAuthorization method.

6.41.24 - 2017-10-11

Server

  • Fixed bug where State.IsProduced in Client2 entity wasn't being initialized from database (for sending to workstations or plug-ins).
  • Changed the Spanish translation of "badge" to "gafete" (from "insignia").
  • An internal component was upgraded for incremental performance and reliability improvements: Quartz.

6.41.19 - 2017-10-04

Server

  • Fixed problem where components or tests marked optional would still prevent associated buyoffs.
  • Some internal components were upgraded for incremental performance and reliability improvements: CodeMirror, ExcelDataReader.

Workstation

  • An internal component was upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit.

6.41.4 - 2017-08-25

Server

  • Now supports plug-ins or their dependencies that use up to Common.Logging 3.4.1.
  • An internal component was upgraded for incremental performance and reliability improvements: CodeMirror.

Workstation

  • Fixed a crash when scanning a unit while connected to an older Pinpoint Server version.
  • Now supports plug-ins or their dependencies that use up to Common.Logging 3.4.1.

6.41.0 - 2017-08-24

Developer API

Acuit.Pinpoint.Workstation.Interfaces Package (Workstation Plug-in API)

  • Added IAlarmsManager service.
  • Improved documentation for IWorkstationService.ShowAlarm.

6.40.7 - 2017-08-22

Server

  • Fixed a problem where administrator notifications fail to send when an error occurs while trying to start monitoring a file inbox (e.g., for a table auto-import).
  • Improved application log error entries when an administrator notification fails to send.

Developer API

Acuit.Pinpoint.Client2 Package

  • Fixed bug in Unit.GetLatestTests where can return multiple results for a particular test type when shared test type instances exist (which can happen at WCF client).
  • Fixed bug where Unit.GetLatestTests was returning a queryable instead of a static list.

6.40.0 - 2017-08-20

General

  • Added the "Acknowledge" authorization permission type, which can be used to require specific authorization when acknowledging alerts.
  • Now allows repeated data identifiers in ISO/IEC-15434 format 06 bar code definitions (e.g., "S=serial;P=model;P=unitModel"). This can be useful for labels that track assemblies where the assembly has no special part number but should use the unit model number.

Developer API

Acuit.Pinpoint.Common Package

  • Now allows repeated data identifiers in ISO/IEC-15434 format 06 bar code definitions.

6.39.6 - 2017-08-14

Server

  • Now supports plug-ins or their dependencies that use up to Common.Logging 3.4.0.
  • An internal component was upgraded for incremental performance and reliability improvements: Quartz.

Workstation

  • Now supports plug-ins or their dependencies that use up to Common.Logging 3.4.0.
  • An internal component was upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit.

6.39.2 - 2017-07-28

Server

  • Fixed bug (introduced v6.38.0) where unit maintenance stations did not show any components.
  • Removed the ConfigSummary page from the hidden Support area (this feature now in PinpointSupportTool).
  • An internal component was upgraded for incremental performance and reliability improvements: Newtonsoft.Json.

Workstation

  • Now logging generated by plug-ins or their dependencies using Common.Logging will be included in the application log output.

6.38.0 - 2017-07-03

General

  • Admin manual: Minor fixes to some XML attribute descriptions.

Server

  • Now checks line configuration to make sure the alert buyoffName setting is appropriate for the condition setting.

Acuit.Pinpoint.Common Package

  • Improved documentation for Acuit.Pinpoint.Common.BarCodes.BarCodeDefinition.

Acuit.Pinpoint.Server.Configuration Package

  • Added new package providing access to line configuration.

6.37.0 - 2017-05-02

Server

  • Fixed a bug where test results added from the Workstation do not show test data in the Workstation's Unit Info view until the unit is rescanned.
  • A number of internal components were upgraded for incremental performance and reliability improvements: CodeMirror.

Workstation Plug-in API

  • Added InitiateRescanComponent, InvokeAutomationElementAsync, and ReleaseUnit APIs.

6.36.7 - 2017-04-14

General

  • Assembly informational versions now include a "+g??????????" version metadata value that represents a Git commit id, and assembly file versions now have a non-zero value in the fourth position.

Server

  • Fixed bug where line configuration would be rejected if multiple partsList, partsFromQuery, or partsFromTable elements were listed for a component type.
  • A number of internal components were upgraded for incremental performance and reliability improvements: CodeMirror, LinqKit, log4net, Newtonsoft.Json, Quartz.

Server Console

  • A number of internal components were upgraded for incremental performance and reliability improvements: log4net.

Workstation

  • A number of internal components were upgraded for incremental performance and reliability improvements: log4net.

6.35.0 - 2017-02-25

Server

  • Added database-level XML configuration.
    BREAKING CHANGE: Moved tableAutoImports from line configuration to database configuration.
    DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.4).
  • Fixed "Line:" on the line history page always displaying in English.
  • Fixed miscellaneous issues in error/fault handling of invalid data from clients (e.g., Pinpoint Workstation):
    • No longer logs FaultException<ArgumentException>, etc., as errors in the log.
    • Now shows proper error message instead of "server internal error" when invalid data is passed to the server (e.g., numbers with invalid characters).
    • AddTestResult ArgumentException now indicates "testName" for the parameter name instead of the test name value.

Workstation

  • Fixed bug where view scaling changes don't affect message box font size until restart.

Server Plug-in API

  • Added new ILinePlugIn2 line plug-in interface, which sends the plug-in name to the plug-in during initialization.
  • If a line plug-in throws an exception while properties are being set or during Initialize call, the plug-in is immediately disposed.
  • Legacy Client.ILinePlugin plug-ins are now properly disposed (unhook from events; call the plug-in's Dispose if it implements IDisposable).

6.34.0 - 2017-02-04

Server

  • Improvements to the table auto import feature:
    • Now table auto import events will be logged to the server application log, with summary result counts.
    • Improved error handling and logging messages.
  • Improvements to the Component Verification Tester:
    • Now it checks for an actual unit record with the entered serial number, and if it exists, the actual unit model number alias will be used. This will help ensure that the tool will always yield the same result as an actual component scan on the line.
    • Fixed a bug where there was no space in the results line like "Reason invalid:Invalid".
    • Now yes/no matches in the parts table will be indicated using a light green or red background.
  • Added a "View Table" feature to the tables configuration.
  • In line configuration, now the "query" attribute is required for the "partsFromQuery" element.
  • A number of internal components were upgraded for incremental performance and reliability improvements: CodeMirror.

Server Plug-in API

  • Now external unit tests added by plug-ins are included in sequence or final checks.
  • Now full unit entity information is included with ILineServer.UnitReleasing and ILineServer.UnitReleased events.

6.33.1 - 2017-01-29

Server Plug-in API

  • Fixed bug where SendMail API was not supplying the "From" email address.

6.33.0 - 2017-01-28

Server Plug-in API

  • Added the ILineService.NotificationService property providing access to methods for sending administrator notifications and general emails.

6.32.0 - 2017-01-22

Server Plug-in API

  • Added the ILineService.GetMatchingComponentParts method.

6.31.0 - 2017-01-16

Server

  • Added the tableAutoImports feature.
  • Fixed a bug where create/edit table pages labeled values with "Worker" instead of "Table".
  • A number of internal components were upgraded for incremental performance and reliability improvements: CodeMirror, log4net.

Workstation

  • Added an Options dialog with a "Run as 32-bit" setting to restart as 32-bit when started in 64-bit mode.
  • Fixed a null reference error message in the 32-bit launcher when the application exits.
  • A number of internal components were upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit, log4net.

6.30.0 - 2016-12-19

Server

  • Added "Include removed components" option to view unit searches.
  • Added support for importing Excel files to tables.
  • Now logs errors when lines can't be initialized from a database because its status is not "online".
  • Fixed a bug where references to table column names with spaces did not work.
  • Added a warning to line change pages about needing to regenerate reports.

Server API

  • Added PerformUnitSequenceCheck and PerformUnitFinalCheck APIs for use by third-party applications.

6.29.0 - 2016-11-23

Database

  • DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.3).

Server

  • Now production schedule names and upload date/times are recorded for each unit and are listed on the unit history web page

6.28.2 - 2016-11-19

Server

  • An internal component was upgraded for incremental performance and reliability improvements: LinqKit.

Plug-in API

  • Acuit.Pinpoint.Client2.Unit.AddExternalUnitStation: Attempt to fix crash when plug-in adds external unit station.

6.28.1 - 2016-11-07

Plug-in API

  • Added the ability to specify domain, user name, and password when opening client connections using the Acuit.Pinpoint.Server.Client module.

6.28.0 - 2016-11-03

General

  • Added more information about plug-ins to the admin manual.

Plug-in API

  • Added a new Acuit.Pinpoint.Server.Client package containing a TCP client for accessing the Acuit Pinpoint Server service API.
  • Added more details about server plug-ins to the API help file.

6.27.0 - 2016-10-14

General

  • Added the "unitModelNumber" station type setting, allowing it to be set at a preassembly scan station when no particular unit model number is needed for the actions performed at that station (e.g., at a basic control board test station).
  • Admin manual: Added a description of the web user security groups.

Workstation

  • Added the "Check for Update" command to the Help menu.
  • Added the "Open Application Data Folder" command to the Help menu.
  • Fixed a NullReferenceException crash when a preassembly component type has scanComponentModel="false" in the line configuration.

Plug-in API

  • In Acuit.Pinpoint.Client2:
    • Added the Unit.AddExternalUnitStation method.
    • Added the UnitStation.AddExternalTest method.
    • Added the UnitStation.ConvertTestDataToXml method.
  • In Acuit.Pinpoint.Server (in Acuit.Pinpoint.Server.Interfaces.dll):
    • Added the ILineService.Database property.
    • Added the ILineService.GetShiftForDateTime method.
    • Added the IDatabase interface (i.e., with the UnitRetrieved event).
    • Deprecated the ILineService.DatabaseConnectionString property in favor of the new IDatabase.ConnectionString proprety.

6.26.0 - 2016-10-04

Run Test Server Plug-in

  • Removed the run test server plug-in from the distribution package. Now this is distributed separately.

Run Test Workstation Plug-in

  • Removed the run test workstation plug-in from the distribution package. Now this is distributed separately.

Plug-in API

  • Removed the Acuit.Pinpoint.Windows NuGet package's dependency on Extended.Wpf.Toolkit.

6.25.3 - 2016-10-04

Plug-in API

  • Added Acuit_Pinpoint_API.chm plug-in API help file to distribution package.
  • Now the following NuGet packages are produced (available via the private Acuit feed): Acuit.Pinpoint.Client2, Acuit.Pinpoint.Common, Acuit.Pinpoint.Server.Interfaces, Acuit.Pinpoint.Windows, and Acuit.Pinpoint.Workstation.Interfaces.

6.25.2 - 2016-09-30

Workstation

  • Fixed a bug (introduced in 6.25.0) where a NullReferenceException error would occur upon startup when there are any plug-ins in the PlugIns folder.

6.25.1 - 2016-09-30

Server

  • Fixed a bug (in 6.25.0) where the support line configuration summary page doesn't work due to a file that didn't get installed.
  • A number of internal components were upgraded for incremental performance and reliability improvements: CodeMirror, CsvHelper, jquery-ui, jquery-validation, LinqKit.

Workstation

  • Now the unit/component scan user interface shows a red box around each number that isn't collected or that is invalid based on the number settings, and the red "X" is only shown next to numbers specifically rejected by Pinpoint Server. The green checkmark is no longer ever shown.
  • The Test Bar Code Scanner output now uses formatted text to make control characters distinct and for better readability.

6.25.0 - 2016-09-09

General

  • Added this Change Log file to the distribution files.

Server

  • Added @componentSerialNumber:?@ and @componentModelNumber:?@ placeholder variables for parts lists, allowing components to be matched to serial numbers or model (part) numbers from other components.
  • Added loaded plug-ins' assembly location and info version to the application log.
  • Added a line configuration summary page to the Support area to provide an easy-to-read summary of the line configuration.
  • Fixed a potential NullReferenceException when a component parts list cannot ever read its external data (i.e., from a SQL database query).
  • Fixed a potential error that could occur when multiple simultaneous requests cause a parts list to be requeried at the same time.
  • Fixed a bug (in 6.24.0) where component parts list queries execute each time the parts list is accessed.
  • Fixed a few places on the View, Search results and Component Verification Tester pages where fields were encoded for HTML twice, causing things like "-->" to appear as "--&gt;".
  • Added debug logging (off by default) for all database queries and commands.
  • A number of internal components were upgraded for incremental performance and reliability improvements: CodeMirror, CsvHelper, LinqKit, Quartz.

Workstation

  • Fixed a bug where the view scaling text box changed what was being typed.
  • Cleaned up the About box display of loaded modules to show module name and assembly description and info version.
  • Added loaded modules' assembly location and info version to the application log.

6.24.0 - 2016-08-10

General

  • Build numbers are no longer included in the product version (i.e., version numbers will be major.minor.patch).
  • Assembly versions no longer increment with each release. This allows plug-ins that reference Acuit Pinpoint assemblies to continue to work without having to be recompiled, even if assemblies are strong-named.

Database

  • DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.2).

Server

  • Added Tables feature, which allows miscellaneous tables to be added to Acuit Pinpoint databases, which can then be referenced by component types. This makes it easier to update component tables, and helps ensure that the component data will always be available to the line.
  • Added "partsFromQuery" and "partsFromTable" elements to component type configuration, and deprecated the query-related attributes in the existing "partsList" element.
  • Now when a component type parts list query fails, it will continue to retry to query anytime the parts list is referenced.
  • Removed some class libraries that are no longer used.
  • An internal component was upgraded for incremental performance and reliability improvements: LinqKit.

Workstation

  • Added a new MannedUnitSinglePlugInRegion plug-in region, which allows a plug-in to register a view that fills all available space in the manned workstation unit area. When a view is registered for this region, the unit defects/repairs display is hidden.
  • Added "Size to 1920x1080" to the Debug menu.

6.23.2.2 - 2016-07-21

General

  • Admin manual: Clarified "optional" vs "associatedBuyoffs" settings.
  • Admin manual: Fixed some inaccuracies in the manual pertaining to wildcard patterns.

Server

  • Added log entries as lines are initialized and server plug-ins are loaded.
  • Deprecated the "...Pattern" line configuration settings, since all wildcard patterns already support regular expressions via surrounding slashes.
  • Fixed a bug in the line configuration editor with the stationType auto-complete for stationType, barCodes.
  • A number of internal components were upgraded for incremental performance and reliability improvements: Newtonsoft.Json, LinqKit, jquery-ui, CodeMirror.

Workstation

  • Fixed a bug where the program would crash when using the Test Bar Code Scanner feature when a component type is configured with a bar code format that includes a serial number capture, yet the component type is not configured to scan serial numbers.

6.23.1.1 - 2016-06-30

Server

  • An internal component was upgraded for incremental performance and reliability improvements: CodeMirror.

Workstation

  • Added application log entries that list the loaded modules (i.e., the two main program modules, plus any plug-in modules), including full assembly name with version number.
  • Added list of loaded modules (including Workstation plug-ins) to the about box.
  • Added a short UI automation bar code mapping for the "Clear" button on ScanView.
  • Fixed a bug where an unexpected error (System.NullReferenceException: Object reference not set to an instance of an object.) would occur at preassembly scan stations when the line does not have a <barCode> setting.
  • An internal component was upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit.

6.23.0.3 - 2016-05-23

Server

  • Added "rejectUnitBarCodeScans" setting to component type settings in the line configuration.
  • Added built-in support for ISO/IEC-15434 Format 06 bar code syntax, allowing these bar codes to be defined much more easily. NOTE: This is a breaking change for older Workstation versions; they MUST be upgraded to use this new feature.
  • Now bar code definitions (i.e., syntax and format) are validated when line configurations are loaded or saved.
  • Now INFO and DEBUG events don't get logged to the Windows event log.
  • Model and serial numbers in production schedule files are now validated to ensure they contain no invalid characters.
  • Now all model and serial numbers submitted via the server API are validated and are rejected (via an ArgumentException) if they contain any invalid characters.
  • Added auto-fill for sound names to the line configuration editor.
  • Fixed a bug where the default bar code definitions did not have the correct number capture names specified.
  • A number of internal components were upgraded for incremental performance and reliability improvements: CodeMirror, jQuery.

Server Console

  • Now INFO events (e.g., app starting and stopping) get logged to the application log file.

Workstation

  • Now when "rejectUnitBarCodeScans" is set for a component type, when prompting for that component to be scanned, if a unit bar code is scanned (for the current unit), it will be rejected.
  • Added support for ISO/IEC-15434 Format 06 bar code syntax.
  • Now when a unit, subassembly, or component is being scanned, if any numbers extracted from the bar code contain any invalid characters, the bar code scan will be rejected with an appropriate error message on the scan window.
  • Added a "Sounds" tab to the Configure Local Hardware dialog box, allowing the various program sounds to be tested.
  • In the Configure Server Connection wizard, now the lines list is sorted alphabetically.
  • Fixed a bug where message boxes weren't being shown centered within the screen instead of centered within the application window.
  • Fixed a bug where custom sounds from the line configuration do not get reloaded when the station settings are reloaded, requiring an application restart.
  • Fixed a bug where using the Bar Code Scanner Test feature could cause the application to crash when components are configured to only scan the model or the serial number.
  • Fixed a bug where, when testing a light stack and an action fails, the wait cursor is still shown when the error message is displayed.
  • Now special bar codes (that start with "/") can be used to trigger the clicking of buttons in the user interface, allowing for a workstation without a keyboard, mouse, or touchscreen.
  • Added automation ids to all buttons, allowing them to be invoked via special UI automation bar codes or by external UI automation applications.
  • The internal sound player component was changed to use the built-in .NET SoundPlayer instead of a custom one that was used to work around a bug in earlier versions of .NET.
  • An internal component was upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit.

6.22.0.1 - 2016-04-10

Server

  • Added a new "Edit Workers" user security setting per line, which allows controlling access to editing workers separately from the ability to reconfigure lines. Editing worker groups is still controlled via the old "Configuration" user security setting.
  • Added an "authorization" station type setting and added the "Close" permission type to the line configuration, allowing controlling what operators may close the Pinpoint Workstation application.
  • Added a "showOff" station type setting in line configuration allowing stations to be configured to not show the "Off" button.
  • Now the admin line, worker, and worker group create/edit pages validate field lengths to avoid internal errors if they are too long.
  • Added an "Install Acuit Pinpoint Workstation" link to the About page to make it easier to install the latest Workstation version.
  • Fixed a bug in business logic where authorizing overriding a test would ignore whether the worker is marked inactive (note that worker authentication did not ignore whether the worker is marked inactive, so this would normally not be possible).
  • Added some missing Spanish translations to the web pages.

Workstation

  • Now requires authorization to close the application if the station type is configured to require it.
  • Now the "Off" button is hidden if the station type is configured to not show it.
  • Added a view full screen option. This is now the default but can be controlled via the View, Full Screen menu option. When full screen, the main menu is hidden but appears when the Alt key is pressed or the mouse cursor is moved up where the menu would normally appear.

6.21.3.3 - 2016-04-05

General

  • Admin manual: Added browser compatibility list.

Server

  • Made slight improvements to the performance of the web pages.
  • Fixed an issue where "Please wait..." could briefly flash on the screen as some web pages were displayed.
  • Added a "Show Editor Help" button to the line configuration editor page that shows a popup with an editor keys reference and a link to the admin manual.

Workstation

  • Fixed bug (introduced in 6.21.0.2) where the text from some buttons and messages on the worker authentication dialog are missing.

6.21.2.2 - 2016-03-29

Server

  • Fixed a performance problem with the line configuration editor page that made editing large line configurations so slow that it was unusable. Now the editor window scrolls instead of the entire page, which causes the Save and Cancel buttons to always be visible, without having to scroll to the bottom to see them.
  • Now the line configuration history view uses the same XML editor as the regular line configuration editor, but in read-only mode.
  • Redesigned the line configuration historical changes page, using the regular line config editor (in read-only mode), with options to jump to next/previous changes and to collapse unchanged lines.
  • A number of internal components were upgraded for incremental performance and reliability improvements: CodeMirror, jQuery, Newtonsoft.Json.

Workstation

  • An internal component was upgraded for incremental performance and reliability improvements: Extended.Wpf.Toolkit.

6.21.1.2 - 2016-03-09

General

  • Fixed a bug with the "uniqueSerialNumbersPerPartNumber" component type setting, when the component is used as a preassembly component. Now these component scans will always prompt for a component model number, and the preassembly lookups will use both the component serial and component model numbers.
  • Admin manual: Added more information about configuring local bar code scanners in Acuit Pinpoint Workstation.

Server

  • Fixed some errors in the default line configuration.
  • Added a note to the Component Verification Tester tool page clarifying that it does not check for component serial number uniqueness.

Workstation

  • Fixed a bug that prevented scans via serial bar code scanners to be received.
  • Fixed bug in bar code scanner tester where the program will crash when a bar code is scanned when the workstation has not connected to Pinpoint Server.
  • Added details to bar code scanner Prefix and Suffix setting descriptions about special characters.

6.21.0.2 - 2016-03-05

General

  • Added a new bar code definition feature, where, instead of defining bar codes via serial and model capture patterns, a single pattern is specified for each possible bar code format, containing both serial and model captures. This yields better validation and parsing of bar codes.
  • Now can specify unit and component serial/model valid/invalid patterns, which are used to help validate bar code scans.
  • Now worker log ons can be configured to require the badge number to be scanned (or optionally typed) and/or the password to be typed via a new "workers" section in the line configuration.
  • Added "autoRelease" station type setting that causes the unit to be automatically released when the last component is scanned.
  • Changed all terminology to say "log on" instead of "log in".
  • Admin manual: Added more considerations to the section discussing when to place multiple lines within one database.
  • Admin manual: Added note about SQL Server Agent needing to run for database backup maintenance plan to work.
  • Admin manual: Added notes about turning on HTTP Activation on Windows Server 2012.
  • Admin manual: Removed documentation for deprecated "autoLogOnWorkerId" station type setting.

Server

  • Added a uniqueSerialNumbersPerPartNumber setting for component types, which causes unique serial checks to not apply across different component model numbers.
  • Now when a manned station is configured to perform final checks, it will only do so when units are released, no longer when units are scanned.

Plug-in API

  • Plug-in assembly Acuit.Pinpoint.Common: Now the WildcardPattern class accepts regular expressions by surrounding it by '/' characters.

Workstation

  • Now the dialog for authenticating a worker with higher privilege (e.g., for overriding a test) respects the worker authentication line configuration settings.
  • Fixed a situation where unexpected errors would not be logged and reported when they occur while switching between pages in the main view. Now the application closes with an "unexpected error" message.
  • Added some missing Spanish translations.

6.20.0.3 - 2015-12-14

General

  • Admin manual: Added some more installation details.
  • Updated the log4net logging package used by all of the Acuit Pinpoint components to the latest version (1.2.15.0).

Server

  • Now the Pinpoint Server installer creates an "Acuit Pinpoint" IIS application pool (using the NETWORK SERVICE identity) and assigns the web site to use it.
  • A number of internal components were upgraded for incremental performance and reliability improvements: Newtonsoft.Json, jQuery.Validation, LinqKit, Quartz.

Workstation

  • The 32-bit Workstation32.exe is no longer a complete program; now it is simply a 32-bit launcher that loads and starts Workstation.exe within a 32-bit app domain.

6.19.0.1 - 2015-10-04

Server

  • Now component part entries in the parts list that have no component model or serial number values specify that the part does not apply to that unit model.
  • Added a "requirePartsListEntry" setting to the line configuration "componentType" element, which causes all unit models to require an explicit entry in the parts list.
  • Added requirePartsListEntry to example component configuration and added example component scan station type in default line configuration.
  • Now line configuration links don't open into new browser pages.

Server Console

  • Improved handling for unexpected application errors, so that some potentially previously unreported errors are reported, logged, and stop the application.

Workstation

  • Improved handling for unexpected application errors, so that some potentially previously unreported errors are reported, logged, and stop the application.

6.18.0.3 - 2015-08-16

General

  • Admin manual: Clarified default install directory on x64 Windows.
  • Admin manual: Added many more details about backing up Pinpoint files and databases.

Database

  • DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.1).
  • Added Groups and WorkerGroups tables.

Server

  • Now a list of worker groups can be configured, and workers can be assigned to zero or more groups as desired.
  • The line configuration page has been replaced with a new HTML-based XML editor that no longer requires Silverlight and that adds auto-complete and search capabilities.
  • Now test and component override authorization can be configured via <authorization> line configuration settings. If a worker without "override" permission tries to override a test, a business logic fault will occur.
  • Now component parts list queries automatically trim whitespace from the beginning and end of unit and component model and serial numbers (both simple wildcard and regular expressions).
  • Fleshed out default line configuration XML.
  • Now when a line fails to initialize, error details are logged.
  • Localized the "An error occurred while initializing the line:" message.
  • Fixed bug where could not save a new line configuration when the line failed to initialize due to a line configuration issue.
  • A number of internal components were upgraded for incremental performance and reliability improvements (e.g., jQuery).

Workstation

  • Fixed a memory leak that occurs when each unit is scanned when the station is configured as an automatic station.
  • Now, when a test override is initiated (by a plug-in), if the logged-in worker is not authorized to override the test, a dialog is shown to prompt for alternate worker credentials.
  • Fixed a bug where bar code scans are processed (which can cause the underlying unit window to change) when a dialog box or message box is open.

Workstation Plug-in API

  • Now IWorkstationService service raises INotifyPropertyChanged PropertyChanged events when PinpointServerAddress, StationTypeName, and StationName change (for workstation plug-ins).
  • Group membership is now included in the worker information.

6.17.0.1 - 2015-03-27

General

  • Added "linkedLines" station type setting, which allows a workstation to be configured to work with multiple lines at once, automatically switching line connections when a unit is scanned that exists in a different database.

Server

  • Now when searching for units from the View page, the search can be confined to a particular database.
  • Fixed a problem where sometimes schedule uploads fail, especially when multiple schedules are being uploaded at once, due to a database access error: "System.Data.SqlClient.SqlException: Transaction was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction."
  • A number of internal components were upgraded for incremental performance and reliability improvements (e.g., ASP.NET MVC, EntityFramework).

Workstation

  • Fixed bug where Pinpoint Workstation can crash when a unit is released but there is an error communicating with Pinpoint Server.

6.16.1.1 - 2015-02-08

Server

  • Fixed bug where, when there is activity on a line (e.g., unit scans) while the line configuration is updated, sometimes the new configuration will not take effect (i.e., old line configuration will remain in effect).
  • Added comments in application config file demonstrating how to turn on debug logging for particular namespaces.

Server Console

  • Increased timeout when waiting on service to start or stop from 10 seconds to 20 seconds.

6.16.0.1 - 2015-02-06

General

  • Admin manual: Added more information about customizing the Acuit Pinpoint Server service account.

Server

  • Added "optional" setting to buyoffs, component types, and test types, which, when set, disables those sequence and final checks. This can be used for testing or to roll out new unit checks when there are units already on the line.

6.15.0.1 - 2014-09-22

Workstation Plug-in API

  • Added WorkerLoggedOff event to IWorkstationService.

6.14.1.1 - 2014-09-08

Server

  • Fixed bug (introduced in version 6.12.0.1) that caused the server to have a fatal error while initializing when there are any Pinpoint databases that are not the correct schema version.

Workstation

  • Added DisableNumberTyping application setting (configurable via the Workstation.exe.config file) that allows disabling all typing of numbers when prompted for a unit or component scan.

6.14.0.1 - 2014-08-09

General

  • Added ReportingUtility folder to the main Pinpoint distribution zip file.

Server

  • Added mergePreassemblyUnitModelMustMatch component setting that enforces that unit model numbers must match when merging assemblies of that type into units.
  • Updated Newtonsoft.Json package from 6.0.3 to 6.0.4.
  • Updated Quartz package from 2.2.3 to 2.2.4.

Workstation

  • Changed Spanish translation for "assembly" from "montaje" to "ensamble".

6.13.1.1 - 2014-08-05

Workstation

  • Fixed bug (new to 6.13.0) where the app crashes when a unit with a business logic fault is scanned.

6.13.0.1 - 2014-08-04

Server

  • Added "unitMaintenance" station type setting to line configuration.
  • Fixed bug where the data returned from ScanPreassembly was incorrect, which would cause the unit info on Pinpoint Workstation to be incorrect (it would include extra entries under complete history).

Workstation

  • Now stations configured for "unitMaintenance" display all components, and when a component name is clicked, a menu is shown allowing single components and/or preassemblies to be rescanned or removed.

6.12.2.1 - 2014-08-04

Server

  • Fixed bug in RemoveComponent service API that caused the component data saved to the unit record to be incorrect.

Server Console

  • Fixed bug that prevented Acuit Pinpoint Server Console from starting, due to a missing file that wasn't getting installed.

Workstation

  • Now the "Good" sound is played when a unit or preassembly is scanned and there are no alarms or errors.
  • Fixed bug where component scans would not be recognized for components without bar code scan patterns defined.
  • Fixed bug where after a rejected component scan, the Clear button is clicked, a red "X" can remain displayed.

6.12.1.1 - 2014-07-31

Workstation

  • Fixed bug (new to 6.12) that would cause crash when a station is configured as an automated station.

6.12.0.2 - 2014-07-31

Server

  • Added RemovePreassembly and RemoveComponent service APIs, in preparation for use by future Pinpoint Workstation features.
  • Rolled back the following changes FOR OLD CLIENTS, making them behave as they did before: "BREAKING CHANGE: The mergePreassemblySequenceCheck setting used to be used to perform a sequence check against the unit after a preassembly is merged, producing workflow errors dispayed at the workstation; now it performs the sequence check against the preassembly before it is merged with the unit, rejecting the preassembly if any errors exist." and "Fixed many problems with how preassemblies are scanned and merged into unit records. In particular, if a preassembly will replace a previously-merged one, the old one will be removed first and made available to be scanned into another unit, retaining all of its history. A more complete history is also now kept as preassemblies are merged or replaced." The new behavior still exists, but for new clients only. Also added some more information for new clients to use so that the unit history being tracked stays in sync better.

Workstation

  • Adjusted to use the new preassembly scan Pinpoint Server API so the new behavior is used (see above).

6.12.0.1 - 2014-07-29

General

  • Added "allowInvalid" setting to the line configuration's componentVerification section which sets whether invalid component scans are allowed. The default is "true", which was the prior behavior. Note that this changes the behavior of a recent
  • Added "showUnitModelProductionQueue" station type setting, which supercedes the old "unitModelSource" setting, which is still supported for backward compatibility.
  • The preassemblyScanPendingSerial station type setting in line configuration has been deprecated, and a new preassemblyStationComponentType setting has been added that should be used instead.
  • BREAKING CHANGE: The mergePreassemblySequenceCheck setting used to be used to perform a sequence check against the unit after a preassembly is merged, producing workflow errors dispayed at the workstation; now it performs the sequence check against the preassembly before it is merged with the unit, rejecting the preassembly if any errors exist.
  • Admin manual: Added another regular expression sample.

Server

  • Changes to View unit/search feature: Added component serial number to advanced search options. Now unit model number aliases are included in searches by unit model number. Now includes preassemblies in unit searches. Removed Search Preassemblies feature (now reduntant). Optimized database queries; one consequence is that line names are no longer shown in the results list--the database name is shown instead. Minor cosmetic fixes.
  • Fixed many problems with how preassemblies are scanned and merged into unit records. In particular, if a preassembly will replace a previously-merged one, the old one will be removed first and made available to be scanned into another unit, retaining all of its history. A more complete history is also now kept as preassemblies are merged or replaced.
  • Now when a preassembly is scanned, no preassembly record is created if the component scan is invalid, which could result in some invalid data or orphaned preassembly unit database records.
  • Now when a unit or preassembly is scanned by component number, if the unit previously existed and the component model hasn't changed, no new component scan is recorded.
  • Now component scan rejections will say "The component was rejected: " followed by "Invalid", "Serial already used", "Not installed", or "Skipped".
  • Fixed bug where clicking Delete from some preassembly view pages would cause an unhandled web application error.
  • Fixed the following unhandled exception that would be recorded in the Pinpoint Server event log when Pinpoint Server is shutting down: Service unhandled exception, System.NullReferenceException: Object reference not set to an instance of an object, at Acuit.Pinpoint.Server.PinpointServerService.Dispose(Boolean disposing)
  • Corrected inaccurate text in the component scan tester output ("Component is valid because this component type is configured to only check installed status and a NON-blank component model number means 'installed'.").
  • Updated some third-party components to newer versions.

Server Console

  • Now message boxes are styled more like the rest of the application UI (they use WPF instead of system message boxes).
  • Updated some third-party components to newer versions.

Workstation

  • There is now a new scanning interface for units and component scans, where all numbers being collected for a particular item scan are shown on the screen at once. If the scan is rejected by the server for any reason, an error will be shown on the scan window (instead of via a message box), and the numbers are left showing, with the problematic number indicated (if known).
  • Now when a business logic error occurs when scanning a component, the error will be shown on the scan window (instead of via a message box), and the numbers are left showing, with the problematic number indicated (if known).
  • Redesigned the component scan area on the manned workstation display to be more compact and to span two columns. This allows more components to be displayed on the screen without having to reduce the view scaling.
  • Now when a component scan is skipped, it doesn't make a call into Pinpoint Server; it handles the situation locally, improving responsiveness and reducing the load on Pinpoint Server.
  • Now at manned stations, when a unit serial or model is scanned, it doesn't clear it after 60 seconds waiting for the next scan.
  • Now unit model numbers can be manually typed for preassembly stations.
  • Now production queue count isn't decremented when an existing preassembly is scanned.
  • Now the selection in the unit production list for preassembly stations is kept synchronized with the unit model number in the scan user interface, and the selection isn't changed when new models are received into the production list. This improves usability for the operator.
  • Now message boxes are styled more like the rest of the application UI (they use WPF instead of system message boxes).
  • The message box font size is slightly larger to be consistent with the rest of the application, and it scales with the view scale setting.
  • Now subassembly scan stations honor the unit bar code patterns when scanning the subassembly model.
  • Subassembly scan mode now shows last successful component scan in green for half a second before starting a new subassembly.
  • Fixed bug where unit production queue would lose half of its messages when the workstation engine is restarted (e.g., after reconfiguring the server connection).
  • Improved error handling for unit model signal queue, eliminating the possibility of an error occurring without being reported and that disrupts handling of incoming messages.
  • Increased the default value for bar code scanner maximum length from 64 to 100, as some 2D component bar codes have been found to exceed 64 characters.
  • Bar code scanner tester: Added more descriptive text to parsed results, and improved the automatic line breaks in the raw feed.
  • Added "Make Current Location Startup Location" command to debug menu.
  • Made "Size to 1024x768" debug menu command more accurately set the window size.
  • Removed "Size to 800x600" command from debug menu.
  • Fixed bug where an internal server error would occur when a bar code is scanned that results in a unit or component model or serial number that is greater than 25 characters long.
  • Fixed some bugs at preassembly scan stations where.
  • Fixed issue that prevented having a component scan station that works with existing preassemblies.
  • Fixed issue where when popup dialogs are dismissed, they can briefly display invalid information during the split-second that it takes to fade out. Now they no longer fade out.
  • Fixed bug where when attempting to toggle a buyoff state, a business logic error occurs, the wait cursor is active while the error is shown in a message box.
  • Updated some third-party components to newer versions.

Workstation Plug-in API

  • Added SetLightStackAuxRelay method to allow plug-in to control light stack aux relays.
  • Added GetKeypadInput(string prompt) overload to ITouchUserInterfaceService interface.

Reporting Utility

  • Added /l lineName option to allow uploading reports for a single line.

Run Test Server Plug-in

  • Now supports run tests recorded without custom Acuit run tester test data recorded (i.e., to support recording run test results from non-Acuit run testers).

Run Test Workstation Plug-in

  • Added simple facility for emulated run tester.

6.11.0.2 - 2014-04-28

Server

  • Now when an error occurs while checking production schedule inboxes or performing automatic uploads, messages from all inner exceptions are included in the notification email.
  • Updated web to use the latest jQuery, etc., libraries.
  • Added an index page to the /Support area that doesn't perform any database queries, and added warnings about database queries possibly disrupting workstations.
  • Now installer sets application data folder security rights appropriately so that errors don't occur when user accounts different from the one used to install it are used.

Workstation

  • Added buttons to test aux relays 1-4 on light stack test window (to support future features).
  • Updated third-party libraries to latest versions.
  • Now installer sets application data folder security rights appropriately so that errors don't occur when user accounts different from the one used to install it are used.
  • Adjusted Debug menu's "Size to..." commands so that they yield the proper client size as if the application is maximized on a screen of the specified size, with the taskbar hidden.
  • Added "Force Garbage Collection" to Debug menu.

6.10.2.1 - 2014-02-25

Server

  • Fixed bug where an internal error can occur when using SQL Server 2005. The message in the error log will be: System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.ArgumentException: The version of SQL Server in use does not support datatype 'datetime2'.
  • Fixed a Javascript error on the configuration history view changes page.

6.10.1.1 - 2014-02-25

Server

  • Fixed bug where scripts didn't run on any pages due to some *.js files not getting installed.
  • Increased timeout for database queries on Support pages from 30 to 180 seconds.

6.10.0.4 - 2014-02-23

Database

  • DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 6.0).
  • Restructured Configuration table so that a history of configuration changes is retained.

Server

  • A number of internal components were upgraded for incremental performance and reliability improvements (e.g., ASP.NET MVC, EntityFramework).
  • Now the history of line configuration changes are retained, including date/time stamps and the user name and made each change.
  • Added database version column to databases page.
  • Added "History" link to configuration page to allow viewing configuration history for each line.
  • Added administrator email notifications, configurable via a new Settings page in the Admin area.
  • Added the ability to configure automatic production schedule uploads by watching an "inbox" directory for production schedule files placed there by some external process. This is configured via the scheduleUpload line configuration setting.
  • Now when Pinpoint Server is started, all lines are initialized.
  • Added "Support" pages for viewing support information about recent activity in the Pinpoint lines. This isn't currently exposed via any links; it must be manually navigated to via ".../Support/".
  • Fixed a bug where a user might not be allowed to edit a line configuration even though he is in the list of allowed users.
  • Fixed wrong heading on edit worker page.
  • Minor adjustments to Admin pages for consistency.
  • Minor adjustments to web pages to make titles consistent.

Workstation

  • Now, while using the Configure Server Connection wizard, if the connection fails due to a potential security mode mismatch, it will retry with the alternate security mode (i.e., "Transport" versus "None", or anonymous versus not).
  • Added status bar at bottom of display that lists line, station name, computer name, station type, worker, shift, program version, and current date/time.

Server Plug-in API

  • Now if a server plug-in implements IDisposable, it will be disposed whenever a line is unloaded (e.g., when it is being refreshed due to a configuration change).

6.9.0.1 - 2014-02-01

General

  • Added "workflowErrorsAbortUnitScan" station setting that determines whether workflow errors upon a unit scan aborts the process at the station.

Workstation

  • Now if the initial connection to Pinpoint Server fails due to a potential security mode mismatch, it will retry with the alternate security mode (i.e., "Transport" versus "None", or anonymous versus not).

6.8.0.1 - 2013-12-26

General

  • Admin manual: Added example regular expression pattern to match numbers EXCEPT for those in a list.

Workstation

  • Added support for special control characters in bar codes from Motorola/Symbol DS4208 scanners.
  • Added additional details to error log when a ReflectionTypeLoadException occurs (which can be helpful for diagnosing problems with workstation plug-ins).

6.7.0.2 - 2013-09-27

General

  • Added "scanAutoReleasesUnit" station type setting, which determines whether a new bar code scan will automatically release an active unit. This can be set to "false" to require the operator to click the "Release Unit" button before the next unit is scanned. This defaults to true for backward-compatibility.
  • Admin manual: Minor typo fix.
  • Admin manual: Added missing detail from unitModelSource setting.
  • Admin manual: Fixed errors in instructions for configuring lines.

Server

  • Now can delete units (from Unit History page).
  • Added "Lines" page to "Admin" section that allows creating, editing, and deleting lines.
  • Added "autoLogOnBadgeNumber" station type setting to the line configuration, deprecating the "autoLogOnWorkerId" setting.
  • Improved Config page layout for better clarity.
  • Renamed Admin, Users page to Admin, Security, and made some minor improvements to the layout.
  • Admin, Databases page: Now databases are sorted by name; other minor formatting improvements.
  • Made old line config page use jQuery UI resizable feature instead of old textarearesizer plug-in.
  • Removed "!" from account name (welcome message) to make it easier to read.
  • Removed Details link from Workers list since it showed no details not already in list; added Delete link to Workers details page (even though the page is now orphaned; in case it is added back later).
  • Relocated Silverlight line config page. This DOES break existing URL bookmarks.
  • Now line configuration XML editor comes up without having to click the "advanced" link.
  • Now when line configuration has changed and the web page is being closed (or navigated away from), a confirmation prompt is shown.
  • Fixed bug where "Please wait..." messages appear on web pages before the submit buttons are clicked.
  • Fixed bug where if an unexpected exception occurs when enumerating Pinpoint databases, an exception will get thrown once and then subsequent attempts won't retry.
  • Fixed problem where some line links don't work when the line name contains special characters (like '+').
  • Fixed a potential issue where after editing the list of available databases and/or lines, editing workers could edit against the wrong database.
  • Now unit history link with unknown database and/or unit will cause not found result instead of internal server error.
  • Now when attempting to delete a worker that is referenced by history in the database, a nice error message is shown instead of a server error.
  • Now if an invalid line or worker is included in a worker list/details/edit/delete request, an HTTP not found code will be returned instead of a server error.

Reports

  • Added "Worker Inspection Count" report.
  • ReportingUtility: Added -a option to allow specifying Pinpoint Server address.

6.6.0.1 - 2013-07-20

General

  • Now can enter a beginning or ending "*" when typing a serial number when scanning a unit, to look up the unit via a partial serial number (aka "short serial number").
  • Added support for "@unitModelNumber@" and "@unitModelNumberAlias@" placeholders in component patterns.
  • Unit bar code settings can now be configured for a station type to override the line-wide settings.

Server

  • Added a check for multiple defect or repair nodes defined at the same level with the same name, which aren't allowed.
  • Added worker editing to the Configure page.
  • Now lines in Admin/Databases page are sorted alphabetically.
  • Fixed authorization for configuring lines and workers (previously, it allowed anyone with rights to configure any line to configure workers for all lines; and it only allowed administrators to configure via the Lines controller).

Workstation

  • Now when the unit model signal queue doesn't exist, Pinpoint Workstation will try to create it.
  • Now when the unit model signal queue can't be opened (or created), an alarm will be displayed, but Workstation will still start. Previously, the workstation would immediately exit with an unhandled error.

6.5.1.1 - 2013-05-26

Server

  • Fixed problem where, when trying to save long advanced line configuration, would get this error: The remote server returned an error: NotFound.

6.5.0.2 - 2013-05-25

General

  • Added "lightStack" settings to station type configuration, to allow configuring how the light stack should behave during component scanning. NOTE: The default behavior has changed from previous versions. Previously, the behavior was as if configured as: indicateGoodComponentScan="false" indicateBadComponentScan="false" indicateAnyBadComponents="true", while the new default behavior is: indicateGoodComponentScan="true" indicateBadComponentScan="true" indicateAnyBadComponents="false".
  • Added indicateGoodUnitScan and indicateGoodUnitRelease settings to light stack station settings.

Server

  • Added support for the "@unitSerialNumber@" variable placeholder in component parts lists.
  • Now if a line workflow configuration causes a unit to transition to the state it's already in, it doesn't actually log a new state transition to the unit history.
  • Fixed bug where new log4net-based logging didn't work.
  • Fixed a potential problem where trying to view unit history for certain units could cause this error: "The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://schemas.acuit.com/pinpoint/5.0/:GetUnitHistoryResult. The InnerException message was 'There was an error deserializing the object of type Acuit.Pinpoint.Client2.Unit. The maximum read depth (32) has been exceeded because XML data being read has more levels of nesting than is allowed by the quota. This quota may be increased by changing the MaxDepth property on the XmlDictionaryReaderQuotas object used when creating the XML reader.'.

Server Console

  • Fixed bug where when language is changed and user chooses to restart the application, the application will be forced to close even if some process is active that should prevent it.
  • Added comment to app config file demonstrating how to adjust logging for particular namespaces.

Workstation

  • Now a connected stack light will indicate red when an alarm is displayed to the operator via a message box at a manned workstation.
  • Now when a second instance of the program is started, it activates the already-running first instance and immediately exits.
  • Fixed bug where when language is changed and user chooses to restart the application, the application will be forced to close even if some process is active that should prevent it.
  • Added comment to app config file demonstrating how to adjust logging for particular namespaces.

Server Plug-in API

  • Added Unit and UnitStation members to UnitReleaseEventArgs.
  • Added AlertMessages to UnitReleaseStatus to allow plug-ins to cause alerts to be displayed upon unit releases.
  • Added AlarmMessages to UnitScanStatus and UnitReleaseStatus to allow plug-ins to cause alarms to be displayed upon unit scans and releases.

6.4.0.3 - 2013-04-17

Server

  • Now errors and tracing uses new logging mechanism.
  • Fixed bug where link to report server was incorrect.

Server Console

  • Now errors and tracing uses new logging mechanism.

Workstation

  • Workstation: Fixed crash when worker logs out and back in when a workstation is configured for no scan.
  • Workstation: New event logging mechanism. Now various app events, along with app errors, get logged to Log.txt in ProgramData area. No longer logs errors or exception details to the public documents folder. Diagnostic tracing also uses the new mechanism instead of .NET's TraceSource.
  • Workstation: Now the installer sets up a shortcut on the desktop.

Server Plug-in API

  • BREAKING CHANGE: Removed Acuit.Pinpoint.Common.ExceptionLogger.

Workstation Plug-in API

  • BREAKING CHANGE: Removed Acuit.Pinpoint.Common.ExceptionLogger.
  • BREAKING CHANGE: Now ShowAlarm context parameter should NOT include ": " as part of the string.

6.3.0.2 - 2013-03-28

Server

  • Now view units filters out preassemblies, and there's a new "View preassemblies" link on the view page to allow searching for and viewing preassemblies.

Workstation

  • Added ability to clear signal queue remotely.
  • Now signal queue is persisted (between app restarts).

6.2.0.1 - 2013-03-25

  • Now bar code scan patterns can include multiple capture groups to support scenarios like scanning units via either a linear or 2D bar code.
  • Added mergePreassembly and mergePreassemblySequenceCheck settings to station type component verification settings to allow merging a preassembly into a unit.
  • Now sequence checks can be specified as ranges or as a maximum sequence value.
  • Added ability for stations to signal other preassembly stations with unit model numbers when units are scanned.

Workstation

  • Improved the bar code scanner tester.
  • Fixed problem where scanning a single bar code with both unit model and serial numbers would prompt for two scans instead of extracting them from a single scan.

6.1.0.1 - 2013-03-23

  • Added partial support for preassemblies: Can set up a station as a preassembly scan station, that gets its unit model number from the first component scan. Typing numbers and multiple scans are not yet supported. (Added unitModelNumScanPattern setting to componentType, and added preassemblyScanPendingSerial and unitModelSource settings to stationType.)

Database

  • DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 5.14).
  • Added IsPreassembly column to Units table, and added index for SerialNumber to UnitComponents table.

Server

  • Fixed problem where can't view units with weird characters in their serial numbers.

6.0.0.4 - 2013-03-17

General

  • Admin manual: Changed minimum display to 1024x768; added steps to installation instructions about configuring the firewall and setting SQL Server permissions.

Server

  • Now requires Microsoft .NET Framework 4.5 and Microsoft SQL Server 2008.
  • Fixed a problem where an internal server error could occur when a workstation logs in using a station name that is already in the database but with a different case.
  • Improved the efficiency of some database queries.
  • Now internal server errors are returned to clients as a fault with an appropriate message, and they do not abort the communication channel (which should eliminate the extra communication exception that has been getting logged).
  • Updated Pinpoint Server calls from the web site to use the improved channel close pattern to eliminate unnecessary communication errors at the server.
  • Now line names passed in by clients are compared without regard to case, fixing potential problems when two clients access the same line using differently-cased names, causing Pinpoint Server to internally manage two instances for the same line.
  • Now buyoffs, component types, states, station types, test types, and transitions are precreated in the database when a line is initialized (upon initial startup or upon line configuration changes). Previously, these were created on the fly as they were used. Precreating them helps avoid potential deadlocks or data consistency issues as multiple clients interact with Pinpoint Server simultaneously.
  • Fixed a potential problem where a database error could occur when two stations try to add the same new defect (i.e., that has never been added to the database before) at the same time.
  • Slight optimization to schedule upload when deleting units.
  • Upgraded web to use latest jQuery libraries.
  • Removed Home link (now Pinpoint title goes to home page).
  • Now requires ASP.NET integrated pipeline mode.
  • Now page addresses don't include ".aspx".

Server Console

  • Now requires Microsoft .NET Framework 4.5.
  • Now when unhandled exceptions are logged, more exception detail is logged to an additional "Exception-YYYYMMDD-HHMMSS.xml" file in the same folder as the error log file.

Database

  • Now requires Microsoft SQL Server 2008.
  • DATABASE SCHEMA CHANGE: This version requires an update to the Pinpoint database schema (the database schema number changed to 5.13).
  • Added some missing indexes to improve performance.

Workstation

  • Now requires Microsoft .NET Framework 4.5.
  • Updated Pinpoint Server calls to use the improved channel close pattern to eliminate unnecessary communication errors at the server.
  • In the Configure Server Connection wizard, fixed bug that preventing clicking Back or Cancel when an entry was flagged as invalid.
  • Improved alarm messages when multiple local hardware items fail to initialize.
  • New local hardware configuration window layout that doesn't being up a separate window to edit each local hardware collection.
  • Added a Test feature to allow testing bar code scanning while configuring bar code scanners.
  • Corrected a problem that caused characters to be processed more than once while watching for a keyboard bar code scanner prefix (probably was not noticeable).
  • Added support for control characters in bar codes from keyboard bar code scanners (like Honeywell 4820i Industrial Cordless Area Imager).
  • Added test feature to light stack configuration.
  • Fixed bug where sometimes messages to light stack succeed but still result in a timeout error.
  • Added tracing flag for Modbus protocol.
  • Fixed bug that caused an extra unexpected error after an unexpected error occurs while starting up (e.g., due to a plug-in failing to initialize).
  • Fixed bug where components flagged as "checkInstalledOnly" will act as though the "Yes" button was clicked when any bar code is scanned. Now bar code scans are rejected while prompting the operator to indicate installed status.
  • Now when unhandled exceptions are logged, more exception detail is logged to an additional "Exception-YYYYMMDD-HHMMSS.xml" file in the same folder as the error log file.
  • Fixed bug where if reconfigure server connection while trying to start, original start process running in the background would stop the workstation with an error.

Workstation Plug-in API

  • Moved the Modbus master functionality to a separate library so that it can be used by Workstation plug-ins.
  • Added AsSpan property to ResourceExtension to allow string resources for use in XAML textboxes to contain Span inline formatting tags.
  • Added ShellClosing event to IWorkstationService to give plug-ins an opportunity to cancel exiting the application.

Reporting Utility

  • Now requires Microsoft .NET Framework 4.5.
  • Updated Pinpoint Server calls to use the improved channel close pattern to eliminate unnecessary communication errors at the server.

Run Test Workstation Plug-in

  • Added code to help ensure plug-in can not cause the host application to keep running in the background after the application window is closed.

Older

See Acuit Pinpoint 5 Change History