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