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