Skip to content

feat(BC-309): Upgrade Couchbase Lite C from 3.2.1 to 3.2.2 #29

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 7, 2025

Conversation

corentinmb
Copy link
Member

Upgrade CBLite to 3.2.2 to introduce new features:

New Logging API

Introduces a completely redesigned logging system with improved thread safety
Eliminates risk of inconsistent states during initialization
Provides a simplified API with reduced implementation complexity
Note: The legacy logging API is now deprecated and will be removed in a future release
Using both the deprecated and new logging APIs simultaneously is not supported

Partial Index Support

Adds support for Partial Value and Partial Full-Text Indexes
Creates smaller, more efficient indexes by only indexing documents that match specified conditions
Allows specifying a WHERE clause in index configuration
Improves index and query performance for targeted data sets

More info here: https://docs.couchbase.com/couchbase-lite/current/cbl-whatsnew.html

@corentinmb corentinmb requested a review from a team as a code owner April 4, 2025 15:51
Copy link
Contributor

@Nao-ris Nao-ris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great :-)

@@ -55,7 +37,8 @@ typedef CBL_ENUM(uint8_t, CBLLogLevel) {
@param level The severity of the message. If this is lower than the current minimum level for the domain
(as set by \ref CBLLog_SetConsoleLevel), nothing is logged.
@param format A `printf`-style format string. `%` characters in this string introduce parameters,
and corresponding arguments must follow. */
and corresponding arguments must follow.
@warning <b>Deprecated :</b> No alternative for this function and this function will be removed in the future release. */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We use this deprecated function in logging.rs, should we try to use the new logging API instead?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tried to do something, but harder with my level of knowledge of that API ^^ We could pair or smtg, maybe merge this PR asis if it's ok ? and see for the logging api later ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As you prefer, it is not urgent so merging this PR first and do it in a separate PR would make sense, and be easy to test/review

CBLLogLevel CBLLog_ConsoleLevel(void) CBLAPI;

/** Sets the detail level of logging.
Only messages whose level is ≥ the given level will be logged to the console. */
Only messages whose level is ≥ the given level will be logged to the console.
@warning <b>Deprecated :</b> Use CBLLogSinks_SetConsole instead. */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

CBLLogLevel CBLLog_CallbackLevel(void) CBLAPI;

/** Sets the detail level of logging.
Only messages whose level is ≥ the given level will be logged to the callback. */
Only messages whose level is ≥ the given level will be logged to the callback.
@warning <b>Deprecated :</b> Use CBLLogSinks_SetCustom instead. */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

CBLLogCallback CBLLog_Callback(void) CBLAPI;

/** Sets the callback for receiving log messages. If set to NULL, no messages are logged to the console. */
/** Sets the callback for receiving log messages. If set to NULL, no messages are logged to the console.
@warning <b>Deprecated :</b> Use CBLLogSinks_SetCustom instead. */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

@corentinmb
Copy link
Member Author

I pushed new fixes according to the reviews :)

@corentinmb corentinmb merged commit 3ffe3a4 into main Apr 7, 2025
5 checks passed
@corentinmb corentinmb deleted the cblite_3.2.2 branch April 7, 2025 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants