- changed headers so that any low level protocol-specific sizes and
[barry.git] / Changelog
blob7ae5008a2e2b66def1ad6defd19f8a7efacb791f
1 Release: version 0.0.1 - 2005/11/25
2 ------------------------------------------------------------------------------
3 2005/11/25
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
9 2005/11/24
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
16 2005/11/20
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
23 2005/11/19
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
44         - cleaned up comments
45         - renamed blackberry.{h,cc} to controller.{h,cc}
46         - renamed bbtool.cc to btool.cc
47         - added Makefile.conf
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
51                 store object pointers
52         - added doxygen docs
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
57                 a public API function
58         - moved Controller test code to btool.cc and made tool more
59                 generically useful... can now download any DB by name on
60                 the command line
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
65                 file based
66 2005/11/18
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
80                 destructors
81 2005/11/17
82         - added Doxyfile to the project
83         - tuned Makefile
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
87                 data transfers.
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
99                 data
100         - removed hardcoded socket numbers from protocol.h
101         - fixed bug in socket.cc:Open() where packet size was not properly
102                 saved
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
107 2005/11/11
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
114                 -l = list only
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
118                 results
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:
138                 MAKE_PACKET()
139                 COMMAND()
140                 IS_COMMAND()
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
145 2005/10/20
146         - syncberry tree started