JCOP Tools 3.0 (Eclipse Plugin) Release Notes
Version 1.0.3.3 (Howald)

Please note that a JRE of version 1.4.x is required to run JCOP Tools.

What's new in 1.0.3?

What's new in 1.0.2?

  • Converter bug fixed.
    A bug that caused the converter to refuse building projects with abstract classes which extend javacard.framework.Applet has been fixed.
  • Applet install order support.
    The order in which applets from a given package are installed can now be specified in the Package Properties dialog.
  • New CAP File Properties view.
    The new CAP File Properties view displays more useful information obtained directly from the CAP file, and not from the Converter. This means that CAP file properties are persisted across sessions.
  • String encoding support. (1.0.2.a)
    A string in the Java Editor can now be easily converted into a byte array of desired encoding:
  • JCOP21id simulation.
    The JCOP21id simulation is now correctly included.
  • Custom Card Types.
    Custom OpenPlatform card types are now supported. Parameters such as CardManager AID, key sets, Shell plugin or lifecycle state can now be freely configured or selected from pre-defined types.
  • Better SIM support. (1.0.2.a)
    The shell scripts used for SIM cards and simulations have been improved and streamlined.

What was new in 1.0.1?

  • Converter bug fixed. (1.0.1.a)
    A bug that caused the converter to only include one applet per CAP file has been fixed.
  • New applet wizard. (1.0.1.a)
    A wizard to create new JavaCard applets has been added.
  • Command Line Interface.
    Documentation for using JCOP Tools from the command line has been added.
  • Other bug fixes.
    A few bugs that mainly affect users running Eclipse with JRE 1.3.x have been fixed. Please note that we recommend using a 1.4.x JDK.

What was new in 1.0.0?

  • Batic no longer a pre-requisite.
    JCOP Tools 3.0 do not require JCOP Tools 2.2 to be installed on the system anymore.
  • Exportmap support.
    Support for maintaining binary compatibility against Export Files has been added.

What was new in 0.9.5?

  • Converter bug fixed.
    A bug in the converter that caused non-compliant (but working) CAP files has been fixed.
  • Multiple reader support.
    Users with multiple PC/SC readers can now select the desired reader in a convenient drop-down box.

What was new in 0.9.4?

  • Code Coverage / Profiling
    Support for code coverage and profiling is now available. If enabled, the debugger will mark executed lines of code with colored bars and indicate the execution frequency of lines and blocks when the VM is suspended.

What was new in 0.9.3?

Note for beta-testers of releases prior to 0.9.3: After upgrading to 0.9.3, you should reset the classpath of all your JCOP projects. In the Package Explorer, right-click on a project and select "Reset Classpath". Eclipse will then select the correct libraries for your target. If this does not resolve compilation problems, make sure the settings found in the "Project Properties" dialog under "JCOP Project Properties" and/or "Java Build Path" are correct.

  • JCOP specific APIs split into smaller libraries.
    Instead of developing against a certain type of JCOP card, you may now develop against a freely configurable set of libraries, such as JavaCard 2.1.1 or OpenPlatform 2.0.1'. Preconfigured sets for all supported JCOP cards are included.
  • Multiple project support
    Building CAP files from sources whose dependencies span across multiple projects is now supported.
  • Projects outside of workspace
    Projects which live outside of the Eclipse workspace root are now supported.
  • Custom build folders for source folders
    Projects with source folders that specify a custom output path (new feature in Eclipse 2.1) are now supported as well.
  • Shell View Buttons
    The JCOP Shell now provides buttons for often-used actions such as installing and deleting packages and applets, authentication, key loading, and others.
  • Enhanced Support for Physical Card Targets
    The JCOP shell can now talk to "real" card terminals, such as PC/SC or T=CL readers. Please note that an applet running on a real card cannot be debugged.
  • High-Precision Timer
    For readers that support this feature, the JCOP Shell will show the exact APDU execution time at microsecond level (μsec).
    Currently, this feature works only with the newest generation of the contactless 'Pegoda' reader from Philips. Drivers which support this new feature must be obtained from Philips.
  • New JCOP Targets
    Support for all currently available JCOP card families is now included.

What was new in 0.9.2?

  • Support for SIM Toolkit applets.
    With the JCOP 21sim Family API and the JCOP 21sim Target, support for STK applets is now available. SIM install parameters can be set in the applet's property dialog; other SIM options can be found in the SIM tab of the JCOP 21sim Target in the Run... or Debug... dialogs.
  • JCOP Explorer View
    The JCOP Explorer gives you a quick overview of your packages and applets, and their AIDs and other JavaCard related settings. Double-click on any node to display the respective property dialog.
  • Cusom Mask Support
    Support for simulating a custom mask (packages pre-loaded in ROM) is now available. See the Cusom Mask tab of any JCOP target in the Run... or Debug... dialogs. Please note that ROM applets cannot be debugged at this time.
  • Improved Debugging Support
    Breakpoints can now be set before a package is uploaded on the card. Also, breakpoints are recycled for any future launches. Furthermore, slow-speed emulation is now available.

Known Problems

  • When refactoring an Applet or JavaCard package, AID associations are lost. This problem is related to Eclipse's lack of support for Refactoring Participants. We hope it will be addressed in the 2.2 release of Eclipse.
  • Eclipse allows breakpoints be set on the line of a method declaration. This has however no effect on execution. Note that there will never be a small check mark next to the blue dot, indicating that said breakpoint is not active.
  • JCOP property pages are shown for projects, packages, and compilation units, regardless of the project type. This issue is related to the lack of an IActionFilter for IJavaElement within the Eclipse JDT/UI. (See Eclipse Bug 30948.)
  • The debugger shows "NullPointerException" in datail pane of variables view when a non-primitive type object is selected. This issue is caused by Eclipse's assumption that java.lang.Object has a method toString [()Ljava/lang/String;], which of course is not the case on JavaCard. (See Eclipse Bug 30948.)
  • Certain debugging features Eclipse offers, such as Inspect, Display, and Execute are not supported on JCOP simulations.
  • The Memory Information does not receive Debug event information until it is first displayed. It will thus not show any data if it is activated when the simulation is suspended. Once active, the view will function properly, even if another view is selected.