Skip to content
This repository was archived by the owner on Dec 6, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
595 commits
Select commit Hold shift + click to select a range
7dfdc2e
fix test-store to allow for returning deleted values
hroederld Mar 8, 2019
0ca839f
update how a summary is calculated to make testing easier
hroederld Mar 8, 2019
72f5110
update test-events to use corrected summary format
hroederld Mar 8, 2019
fec3fbc
update test-variations to deal with reason nested in details
hroederld Mar 8, 2019
cae841b
update test-streaming to deal with new way store returns deleted elem…
hroederld Mar 8, 2019
274f6c4
propagate events for off flags
hroederld Mar 8, 2019
458c00e
update to pass evaluation changes
hroederld Mar 8, 2019
de12cf1
fix regression propagating events for failed prereqs, return miss if …
hroederld Mar 8, 2019
088d982
don't check variationIndex if it does not exist default to fail
hroederld Mar 8, 2019
52423fa
switch to notNull instead off NULL ptr null check
hroederld Mar 8, 2019
cd8ebed
segmentMatchesUser return miss if user->key is null
hroederld Mar 8, 2019
aa85900
add tracing to regex
hroederld Mar 9, 2019
b7110a0
add pcre
hroederld Mar 9, 2019
c4563c3
thread client through events and eval to allow correct user serializa…
hroederld Mar 11, 2019
d72824a
trace time
hroederld Mar 11, 2019
194e1f7
more generally trace compareTime
hroederld Mar 11, 2019
9c37225
update time comparison operators to use library supporting cross plat…
hroederld Mar 11, 2019
2b334ce
is notNull instead of pointer null for checking if weight exists
hroederld Mar 11, 2019
3c79bdc
add routine to calculate variationIndex for user
hroederld Mar 11, 2019
a9a3742
add rollout fallbacks
hroederld Mar 11, 2019
afeb571
handle rollouts in rules
hroederld Mar 11, 2019
a951f33
inverted condition in clause match checker
hroederld Mar 12, 2019
112496e
inverted wrong direction
hroederld Mar 12, 2019
7624731
add maybeNegate utility
hroederld Mar 12, 2019
83f5e85
add country support
hroederld Mar 12, 2019
2c5911e
use gmp instead of floats
hroederld Mar 12, 2019
5ee627f
remove accidentally commited commented out parseTime old version
hroederld Mar 12, 2019
b005485
trace operator
hroederld Mar 12, 2019
6ca5b9f
add semver tests expecting failure, leading 0 and leading v
hroederld Mar 12, 2019
5fef23c
add leading zero tests in different positions
hroederld Mar 12, 2019
e34c7bf
modify semver library to not support leading zeros
hroederld Mar 12, 2019
c179ba7
fix memory error, country not being freed
hroederld Mar 12, 2019
0c9c721
trace clause evaluation
hroederld Mar 12, 2019
86bc2ca
trace noSegments
hroederld Mar 12, 2019
dc94a77
modify semver library to fail if more places after patch
hroederld Mar 12, 2019
52cc17a
initialize key and salt incase they are not in schema
hroederld Mar 13, 2019
b2428c7
seperate data channel and error channel in store interface
hroederld Mar 13, 2019
bc42a21
update variations and evaluations to use safer store interface
hroederld Mar 13, 2019
3087afa
update tests for new store api
hroederld Mar 13, 2019
f400a54
fix potential use after free of key in parsePath usage
hroederld Mar 13, 2019
5da18f4
make initialization more consistent
hroederld Mar 13, 2019
18626b3
make initialization more consistent
hroederld Mar 13, 2019
89c6753
make initialization more consistent
hroederld Mar 13, 2019
aa4e07f
make initialization more consistent
hroederld Mar 13, 2019
4fd5e47
make initialization more consistent
hroederld Mar 13, 2019
67f476e
remove some tracing and made initialization more consistent
hroederld Mar 13, 2019
3b36627
remove some tracing, make initialization more consistent
hroederld Mar 13, 2019
b70f2f6
add missing ;
hroederld Mar 13, 2019
6acf09f
make initalization more consistent
hroederld Mar 13, 2019
9ba041d
copy and modify c-client-client-side circle
hroederld Mar 14, 2019
61a7d97
add circle workflows
hroederld Mar 14, 2019
5f6639f
fix path issue in build and test steps, add install deps stage to osx
hroederld Mar 14, 2019
a4f9810
fix name of shared library
hroederld Mar 14, 2019
5d3a611
fix name of shared library
hroederld Mar 14, 2019
e8c27f0
remove -no-pie flag
hroederld Mar 14, 2019
e2aa0d2
remove unused timestamp printing
hroederld Mar 14, 2019
fa82ac7
update ctest runner to print stdout on failure
hroederld Mar 14, 2019
348baaa
copy .dylib not .so for osx
hroederld Mar 14, 2019
e6858a7
remove unistd in ldnet and switch to internal sleepMilliseconds
hroederld Mar 14, 2019
6d8f0ab
enable pedantic and ansi checks
hroederld Mar 14, 2019
6cd4ab3
remove reader writer locker static initialization #define s
hroederld Mar 14, 2019
90db8d5
make client pointer const
hroederld Mar 14, 2019
c84d7e9
made initialization more consistent
hroederld Mar 14, 2019
3d0faac
move creation of network thread to networking header
hroederld Mar 18, 2019
2bb737a
add LDi prefix to missing parts of networking
hroederld Mar 18, 2019
e3d5ae6
add LDi_ prefix to exposed operator routines
hroederld Mar 18, 2019
288db2f
fix prefix in store
hroederld Mar 18, 2019
907c669
add prefix to event routines
hroederld Mar 18, 2019
d03a306
add LDi_ prefix to exposed eval routines
hroederld Mar 18, 2019
fe94b6a
add LDi_ prefix to ldinternal.h routines
hroederld Mar 18, 2019
9536fa9
indentation fixes after adding LDi_ many places
hroederld Mar 18, 2019
5b1dd6d
remove ansi and pedantic
hroederld Mar 18, 2019
33c28a8
prefix time handling with LDi_
hroederld Mar 18, 2019
0029185
update LDi_sleepMilliseconds to use unsigned long instead of unsigned…
hroederld Mar 18, 2019
9c0c027
update LD_LOG to use possibly dynamic text instead of a pattern that …
hroederld Mar 18, 2019
9082706
add back logging that was previously using variadic macros
hroederld Mar 18, 2019
fe14ffe
exit networking thread on 401 or 403
hroederld Mar 18, 2019
a4d68f4
update networking futures to support retrying, no backoff yet
hroederld Mar 18, 2019
3e4a41f
fix memory leak of object that gets converted to array
hroederld Mar 18, 2019
305f2b1
fix memory leak of empty event summary object after summary is polled
hroederld Mar 18, 2019
d25dd59
check of online before polling for new connections
hroederld Mar 18, 2019
fafcfe2
exponential backoff
hroederld Mar 18, 2019
09f375e
count 202 as success
hroederld Mar 18, 2019
1727ecb
add explicit list of public interface for doxygen
hroederld Mar 18, 2019
f0e382f
add basic README
hroederld Mar 18, 2019
b37ad30
use README.md as base page for doxygen
hroederld Mar 18, 2019
e0af883
ensure global init is called in demo app
hroederld Mar 19, 2019
5d12d09
replace free with LDFree
hroederld Mar 19, 2019
b6f331f
remove double ;
hroederld Mar 19, 2019
4a6e178
free tmp variables
hroederld Mar 19, 2019
15b9f00
replace incorrect mem errors with schema errors, make initialization …
hroederld Mar 19, 2019
433b231
correct the ownership semantics for indexForVariation
hroederld Mar 19, 2019
1c46411
swap space and *
hroederld Mar 19, 2019
da8ada2
useless assignment inside return
hroederld Mar 19, 2019
3eda2a4
free tmp variables in error cases
hroederld Mar 19, 2019
8bf1b3b
make initialization more consistent
hroederld Mar 19, 2019
efe2458
cleanup more tmp vars in error cases
hroederld Mar 19, 2019
37e59e8
replace assertions with schema errors
hroederld Mar 19, 2019
c92acea
make initialization more consistent
hroederld Mar 19, 2019
3d6d563
free tmp in error case
hroederld Mar 19, 2019
b062e8e
free events that may exist if check prereqs fails
hroederld Mar 19, 2019
61713c3
free tmp on error cases in most of event construction
hroederld Mar 19, 2019
db266da
add missing cleanup of tmp in error case
hroederld Mar 19, 2019
1ce7825
move va_list to own line
hroederld Mar 19, 2019
ac5a81f
replace free with LDFree
hroederld Mar 19, 2019
539c8e0
remove deadcode typedefs
hroederld Mar 19, 2019
ccd32df
make assertion style more consistent
hroederld Mar 19, 2019
fe6d9ff
fix leaks in error conditions of summary generation
hroederld Mar 19, 2019
85f3e09
made assertion style more consistent
hroederld Mar 19, 2019
e3cda84
fix differences in README usage example
hroederld Mar 19, 2019
d44342f
fix typo in config header, move LDStoreInit to store header
hroederld Mar 19, 2019
38600fa
cleanup new entry and flagcontext in failure cases
hroederld Mar 19, 2019
02ac3a6
make main more like working demo app, going to delete and move to own…
hroederld Mar 19, 2019
326e76e
indentation style fix
hroederld Mar 19, 2019
6725c86
replace free with LDFree
hroederld Mar 19, 2019
ac5d41d
fix memory leak and deadlock in error cases of memoryAll
hroederld Mar 19, 2019
6b72743
cleanup tmp vars during error conditions in memoryDelet
hroederld Mar 19, 2019
783243f
check errors for setting key in upsert
hroederld Mar 19, 2019
18e599d
misc error condition cleanup for user serialization
hroederld Mar 19, 2019
b3c8554
more error condition cleanup in lduser
hroederld Mar 19, 2019
dd294e7
more error condition cleanup in lduser
hroederld Mar 19, 2019
af0ff70
don't free events that are about to be used
hroederld Mar 19, 2019
24966e3
more cleanup in error conditions
hroederld Mar 19, 2019
65a6ae3
replace get size with iter check
hroederld Mar 19, 2019
cd33a07
optimize key text a bit
hroederld Mar 19, 2019
edd6911
initialize keytext to NULL
hroederld Mar 19, 2019
c8e4344
replace extra check of if flag is object with assert that could be tu…
hroederld Mar 19, 2019
a406171
optimize keyText
hroederld Mar 19, 2019
beaddcb
allow for null rule id
hroederld Mar 19, 2019
ddd4db7
remove extra newline
hroederld Mar 19, 2019
95ee9a5
replace locally ensured variationNumJSON check with assertion
hroederld Mar 19, 2019
308b2d2
free segment data in case of deleted segment
hroederld Mar 19, 2019
13c8cdf
remove main executable
hroederld Mar 19, 2019
f371967
remove any success check for segmentMatch
hroederld Mar 19, 2019
1027800
clauseMatcheNoUserSegments stop allowing object in attributeValue
hroederld Mar 19, 2019
6dc26b1
handle case where 'bucketBy' is JSON null
hroederld Mar 19, 2019
c92502d
don't return feature if it is deleted at store layer, also fix deadlo…
hroederld Mar 19, 2019
3ed1540
update tests for store contract change
hroederld Mar 19, 2019
8050063
don't free json in test if it does not exist
hroederld Mar 19, 2019
0765dc0
fix memory leak of bucketable in error case
hroederld Mar 19, 2019
f55fbd4
remove explicit deletion checks across codebase
hroederld Mar 19, 2019
3292363
fix brace line
hroederld Mar 19, 2019
594b7e0
remove user key checks that are done at a higher level
hroederld Mar 19, 2019
a6cd125
add explanation struct (not used) and switch to dedicated events para…
hroederld Mar 20, 2019
d6c5f65
partially convert to use struct instead of json for explanations
hroederld Mar 20, 2019
41bad40
partially convert eval tests to new struct system
hroederld Mar 20, 2019
2a646d0
convert rest of evaluation tests
hroederld Mar 20, 2019
8bdb274
fix double free of eval value in allFlags
hroederld Mar 20, 2019
89b936c
convert offline tests to new api
hroederld Mar 20, 2019
4998767
passing all unit tests
hroederld Mar 20, 2019
cddb5ca
add detail related enums to static string conversion routines
hroederld Mar 20, 2019
9d68175
add routine to convert explanations to json
hroederld Mar 20, 2019
332c509
fix schema in reason serialization
hroederld Mar 20, 2019
fb40108
convert details to json to reason to json and integrate into event se…
hroederld Mar 20, 2019
6024f5e
don't assert on value in ldevents
hroederld Mar 21, 2019
0b91219
don't add variation to event if not requested
hroederld Mar 21, 2019
b34b07c
precheck for miss
hroederld Mar 21, 2019
76a6d8b
misplaced freeflag
hroederld Mar 21, 2019
267c006
swap key and user parameters of track to make more consistent with ot…
hroederld Mar 21, 2019
64abe97
prepare replacement event and summary counter storage allocation befo…
hroederld Mar 21, 2019
cddc61e
make test declaration styling more consistent
hroederld Mar 21, 2019
9f4e07e
make test styling more consistent
hroederld Mar 21, 2019
5411768
finish up making test declaration styling consistent
hroederld Mar 21, 2019
b1d6c5d
merge fallback and error goto blocks in internal variation handler as…
hroederld Mar 21, 2019
67559f4
remove assert on client in internal variation as null client is handl…
hroederld Mar 21, 2019
cc4c081
rename object to clause in maybeNegate
hroederld Mar 21, 2019
59b782b
update add event to not allocate
hroederld Mar 21, 2019
50f4672
ensure events are not leaked after being added
hroederld Mar 21, 2019
8947420
ensure array holding events is not leaked (event objects themselves w…
hroederld Mar 21, 2019
a77d5f4
assign event to null after ownership transfer to ensure not freed
hroederld Mar 21, 2019
1a07a50
rename to ldserverapidynamic
hroederld Mar 21, 2019
6268367
update circle config for new library names
hroederld Mar 21, 2019
83407a3
forgot to save for last commit
hroederld Mar 21, 2019
2e4ad86
assert on client and remove client null eval error case
hroederld Mar 21, 2019
4bed1a2
reduce memory allocation and convert getIndexForVariationOrRollout to…
hroederld Mar 21, 2019
f3398d4
replace hasId with NULL string
hroederld Mar 21, 2019
df6f51a
remove extra check of iterator
hroederld Mar 21, 2019
ef8b997
rename kind to reason
hroederld Mar 21, 2019
5a7d31f
free rule id on detail clear if rule type
hroederld Mar 21, 2019
8f03e9c
ensure sub events correctly skip reasons
hroederld Mar 21, 2019
ba34b2e
check events capacity with >= instead of >
hroederld Mar 21, 2019
0c58aa3
operatorInFn simplification, add LD_SDK_VERSION #define
hroederld Mar 21, 2019
69e74c6
remove duplicate line
hroederld Mar 22, 2019
62c84a5
add mutex support (unused)
hroederld Mar 22, 2019
cf07cee
partial convert to use reference counting
hroederld Mar 22, 2019
ecfd9fc
update streaming tests
hroederld Mar 22, 2019
047085a
fix memoryInit (currently unsafe handling of error state)
hroederld Mar 22, 2019
6d16aca
add uthash dep
hroederld Mar 22, 2019
d9c900b
convert rest of tests to new api
hroederld Mar 22, 2019
0358617
replace segment free with segment rc decrement
hroederld Mar 22, 2019
656c245
convert allFlags store api to use reference counting
hroederld Mar 22, 2019
c98ed20
ensure prequisiteKey gets freed in details cleanup, simplify evaluati…
hroederld Mar 22, 2019
bae2e2e
fix reference count decrement
hroederld Mar 22, 2019
82f80ec
ensure subevents always get freed
hroederld Mar 22, 2019
4553f10
cleanup leaks in error conditions and generally reduce allocations
hroederld Mar 22, 2019
e7c620f
remove allocation from parse path
hroederld Mar 22, 2019
ae83d78
use new detach function instead of duplicate
hroederld Mar 22, 2019
814378b
rename FeatureCollection to FeatureCollectionItem
hroederld Mar 25, 2019
10db64a
convert ldstore interface to use static strings instead of enum
hroederld Mar 25, 2019
c7b70de
update streaming to rename flags to features
hroederld Mar 25, 2019
600733b
replace two instance of free with LDFree
hroederld Mar 25, 2019
88c7ca9
replace two unrelated instances of malloc with LDAlloc
hroederld Mar 25, 2019
3b184f8
rename flags to features in polling update
hroederld Mar 25, 2019
1effcdb
DRY up with featureKindToString
hroederld Mar 25, 2019
f7973c6
more logically organize ldstore
hroederld Mar 25, 2019
b5c88d6
update doxygen header for RC related functions
hroederld Mar 25, 2019
3bee424
correctly return NULL when RC lock construction fails
hroederld Mar 25, 2019
115e145
add sanity check assertion that current reference count is > 0 when d…
hroederld Mar 25, 2019
c686b9a
make some routines static and some parameters const
hroederld Mar 25, 2019
ea51017
replace free with LDFree in store destroy
hroederld Mar 25, 2019
7e50771
add const to ptr for addHidden
hroederld Mar 26, 2019
f64845a
rename and make jsonrc destruction static
hroederld Mar 26, 2019
2ac8b08
makeFeatureCollection -> makeFeatureCollectionItem, replacementcollec…
hroederld Mar 26, 2019
39ca5e3
Merge pull request #7 from launchdarkly/hr/refcount
hroederld Mar 27, 2019
359d26d
1.0.0 beta.1 (#8)
hroederld Mar 27, 2019
a08df4f
Merge github.com:launchdarkly/c-client-server-side
hroederld Mar 28, 2019
aef0203
update readme to refer to better distinguish between server-side and …
bwoskow-ld Mar 28, 2019
0cdb5dd
Merge pull request #10 from launchdarkly/bw/readme-updates
bwoskow-ld Mar 28, 2019
1a7c009
Merge github.com:launchdarkly/c-client-server-side
hroederld Mar 28, 2019
97bac37
Add jitter to networking backoff (#9)
hroederld Mar 28, 2019
ad113ab
Remove GMP dep (#12)
hroederld Apr 1, 2019
9f60af9
Add support for debugEventsUntilDate (#11)
hroederld Apr 2, 2019
5c93f25
Windows C++ compatibility (#13)
hroederld Apr 3, 2019
9cfae31
Window specific time parsing (#14)
hroederld Apr 4, 2019
ac06b3a
Windows CI (#15)
hroederld Apr 5, 2019
9d46358
Dynamic library symbol hygiene (#16)
hroederld Apr 5, 2019
618bb3b
Prepare 1.0.0 beta.2 (#17)
hroederld Apr 5, 2019
584a375
Merge branch 'master' of github.com:launchdarkly/c-client-server-side
hroederld Apr 5, 2019
9924f89
add back ifdef cplusplus (#18)
hroederld Apr 5, 2019
c92c603
Merge branch 'master' of github.com:launchdarkly/c-client-server-side
hroederld Apr 5, 2019
202e531
Extra build documentation (#19)
hroederld Apr 8, 2019
8b47c0c
Merge branch 'master' of github.com:launchdarkly/c-client-server-side
hroederld Apr 8, 2019
8f4e101
reorganize headers (#21)
hroederld Apr 26, 2019
061e5aa
Fix doxygen and add docgen infra (#22)
hroederld Apr 30, 2019
34da394
cmake cleanup (#24)
hroederld May 3, 2019
a68ed94
Complete doxygen coverage (#23)
hroederld May 3, 2019
9d07f90
applying markdown templates (#25)
bwoskow-ld May 13, 2019
3759bc8
bump version and update changelog (#26)
hroederld May 17, 2019
61aed0c
free subevents as append does not transfer ownership (#27)
hroederld Jun 11, 2019
d6fd94e
bump version and add memory leak info to changelog (#28)
hroederld Jun 11, 2019
a6c21b4
merge in public
hroederld Jun 11, 2019
0e73f2a
Merge branch 'master' of github.com:launchdarkly/c-server-sdk
hroederld Jun 11, 2019
e063402
Update to handle index events (#29)
hroederld Jun 25, 2019
7ae5129
switch to using milliseconds everywhere internally (#30)
hroederld Jun 26, 2019
c56eac1
adding a circleci badge to the readme (#31)
bwoskow-ld Jun 27, 2019
8a5f961
switch from checking for header end within size (usually one) to tota…
hroederld Jul 5, 2019
5c793f2
bump version constant, document changes, remove beta warning (#33)
hroederld Jul 5, 2019
c479a06
Merge github.com:launchdarkly/c-server-sdk
hroederld Jul 5, 2019
2fbdbd0
add /usr/local/include for osx (#34)
hroederld Jul 11, 2019
1ec7b98
bump version, append changelog (#35)
hroederld Jul 11, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

All notable changes to the LaunchDarkly C server-side SDK will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).

## [1.0.1] - 2019-07-11
### Fixed
- Updated CMAKE header search to include `/usr/local/include` for OSX Mojave

## [1.0.0] - 2019-07-05
### Added
- LRU caching to prevent users being indexed multiple times
Expand Down
8 changes: 7 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@ else()
set(LD_LIBRARIES pthread m)
endif(MSVC)

include_directories("src" "include" "third-party/include" ${CURL_INCLUDE_DIR} ${PCRE_INCLUDE_DIR})
set(LD_INCLUDE_PATHS "src" "include" "third-party/include" ${CURL_INCLUDE_DIR} ${PCRE_INCLUDE_DIR})

if(APPLE)
set(LD_INCLUDE_PATHS ${LD_INCLUDE_PATHS} "/usr/local/include")
endif(APPLE)

include_directories(${LD_INCLUDE_PATHS})
file(GLOB SOURCES "src/*" "third-party/src/*")

set(LD_LIBRARIES ${LD_LIBRARIES} ${CURL_LIBRARIES} ${PCRE_LIBRARIES})
Expand Down
2 changes: 1 addition & 1 deletion include/launchdarkly/api.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
/** @brief The current SDK version string. This value adheres to semantic
* versioning and is included in the HTTP user agent sent to LaunchDarkly.
*/
#define LD_SDK_VERSION "1.0.0"
#define LD_SDK_VERSION "1.0.1"

#ifdef __cplusplus
extern "C" {
Expand Down