Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 198 lines (144 sloc) 7.46 kB
55a9d4c @algernon NEWS update
authored
1 #+STARTUP: indent showall -*- org -*-
2
57b8a6f @algernon docs: NEWS & README updates.
authored
3 * 0.2.0 - <UNRELEASED>
4
5 This is a major update, that breaks both the API and the ABI, in order
6 to provide an even more convenient way to work with the library.
7
8 The library will also be licensed under the GNU LGPL 3+ from now on,
9 instead of the old Apache License.
10
11 ** Changed API: bson functions are now chainable
12 The BSON API was reworked considerably so that most functions return
13 the same object that they've worked on. This allows one to
14 conveniently chain them together.
15
16 Errors are handled through a new mechanism, see the documentation of
17 the lmc_error family of functions.
18
19 This also means that several functions that used to exist were
20 removed: bson_find(), bson_cursor_find_next(), bson_build() and
21 bson_build_full() are all gone.
22
23 ** Bug fix: bson_cursor_find() only finds exact matches now
24 Due to a silly mistake, bson_cursor_find() (and the other search
25 functions in former versions) behaved strangely, and returned
26 partially matching keys aswell.
27
28 This was corrected, and bson_cursor_find() only allows exact matches
29 now.
30
1d7aa52 @algernon Release 0.1.4.
authored
31 * 0.1.4 - <2011-08-27 Sat>
32
33 This release is a minor update, with neither new functionality, nor
34 any bugfixes, except in the packaging.
35
36 It does come with slightly more documentation, however.
37
bc75da6 @algernon Release v0.1.3.
authored
38 * 0.1.3 - <2011-07-19 Tue>
bc58c00 @algernon sync: Allow background & sparse indexes.
authored
39
2c0735e @algernon NEWS: Updated with GridFS items.
authored
40 ** New feature: GridFS support.
41 This version introduces a set of GridFS APIs, to ease working with
33a992d @algernon NEWS: Fixed a thinko.
authored
42 GridFS, be that retrieving files chunk by chunk, listing and removing
43 files, or offering a file-like streaming API.
2c0735e @algernon NEWS: Updated with GridFS items.
authored
44
7f1ba0e @algernon NEWS update.
authored
45 ** New function: mongo_sync_cmd_create()
46 A new helper function was introduced to aid us in creating capped and
47 pre-allocated collections.
48
1b58547 @algernon sync: New command: mongo_sync_cmd_exists().
authored
49 ** New function: mongo_sync_cmd_exists()
50 Another new helper function to aid in retrieving information about a
51 collection - whether it exists, and if so, with what parameters.
52
915ec90 @algernon mongo-utils: New function: mongo_util_oid_as_string().
authored
53 ** New function: mongo_util_oid_as_string()
54 When one needs to print the value of an ObjectId in human-readable
55 hexadecimal format, this new function is the one to turn to.
56
bc58c00 @algernon sync: Allow background & sparse indexes.
authored
57 ** New index options: background & sparse.
58 It is now possible to create sparse indexes, and create them in the
59 background, using two new option flags: MONGO_INDEX_BACKGROUND and
60 MONGO_INDEX_SPARSE.
61
dcaa69e @algernon Release v0.1.2.
authored
62 * 0.1.2 - <2011-07-01 Fri>
f7ed02d @algernon NEWS: Added a note about the mongo_packet_recv() bugfix.
authored
63
64 ** Bugfix: mongo_packet_recv() waits for all data.
65 Previously, mongo_packet_recv() did not wait for all data to arrive,
66 and returned whatever already arrived at the time of reading.
67
68 This has been corrected, mongo_packet_recv() correctly blocks now.
69
fc77655 @algernon mongo-sync: Support passive secondaries.
authored
70 ** Implemented support for passive secondaries.
71 Support was added for passive secondaries, they're now automatically
72 discovered too.
73
f824c89 @algernon NEWS: Added a short note about the index functions.
authored
74 ** New feature: Index handling functions
75 Implemented some helper functions to create and delete indexes.
76
2d0382f @algernon bson: Add bson_cursor_find().
authored
77 ** New function: bson_cursor_find()
78 Combining the powers of bson_find() and bson_cursor_find_next(), this
79 new function can find a key anywhere in a BSON object, yet, maintains
80 the ability to continue a previous scan.
81
fca30d8 @algernon mongo-client: Implement mongo_connection_set_timeout()
authored
82 ** New function: mongo_connection_set_timeout()
83 On systems that support it (most modern systems should), sets a
84 timeout for send and receive operations. Setting the timeout to zero
85 clears the timeout, and these calls will block forever.
86
87 The timeout is not preserved accross reconnects, if using the Sync
88 API, however.
89
e2e9538 @algernon mongo-sync: Drop OpenSSL dependency, use glib's checksums instead.
authored
90 ** Removed dependency on OpenSSL
91 Instead of using OpenSSL's MD5 functions, use the checksum
92 capabilities of glib 2.16 and newer. This halves the dependencies of
93 the library!
94
b6135c8 @algernon Release v0.1.1.
authored
95 * 0.1.1 - <2011-06-16 Thu>
8846950 @algernon sync-cursor: New cursor-based iterator API.
authored
96
97 ** Cursor-based query iterator API
98 The new cursor-based query iterator API makes it possible to grab the
99 results of a mongo_sync_cmd_query(), and conveniently iterate over the
100 results, hiding the get_more() calls underneath.
101
102 The implementation is clever enough to only query the database when it
103 needs to, and when it does, query in bulk (asking for the same amount
104 of documents that the last query returned).
105
106 Thanks to Federico Rodriguez <fed.rod@gmail.com> for the suggestion.
107
f91579f @algernon NEWS update.
authored
108 ** New function: bson_validate_key()
109 With this new function, one can validate BSON keys: whether they can
110 contain dots (allowed when using dot-notation, forbidden otherwise),
111 or whether they start with a '$' sign.
112
113 It is up to the application developer to decide when to validate a
114 key, and what restrictions make sense in the given context.
115
116 The function does NOT do UTF-8 validation, that is completely left up
117 to the application developer.
118
c17a0f4 @algernon bson: Add bson_cursor_find_next ().
authored
119 ** New function: bson_cursor_find_next()
120 When we know that key G always comes after key A, but we do not care
121 how far apart they may be, and we do not want to use a separate cursor
122 (due to, for example, performance reasons), this new function can
123 help: unlike bson_find(), this will start scanning from the current
124 cursor position.
125
67e8fd8 @algernon NEWS: Added a few words about bson_stream_doc_size().
authored
126 ** New function: bson_stream_doc_size()
127 A little helper function to help determine the size of a BSON document
128 when it's only available as a bytestream. This is mostly for use with
129 bson_new_from_data().
130
61d2dba @algernon NEWS: Added a note about symbol versioning.
authored
131 ** Symbol versioning
132 The symbols of the library can now be versioned, if configured with
133 the --with-versioned-symbols configure flag (not enabled by default).
134
a1833df @algernon Release v0.1.0.
authored
135 * 0.1.0 - <2011-05-25 Wed>
136
137 ** Shared library
138 The configure script now defaults to enabling shared library building
139 by default (along with a static library).
140
141 ** Bug fixes
142 The pkg-config file was setting an incorrect include directory in it's
143 Cflags. This is now fixed.
144
145 ** C++ Compatibility
146 The public headers are now guarded by extern "C" {} wrappers, so that
147 they can be included in C++ projects.
148
149 ** Performance enhancements
150 A minor performance issue was corrected in the BSON code, that had the
151 possibility of forcing unneccessary memory allocations. The library
152 now allocates the proper amount of memory at the soonest time
153 possible, so it doesn't have to grow it later on unnecessarily.
154
155 Anoter performance issue was corrected in the BSON library:
156 bson_find() was comparing key names in BSON objects with the sought
157 for key using strcmp(), which was unacceptably slow when dealing with
158 BSON objects that have a lot of keys. We now use memcmp(), which means
159 we don't have to traverse the sought for key all the time.
160
f4ae2c0 @algernon Preparing for 0.0.2.
authored
161 * 0.0.2 - <2011-05-07 Sat>
2d0a7fd @algernon NEWS: Started adding 0.0.2 items.
authored
162
163 ** Replica set seeding support
164 It is now possible to add seeds to a connection, so that the library
165 can try connecting to those in case automatic discovery fails (or if
166 the seeds are hidden).
167
168 ** Failover redesign
169 Instead of preemptively pinging & checking for a master before each
170 and every command, the library does so only upon errors. This way,
171 when everything's working as expected, there is no extra
172 overhead. Yet, if things go wrong, failover will still work.
173
174 By design, automatic failover only occurs when an error is detected
175 during a write operation. When an error occurs during read, it will be
176 propagated back to the application.
177
178 Automatic failover is disabled by default, and can be turned on via
179 the mongo_sync_conn_set_auto_reconnect() function.
180
181 ** safe-mode support
182 With safe mode enabled, extra care will be taken to ensure that data
183 gets to the server, and that the library does everything within its
184 power to maintain a connection.
185
186 This means that after insert and update operations, the library will
187 issue a getLastError command, and only return successfully if that
188 command did not signal an error.
189
190 Safe-mode also enables the previously default preemptive connection
191 checks (along with the post-mortem failover).
192
193 Safe-mode is off by default.
194
f4ae2c0 @algernon Preparing for 0.0.2.
authored
195 * 0.0.1 - <2011-04-10 Sun>
9a5c674 @algernon Preparing for v0.0.1.
authored
196
197 Initial public release.
Something went wrong with that request. Please try again.