apache > db
Apache DB Project
Font size:      

Apache Derby Release


Use the links below to download a distribution of Apache Derby from the archives. It is good practice to verify the integrity of the distribution files.

There are three different distributions:

  • bin distribution - contains the documentation, javadoc, and jar files for Derby.
  • lib distribution - contains only the jar files for Derby.
  • 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]

There are two separate Eclipse plugins for Derby:

  • derby_core_plugin - provides the Derby jar files to other plugins in Eclipse.
  • derby_ui_plugin - provides an Apache Derby Nature in Eclipse for easy database application development.

derby_core_plugin_10.1.2.zip [PGP] [MD5]
derby_ui_plugin_1.1.0.zip [PGP] [MD5]

Please note: both plugins must be installed for full functionality. For information on installing and using the Derby plugins for Eclipse, please see the Using the 10.1 Core and 1.1 UI Derby plug-ins page.

Release Overview

Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs. is a bug fix release providing quality improvements for Derby 10.1

What's new in

  • Globalization of the 10.1 error messages.
  • Eclipse 3.1 support
  • Ability to run on Mac OS X with no special configuration
  • Support for direct execution of derbynet.jar using the -jar option of the VM
  • Fixes to allow databases to be loaded from jars in the classpath
  • Fixes to improve J2ME/CDC/Foundation Profile support
  • Fixes to improve security manager support
  • Many important fixes to correct issues with data integrity, correct memory leaks and address other product defects

For a comprehensive list of changes, consult the Release Notes. functionality includes:

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

SQL support:

  • Schemas, tables, temporary tables, views, triggers, indexes, savepoints
  • Java procedures and functions
  • Standard datatypes including BLOB and CLOB
  • Sub-queries and joins
  • Primary key, foreign key, unique and check constraints
  • Referential actions

Other features:

  • Full ACID transaction support with all four isolation levels
  • Row and table level locking
  • Configurable authentication including LDAP support
  • Import/Export
  • On-line backup and recovery support
  • Optional on-disk encryption
  • Platform independent database format
  • Full support for Java 2 Security Manager

JDK/JDBC support:

  • JDK 1.3, 1.4, 1.5, and J2ME J2ME/CDC/Foundation Profile
  • JSR-169, JDBC 2.1, and JDBC 3.0 support

Release Notes

Derby version is a bug fix release based on Apache Derby In addition to many other bug fixes, this release contains the fix for DERBY-662 which is a rare but potentially serious data loss issue on case insensitive file systems such as Windows.

The following reported JIRA issues were fixed in the release:


  • [DERBY-626] - Booting embedded engine requires read permission to derby.jar be granted for all code in the stack
  • [DERBY-643] - Eclipse Derby doc plug-in: Resources page points to the incubator site instead of db.apache.org
  • [DERBY-650] - Hyperlinks in demo/demo.html are broken
  • [DERBY-652] - Documentation and demos have incubator references
  • [DERBY-656] - SecurityException with accessDeclaredMembers on DatabaseMetaData.getTables.
  • [DERBY-657] - Release archives should have executable bits set for scripts and text files should have proper line endings.
  • [DERBY-662] - during crash recovery of a drop table, on case insensitive files systems derby may delete wrong file
  • [DERBY-1] - Can't create a new db on OS X
  • [DERBY-149] - Server hang when invalid string is bound to datetime columns.
  • [DERBY-374] - Invalid URL with Derby Client when connecting to Network Server causes protocol exception.
  • [DERBY-375] - Specification of incomplete server properties on command line causes NPE with NetworkServerControl when starting the server.
  • [DERBY-385] - servlet Back to Main Page link points to csnet instead of derbynet
  • [DERBY-388] - Intermittent failures when executing UPDATE trigger statements
  • [DERBY-392] - Disable creating indexes on long varchar for bit data. Long varchar column doesn't allow creating indexes already.
  • [DERBY-406] - Client DataSource should not require user property to be set
  • [DERBY-409] - ClientDataSource setConnectionAttributes("create=true") fails with "An attempt was made to access a database, mydbcreate=true, which was not found."
  • [DERBY-410] - ClientDataSource should not require serverName/portNumber to be set
  • [DERBY-411] - dblook_test fails on aix platform fails with ibmjdk131
  • [DERBY-414] - With Network Client starting an XA transaction resets the isolation level set with setTransactionIsolation
  • [DERBY-424] - Queryplan for a query using SESSION schema view is incorrectly put in statement cache. This could cause incorrect plan getting executed later if a temp. table is created with that name.
  • [DERBY-440] - derby.jar has directory (package) entries in it which are not required
  • [DERBY-447] - getBoolean() throws data conversion exception for DECIMAL type in J2ME/CDC/Foundation
  • [DERBY-452] - Import/export fails for DECIMAL type in J2ME/Foundation
  • [DERBY-459] - lang/errorStream.java fails intermittently on Windows 2003 server
  • [DERBY-470] - Exception when using LOCALIZEDDISPLAY with JSR169
  • [DERBY-476] - Derby UI plug-in version 1.0.0 incompatible with Eclipse 3.1 M6 or higher
  • [DERBY-485] - SecurityException or LinkageException thrown during loading a class from a database jar incorrectly shuts the engine down.
  • [DERBY-488] - DatabaseMetaData.getColumns() fails on iSeries JDK 1.4 with verfier error on generated class.
  • [DERBY-498] - Result set holdability defined inside stored procedures is ignored by server/client
  • [DERBY-500] - Update/Select failure when BLOB/CLOB fields updated in several rows by PreparedStatement using setBinaryStream and setCharacterStream
  • [DERBY-504] - SELECT DISTINCT returns duplicates when selecting from subselects
  • [DERBY-518] - Data type mismatch error for boolean to DECIMAL conversion in J2ME
  • [DERBY-522] - ERROR X0Y79 raised when adding comments using "--" before sql queries with Network Client
  • [DERBY-527] - Incorrect insane build on windows platform
  • [DERBY-530] - ClientDriver ignores Properties object in connect(String url, Properties connectionProperties) method
  • [DERBY-535] - Driver.acceptsURL() for embedded driver incorrectly returns true for a client url like jdbc:derby://
  • [DERBY-540] - Loading databases from jars in the classpath is broken, databases cannot be found.
  • [DERBY-557] - Client driver gets OutOfMemoryError when re-executing statement without closing ResultSet
  • [DERBY-558] - Optimizer hangs with query that uses more than 6 tables and does subquery flattening.
  • [DERBY-559] - With Network Client, user and password attriubtes specified in the url should not be sent to hte server with the RDBNAM or print with getURL
  • [DERBY-561] - embedded driver jdbcCompliant() method should return true
  • [DERBY-562] - Derby incorrectly throws Exception when streaming to BLOB field
  • [DERBY-566] - Doc bug for saving ij output to a file
  • [DERBY-613] - Intended location of network server tracing files is not clear.
  • [DERBY-620] - BUILDING.txt section 3.2(1): Instructions for finding user home directory are not reliable
  • [DERBY-624] - Running derbynetclientmats and derbynetmats requires accessDeclaredMembers permission to be granted with sane=true


  • [DERBY-419] - Support direct execution of derbynet.jar using the -jar option of the VM.
  • [DERBY-468] - Unreserve COUNT keyword, if possible.
  • [DERBY-636] - Updated localized messages for Derby 10.1


Tests were run on the following platforms. Results are listed separately for each platform.

Type testplatform, jvm versionby.:
derbyall suiteWindows XP WCTME 5.7Deepa Remesh (dremesh@gmail.com)
derbyall suiteRHEL 4.0 (32 bit), IBM SDK 1.4.2Ramandeep Kaur (ramnk@yngvi.org)
derbyall suiteRHEL 4.0 (64-bit), IBM SDK 1.4.2Myrna Van Lunteren (m.v.lunteran@gmail.com)
derbyall suiteRHEL 4.0 (64-bit), Sun JDK 1.5.0_04Myrna Van Lunteren (m.v.lunteran@gmail.com)
derbyall suiteSUSE Pro 9.2, IBM SDK 1.4.2Ramandeep Kaur (ramank@yngvi.org)
derbyall suiteSUSE Pro 9.2, Sun JDK 1.5.0_05Ramandeep Kaur (ramank@yngvi.org)
derbyall suiteWindows 2000, Sun JDK 1.4.2Kathey Marsden (kmarsdenderby@sbcglobal.net)
derbyall suiteWindows 2000, IBM SDK 1.4.2Rajesh Kartha (kartha@source-zone.org)
derbyall suiteLinux 2.6.13, Sun JDK 1.5.0_05Bernt Johnsen (Bernt.Johnsen@Sun.COM)
derbyall suiteLinux 2.4.21-27, Sun JDK 1.5.0_03Ole Solberg (ole.solberg@sun.com)
derbyall suiteSunOS-5.10, Sun JDK 1.5.0_04Ole Solberg (ole.solberg@sun.com)
derbyall suiteSunOS-5.10, Sun JDK 1.5.0_03Ole Solberg (ole.solberg@sun.com)
derbyall suiteSunOS-5.9, Sun JDK 1.5.0_03Ole Solberg (ole.solberg@sun.com)
derbyall suiteSunOS-5.9, Sun JDK 1.5.0_05Andrew McIntyre (mcintyre.a@gmail.com)
derbyall suiteMac OS X 10.4.3, Appple JDK 1.4.2Andrew McIntyre (mcintyre.a@gmail.com)
derbyall suiteMac OS X 10.4.3, Apple JDK 1.5.0Andrew McIntyre (mcintyre.a@gmail.com)

Several test issues were reported, but no specific code issues were noted.

Tests for a specific platform can be run using the derbyTesting.jar file that can be found in the lib directory of the -lib or -bin distributions.

Instructions on how to run the tests can be found in the testing README.

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 you verify your downloads with both PGP and MD5.