June 28, 2005
https://sourceforge.net/project/showfiles.php?group_id=111776&package_id=120903

================================================================================ 28th June 2005 : Open-RJ 1.3.2 => 1.3.3
--------------------------------------------------------------------------------

There are six changes:

- fixed an assert in orjapi.c, which erroneously fired when a record
marker had
  trailing whitespace.

- Compatible with Mac OS-X

- added c_str_ptr_null and c_str_data string access shims, for
::openrj,
  ::openrj::cpp and ::openrj::stl constructs.

- openrj::cpp::record now uses Static Covariance (aka
Argument-dependent
  Covariance) for subscript operator. This means that if it's an
integer then
  a Field is returned, and if it's a string then the value (as a
string) is
  returned.

- added reverse iterator support in the record and database classes
of the STL
  mapping.

- general tidying of sample programs

Note: This release depends on STLSoft 1.8.4 beta 1, or later.

================================================================================ 26th May 2005 : Open-RJ 1.3.1 => 1.3.2
--------------------------------------------------------------------------------

There are four changes.

The first two are aimed at helping users get to grips with the
library, as
follows:

- the first change is the addition of three more test programs -
C_minimal,
  Cpp_minimal and STL_minimal - that demonstrate minimal and easy
use of the C++
  and STL mappings.

- the second change is a "Getting Started" page within the documentation.

(Thanks to Rajiv Bhagwat for showing where things were not as easy
as they should
have been.),

The other two changes are code changes in the C++ and STL mappings:

- The Record/record classes, in the Open-RJ/C++ and Open-RJ/STL
mappings
  respectively, now return const Field/field instances, to prevent
misuse in the
  following form:

  record[0] = record[1]; // Will now not compiler

- The Open-RJ/C++ Record class has enhanced subscript operators to
prevent
  ambiguous resolution when used with literal integers.

================================================================================ 23rd May 2005 : Open-RJ 1.2.1 => 1.3.1
--------------------------------------------------------------------------------

The main change is that record comments are now made available in
the API, in
the form of the 'comment' member of the ORJRecordA structure, and
the
ORJ_Record_GetCommentA() function.

There is also a new auto-link header, which causes compilers that
support such
behaviour to insert comment records that direct their linker to link
to the
appropriate Open-RJ library, e.g. openrj.vc71.mt.debug.lib, without
requiring
explicit specification in the linker command. Some developers prefer
this kind
of automatic behaviour, and now have this facility if they so wish
just by
including openrj_implicit_link.h

Other changes are as follows:

 - c_str_ptr() shims are added for ORJStringA. (See chapter 19 of
Imperfect C++
   (http://imperfectcplusplus.com/) for an explanation of the Shims
concept)
 - c_str_data() and c_str_len() shims are provided in addition to
c_str_ptr().
   These are of general use, but are particularly useful with
STLSoft's
   basic_string_view template

Changes to the mappings are as follows:

 C++ mapping:
  - the headers are separated out, one per class. They are all fully
configured,
    i.e. including openrj/cpp/filedatabase.hpp includes
openrj/cpp/record.hpp
    and openrj/cpp/field.hpp
  - addition of (in-)equality operators (operator == and operator
!=) for Field
    class
  - addition of String typedef within openrj::cpp namespace, which
is actually
    a typedef for stlsoft::basic_string_view<char> (for providing
views onto
    the string information within database fields).
  - addition of Record::GetComment(), Record::HasField(char const
*name),
    Record::HasField(char const *name, char const *value),
    Record::HasFieldWithValue(char const *value) methods
  - Record::operator []() overloads taking string objects now return
String
    rather than ORJString

 STL mapping:
  - addition of record::comment() method

 Python mapping:
  - addition of comment property to record type

 Ruby mapping:
  - addition of comment property to record type

================================================================================

Diffs for previous releases not available at this time.

================================================================================