Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 131 lines (96 sloc) 4.974 kB
55a9d4c @algernon NEWS update
authored
1 #+STARTUP: indent showall -*- org -*-
2
f7ed02d @algernon NEWS: Added a note about the mongo_packet_recv() bugfix.
authored
3 * 0.1.2 - <UNRELEASED>
4
5 ** Bugfix: mongo_packet_recv() waits for all data.
6 Previously, mongo_packet_recv() did not wait for all data to arrive,
7 and returned whatever already arrived at the time of reading.
8
9 This has been corrected, mongo_packet_recv() correctly blocks now.
10
fc77655 @algernon mongo-sync: Support passive secondaries.
authored
11 ** Implemented support for passive secondaries.
12 Support was added for passive secondaries, they're now automatically
13 discovered too.
14
f824c89 @algernon NEWS: Added a short note about the index functions.
authored
15 ** New feature: Index handling functions
16 Implemented some helper functions to create and delete indexes.
17
2d0382f @algernon bson: Add bson_cursor_find().
authored
18 ** New function: bson_cursor_find()
19 Combining the powers of bson_find() and bson_cursor_find_next(), this
20 new function can find a key anywhere in a BSON object, yet, maintains
21 the ability to continue a previous scan.
22
e2e9538 @algernon mongo-sync: Drop OpenSSL dependency, use glib's checksums instead.
authored
23 ** Removed dependency on OpenSSL
24 Instead of using OpenSSL's MD5 functions, use the checksum
25 capabilities of glib 2.16 and newer. This halves the dependencies of
26 the library!
27
b6135c8 @algernon Release v0.1.1.
authored
28 * 0.1.1 - <2011-06-16 Thu>
8846950 @algernon sync-cursor: New cursor-based iterator API.
authored
29
30 ** Cursor-based query iterator API
31 The new cursor-based query iterator API makes it possible to grab the
32 results of a mongo_sync_cmd_query(), and conveniently iterate over the
33 results, hiding the get_more() calls underneath.
34
35 The implementation is clever enough to only query the database when it
36 needs to, and when it does, query in bulk (asking for the same amount
37 of documents that the last query returned).
38
39 Thanks to Federico Rodriguez <fed.rod@gmail.com> for the suggestion.
40
f91579f @algernon NEWS update.
authored
41 ** New function: bson_validate_key()
42 With this new function, one can validate BSON keys: whether they can
43 contain dots (allowed when using dot-notation, forbidden otherwise),
44 or whether they start with a '$' sign.
45
46 It is up to the application developer to decide when to validate a
47 key, and what restrictions make sense in the given context.
48
49 The function does NOT do UTF-8 validation, that is completely left up
50 to the application developer.
51
c17a0f4 @algernon bson: Add bson_cursor_find_next ().
authored
52 ** New function: bson_cursor_find_next()
53 When we know that key G always comes after key A, but we do not care
54 how far apart they may be, and we do not want to use a separate cursor
55 (due to, for example, performance reasons), this new function can
56 help: unlike bson_find(), this will start scanning from the current
57 cursor position.
58
67e8fd8 @algernon NEWS: Added a few words about bson_stream_doc_size().
authored
59 ** New function: bson_stream_doc_size()
60 A little helper function to help determine the size of a BSON document
61 when it's only available as a bytestream. This is mostly for use with
62 bson_new_from_data().
63
61d2dba @algernon NEWS: Added a note about symbol versioning.
authored
64 ** Symbol versioning
65 The symbols of the library can now be versioned, if configured with
66 the --with-versioned-symbols configure flag (not enabled by default).
67
a1833df @algernon Release v0.1.0.
authored
68 * 0.1.0 - <2011-05-25 Wed>
69
70 ** Shared library
71 The configure script now defaults to enabling shared library building
72 by default (along with a static library).
73
74 ** Bug fixes
75 The pkg-config file was setting an incorrect include directory in it's
76 Cflags. This is now fixed.
77
78 ** C++ Compatibility
79 The public headers are now guarded by extern "C" {} wrappers, so that
80 they can be included in C++ projects.
81
82 ** Performance enhancements
83 A minor performance issue was corrected in the BSON code, that had the
84 possibility of forcing unneccessary memory allocations. The library
85 now allocates the proper amount of memory at the soonest time
86 possible, so it doesn't have to grow it later on unnecessarily.
87
88 Anoter performance issue was corrected in the BSON library:
89 bson_find() was comparing key names in BSON objects with the sought
90 for key using strcmp(), which was unacceptably slow when dealing with
91 BSON objects that have a lot of keys. We now use memcmp(), which means
92 we don't have to traverse the sought for key all the time.
93
f4ae2c0 @algernon Preparing for 0.0.2.
authored
94 * 0.0.2 - <2011-05-07 Sat>
2d0a7fd @algernon NEWS: Started adding 0.0.2 items.
authored
95
96 ** Replica set seeding support
97 It is now possible to add seeds to a connection, so that the library
98 can try connecting to those in case automatic discovery fails (or if
99 the seeds are hidden).
100
101 ** Failover redesign
102 Instead of preemptively pinging & checking for a master before each
103 and every command, the library does so only upon errors. This way,
104 when everything's working as expected, there is no extra
105 overhead. Yet, if things go wrong, failover will still work.
106
107 By design, automatic failover only occurs when an error is detected
108 during a write operation. When an error occurs during read, it will be
109 propagated back to the application.
110
111 Automatic failover is disabled by default, and can be turned on via
112 the mongo_sync_conn_set_auto_reconnect() function.
113
114 ** safe-mode support
115 With safe mode enabled, extra care will be taken to ensure that data
116 gets to the server, and that the library does everything within its
117 power to maintain a connection.
118
119 This means that after insert and update operations, the library will
120 issue a getLastError command, and only return successfully if that
121 command did not signal an error.
122
123 Safe-mode also enables the previously default preemptive connection
124 checks (along with the post-mortem failover).
125
126 Safe-mode is off by default.
127
f4ae2c0 @algernon Preparing for 0.0.2.
authored
128 * 0.0.1 - <2011-04-10 Sun>
9a5c674 @algernon Preparing for v0.0.1.
authored
129
130 Initial public release.
Something went wrong with that request. Please try again.