2021.1

2021.1.05

Bug fixS-63

LCD-12190
The S-57 and S-63 model decoders now properly differentiate multi catalog (MULTICATALOG.031) datasets of the right type. Before, the S-57 decoders would pick up multi catalogs containing S-63 data and vice-versa.

2021.1.03

Bug fixS-63

LCD-12150
Fixed an issue when separately decoding multiple S-63 cells or catalogues in parallel on different threads. This would result in various errors and decoding failures.

2021.0

2021.0.10

Bug fixS-63

LCD-12043

Fixed an issue when using an S-63 hardware ID directly using the system property com.luciad.format.s63.encryptedHardwareID or using the call setEncryptedHardwareID. Decoding of the corresponding S-63 cell permits would fail if that ID had a letter in its hexadecimal form, for example 0xA2345.

This did not affect hardware IDs based on Luciad-provided User Permits embedded in the Luciad license.

2020.1

2020.1.07

Bug fixS-63

LCD-11617

Fixed an issue where S-63 catalogs were not recognized, and decoded as S-57 catalogs instead, resulting in low-level errors.

This happened when an S-63 catalog had entries for cells (.000 files) that were missing on disk.

2020.1.01

ImprovementS-63

LCD-11543
Fixed an issue where cell permit subscription expiry date warnings (SSE 15 and SSE 20) didn't show up when there were cell permits in the old ENC.PMT format. This ENC.PMT file doesn't contain the necessary subscription information, while the PERMIT.TXT does. Now, the permits from the PERMIT.TXT file take precedence over those from the ENC.PMT file.

2020.0

2020.0.13

ImprovementS-63

LCD-11453
The ECDIS S-63 decoder can now always open the IHO S-63 demo dataset, which is also delivered with our release sample data. Before, you could not open this dataset if your Luciad license contained a specific (non-demo) User Permit.

2020.0

ImprovementS-63

The S-63-specific sample have been removed. You can open S-63 data using the regular ECDIS Lightspeed sample, or the generic Lightspeed and GXY Decoder samples.

All these samples will automatically pick up the TLcdS63UnifiedModelDecoder to load S-63 data. Place your Cell Permit files (ENC.PMT or PERMIT.TXT) next to the source data, and make sure you are using the Luciad license that has the corresponding User Permit.

2018.1

2018.1.01

Bug fixS-63

LCD-10393

Fixed an issue with loading S-63 cell permits concurrently for multiple S-63 datasets, causing errors and missing cells.

In case where a single S-63 model decoder was used for multiple S-63 models, they share cell permit files. When displaying these models, these cell permit files were decoded concurrently, depending on timing. However, certain aspects of the IHO S-63 permit file decoding were not thread-safe, causing errors, that caused some permits to be skipped.

The end result was that some cell were not displayed. This is now resolved.

2018.0

2018.0.09

ImprovementS-63

The S-63 ECDIS decoder (TLcdS63UnifiedModelDecoder and variants) now supports InlandECDIS (IENC). For details, see the release note in the Maritime Standards component.

2017.1

2017.1.02

ImprovementS-63

LCD-9602

You can now be notified of issues with cells in a catalog directly in the decode() call.

Set a handler using TlcdS63UnifiedModelDecoder.setInvalidCellExceptionHandler(). Your handler's handleCellWarnings() will be called with TLcdS63Exception during decode() to notify you of issues with cells:

  • Cells for which there is no permit ({@link TLcdS63Exception.ErrorCode#SSE_011 SSE_011}). These cells will not be loaded.
  • Cells for which the subscription is about to expire ({@link TLcdS63Exception.ErrorCode#SSE_020 SSE_020}). The cells will still be loaded.
  • Cells for which the subscription expired ({@link TLcdS63Exception.ErrorCode#SSE_015 SSE_015}). The cells will still be loaded.

2017.0

2017.0.03

ImprovementS-63

LCD-9317
When there are multiple cell permit files configured, the S63 decoders will use the cell permits associated with your current user permit. Earlier, the first file would be used, even if not related to your user permit, causing decoding failures. Note that you will get warning logging indicating that certain cell permit files could not be used.

2017.0

ImprovementS-63

LCD-9006

You can now intercept cell expiration warnings when cells are decoded within a catalog.

ILcdS57InvalidCellExceptionHandler has a new default method handleCellWarnings. By default, this method logs a warning message. You can override the method to intercept the warnings.

During the initial decode(), you will get warnings (SSE_015 or SSE_020) for all expired cell permits.

ImprovementS-63

LCD-7136
Changed canDecode of TLcdS63UnifiedModelDecoder, TLcdS63CatalogueModelDecoder and TLcdS63ModelDecoder such that it no longer checks cell permits. This means canDecode will accept all S-63 cells and catalogues. For cells, the decode will fail if there is no permit. For catalogues, the decode will decode only cells in the catalogue for which you have permits (as before).

2016.1

2016.1.31

Bug fixS-63

LCD-9022
Fixed an issue where cells without permit were being loaded when SENC caching is enabled. The red cell outlines for these cells was shown. The loading would fail because there is no permit, causing the ILcdS57InvalidCellExceptionHandler to be called. Instead, these cells are now skipped during the initial decode, as when SENC caching is not enabled.

2016.1.24

ImprovementS-63

LCD-8856

You can now set your S63 Customer System ID through a JVM system property: -Dcom.luciad.format.s63.s63CustomerSystemID=mys63id.

In Lucy, you can use the TLcyS63FormatAddOn.s63CustomerSystemID add-on configuration setting: see TLcyS63FormatAddOn.cfg.

The setter method or Lucy setting take precedence over any system property.

See TLcdS63UnifiedModelDecoder.setS63CustomerSystemID() for more information.

2015.1

2015.1

ImprovementS-63

Luciad API users can now act as ECDIS system manufacturers, and use their own hardware IDs and manufacturer IDs. See the TLcdS63UnifiedModelDecoder#setEncryptedHardwareID javadoc and the developer guide for more information.

Note that this functionality requires a specific Luciad license, as explained in the developer guide.

2015.0

2015.0.06

Bug fixS-63

LCD-5808
The S-63 decoder could fail with a cipher error when using JDK 1.7.0_71 or 1.8.0_25 or higher. This is now resolved.

2014.1

2014.1.08

ImprovementS-63

LCD-6301
The S-63 model decoders now support validating the running system using an "S-63 Customer System ID". See TLcdS63UnifiedModelDecoder.setS63CustomerSystemID(), TLcdS63ModelDecoder.setS63CustomerSystemID() or TLcdS63CatalogueModelDecoder.setS63CustomerSystemID().

2014.0

2014.0.08

Bug fixS-63

LCD-5808, LCD-10166
The S-63 decoder could fail with a cipher error when using JDK 1.7.0_71 or 1.8.0_25 or higher. This is now resolved.

Bug fixS-63

LCD-5796
Manually configured S-63 permits are now correctly excluded from the ISO-19139 metadata.

2014.0.07

Bug fixS-63

LCD-5795
The auto-detected permit files are now also correctly included in the S-63 metadata when using the ENC_ROOT directory as source name.

2014.0

ImprovementS-63

The TLcdS63UnifiedModelDecoder, TLcdS63CatalogueModelDecoder and TLcdS63ModelDecoder now automatically pick up basic/meta permit files which are located next to the source file. This avoids the need to configure those permits on the model decoder itself.

The sample class S63ModelDecoder was removed: it configured the sample permit, and was annotated with @LcdService so that the sample data could be loaded with the service-loader-based model decoder. Since the TLcdS63UnifiedModelDecoder now automatically picks up the permit, this is not necessary anymore.

TLcdS63UnifiedModelDecoder is now annotated with @LcdService instead.

2013.1

2013.1.22

Bug fixS-63

LCD-4962
Warnings are now logged 30 days in advance of S-63 cell expiry date instead of 20 days in advance.

2013.1.01

ImprovementS-63

LCD-4393
TLcdS63ModelDecoder.canDecodeSource() now additionally checks whether a cell permit is available for the given source; if no cell permit is available, it returns false.

2013.1

ImprovementS-63

TLcdS63ProductConfiguration can now be retrieved through getInstance instead of newInstance. The getInstance method will return a singleton instance that can be re-used where necessary. newInstance has been deprecated, you should replace these calls with getInstance.

ImprovementS-63

A new model decoder has been introduced which can decode both cells and catalogues for ENC and AML. See the TLcdS63UnifiedModelDecoder class.

ImprovementS-63

LCD-2957
A new model decoder is available for S-63 catalogues, TLcdS63CatalogueModelDecoder. This decoder automatically filters out all cells for which no cell permit is available.

2013.0

2013.0.21

ImprovementS-63

The S-63 model decoders have been upgraded to support S-63 Edition 1.1.1. The most noticeable changes are in the error reporting: new error codes have been added (see TLcdS63Exception.ErrorCode) and the implementation of the decoders has been updated to use the new error codes where required by the specification. TLcdS57ModelDescriptor now also provides a getWarnings() method which provides access to any non-fatal S-63 warning or error that was encountered during decoding (for example a subscription license that expires within 30 days).

2013.0.15

ImprovementS-63

TLcdS63ModelDecoder now supports combinations of both basic and meta permit files.

2013.0.12

ImprovementS-63

LCD-4045
A bug in the configuration of TLcdS63ModelDecoder prevented the new IHO certificate from being automatically picked up by the decoder. This has been fixed.

2013.0.04

ImprovementS-63

LCD-3973
The S-63 implementation has been upgraded to support the new IHO certificate, replacing the existing certificate which expires in August 2013. This upgrade is mandatory for all applications loading S-63 data which is ordered as of August 2013. The S-63 decoder now supports both IHO certificates by default (the old certificate is still required for decoding of existing data). In addition, the Primar certificate is now also supported. To implement this functionality, the TLcdS63ModelDecoder API has been extended to support the configuration of multiple SA certificates.

2013.0.02

ImprovementS-63

LCD-3950
The TLcdS63ModelDecoder now support the setting of multiple permit files (both basic and meta permit files).

2012.1

2012.1.04

Bug fixS-63

LCD-3407
The exception thrown by the S-63 model decoder now include the S-63 error code in their error message.

2012.0

2012.0.18

Bug fixS-63

LCD-2924
The S-63 model decoder can now handle meta permit files without a ':ECS' line declared in them.

2012.0.15

ImprovementS-63

LCD-2789
The S-63 model decoder can now handle ENC cells without an DSID_EDTN issue number in their permit file.

11.0

11.0

ImprovementS-63

TLcdS63ProductConfiguration is a new API class, allowing easy setup of an ECDIS/S-63 environment. It provides out-of-the-box support for the ENC and AML product types. Unless another S-57 product is used, users no longer need to perform S-57/S-52/S-63 component configuration manually (except for the S-63 permit data).

10.0

10.0.19

ImprovementS-63

S-63 cell name look up is no longer case sensitive; this resolves a potential issue - unfound cell permits - in places where the case of the file names would have changed during distribution of the data.

10.0.09

ImprovementS-63

LMAP-4391
TLcdS63ModelDecoder can now always be instantiated, even if the license file does not contain the S-63 optional module. The canDecodeSource() method of this class can now be used to check whether the S-63 optional module is present.

7.2

7.2.05

Bug fixS-63

S63 models now properly support ILcdFeatured when attribute and object class maps are configured on the TLcdS63ModelDecoder.

7.0

7.0.05

Bug fixS-63

Basic permit files with empty lines can now be handled by the TLcdS63ModelDecoder.

Bug fixS-63

A bug in the TLcdS63ModelDecoder, causing encrypted files to become undecodable, was fixed (applies on all files encrypted with a hardware ID other than the demo ID).

6.2

6.2.21

ImprovementS-63

S-63 models now have a TLcdS63ModelDescriptor instead of a TLcdS57ModelDescriptor. The former extends the latter, to keep the API backwards compatible.

6.2.09

Bug fixS-63

The S-63 hardware id is now included in the LuciadMap license file, and can no longer be set separately via the API (the method TLcdS63ModelDecoder.setHardwareID() has been removed from the API).

5.1

5.1

ImprovementS-63

New package com.luciad.format.s63 for decoding S-57 data encrypted using the S-63 standard.