1 Release: version 0.0.1 - 2005/??/??
2 ------------------------------------------------------------------------------
4 - added conversion routines (and tests) between time_t and min1900_t
5 - added -v option to btool to dynamically control protocol dumping
6 - removed duplicated database database table display in controller.cc
7 - minor spelling corrections
8 - added copyright to usbwrap.{h,cc} as per earlier meeting
9 - added support for Old protocol Calendar entries
11 - added legal.txt, to save typing when adding new source files
12 - ignore test-base64 file (cvsignore)
13 - added contact-to-ldif generation, and updated supporting code
14 - added argument to btool to support contact-to-ldif operation
15 - added Contact::GetPostalAddress()
16 - added README documentation in preparation for future release
18 - added parser.{h,cc} virtual wrapper to generalize LoadDatabase()
19 - added code to socket.cc's Packet() command to re-receive on
20 reception of empty packets... this seems to be a signal
21 from the device that it needs more time for long transfers
22 Current limit: 10 blank packets before exception is thrown
23 Observed maximum blank count: 1
24 - added MessageRecord and OldMessageRecord to protocol.h
25 - changed common record field structs to one CommonField struct
26 - increased default USB timeout to 10 seconds (some loaded devices
27 seem to need more time...)
28 - reorganized record.{h,cc} to try to reduce the code duplication
29 - record.h classes now "know" the sizes of their corresponding
30 protocol structs... this may cause trouble down the line
31 with Python, if used(?)
32 - added Message class for Email records
33 - removed the "Get*" database functions and replaced with
34 general LoadDatabase() call, which loads any database
35 available, and parses it with a Parser object
36 - added GetDBID() for searching for database numbers via name
37 - added test code to retrieve and display all email
39 - renamed blackberry.{h,cc} to controller.{h,cc}
40 - renamed bbtool.cc to btool.cc
42 - added copyright notices to source files
43 - added COPYING file with GPL
44 - put parser in Barry namespace, and added auto_ptr-like mode for
47 - added header comments to convo.awk script
48 - removed Test() function in Controller object, and made class
49 better suited to its general API purpose
50 - changed OpenMode() so it loads command table and DBDB... it is now
52 - moved Controller test code to btool.cc and made tool more
53 generically useful... can now download any DB by name on
55 - added mode checks to Controller
56 - added -t and -d command line options to btool
57 - added base64 routines from John Walker / Fourmilab and Citadel/UX
58 - converted base64 routines into an API, instead of hardcoded
61 - changed project name to Barry, including namespaces
62 - renamed sbcommon.* to common.*
63 - increased USB default timeout to 2 seconds
64 - fixed formatting bug in Data operator<< output
65 - cleaned up the protocol packet structs, getting rid of the
66 confusing param/simple split... param is now the tableCmd
67 from the Command Table
68 - moved protocol structs from record.h to protocol.h
69 - added support for older version of the USB protocol, which matches
70 the Cassis spec more closely
71 - fixed the hardcoded offsets in blackberry.cc's protocol parsing
72 - fixed Socket::Close() so on error, socket flags are reset.
73 This stops Close() from being called twice on exception
76 - added Doxyfile to the project
78 - added mode selection support to Blackberry class (RIM Desktop,
79 RIM Bypass, and RIM_JavaLoader)
80 Mode selection governs which socket is used in subsequent
82 - added Command Table parsing and protocol support
83 Blackberry class, and CommandTable record class
84 - added Database database parsing and protocol support
85 Blackberry class and DatabaseDatabase record class
86 - added Address book retrieval support - dumps data to stdout for now
87 - fixed bug in CopyOnWrite mode in Data class, where could allocate
88 less buffer than data copied
89 - added "easy exception" debug output macro
90 - fixed minor spelling error in protocol.cc
91 - fixed ModeSelectCommand protocol structure - it is not a parameter
92 command, but uses the unknown slots for socket and flag
94 - removed hardcoded socket numbers from protocol.h
95 - fixed bug in socket.cc:Open() where packet size was not properly
97 - implemented socket::Close()
98 - fixed sequence number checks, so it is reset properly on socket 0
99 - added Socket::NextRecord() for multiple record data transfers
100 - fixed input handling bug in translate.cc
102 - added .cvsignore files to project
103 - added README notes to document the source architecture
104 - added dbsetup data script, which shows how to get into database
105 mode, using the RIM Desktop mode, and open a socket
106 - added blackberry.{h,cc} class
107 - added command line parameters to bbtool.cc
109 -p = specify pin of blackberry device
110 - added blackberry test code in bbtool.cc - debugging the initial
111 opening protocol: sockets, modes, etc... see dbsetup for
113 - added copy-on-write functionality to Data class, so it can be used
114 with plain data buffers with little performance impact
115 - added eout() and ddout() debugging - to separate:
116 - regular debug output
117 - exception debug output (should probably be logged to
118 syslog someday, and never turned off)
119 - raw data dump output
120 - changed errno SBError exception handler to try to decode the error
121 numbers into english (limited success)
122 - fixed probe and socket USB Bulk message handling, so they don't
123 use PollCompletions(), but use IO::Wait() (libusb_io_wait())
124 - added common packet size checker in protocol.cc
125 - fixed unpacked protocol packet structs... using gcc's
126 __attribute__ ((packed)) ... see protocol.h
127 - added ModeSelectCommand structure (protocol.h)
128 - finished Socket::Open() call (Close() not yet implemented)
129 - moved Socket::Send/Receive() out of private, as they can be used
130 for socket 0 operations.
131 - cleaned up pointer management with macros:
135 - added IO::Wait() and IO::Cancel() to correspond with libusb API
136 - added datadumping in usbwrap for easy protocol capture
137 - added preliminary record.{h,cc} classes
138 - added Contact record parsing, and test code
140 - syncberry tree started