The Barry development team is pleased to announce the release of
version 0.15.  Source and binary packages are available for immediate
download at the URLs below.

Barry is an Open Source application that provides synchronization, backup,
restore, and program management for BlackBerry devices. Barry is primarily
developed on Linux, but is intended as a cross platform library and
application set, targeting Linux, BSD, 32/64bit, and big/little endian systems.

This is a long awaited release, with lots of new features from 11 months
of development:

   - binary packages for Ubuntu 9.04 and Fedora 11, and better support
        for Fedora 11's HAL/udev system
   - a new version of the opensync plugin in step with opensync's 0.3x devel
        tree, which includes new syncing options for tasks and memos
        and photos (this plugin is currently considered experimental
        until opensync officially releases 0.40)
   - improved sync logic for contacts (both 0.22 and 0.4x plugins)
   - a FUSE filesystem driver to browse BlackBerry databases as files
   - internationalization improvements in library and sync
   - support for the BlackBerry Storm and Pearl Flip
   - javaloader support (includes load, save, erase, info, eventlog,
        screenshot, wipe, settime, etc)
   - fixes to support newer kernel USB behaviour changes
   - zsh command line completion support
   - parsing support for RIM's USB logs
   - database parsing improvements: phone call logs, SMS records
   - new modem chat scripts: China Mobile, AT&T Cingular
   - backup GUI can now pick backup destination folder
   - backup GUI can now change between multiple devices



Binary packages are available on SourceForge for 32 bit systems, for
the following distros:

        Debian stable (lenny)
        Ubuntu 7.10, 8.04, 9.04
        Fedora 7, 8, 9, 11

Source packages are available in Debian, RPM, and tarball formats.

        http://sourceforge.net/projects/barry/files/

Packages used to be available on the OpenSUSE Build Service, but
this has been discontinued for this release due to lack of time.

Detailed user documentation is available online at the usual place:

        http://www.netdirect.ca/software/packages/barry/

        (scroll down to the 0.15 section, where the files are
        grouped more clearly that in the "new files" list)

There are some known issues in this release (which affect older
releases as well).  Namely:

        1) Restoring backups for some databases on newer Blackberries
           doesn't work (for example, on the 8120, 8700g).  Before
           relying on barrybackup, please make full data backups using
           RIM's Windows tool.

        2) Syncing is not supported on Fedora Core 9 and 10, since they
           packaged the OpenSync 0.3x devel tree.  This has been fixed
           in Fedora 11, as they returned to 0.22.

        3) Accessing the database (such as during a backup) while copying
           files using the usb_storage kernel module may cause some
           Blackberries to spontaneously reboot.

For full details regarding the changes in 0.15, please see the ChangeLog.

For information on release target dates and milestones, see the
latest TODO file in the git repo:

        http://repo.or.cz/w/barry.git?a=blob;f=TODO;hb=HEAD

You are encouraged to join the project, play with the code, and report
any problems or feature requests to the mailing list. You can use the
command line tool to capture unsupported database items and help in the
reverse engineering process.

Enjoy!


Contributors in this release: (alphabetical order by last name)
        Richard Esplin          - AT&T Cingular chat script
        Ron Gage                - Autotext and Service Book parsing notes
        Dr. J A Gow             - iCal sync and category patches
        Andy Herkey             - modemtest.rb script
                                - ipmodem password support for Bold
        Josh Kropf              - many additions to javaloader support
                                - support for large java modules
                                - brimtrans tool for parsing RIM USB logs
        John Ladan              - Pearl Flip ID report
        Ryan Li                 - SMS record parsing support
                                - China Mobile chat script
                                - backup GUI improvements
        Martin Owens            - HAL FDI scripts
                                - devel snapshot binary packages for Ubuntu
                                - documentation of Content Store
        Bill Paul               - FreeBSD and build system debugging
        Rick Scott              - reverse engineering infomation on various
                                  details in the javaloader protocol
        Jose Sogo               - Debian package patches
        Christopher Stover      - Fedora 10 debugging help
        Nicolas Vivien          - BlackBerry Storm support
                                - initial javaloader patch
                                - porting sync plugin to opensync 0.4x
                                - zsh completion script
                                - sync support for photos
                                - sync support for memos and tasks
                                - phone call log parser
                                - bookmark documentation
                                - build system fixes (boost)
                                - LDIF patches
        Robert Yaklin           - VSM file format documentation

A special thanks to all testers who have provided valuable feedback.

Thanks also to the official distro maintainers:

        Debian          Jose Carlos Garcia Sogo
        Fedora          Christopher D. Stover
        Mandriva        Adam Williamson

Thanks to Christopher Stover and Martin Owens who provide development
snapshot binary packages for Fedora and Ubuntu, respectively.




ChangeLog for version 0.15:

Release: version 0.15 - 2009/08/28
------------------------------------------------------------------------------
2009/08/28
        - added binary build for Ubuntu 9.04 to maintainer scripts
2009/08/27
        - added binary build for Fedora 11 to maintainer scripts
2009/08/21
        - updated www documentation for upcoming release
        - applied Nicolas Vivien's phone duplication patch (opensync 0.4x)
        - fixed missing conflict check in vcard code in opensync 0.4x plugin
        - backported new TYPE parsing code from opensync-0.4x plugin to
                old opensync 0.22 plugin
        - added X-EVOLUTION-UI-SLOT support in both sync plugins to retain
                phone number order
2009/08/17
        - added pin and password command line support to bfuse
        - updated bfuse man page
2009/07/29
        - added border to barrybackup doc images
2009/07/28
        - updated license and URL in barry.spec
        - updated barrybackup Credits dialog to reference AUTHORS file
        - updated barrybackup.1 man page
        - updated doc/www scripts to generate more dynamic pages,
                so subheaders are not hard coded... this helps support
                updating the new NetDirect website
        - commented out out-of-date docs in hacking.php
        - marked milestone 4 complete (javaloader)
        - linked device compatibility list from index.php
2009/07/10
        - changed pppob to report if Serial was fallback or command line
        - started device compatibility list in web docs
2009/07/07
        - applied Ryan Li's GUI enhancement patches, which let the user
                switch devices without restarting, with fixes:
                - reorganized BackupWindow.glade for better spacing
                        - fixed width issue (main window was set to 275
                          width, which made things too narrow on Debian
                          Lenny
                        - moved buttons beside the drop down box, to
                          mimic old GUI behaviour
                        - added space around the middle controls, but
                          not around the menu bar or status bar, which
                          should be right against the outer window.
                - renamed m_device_num to m_device_count for clarity
                - changed m_device_count to unsigned int to fix compiler
                  warnings
                - removed gtkmm call to unset_model()
                  The function unset_model() is only available in gtkmm
                  2.16, and Debian Lenny only has 2.12, and won't compile.
                  Since set_model() automatically does the unset for us,
                  just reorganize the calls so Lenny is supported.
2009/07/06
        - applied Ryan Li's SMS clarification patch
2009/07/02
        - added Martin Owens' new Ubuntu PPA link to docs
        - added DEPUTY documentation and updated AUTHORS
2009/06/30
        - documentation updates
                - added SMS to list of parsers in documentation
                - updated sync notes for Fedora 9 and 10 in documentation
                - removed Martin Owens' PPA binary package link, since
                        I can't find the binaries anymore
        - reverted commit 2d0e60d1: put hal fdi files back
        - updated HAL FDI files for Fedora 11
                - duplicated directory hierarchy under hal
                - added 19-blackberry-acl.fdi to add the access_control
                        capability to blackberry devices when they are
                        plugged in.  As long as this file is under
                        the 10osvendor directory, then
                        20-acl-management.fdi runs after it, adding
                        the hal-acl-tool callout, which does the low
                        level getfacl/setfacl work on the /dev/bus/usb/*/*
                        device file.
                related thread:
        http://lists.freedesktop.org/archives/devkit-devel/2009-June/000247.html
        - changed hal fdi policy to use "pda" instead of "scanner"
        - applied Ryan Li's 7-bit GSM conversion patch for SMS records
        - applied Ryan Li's barrybackup patch: can now select backup path
2009/06/26
        - fixed install location of hal fdi files in debian and rpm
                HAL reserves /usr/share/hal/fdi/information/10freedesktop
                for files that the project itself distributes, so
                we get to use 20thirdparty.
2009/06/24
        - cleaning up autoconf warnings on Fedora 11
        - changed buildgen.sh to run libtoolize first for all subprojects,
                otherwise, a later project's run may copy files into ../m4
                after having created configure for a previous project.
                This would cause a makefile discrepency during the build
                on some systems (Fedora 11), and cause configure to be
                incorrectly regenerated mid-build, due to timestamps.
2009/06/21
        - updated dependencies documentation page
2009/06/20
        - added BadPacket exception, for socket errors that need to meddle
                with the response code
        - added special case for JavaLoader's Goodbye packet
                On older devices, such as the 7750 and 7130, they respond
                with a NOT_SUPPORTED error instead of an ACK, for Goodbye
                packet commands.  This is seen in Windows traffic as well,
                so should not be considered an error.  Thanks to Josh Kropf
                for confirming this protocol behaviour.
        - updated socket.cc to use new BadPacket exception where appropriate
        - pulled from Josh Kropf: 0f1cca2fa69d0810d439ade4fb3dd0dfa15c89a6
                - fixed size issue with deviceinfo command on 7130 devices
2009/06/19
        - reworked autoconf rules to handle every kind of Boost dependency:
                - let user enable/disable from configure, default to
                        disable, but error if enabled and not available
                - let user specify separate include and lib paths, since
                        some Boost installations have an additional
                        boost-1.34.1 style directory in them
                        - default to no path overrides, using system defaults
                - let user specify name of serialization library, since
                        the name of the library can change whether you're
                        building from source or not
                        - default to searching for boost_serialization or
                                boost_serialization-mt, and error if not found
                - New configure switches are:
                  --enable-boost                   Handles enable/disable
                  --with-boost-include=path        Override the include path
                  --with-boost-lib=path            Override the lib path
                  --with-boost-serialization=name  Override the name of
                                                   serialization library
                                                   to link with
        - updated documentation, build test, and binary packages to use
                new switches
2009/06/18
        - added non-backward-compatibility note to man/btool.1
        - applied Nicolas Vivien's LDIF patches, clarifying split
                between work and home addresses, and adding support
                for the homePostalAddress LDAP field
        - fixed missing #includes for Fedora 11.  Thanks to
                Nathanael Noblet for reporting this.
        - applied Ryan Li's PPP chat script for China Mobile
        - added barry-chinamobile chat script to RPM and Debian packages
        - renamed blacklist-berry_charge to blacklist-berry_charge.conf
                for Debian sid and Fedora 11.  Thanks to Rodrigo Linfati
                for reporting.
        - applied Nicolas Vivien's autoconf patch to automatically
                search for boost_serialization or boost_serialization-mt
2009/05/12
        - applied Dr. J A Gow's category patches (task + memo)
                - fixed compile error when using Boost
                - cleaned up Categories handling:
                        - s11n-boost.h
                        - Dump() should be consistent across Calendar, Memo, 
Task
                        - fixed i18n support to category names
                - cleaned up code formatting to match surrounding code
        - moved CategoryList to its own class, and removed duplicated
                string conversion code
        - removed protocol-specific MemoType and TaskType fields from
                their corresponding record classes
2009/05/09
        - applied Nicolas Vivien's Task builder patch for the Storm
                and Bookmark documentation patch
2009/05/08
        - applied most of Dr. J A Gow's recurring iCal sync patch
                - did not include the pure upper case changes, since
                  it is an RFC bug in SynCE
                  see 
http://www.mail-archive.com/barry-devel@lists.sourceforge.net/msg01109.html
                - added starttime to RecurToBarryCal() args, to make the
                  prerequisites clear (StartTime must be determined before
                  recurrence is parsed)
                - added check that COUNT is not zero (RFC requirement)
                - fixed timezone drift: using gmtime() + mktime() uses two
                  different timezones... use localtime() + mktime()  instead
                - comment resizing
                - reformatted if/else FREQ tests into a more readable
                  sequence, and fixed a logic error in the yearly count
                  advance, which should only happen when FREQ == YEARLY
        - updated AUTHORS
2009/05/06
        - going through www documentation, updating for 0.15
        - updated man/btool.1 with new -a option
        - updated TODO list with new reality
        - applied Nicolas Vivien's phone call log parser patches
                - added CallLog to s11n-boost.h
                - added size checks to parser
                - removed CallLogType, since it is protocol specific
                - added and tidied comments
                - made CallLog::Clear() match the class declaration order,
                  fixed missing member, and used enum names to set
                  enum defaults
2009/05/05
        - applied Nicolas Vivien's task sync patches, with btool updates
                - fixed "VTOTO" typo
                - now that there's a Desktop::ClearDatabase() call,
                  use it in SaveDatabase() to reduce code duplication
                - use separate vector<> clearDbNames in btool
                  to eliminate chance of mixing -d and -a argument
                  types and losing data
                - reverted VNOTE change in vformat.c
                - added VFORMAT_JOURNAL support to vformat.c based on
                  r2795 of the opensync vformat plugin
        - fixed some TimeZoneValid flag mistakes in Task and Calendar
        - display DueDateFlag in src/r_task.cc
        - changed vtodo.cc so DTSTART is only set if available in BB data
2009/05/01
        - applied Nicolas Vivien's zsh patch
        - applied Nicolas Vivien's memo sync patch
                - added MEMO_TYPE 'm' to built memo record
        - updated btool to include new Memo builder
        - updated config.rpath to latest from Debian stable
2009/04/27
        - removed free() in tarfile.cc, since some distros have bugs in
                th_get_pathname() that doesn't return a freeable string
2009/04/22
        - fixed some missing headers as reported by Christopher Stover
        - applied Ryan Li's SMS body null terminator strip patch
                - fixed code formatting issues
                - added comment on why we're stripping out nulls
                - fixed potential single byte buffer overflow
        - pulled from Josh Kropf: 8266c95a94
                added "reset to factory" command to bjavaloader
        - split creation of deb src tarballs into separate script
                instead of tar-create.sh
        - added more statements for the m4/ directory in configure.ac
                and Makefile.am, attempting to eliminate build warnings
                on FC10, as reported by Christopher Stover
2009/04/14
        - applied Nicolas Vivien's sscanf patch (opensync-0.4x)
        - wrapped OSyncList in vSmartPtr<> to automatically handle
                all calls to new osync_list_free() API
        - applied Ryan Li's updated SMS parser patch
                - moved SMS metadata structure into its own struct
                        in protostructs.h
                - fixed some endian conversion errors
                - added strnlen() call to avoid null terminators in
                        the Addresses strings
2009/04/10
        - added brimtrans to rpm spec file and debian install
2009/04/09
        - fixed OSyncList* leak in 0.4x plugin from call to
                osync_plugin_info_get_objtype_sinks()
2009/04/08
        - added IConvHandle, making it possible to support more than one
                charset in Blackberry data
        - removed patches from opensync-plugin-0.4x 'make dist' target
        - updated buildtest.sh for opensync 0.4x
2009/04/06
        - updated man/bjavaloader.1
2009/04/04
        - added Product ID 8001 for the Pearl Flip.  Thanks to John Ladan
                for reporting the new ID.
2009/04/03
        - removed 0.22 opensync patches from 0.4x tree
        - applied opensync Photo support patches from Nicolas Vivien
        - renamed SequencePacket() to HideSequencePacket() for clarity
                This is a temporary measure... this sequence packet
                code needs to be cleaned up.
        - added Photo support to examples/addcontact.cc
        - removed try/catch from vcard/vevent, pending feedback from Nicolas
        - applied Ryan Li's SMS record parsing patch
                - changed capitalization to match other code
                - added Sms to s11n-boost.h and required operator
                - added Sms to btool.cc, record.h, and Makefile.am
                - added size checks to the parser code
                - cleaned up brackets and casting
                - made dump output prettier (at least to me) :-)
                - added "unknown" state for MessageStatus, as default
                - cleaned up whitespace
        - updated AUTHORS
        - added endpoint override to Probe class while testing the 7130
                When using btool's -e option, the Probe class still
                attempted to probe endpoints as it saw fit.
2009/04/02
        - fixed double-free bug in opensync 0.4x plugin
                Can only report error or success once in a change.
        - updated buildgen.sh to handle ctags for multiple opensyncs
        - fixed inverted logic when doing a hashtable slowsync (opensync 0.4x)
        - fixed uninitialized osync_trace args in both vformat.c files
2009/04/01
        - opensync 0.4x changes due to upstream API updates
                - removed idmap and cache code, in favour of opensync's
                        uid mapping and hashtables respectively
2009/03/31
        - opensync 0.4x changes due to upstream API updates
                - removed deprecated opensync header
                - updated 0.4x plugin to use new slow-sync API
                - updated 0.4x plugin to use new function registration and
                        user data API
                - updated 0.4x plugin to use new sink list (API change)
2009/03/27
        - changed PIN format from decimal to hex in opensync-0.4x plugin
                config
        - added special case so photo data does not print raw in btool dumps
        - fixed call to trace.logf() in plugin code... should never call
                a printf-like function unless you use a constant "%s"
        - made opensync-0.4x:vformat.c's base64 routines const-correct
        - fixed free()-crash bug in both vformat.c files
                When generating the resulting VCARD data, vformat.c assigned
                static strings to a dynamic heap list pointer, and the
                later free always failed.
        - merged some changes from Jose Sogo's Debian package work
                - menu changes to conform with policy
                - renamed opensync plugin package name to match Debian
        - added Nicolas Vivien and Josh Kropf to debian/copyright
        - fixed uninitialized variable in SocketZero
        - fixed memory leak in tarfile.cc
        - fixed uninitialized time struct in bjavaloader.cc (valgrind error)
2009/03/24
        - fixed typo in zsh/_bjavaloader thanks to feedback from Nicolas V.
        - pulled from Josh Kropf: 75b1a89e8b1eb9d89bcd8b5ecbed9a47af5a8930
                added logstacktraces support to bjavaloader
        - updated TODO list with "- All" database parsing
2009/03/13
        - added git tag signing to maintainer scripts
        - added signed tagging to release checklist doc
2009/03/11
        - updated opensync-plugin-0.4x/README with build help
2009/03/10
        - pulled from Josh Kropf: d6c3173ccd87c6223647950963da79331a68d712
                added deviceinfo support to bjavaloader
        - pulled from Josh Kropf: 272f371e8bb95b6c41a8293de657da45a782736f
                new tool: brimtrans for dealing with RIM USB logs
        - pulled from Josh Kropf: 7ed1df560ea7cc6a2205d8f8627c00c7aaed2294
                added wipe support to bjavaloader
        - added confirmation step to bjavaloader wipe, so it is harder to
                accidentally wipe your device
        - applied zsh patch from Nicolas Vivien for bjavaloader wipe
2009/03
        - changes inspired from Rick Scott's XmBlackberry
                - event log timestamp is a time_t in milliseconds
2009/03/07
        - added Mode base class for common mode class code
2009/03/06
        - reorganized external links by date and topic, and added link
                to Nicolas Vivien's Blackberry on Linux documentation
2009/03/05
        - pulled from Josh Kropf: b3d3a6f48fe008e8842c057df4a653a04b9c56ce
                - compile fix when using __DEBUG_MODE__
                - fixed timeout when calling JavaLoader::GetDir on device
                        with zero modules
2009/03/04
        - fixed embarrassing incorrect exception messages in usbwrap.cc
                Fortunately, these didn't affect my timeout testing.
        - added Data::QuickZap(), so that usb read errors don't
                return old data
        - inlined Data::QuickZap()
        - added usb_set_altinterface() call to Interface class
                This should hopefully workaround the change in 2.6.28
                kernels where set_interface is not called by the kernel
                automatically anymore.
2009/03/03
        - applied Nicolas Vivien's opensync-0.4x API patch
2009/02/28
        - applied Nicolas Vivien's zsh patches
2009/02/26
        - added opensync-0.4x to tar-prepare.sh maintainer script
2009/02/24
        - added note about novj option issue in barry-att_cingular
        - added gettext to documentation dependency list (for iconv.m4)
2009/02/20
        - clarified bjavaloader save behaviour
        - updated bjavaloader man page
        - added maintainer/build as exception for test/buildtest.sh
        - merge opensync-0.4x branch into master:
                2009/02/20
                        - removed nested m4 in preparation for merge into
                          main Barry tree
                2009/02/18
                        - applied Nicolas Vivien's opensync-0.4x
                          Calendar+Contact patch
                2009/02/01
                        - applied Nicolas Vivien's opensync-0.4x
                          porting update patch
        - removed unneeded ChangeLog.osync
        - added opensync-plugin-0.4x to top level configure, but not to
                binary packages
        - added old emails from Ron Gage from 2006 regarding Autotext
                and Service Book parsing
2009/02/19
        - pulled from Josh Kropf: 9b63a99867b3314b8d42212cac05a6f28860d37b
                - saving large modules in pkzip format
                - cleaned up StartStream function; use JLPacket instance
                - refactored SendStream; use JLPacket instance and use simple
                        function for seeking to next cod file in input stream
        - made following changes to Josh Kropf's patches
                - Added CODFILE_TYPE_SIMPLE check back in
                - Minor change of c_str() to data() where a null terminator
                        is not needed
                - Fixed unlikely buffer overflow in m_javaloader.cc
                        Goal: never trust outside sources of
                        information (including that from the device) when
                        managing our own buffers.
                - Removed CodFile forward declaration, since class does not
                        exist anymore
                - Fixed typo in configure.ac, and made missing zlib warning
                        more emphatic
                - Added clarifying comment to CodFileBuilder
                - Fixed potential reference bug in CodFileBuilder constructor
                        It is possible that the const std::string& passed
                        into the constructor is a temporary, so make a copy
                        of it instead of just holding a reference.
                - Removed multi-unget call in cod.cc -- only one unget() is
                        guaranteed in C++.  It appears that the unget is
                        unnecessary, since the following code seeks to end
                        and back to beginning anyway.
                - Added copyright line for Josh Kropf in cod.cc and
                        cod-internal.h
                - Fixed incorrect zlib check, since zlib doesn't support
                        pkg-config on most systems yet.  Changed it to
                        use AC_CHECK_LIB, and added a --with-zlib configure
                        option which will cause configure to halt if
                        zlib is not available.  Added --with-zlib to
                        binary package builds, and to build test script.
        - added zlib to rpm and deb build requirements list
2009/02/18
        - updated USB capture logs archive page with new logs from Josh Kropf
        - applied as patch Josh Kropf's annotated javaloader-reset.txt log
        - added note about windows registry keys to USB-capture.txt
2009/02/17
        - applied Josh Kropf's patch adding support for forced erase and
                load while module in use, properly handling when the
                device requests a reset
2009/02/15
        - applied Nicolas Vivien's RecordId patch for Contact class...
                this updates Barry to deal with the new record ID behaviour
                on the Storm
2009/02/13
        - removed unneeded call to .c_str() in EmailAddress stream operator
        - added support for Calendar fields: Organizer, Accepted, Invited
        - reorganized the udev/ script directory, based on distro,
                and added a specific rules file for openSUSE 11.1
        - updated Debian and RPM binary scripts to point to correct udev files
2009/02/07
        - applied Nicolas Vivien's patch to fix the timeout issue on the
                Blackberry Storm
2009/02/04
        - applied Josh Kropf's save module patch
                - minor whitespace fixes
                - removed unneeded exception (fstream closes files
                  automatically on exit of scope, or exception)
                - fixed compile error with variable sized array...
                  replaced with std::vector<> instead of memcpy,
                  in JavaLoader::SaveData()
                - commented out an unused variable
2009/02/03
        - commented out AT+CREG? in barry-rogers.chat, since it causes some
                Blackberry devices to reboot
        - applied Josh Kropf's eventlog and clear eventlog patches
                - capitalized JLEventlogEntry fields, to match other
                  record classes
                - use constant when parsing entry
                - renamed a define
        - sweeping cleanup of record classes and clarified all constant
                conversions i.e. whenever converting between a protocol
                constant and an API constant, do it through a function,
                in case the constants change on the Blackberry side
2009/01/31
        - applied patch of binary VSM file from Robert Yaklin
2009/01/30
        - moved Nicolas Vivien's codfile code into library class API
                - this change avoids having packed structs exposed in
                  installable header files, and gives the library
                  user an easy way to work with COD files
                - added CodFile class
                - added JavaLoader::LoadApp(CodFile&)
                - cleaned up bjavaloader to use new API
                - moved codfile_*_t structs to internal header
                - also fixed command line status output when exceptions
                  are caught (unrelated fix)
        - added / updated manpages: bfuse, bjavaloader, btool
        - added fuse to build dependencies for rpm and deb packages
        - updated web docs, adding libfuse to dependencies page
                - added libiconv as well
2009/01/29
        - applied screenshot and zsh patch from Nicolas Vivien
          His git log, as posted to the mailing list, was:
                Remove bscreenshot binary
                Add screenshot option to bjavaloader binary
                Add comments in the code
                Use defines beside of integer constant
                Use b2hons to be compliant with evrywhat host
                ZSH scripts completion
                Use BMP structs beside of unreadable buffer !
          His changelog notes:
                - add command GetScreenShot to JLPacket class
                - add JLScreenInfo to protocol structures
        - updated AUTHORS
        - minor tweaks to Nicolas's screenshot+zsh patch:
                - renamed DIR_ENTRY and SS_ENTRY to DATA_ENTRY constant
                  as suggested by comments
                - fixed some packet size checks
                - whitespace fixes
                - removed unneeded packet.GetReceive(), since response
                  buffer is the same as what GetReceive() returns
                - used AutoClose for fopen() calls in bjavaloader.cc
                  for exception safety
                - removed manual buffer handling in favour of Data object
                  in JavaLoader::GetScreenshot()
        - removed "unknown packet" exception from Socket::PacketData()
                I think it is probably better to handle javaloader-level
                errors and codes in the JavaLoader class, not the low-
                level Socket class.
        - added erase and force erase support to bjavaloader, library, and zsh
                - force erase is experimental
        - applied documentation patch from Robert Yaklin on VSM file format
                - did slight formatting changes before applying, for 80
                  columns, and set file to unix format instead of DOS
        - added links to new USB capture logs from Robert Yaklin to
                logs.php doc page
        - cleaned up src/Makefile.am, regarding non-install headers
        - moved Nicolas Vivien's bitmap conversion code into library API
                - added bmp.h api, and moved internal structs to bmp-internal.h
                - added size checks and endian conversion to bitmap
                  conversion code, so this code should run anywhere
2009/01/27
        - added link Josh Kropf's 'Blackberry development in linux' blog
                post to doc/www/index.php
        - added USB capture log archive page to www docs
        - added config.rpath, needed by new AM_ICONV check
                Thanks to Bill Paul for debugging this.
        - applied Nicolas Vivien's opensync plugin 0.4x patch
2009/01/26
        - added template wrapper for iconv() due to casting differences on
                various platforms... thanks to Bill Paul for FreeBSD testing
        - added AM_ICONV automake/autoconf check to configure.ac
                This should take care of checking for libc or library
                iconv installs, and checking the iconv() prototype for whether
                const is needed or not.  This removes the need for the
                template added earlier.
2009/01/25
        - applied patch from Josh Kropf making bjavaloader's syntax more
                compatible with the windows version, to make cross
                platform build scripts possible
        - applied Josh Kropf's settime syntax patch
        - clarified timezone behaviour in javaloader settime
        - added flag to JavaLoader mode class, so StopStream() is called
                automatically in the destructor if not called manually
2009/01/24
        - added another ctor to BadSize exception class
        - fixed bug in SocketZero where it checked sequence on packets
                from non-zero sockets
        - javaloader list mode updates:
                - added Dump() code to directory classes
                - fixed size issue with JLDirEntry header size define
                - fixed size checks in entry parser
                - fixed copy before in JLDirectory, now uses vector
                - moved bjavaloader's Start/StopStream calls to main()
2009/01/23
        - removed default argument to CheckSize() so all code specifies
                the size it really needs
        - fixed bug in ParseData() that didn't copy data to receive arg
        - adding additional javaloader commands and refactoring
                this is a work in progress:
                - added JLPacket class, encapsulating javaloader protocol
                - added new defines for more JL commands
                - refactored socket class, using PacketData()
                        for JL, and Packet() for Desktop (still needs
                        some work to be really clean)
                - began implementing new commands (SetTime())
                - thanks to Rick Scott for his reverse engineering effort
                        in XmBlackBerry, which inspired this code
        - refactored packet.cc to make JLPacket even tighter
        - updated doc/USB-capture.txt with link to vusb-analyzer
                Thanks to Martin Owens for the link.
        - added a set of be_*() endian swap functions, for big endian data
                JavaLoader code seems to use big endian a lot.
        - simplified bjavaloader.cc's command line args to make room for more
        - cleaned up big endian code to use new be_* swap macros
        - added protocol and packet code for directory / subdir commands
        - added preliminary directory support to JavaLoader class
2009/01/22
        - reverted experimental handshaking in IpModem, since the session_key
                patch fixed Bill Paul's issue
        - finished adding IConverter support to r_task and r_timezone
        - removed r_message_base.h from doxygen RecordParserClasses group
        - removed unused ClassType variable from Task record class
        - refactored Calendar and Task record classes, creating new
                RecurBase to handle recurrence data
        - removed FIXME in Socket::Packet(), since socket is set in Send()
        - cleaned up socket handling and comments in packet.cc
2009/01/20
        - applied Nicolas Vivien's javaloader patch, fixing constant defines
                and other small fixes
        - minor whitespace and spelling fixes to above patch
        - changed m_ipmodem.cc to send the session key even without password
                which should help reduce the "special packets" coming from
                the device.
                Thanks to Rick Scott and Andy Herkey.
2009/01/17
        - refactored pthread timeout creation into ThreadTimeout() function
        - added experimental handshaking to IpModem.  This is in response
                to Bill Paul's email regarding what he was seeing in the
                logs with the special code packets which we dropped
                on the floor.  This code is to test whether this handshaking
                theory is true.
2009/01/16
        - made maintainer script make-deb-local.sh more robust
        - added list of target binary packages in ReleaseChecklist.txt
        - changed to more general Fedora link to Chris Stover's packages
2009/01/15
        - applied Andy Herkey's ipmodem password patch for the Bold
        - minor fixes to above patch, and in addition to above patch:
                - use sizeof(seed), instead of type, in case of future changes
                - removed commented out code
                - added the null password check back to SendPassword(),
                  for historical reasons
                - removed the null and zero default arguments to
                  SendPassword(), since they make no sense
                - added define for session key size, and added size check
        - added missing string.h header to src/m_javaloader.cc
        - updated Debian and RPM packages to include bjavaloader
2009/01/14
        - applied Nicolas Vivien's bjavaloader patch
        - small fixups to above patch:
                - moved cod.h from installable headers to internal headers
                - whitespace edits
                - copyright statement tweaks
                - added blog URLs to copyright list in cod.h where parts
                        of the structs appear to come from
                - removed unused variables to compile with strict settings
                - changed char to unsigned char to fix strict compiler
                        warnings
                - removed duplicated a/b from Socket messages, and moved
                        read/write text to front, in socket.cc
                - added NetDirect copyright notice to bjavaloader.cc, since
                        it is based on btool.cc
                - removed unused boost-specific code from bjavaloader.cc
        - more fixes to above patch: (bjavaloader.cc specifically)
                - moved cod.h back to installable headers, since tools/
                        programs depend on it... this should be fixed
                        or put in the library as a COD-reading API
                        so that applications don't need to worry about
                        packed files, etc.
                - fixed potential buffer overflow: removed buffer read used
                        to skip ahead in file, and replaced with fseek()
                - changed SendAppFile() to report errors by exception
                        instead of by return value, which wasn't checked
                        anyway... and C++'d the file handle closing
                - removed unused StateTableCommand, leftover from btool
                - added check for unlikely case of COD file being larger
                        than size_t, breaking the fread() assumption
                        for the type == 0xC0DE case
                - added checks for fread() failures
                - fixed compiler warnings when comparing signed/unsigned,
                        and changed file operation types from plain int
                        to size_t/off_t
        - changes to src/m_javaloader.cc:
                - fixed comments to remove Desktop-oriented notes
                - moved variables closer to their use point
                - removed the duplicated response Data objects in favour
                        of just one (each default Data object uses 0x4000
                        bytes of heap)
                - removed manual endian swap in favour of htobl()
                        - oops... this size field is actually big endian.
                          Since all Barry code assumes that Blackberry
                          protocol traffic is little endian, a special
                          case needs to be added in m_javaloader.cc for
                          this field.  The special case uses autoconf's
                          endian define.
                        - fixed long long problem in endian.h (ISO C++
                          compilers don't support long long) and made
                          the bswap() functions always available
                - removed unused CommandType and m_commandTable members
                - fixed exception error messages to indicate command #
                        instead of Desktop message
                - changed Packet() call to PacketData() when sending
                        file size, since there is no command
        - added eout() data dump to socket::Packet() unknown send error
        - fixed my incorrect off_t/size_t check in bjavaloader.cc
        - removed the '0' JL_UNKNOWN4 command from src/protocol.h,
                since the PacketData() change above now handles that,
                and I don't think that byte is actually a command, but
                really part of the uint32_t size
                - Also fixed one remaining 0 command, to use PacketData()
2009/01/09
        - added AT+CLAC note to contrib/modemtest.rb, recording tidbit
                from mailing list
        - updated copyright dates for 2009
2008/12/11
        - fixed missing slash in config sample in doc/www/sync.php
                Thanks to sourceforge tracker #2413683 for reporting
2008/12/01
        - added more notes to doc/USB-capture.txt, documenting my kernel
                setup for capturing USB traffic, and added size-limiting
                kernel patch
        - added TODO list item for the Blackberry Storm
2008/11/30
        - moved Product ID constants into a single place (src/common.h)
                and updated bcharge
        - added Product ID 8007 for the Blackberry Storm... needs testing
2008/11/27
        - applied ppp chat script patch for AT&T Cingular from
                Richard Esplin
        - added new chat scripts to debian and rpm packages
        - added known sources of additional Barry binary packages to index.php
        - turned on call/caller graph support in Doxygen output
2008/11/23
        - applied 'patch' of Martin Owens' Content Store documentation
        - updated AUTHORS
2008/11/22
        - large refactoring of all message/email record classes, and more
                There is now a MessageBase base class, which combines
                common email record parsing code in one class.  This base
                class is reused by all the specific messages record classes.
                This commit also includes support for multiple email
                addresses per email, as well as giving IConverter support
                to all message classes.
        - deleted empty *.cc files from project
        - updated TODO file, removing opensync i18n bug
        - added TODO item for password support in Opensync... try to avoid
                storing the password in the sync config in plain text
        - fixed dll export bug on ErrnoError exception class
        - added BadPackedFormat exception for internal use
        - ServiceBook: added IConverter support, and general cleanup
                Refactored ServiceBook class and added some experimental
                template functions to generalize the FieldLink table
                processing.  If possible, this needs to be expanded
                to the general record classes, to reduce the amount of
                code duplication during processing of FieldLinks and
                CommonField structures.
                Also, ServiceBook deals with packed fields, which should
                also be extrapolated for general use, and reused if
                possible for the new "Calendar - All" Blackberry databases
                that are coming out on the new devices and firmare.
2008/11/21
        - updated man/btool.1 with new -i option
        - fixed bug where opensync plugin didn't pass IConverter to Desktop
        - added IConverter support to r_calendar.cc
        - renamed utf8Needed to iconvNeeded, for consistency
        - added IConverter support to r_folder.cc
        - added IConverter support to r_memo.cc
        - added IConverter support to r_message.cc
        - added EmailAddressList, in preparation for multi-address email
2008/11/20
        - changed Parser base class to pure abstract... this is so that
                future API changes to the Parse base class will be
                detected by the compiler as errors
        - added NullParser class, which performs the old Parser function
        - changed all FieldLink arrays to static
        - added new IConverter class to support converting the Blackberry's
                WINDOWS-1252 charset to/from UTF-8 and more
        - fixed bug in IConverter that saved end of string instead of
                beginning
        - reorganized barry.h app header and record.h header, so that
                internal builds have fewer dependencies
        - large parser/builder API change, adding IConverter support
                This change starts at the top (Mode::Desktop) which
                takes an optional IConverter object for parsing and
                building conversions.  The Desktop class passes
                this IConverter object to Packet, Parser, and Builder (and
                thereby, the corresponding Record classes) as needed.
                This adds an extra pointer to a fair number of calls
                in the stack, but maintains flexibility without putting
                too much of a burden on Parser writers, which could be
                application writers.
                The primary use of this architecture is to pass in an
                IConverter configured to convert to UTF-8... this is
                basically the only useful conversion method, but others
                are possible if you want to play.
        - first record class to support string conversions: Contact
        - reverted the barry.h and record.h reorganization, since
                the gui depends on it
        - reorganized barry.h and record.h again, making inclusion of
                the record headers dependent on whether it is a library
                build or not
        - updated the gui with the parser/builder API change
        - added IConverter to opensync plugin, set to UTF-8
2008/11/13
        - added comment to src/r_contact.h deprecating the Phone field
        - updated Doxyfile to 1.5.1
        - added Christopher D. Stover to AUTHORS file as Fedora contact
2008/11/03
        - forgot #include <string.h> for memcpy/memset in tools/bfuse.cc
        - moved bfuse install point from /usr/sbin to /usr/bin
2008/11/01
        - added FUSE filesystem "driver"
2008/10/31
        - commented out the info.subsystem match level in HAL FDI file...
                this should let the FDI work on old and new systems.
                HAL version 0.5.8 (used by Debian Etch) has the deprecated
                info.bus property, and doesn't have info.subsystem yet.
        - added HAL FDI scripts to rpm/barry.spec
        - fixed tools/Makefile.plain
2008/10/30
        - added support for multiple work/home phone numbers to the
                opensync plugin.
                - Thanks to Richard Esplin for his test data.
                - This fix has a conflict when a cell phone number is
                        marked as the preferred contact as well.
                        See 
http://sourceforge.net/mailarchive/message.php?msg_name=20081030231045.GA28989%40foursquare.net
                        for the full details.
                - This fix also changes the VCARD output... pager phone
                        numbers are given the TYPE code of "pager"
                        instead of "msg".
                - Added OtherPhone field as well
2008/10/22
        - applied HAL FDI scripts and configuration from Martin Owens
        - updated AUTHORS file
        - added HAL FDI and python script to Debian package install
2008/10/18
        - updated copyright notice and help text in contrib/modemtest.rb
        - changed barry-verizon.chat script according to Andy Herkey's
                recommendation... this worked much better for Michael L.
                Stokes, since his provider was getting stuck on the ATZ
2008/10/16
        - applied Andy Herkey's modemtest.rb ruby script to contrib/
                from his Aug 9, 2008 email to the mailing list
        - applied Andy Herkey's new modemtest.rb script to contrib/
                from his Oct 8, 2008 email to the mailing list
        - added password pass-through code for pppob -s mode
        - clarified front page www doc, adding date of last release
                and license
        - cherry-picked changes from Jose Carlos Garcia Sogo's debian git repo
                - debian/rules was stripping wrong library names
                - FSF address was incorrect (also updated other source
                        files throughout the tree myself)
                - more complete debian/copyright file
2008/09/24
        - version bump:
                - configure.ac
                - src/Makefile.am
                - src/version.cc
                - gui/src/BackupWindow.cc
                - Doxyfile
                - rpm/barry.spec
                - debian/changelog
                - opensync-plugin/src/barry_sync.cc
        - added link to doxygen documentation to www index.php


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to