apache > db
Apache DB Project
Font size:      

Apache Derby Release


Use the links below to download a distribution of Apache Derby. You should always verify the integrity of distribution files downloaded from a mirror.

There are four different distributions:

  • bin distribution - contains the documentation, javadoc, and jar files for Derby.
  • lib distribution - contains only the jar files for Derby.
  • lib-debug distribution - contains jar files for Derby with source line numbers.
  • src distribution - contains the Derby source tree at the point which the binaries were built.

db-derby- [PGP] [MD5]
db-derby- [PGP] [MD5]

db-derby- [PGP] [MD5]
db-derby- [PGP] [MD5]

db-derby- [PGP] [MD5]
db-derby- [PGP] [MD5]

db-derby- [PGP] [MD5]
db-derby- [PGP] [MD5] (Note that, due to long filenames, you will need gnu tar to unravel this tarball.)

Release Notes for Apache Derby

These notes describe the difference between Apache Derby release and the preceding release


The most up to date information about Derby releases can be found on the Derby download page.

Apache Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs. More information about Derby can be found on the Apache web site. Derby functionality includes:

  • Embedded engine with JDBC drivers
  • Network Server
  • Network client JDBC drivers
  • Command line tools: ij (SQL scripting), dblook (schema dump) and sysinfo (system info)

The 10.13 release family supports the following Java and JDBC versions:

  • Java SE 8 with JDBC 4.2

New Features

This is a feature release. The following new features were added:

  • DERBY-6136: tool for siphoning data out of corrupted databases
  • DERBY-6725: system function which prints out the name of the current database
  • DERBY-4555: system procedures to import CSV file with headers
  • DERBY-6852: allow identity columns to cycle.

Bug Fixes

The following issues are addressed by Derby release These issues are not addressed in the preceding release.

Issue Id
DERBY-6914Incorrect example for new SYSCS_UTIL.SYSCS_IMPORT_TABLE_BULK procedure
DERBY-6913Document the new ability of identity columns to cycle
DERBY-6900docs build for ref.html gives errors about rrefjavstateautogen.dita -- possible typo?
DERBY-6895Add documentation for new SYSCS_IMPORT_TABLE_BULK, SYSCS_IMPORT_DATA_BULK procedures
DERBY-6894Enhance COLUMNINDEXES parsing for SYSCS_IMPORT_DATA_BULK to recognize columns by name
DERBY-6893Create new SYSCS_IMPORT_DATA_BULK procedure
DERBY-6892Create new SYSCS_IMPORT_TABLE_BULK procedure
DERBY-6890ALTER TABLE DROP COLUMN corrupts secondary index collation information
DERBY-6886Fix links to CI test results
DERBY-6885Remove ReuseFactory
DERBY-6884SYSCS_IMPORT_TABLE_LOBS_FROM_EXTFILE can't import more than Integer.MAX_VALUE bytes of blob data
DERBY-6883Document the new SET GENERATED clause of ALTER TABLE introduced by DERBY-6882
DERBY-6881Test failures with JDK 9-ea b111
DERBY-6880Update failing with java.sql.SQLDataException
DERBY-6879Engine deadlock between XA timeout handling and cleanupOnError
DERBY-6875Partially broken download pages
DERBY-6870Google Summer of Code 2016: Derby bug fixing
DERBY-6869XMLXXETest fails in non-English locales
DERBY-6868Remove the dependency on Jakarta ORO
DERBY-6866Add URLs to Maven pom files
DERBY-6864RawDBReaderTest fails on Windows
DERBY-6860Automatic download of junit.jar broken
DERBY-6852Allow identity columns to cycle (as defined in SQL:2003)
DERBY-6845Document the rawDBReader optional tool
DERBY-6828Network Server don't start in czech localized enviroment due missing key DRDA_MissingNetworkJar.S
DERBY-6752AutoloadedDriver tries to load a non-existent class, AutoloadedDriver40
DERBY-6726NPE from trigger
DERBY-6725Add a system function which returns the name of the database.
DERBY-6391remove unneeded object creation in newException() calls in releases > 10.10
DERBY-6334Test harness security policy prevents running DatabaseClassLoadingTest twice
DERBY-6136Create a custom/optional tool for dumping the data in a corrupted database.
DERBY-5950PlanExporter and SignatureChecker don't appear in the list of tools supported by derbyrun.
DERBY-5944The hard-coded PlanExporter help message should be internationalized so that it can be translated
DERBY-5605Calling Blob/Clob free() explicitly after implicit free throws exception in client driver
DERBY-5585Improve error messages used when Derby can't find the class or method backing up a SQL routine or type
DERBY-4555Expand SYSCS_IMPORT_TABLE to accept CSV file with header lines
DERBY-4091Investigate "size_problem" column in MailJdbc terst
DERBY-3181isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.
DERBY-1773insertRow() and updateRow() fail with syntax error when column has an alias
DERBY-853ResultSetMetaData.getScale returns inconsistent values for DOUBLE type.


Compared with the previous release (, Derby release introduces the following new features and incompatibilities. These merit your special attention.

Note for DERBY-6852

Summary of Change

When a Derby SEQUENCE cycles, it now cycles to its minimum/maximum value rather than to its start value.

Symptoms Seen by Applications Affected by Change

In previous releases, when a Derby SEQUENCE cycled, it cycled to its start value. But now it cycles to its maximum or minimum value:

  • If the SEQUENCE has a positive increment, it cycles to its minimum value.
  • If the SEQUENCE has a negative increment, it cycles to its maximum value.

Rationale for Change

The new behaviour remains compliant with the SQL standard, but we believe it is more useful.

Note that the new behavior is also used for the new CYCLE behavior of IDENTITY columns.

Build Environment

Derby release was built using the following environment:

  • Branch - Source code came from the 10.13 branch.
  • Machine - Linux Fedora22 4.4.14.fc22.x86_64
  • Ant - Apache Ant(TM) version 1.9.5 compiled on May 31 2015
  • Compiler - All classes were compiled by OpenJDK Runtime Environment (build 1.8.0_91-b14)

Verifying Releases

It is essential that you verify the integrity of the downloaded files using the PGP and MD5 signatures. MD5 verification ensures the file was not corrupted during the download process. PGP verification ensures that the file came from a certain person.

The PGP signatures can be verified using PGP or GPG. First download the Apache Derby KEYS as well as the asc signature file for the particular distribution. It is important that you get these files from the ultimate trusted source - the main ASF distribution site, rather than from a mirror. Then verify the signatures using ...

% pgpk -a KEYS
% pgpv db-derby-X.Y.tar.gz.asc


% pgp -ka KEYS
% pgp db-derby-X.Y.tar.gz.asc


% gpg --import KEYS
% gpg --verify db-derby-X.Y.tar.gz.asc

To verify the MD5 signature on the files, you need to use a program called md5 or md5sum, which is included in many unix distributions. It is also available as part of GNU Textutils. Windows users can get binary md5 programs from here, here, or here.

We strongly recommend that you verify your downloads with both PGP and MD5.