Skip to content
This repository has been archived by the owner on Dec 4, 2024. It is now read-only.

prepare 2.0.0-rc.1 release #35

Merged
merged 551 commits into from
Nov 19, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
551 commits
Select commit Hold shift + click to select a range
82b14f2
Merge branch 'master' into jc/45269/initialized-behavior
torchhound Aug 6, 2019
3a7bb49
bump CommonSdk version
eli-darkly Aug 6, 2019
b7b4e9f
1.0.0-beta20
eli-darkly Aug 6, 2019
94a88b0
Added streaming mode check when entering background, added unit tests…
torchhound Aug 6, 2019
0268dd3
1.0.0-beta21
eli-darkly Aug 6, 2019
da45bd4
Removed redundant config online check in start update processor, remo…
torchhound Aug 6, 2019
dbba466
Simplified backgroundedWhileStreaming, made backgroundedWhileStreamin…
torchhound Aug 7, 2019
9055550
Remove unnecessary backgroundedWhileStreaming, always reset _disableS…
torchhound Aug 7, 2019
dc97900
Merge pull request #66 from launchdarkly/jc/44753/background-update-t…
torchhound Aug 7, 2019
70389ca
Changed Initialized behavior to new spec, added testing, changed comm…
torchhound Aug 9, 2019
9de62e4
Merge branch 'master' into jc/45269/initialized-behavior
torchhound Aug 9, 2019
02fa10c
Fix merge bug with constant that doesn't exist anymore
torchhound Aug 9, 2019
a0c6ae2
Simplified initialized assignment, removed unnecssary static keyword
torchhound Aug 9, 2019
6018077
Improved Initialized comment in ILdClient
torchhound Aug 9, 2019
4b8c8ef
don't use default .NET HTTP handler (#67)
eli-darkly Aug 12, 2019
e77d798
Merge branch 'master' into jc/45269/initialized-behavior
eli-darkly Aug 12, 2019
f6d44e2
fix test state contamination in cached flag tests
eli-darkly Aug 12, 2019
2c3e652
Addressing PR feedback about keeping warn logging for variation when …
torchhound Aug 12, 2019
b3524f6
Merge branch 'jc/45269/initialized-behavior' of https://github.com/la…
torchhound Aug 12, 2019
a4e1384
Merge pull request #68 from launchdarkly/eb/ch45269/fix-test-state
eli-darkly Aug 12, 2019
4de70df
Removed warn log from incorrect default return, added check for when …
torchhound Aug 12, 2019
d8f4207
Merge branch 'jc/45269/initialized-behavior' of https://github.com/la…
torchhound Aug 12, 2019
a355b97
Merge pull request #65 from launchdarkly/jc/45269/initialized-behavior
torchhound Aug 12, 2019
83261c4
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Aug 13, 2019
8ce6599
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Aug 20, 2019
b586979
send event for evaluation even if client isn't inited
eli-darkly Aug 21, 2019
2186374
make sure Identify/IdentifyAsync only completes when we have new flags
eli-darkly Aug 21, 2019
be799c6
Merge pull request #69 from launchdarkly/eb/ch46786/event-when-not-in…
eli-darkly Aug 21, 2019
c5109d5
Merge branch 'master' into experiment
eli-darkly Aug 21, 2019
82c087e
add helper scripts
eli-darkly Aug 21, 2019
b263266
Merge pull request #71 from launchdarkly/eb/build-script
eli-darkly Aug 21, 2019
ce24a81
Merge pull request #70 from launchdarkly/eb/ch46942/identify-await
eli-darkly Aug 21, 2019
972fc87
Changed Online to use WaitSafely instead of storing result in a var
torchhound Aug 21, 2019
84ea43b
Merge pull request #72 from launchdarkly/jc/ch46355/online-wait
torchhound Aug 21, 2019
e0acb8f
Added identical value check to SetOnlineAsync
torchhound Aug 21, 2019
b82dd4c
Move value check inside of lock for Android unit test
torchhound Aug 21, 2019
a17153e
Added second value check inside Online, moved value check into try in…
torchhound Aug 21, 2019
63b0543
Merge pull request #73 from launchdarkly/jc/ch46986/online-noop
torchhound Aug 21, 2019
d9d01dc
disable REPORT mode because it doesn't work in Android yet
eli-darkly Aug 23, 2019
3e258b6
Merge pull request #75 from launchdarkly/eb/ch47341-disable-report
eli-darkly Aug 26, 2019
50f963c
refactor connection state management, replace Online property with Of…
eli-darkly Aug 26, 2019
e2ce9b0
remove HttpClientTimeout in configuration, use ConnectionTimeout (#77)
eli-darkly Aug 27, 2019
be3e317
misc fixes to background mode logic, add tests for it (#78)
eli-darkly Aug 27, 2019
240a2ef
fix comments
eli-darkly Aug 28, 2019
d78754c
misc fixes for flaky tests
eli-darkly Aug 28, 2019
6866f85
update WireMock, re-enable HTTP tests for Android
eli-darkly Aug 29, 2019
e48a0b0
more stable way of synchronizing the background mode tests
eli-darkly Aug 29, 2019
84991fc
Merge pull request #79 from launchdarkly/eb/ch42944/android-http-tests
eli-darkly Aug 29, 2019
20d8ec8
put event processor off/online based on Offline property + network st…
eli-darkly Aug 30, 2019
23f2c85
don't post more events if we're offline
eli-darkly Aug 30, 2019
dc2d86f
don't send identify event if we're offline
eli-darkly Aug 30, 2019
eaf791f
Merge pull request #80 from launchdarkly/eb/ch47661/offline-flush
eli-darkly Aug 30, 2019
dfdc9aa
generate XML comment files
eli-darkly Aug 30, 2019
ad45b10
try skipping XML step in Android CI job because msbuild will fail
eli-darkly Aug 30, 2019
a3a816d
Merge pull request #81 from launchdarkly/eb/ch47796/xml-comments
eli-darkly Aug 30, 2019
dffedd4
rm unused type
eli-darkly Aug 30, 2019
44dbb6a
XML comment fixes
eli-darkly Aug 30, 2019
e4347b7
version 1.0.0-beta23
eli-darkly Aug 30, 2019
eb4830b
changelog additions
eli-darkly Aug 30, 2019
0f3847d
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Aug 30, 2019
c3567a0
don't use Plugin.DeviceInfo for iOS
eli-darkly Sep 3, 2019
2356ba5
don't use Plugin.DeviceInfo for Android
eli-darkly Sep 3, 2019
a578c43
don't call the platform-specific method directly
eli-darkly Sep 3, 2019
9b8252c
add tests for device ID
eli-darkly Sep 3, 2019
e24920a
adjust target frameworks for restwrapper CI builds
eli-darkly Sep 4, 2019
7a6d8a8
adjust target frameworks for restwrapper CI builds
eli-darkly Sep 4, 2019
98b34d8
Merge pull request #82 from launchdarkly/eb/ch48008/device-id
eli-darkly Sep 4, 2019
e4a35b1
add Sandcastle doc build script + general doc comment cleanup
eli-darkly Sep 5, 2019
0a6cd8a
fix "Launchdarkly"
eli-darkly Sep 5, 2019
0c5f371
symbol style for Json namespace
eli-darkly Sep 5, 2019
36c75e2
Merge pull request #83 from launchdarkly/eb/ch48415/docs
eli-darkly Sep 5, 2019
beb73b9
remove JToken from public APIs and nearly everywhere else
eli-darkly Sep 6, 2019
7d73a0e
Merge pull request #85 from launchdarkly/eb/ch48642/remove-jtoken
eli-darkly Sep 9, 2019
a2c13e7
rename ImmutableJsonValue to LdValue, don't use ValueType
eli-darkly Sep 13, 2019
50534df
fix dependency
eli-darkly Sep 13, 2019
b78c5fc
fix tests
eli-darkly Sep 13, 2019
776f88a
fix type checking
eli-darkly Sep 13, 2019
2e58f3e
Merge pull request #86 from launchdarkly/eb/ch48759/ldvalue-rename
eli-darkly Sep 13, 2019
e949a76
disable annoying date parsing behavior
eli-darkly Sep 13, 2019
6dc91c4
Merge pull request #87 from launchdarkly/eb/ch49343/date-parsing
eli-darkly Sep 13, 2019
4aee37f
make flag data immutable and stop re-parsing it all the time
eli-darkly Sep 13, 2019
3c19395
fix source file reference
eli-darkly Sep 13, 2019
3aa61d7
Merge pull request #88 from launchdarkly/eb/ch49428/flag-cache
eli-darkly Sep 13, 2019
661588c
configure Android HTTP client to do timeouts correctly.
eli-darkly Sep 13, 2019
d73bdd6
typo
eli-darkly Sep 13, 2019
edac4df
Merge pull request #89 from launchdarkly/eb/ch47489/android-timeout
eli-darkly Sep 13, 2019
42ab06a
version 1.0.0-beta24
eli-darkly Sep 13, 2019
bc35414
changelog update
eli-darkly Sep 13, 2019
9ed057f
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Sep 14, 2019
5ff131f
version 1.0.0
eli-darkly Sep 14, 2019
808c7e4
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Sep 14, 2019
d93c4cb
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
bwoskow-ld Sep 14, 2019
78ddabb
use CommonSdk 4.1.0
eli-darkly Oct 9, 2019
feff658
fix dependency
eli-darkly Oct 9, 2019
3591459
update test data because User.Anonymous was fixed to default to null …
eli-darkly Oct 9, 2019
5a51370
linefeeds
eli-darkly Oct 9, 2019
23e3e2b
Merge branch 'master' into experiment
eli-darkly Oct 9, 2019
bc60970
use CommonSDK 4.2.0 (adds log helper)
eli-darkly Oct 10, 2019
eb170cf
version 1.1.0
eli-darkly Oct 10, 2019
21ea91f
set default background polling interval
eli-darkly Oct 14, 2019
845a924
Merge pull request #90 from launchdarkly/eb/ch52680/default-bg-polling
eli-darkly Oct 14, 2019
f92fd0e
fix csproj reference to MSBuild.Sdk.Extras
eli-darkly Oct 15, 2019
dab0339
need to keep PackageReference?
eli-darkly Oct 15, 2019
13dca02
try to fix test build
eli-darkly Oct 15, 2019
41f1d77
fix MSBuild.Sdk.Extras again (https://github.com/onovotny/MSBuildSdkE…
eli-darkly Oct 15, 2019
ad13837
try another project file format change
eli-darkly Oct 15, 2019
1130fcf
more project config fixes
eli-darkly Oct 15, 2019
2252db9
brew cask is built-in now
eli-darkly Oct 15, 2019
fd63c60
explicit TargetFramework
eli-darkly Oct 15, 2019
23710d8
set OutputPath
eli-darkly Oct 15, 2019
68f39a3
rm redundant assembly info
eli-darkly Oct 15, 2019
b2607f5
more project fixes
eli-darkly Oct 15, 2019
0fc5b6a
misc project fixes
eli-darkly Oct 15, 2019
f04d477
add SDK version config
eli-darkly Oct 15, 2019
0e3a6d0
changelog update
eli-darkly Oct 17, 2019
6402d5f
changelog update
eli-darkly Oct 17, 2019
643e19a
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Oct 17, 2019
d20210c
Merge branch 'master' into eb/ch52804/fix-build-ios
eli-darkly Oct 17, 2019
c6a4a45
use CommonSdk 4.2.1
eli-darkly Oct 23, 2019
c4ed951
fix tests (user JSON no longer includes pointless "custom":{})
eli-darkly Oct 23, 2019
c580418
version 1.1.1
eli-darkly Oct 23, 2019
3ed30cf
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Oct 23, 2019
788fd81
Merge branch 'master' into eb/ch52804/fix-build-ios
eli-darkly Oct 23, 2019
8325192
add EnumVariation extension methods
eli-darkly Nov 6, 2019
c0ce430
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
bwoskow-ld Nov 7, 2019
7c50c58
update CommonSdk, don't use deprecated reason types
eli-darkly Nov 13, 2019
82e121d
Merge pull request #94 from launchdarkly/eb/ch53623/deprecated-reasons
eli-darkly Nov 13, 2019
334b8ef
Merge pull request #93 from launchdarkly/eb/ch55337/enum-variation
eli-darkly Nov 13, 2019
ffc64e2
use transformed user, not original user, when requesting flags after …
eli-darkly Jan 13, 2020
7ebe381
fix some more deprecated usages
eli-darkly Jan 13, 2020
5a2c2ee
Merge branch 'master' into eb/ch61360/identify-auto-anon-user
eli-darkly Jan 13, 2020
9cde138
fix some more deprecated usages
eli-darkly Jan 13, 2020
164d9e1
Merge branch 'master' into eb/ch61360/identify-auto-anon-user
eli-darkly Jan 13, 2020
b2e51c2
fix test logic for detecting generated user key
eli-darkly Jan 13, 2020
b6a05c7
use CommonSdk 4.3.0
eli-darkly Jan 13, 2020
47dc306
Merge branch 'master' into eb/ch52804/fix-build-ios
eli-darkly Jan 13, 2020
83275d6
Merge pull request #92 from launchdarkly/eb/ch52804/fix-build-ios
eli-darkly Jan 13, 2020
d84ff1a
Merge branch 'master' into eb/ch61360/identify-auto-anon-user
eli-darkly Jan 13, 2020
fe67a9b
Merge pull request #95 from launchdarkly/eb/ch61360/identify-auto-ano…
eli-darkly Jan 13, 2020
bb64dfa
update CommonSdk to 4.3.1 for event payload ID fix
eli-darkly Jan 15, 2020
e56f676
Merge pull request #96 from launchdarkly/eb/ch61092/sdk-common-fix
eli-darkly Jan 15, 2020
7c88d8b
version 1.2.0
eli-darkly Jan 15, 2020
b1ac7d3
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Jan 16, 2020
631cfa9
project file cleanup
eli-darkly Jan 16, 2020
c61c5a0
revert project file change
eli-darkly Jan 16, 2020
4aa689c
try setting CodesignKey
eli-darkly Jan 16, 2020
c0925c3
build in debug mode
eli-darkly Jan 16, 2020
3891e5b
set platform explicitly to simulator in CI
eli-darkly Jan 16, 2020
0a1f949
use Xcode 11.3 in CI
eli-darkly Jan 16, 2020
228241f
fix brew install of Xamarin tools
eli-darkly Jan 16, 2020
59389f5
fix iOS build path
eli-darkly Jan 16, 2020
18a50d8
add comment, rm unnecessary property
eli-darkly Jan 16, 2020
bfe0304
Merge pull request #97 from launchdarkly/eb/ch53232/ios-ci
eli-darkly Jan 16, 2020
a36bc34
execute Xamarin SDK releases via Releaser (#98)
eli-darkly Feb 6, 2020
6500ccc
fix Android CI build (#99)
eli-darkly Mar 10, 2020
fb51711
Removed the guides link
bwoskow-ld Feb 3, 2021
f4be21f
don't drop base paths from custom base URIs
eli-darkly Mar 5, 2021
588e6ce
Update base64 encoding of user JSON to be URL safe. (#102)
gwhelanLD Mar 11, 2021
c093deb
Merge pull request #101 from launchdarkly/eb/ch102274/base-uri-path
eli-darkly Mar 25, 2021
977b360
make the Android CI build work (#103)
eli-darkly Mar 25, 2021
ffb5c59
Removed redundant dependencies on android support libraries. This all…
eli-darkly Mar 25, 2021
9ca73c2
better install logic for CI and release (#105)
eli-darkly Mar 26, 2021
7da312e
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Mar 30, 2021
140afa9
prevent spurious dependencies in package build
eli-darkly Mar 30, 2021
d73d2b4
Merge pull request #107 from launchdarkly/eb/ch104380/extra-package-dep
eli-darkly Mar 31, 2021
061cef7
Set up mysterious ibtool fix. (#108)
gwhelanLD Mar 31, 2021
7e697bb
use EmbedIO instead of WireMock.Net for embedded HTTP server in tests
eli-darkly Apr 3, 2021
8ff680b
Merge pull request #109 from launchdarkly/eb/ch104703/embedio
eli-darkly Apr 5, 2021
846e2df
support ping message used by Relay stream endpoint
eli-darkly Apr 5, 2021
e34dfe4
add lower-level test coverage
eli-darkly Apr 5, 2021
87d9e85
Merge pull request #110 from launchdarkly/eb/ch104683/ping-stream
eli-darkly Apr 6, 2021
36f4604
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Apr 6, 2021
a6f90b6
(2.0 - #1) minimum changes to migrate to newer common packages that a…
eli-darkly Apr 12, 2021
65411d2
(2.0 - #2) remove Newtonsoft.Json (#106)
eli-darkly Apr 12, 2021
a963642
improve EnumVariation with type constraint, fix tests
eli-darkly Apr 13, 2021
4e2e64b
Merge pull request #112 from launchdarkly/eb/ch105230/better-enum-var…
eli-darkly Apr 21, 2021
e51b084
use LaunchDarkly.TestHelpers for HTTP tests
eli-darkly Apr 27, 2021
faca143
fix project files
eli-darkly Apr 27, 2021
e4a4b6a
fix project files
eli-darkly Apr 27, 2021
6fe829f
Merge pull request #113 from launchdarkly/eb/ch104704/http-tests
eli-darkly Apr 28, 2021
57b8ec4
update to latest InternalSdk, misc cleanup, better test code sharing …
eli-darkly Apr 28, 2021
17b5d70
better workaround for iOS storyboard build problem (#115)
eli-darkly May 4, 2021
2e9eee9
update dependencies to latest releases
eli-darkly Jun 10, 2021
0446149
drop support for Android 7.1 and 8.0
eli-darkly Jun 11, 2021
faf65c1
(#1) code reorganization, standardize namespaces (#117)
eli-darkly Jul 6, 2021
bdb748f
(#2) rename SDK in the readme and project names (#118)
eli-darkly Jul 6, 2021
e5b54f3
(#3) rename Xamarin to Client in namespaces & assemblies (#119)
eli-darkly Jul 6, 2021
b70a8cf
(#4) add logging configuration and per-platform default loggers (#120)
eli-darkly Jul 10, 2021
037a764
implement Alias method and auto-aliasing
eli-darkly Aug 30, 2021
edf6f5c
misc test fixes
eli-darkly Aug 30, 2021
dd94342
Merge branch '2.0' into eb/ch98270/drop-old-android
eli-darkly Aug 30, 2021
d42702e
Merge pull request #116 from launchdarkly/eb/ch98270/drop-old-android
eli-darkly Aug 31, 2021
a6ed971
remove IConfigurationBuilder interface
eli-darkly Aug 31, 2021
c7ee17f
doc comment fixes + add files for new doc generator
eli-darkly Aug 31, 2021
8be90d4
rm obsolete file
eli-darkly Aug 31, 2021
c1a8c0f
Apply suggestions from code review
eli-darkly Aug 31, 2021
13a7677
Merge pull request #121 from launchdarkly/eb/ch94518/alias
eli-darkly Aug 31, 2021
27b350d
Merge pull request #122 from launchdarkly/eb/ch105229/config-cleanup
eli-darkly Sep 1, 2021
91f0a56
clarify CommonSdk documentation
eli-darkly Sep 4, 2021
074dc03
Merge pull request #123 from launchdarkly/eb/ch105229/doc-comments
eli-darkly Sep 4, 2021
cf38a01
(#4) add IDataSource interface & more component infrastructure simila…
eli-darkly Sep 7, 2021
c919883
(#5) scoped configuration & public interface for events (#125)
eli-darkly Sep 7, 2021
22c49bc
(#6) scoped configuration for HTTP (#126)
eli-darkly Sep 13, 2021
1f6a1f3
(#1) reimplement data store components for cleaner abstraction of per…
eli-darkly Sep 22, 2021
cc5bd86
(#2) misc tedious code cleanup of property/method naming (#128)
eli-darkly Sep 22, 2021
d3db554
(#3) revise flag notification mechanism to look more like the server-…
eli-darkly Sep 22, 2021
aff2b64
(#4) implement test data source (#130)
eli-darkly Sep 28, 2021
7b9d93c
(#5) use new concurrency helpers in dotnet-sdk-internal (#131)
eli-darkly Sep 28, 2021
a3e2bf3
data source status API
eli-darkly Sep 28, 2021
9abae18
comments
eli-darkly Sep 29, 2021
532ec49
make build fail if XML comments are missing or invalid
eli-darkly Sep 29, 2021
014887e
doc comment fixes
eli-darkly Sep 29, 2021
d100f76
doc comment fix
eli-darkly Sep 30, 2021
81732ba
Merge branch 'eb/ch123851/datasource-status' into eb/ch123512/doc-com…
eli-darkly Sep 30, 2021
9f1dfde
Merge pull request #132 from launchdarkly/eb/ch123851/datasource-status
eli-darkly Oct 4, 2021
b388a9b
Merge pull request #133 from launchdarkly/eb/ch123512/doc-comment-errors
eli-darkly Oct 4, 2021
6ce62ba
set default flush interval to 30 seconds on mobile platforms
eli-darkly Oct 14, 2021
2116d59
Merge pull request #136 from launchdarkly/eb/sc-121759/flush-interval
eli-darkly Oct 14, 2021
74a4a24
simpler way of configuring service base URIs (#134)
eli-darkly Oct 14, 2021
7453e51
add DoubleVariation and DoubleVariationDetail
eli-darkly Oct 21, 2021
f6d5bd6
Merge pull request #138 from launchdarkly/eb/sc-127926/double-variation
eli-darkly Oct 21, 2021
2116e1e
enable REPORT mode, except on Android
eli-darkly Oct 21, 2021
2d3f023
Merge pull request #139 from launchdarkly/eb/sc-111271/report-mode
eli-darkly Oct 22, 2021
46f997d
configure TaskExecutor to call event handlers on main thread in Andro…
eli-darkly Oct 25, 2021
9220463
add guard on writing to Xunit test output
eli-darkly Oct 25, 2021
c8f2d5c
Merge pull request #140 from launchdarkly/eb/sc-128274/event-dispatch
eli-darkly Oct 25, 2021
e29230e
implement diagnostic events (#137)
eli-darkly Oct 28, 2021
78b51ab
fix HttpMessageHandler + proxy configuration, add test coverage (#141)
eli-darkly Oct 28, 2021
33ff003
update MSBuild.Sdk.Extras to prevent spurious build warnings from .NE…
eli-darkly Nov 1, 2021
667e3bd
Merge pull request #142 from launchdarkly/eb/sc-129553/build-warnings
eli-darkly Nov 1, 2021
0bfc3d3
new persistent storage implementation + max users limit (#143)
eli-darkly Nov 5, 2021
f491260
better data source test coverage + misc bugfixes (#144)
eli-darkly Nov 5, 2021
0ded38e
use Releaser v2 configuration (#135)
eli-darkly Nov 5, 2021
ffebfde
add Authenticode signing in release builds; remove obsolete scripts (…
eli-darkly Nov 16, 2021
e7ca195
Merge branch 'master' of github.com:launchdarkly/xamarin-client-sdk
eli-darkly Nov 17, 2021
efa39f9
Merge branch '2.0'
eli-darkly Nov 17, 2021
b7c071b
add prerelease notice
eli-darkly Nov 17, 2021
5e70127
add strong naming in release build
eli-darkly Nov 17, 2021
67910df
revise local storage usage to only use base64url-safe characters in n…
eli-darkly Nov 18, 2021
48a33be
fix test package build script
eli-darkly Nov 18, 2021
785aed2
Merge pull request #146 from launchdarkly/eb/sc-131700/strong-name
eli-darkly Nov 18, 2021
b4951c5
Merge pull request #147 from launchdarkly/eb/sc-123650/storage-keys-c…
eli-darkly Nov 18, 2021
acc4dcc
remove ReadTimeout setting which only worked in Android but not in a …
eli-darkly Nov 18, 2021
6ab1d69
Merge branch 'master' into eb/sc-131858/read-timeout
eli-darkly Nov 18, 2021
70ba678
Merge branch '2.0'
eli-darkly Nov 18, 2021
b2b5c52
Merge branch 'master' into eb/sc-131858/read-timeout
eli-darkly Nov 18, 2021
fdb34a1
Merge pull request #148 from launchdarkly/eb/sc-131858/read-timeout
eli-darkly Nov 18, 2021
d936b09
refactor ConnectionManager state management to handle diagnostic even…
eli-darkly Nov 19, 2021
4e57c2a
fix init logic, add tests
eli-darkly Nov 19, 2021
5cec857
Merge pull request #149 from launchdarkly/eb/sc-121723/diag-disable-init
eli-darkly Nov 19, 2021
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
43 changes: 16 additions & 27 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ workflows:
jobs:
test-netstandard2.0:
docker:
- image: mcr.microsoft.com/dotnet/core/sdk:2.1-focal
- image: mcr.microsoft.com/dotnet/sdk:5.0-focal
environment:
ASPNETCORE_SUPPRESSSTATUSMESSAGES: "true" # suppresses annoying debug output from embedded HTTP servers in tests
steps:
- checkout
- run: dotnet restore
- run: dotnet build src/LaunchDarkly.XamarinSdk -f netstandard2.0
- run: dotnet test -v=normal tests/LaunchDarkly.XamarinSdk.Tests/LaunchDarkly.XamarinSdk.Tests.csproj -f netcoreapp2.1
- run: dotnet restore src/LaunchDarkly.ClientSdk
- run: dotnet build src/LaunchDarkly.ClientSdk -f netstandard2.0
- run: dotnet restore tests/LaunchDarkly.ClientSdk.Tests
- run: dotnet test -v=normal tests/LaunchDarkly.ClientSdk.Tests/LaunchDarkly.ClientSdk.Tests.csproj

test-android:
macos:
Expand All @@ -33,11 +34,11 @@ jobs:

- run:
name: Install .NET/Xamarin build tools
command: ./scripts/macos-install-xamarin.sh android
command: .circleci/scripts/macos-install-xamarin.sh android

- run:
name: Install Android SDK
command: ./scripts/macos-install-android-sdk.sh 27
command: .circleci/scripts/macos-install-android-sdk.sh 27

- run:
name: Set up emulator
Expand All @@ -54,13 +55,13 @@ jobs:
name: Build SDK
command: |
msbuild /restore /p:TargetFramework=MonoAndroid81 \
src/LaunchDarkly.XamarinSdk/LaunchDarkly.XamarinSdk.csproj
src/LaunchDarkly.ClientSdk/LaunchDarkly.ClientSdk.csproj

- run:
name: Build test project
command: |
msbuild /restore /t:SignAndroidPackage \
tests/LaunchDarkly.XamarinSdk.Android.Tests/LaunchDarkly.XamarinSdk.Android.Tests.csproj
tests/LaunchDarkly.ClientSdk.Android.Tests/LaunchDarkly.ClientSdk.Android.Tests.csproj

- run:
name: Wait for emulator
Expand All @@ -75,7 +76,7 @@ jobs:

- run:
name: Deploy app to emulator
command: adb install tests/LaunchDarkly.XamarinSdk.Android.Tests/bin/Debug/com.launchdarkly.xamarinandroidtests-Signed.apk
command: adb install tests/LaunchDarkly.ClientSdk.Android.Tests/bin/Debug/com.launchdarkly.xamarinandroidtests-Signed.apk

- run:
name: Start app in emulator
Expand Down Expand Up @@ -103,27 +104,15 @@ jobs:

- run:
name: Install .NET/Xamarin build tools
command: ./scripts/macos-install-xamarin.sh ios
command: .circleci/scripts/macos-install-xamarin.sh ios

- run:
name: Build SDK
command: msbuild /restore /p:Configuration=Debug /p:TargetFramework=Xamarin.iOS10 src/LaunchDarkly.XamarinSdk/LaunchDarkly.XamarinSdk.csproj

- run:
name: Pre-build storyboard
command: >-
/Applications/Xcode.app/Contents/Developer/usr/bin/ibtool --errors --warnings --notices --output-format xml1 --minimum-deployment-target 10.0
--target-device iphone --target-device ipad --auto-activate-custom-fonts
--sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk
--compilation-directory /Users/distiller/project/tests/LaunchDarkly.XamarinSdk.iOS.Tests/obj/iPhoneSimulator/Debug/xamarin.ios10/ibtool
/Users/distiller/project/tests/LaunchDarkly.XamarinSdk.iOS.Tests/LaunchScreen.storyboard
# This is the exact ibtool command that msbuild runs to build the first storyboard. The difference is that msbuild sets some environment variables
# which cause this command to fail. By pre-running this command, some unknown state gets set up that allows future calls to ibtool to succeed.
# It is unclear where this state resides or how this works...
command: msbuild /restore /p:Configuration=Debug /p:TargetFramework=Xamarin.iOS10 src/LaunchDarkly.ClientSdk/LaunchDarkly.ClientSdk.csproj

- run:
name: Build test project
command: msbuild /restore /p:Configuration=Debug /p:Platform=iPhoneSimulator tests/LaunchDarkly.XamarinSdk.iOS.Tests/LaunchDarkly.XamarinSdk.iOS.Tests.csproj
command: msbuild /restore /p:Configuration=Debug /p:Platform=iPhoneSimulator tests/LaunchDarkly.ClientSdk.iOS.Tests/LaunchDarkly.ClientSdk.iOS.Tests.csproj
# Note that we must specify Platform=iPhoneSimulator here explicitly because, when using a current
# version of msbuild with a project file that uses MSBuild.Sdk.Extras, it seems like Platform does *not*
# default to an empty string (I think it defaults to "AnyCPU"), therefore it will try to build it for a
Expand All @@ -138,16 +127,16 @@ jobs:

- run:
name: Load test app into simulator
command: xcrun simctl install "xm-ios" tests/LaunchDarkly.XamarinSdk.iOS.Tests/bin/Debug/xamarin.ios10/LaunchDarkly.XamarinSdk.iOS.Tests.app
command: xcrun simctl install "xm-ios" tests/LaunchDarkly.ClientSdk.iOS.Tests/bin/Debug/xamarin.ios10/LaunchDarkly.ClientSdk.iOS.Tests.app

- run:
name: Start capturing log output
command: xcrun simctl spawn booted log stream --predicate 'senderImagePath contains "LaunchDarkly.XamarinSdk.iOS.Tests"' | tee test-run.log
command: xcrun simctl spawn booted log stream --predicate 'senderImagePath contains "LaunchDarkly.ClientSdk.iOS.Tests"' | tee test-run.log
background: true

- run:
name: Launch test app in simulator
command: xcrun simctl launch "xm-ios" com.launchdarkly.XamarinSdkTests
command: xcrun simctl launch "xm-ios" com.launchdarkly.ClientSdkTests

- run:
name: Wait for tests to finish running
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
set -e

# The .NET SDK 5.0 installer is pinned to a specific version
DOTNET_SDK_INSTALLER_URL=https://download.visualstudio.microsoft.com/download/pr/de613120-9306-4867-b504-45fcc81ba1b6/2a03f18c549f52cf78f88afa44e6dc6a/dotnet-sdk-5.0.201-osx-x64.pkg
# See: https://dotnet.microsoft.com/download/dotnet/5.0
DOTNET_SDK_INSTALLER_URL=https://download.visualstudio.microsoft.com/download/pr/88bc1553-e90f-4a4f-9574-65d9a5065cd2/1d5646e1abb8b4d4a61ba0b0be976047/dotnet-sdk-5.0.402-osx-x64.pkg

# Currently we are also pinning the rest of the installers to specific version URLs.
# Alternately, we could use the "latest stable" mode of boots:
Expand Down Expand Up @@ -72,3 +73,15 @@ do
exit 1
esac
done

# In the CircleCI environment, /Applications/Xcode.app might be a symlink. The build
# tools can be confused by this (https://github.com/xamarin/xamarin-macios/issues/11006)
# so we'll just move things around so that is a real file.

if [[ -L /Applications/Xcode.app ]]; then
cd /Applications
real_xcode=`readlink Xcode.app`
rm Xcode.app
mv "$real_xcode" Xcode.app
sudo xcode-select --switch /Applications/Xcode.app
fi
28 changes: 28 additions & 0 deletions .ldrelease/build-docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

set -eu

# This script is only run in the Dockerized Linux job that is used for building
# documentation.

# This is a hack to deal with the conflict between two requirements:
# 1. Currently Xamarin projects must be built with msbuild, so the project file
# must use "MSBuild.Sdk.Extras".
# 2. Our documentation build process uses the dotnet CLI command, so it expects
# the project file to use "Microsoft.NET.Sdk" instead.
# As long as we are not building any Xamarin-specific targets, but only the .NET
# Standard target, it is OK to use "Microsoft.NET.Sdk". This script modifies the
# project file (only within the Docker container, not in source control) so it
# will build with "Microsoft.NET.Sdk" during this job.

PROJECT_FILE=./src/LaunchDarkly.ClientSdk/LaunchDarkly.ClientSdk.csproj

cp "${PROJECT_FILE}" "${PROJECT_FILE}.bak"
sed "s/MSBuild.Sdk.Extras/Microsoft.NET.Sdk/g" "${PROJECT_FILE}" > "${PROJECT_FILE}.tmp"
mv "${PROJECT_FILE}.tmp" "${PROJECT_FILE}"

# Now run the actual build-docs script from Releaser's project template
${LD_RELEASE_TEMP_DIR}/../template/build-docs.sh

# Change the project file back
mv "${PROJECT_FILE}.bak" "${PROJECT_FILE}"
53 changes: 32 additions & 21 deletions .ldrelease/config.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,45 @@
repo:
public: xamarin-client-sdk
private: xamarin-client-sdk-private
version: 2

circleci:
mac:
xcode: "12.4.0"
windows: # only for building documentation
env:
LD_RELEASE_DOCS_TARGET_FRAMEWORK: netstandard2.0
LD_RELEASE_DOCS_ASSEMBLIES: LaunchDarkly.XamarinSdk LaunchDarkly.CommonSdk
steps:
- step: build
- step: build-docs
- step: publish-docs
repo:
public: dotnet-client-sdk
private: dotnet-client-sdk-private

releasableBranches:
branches:
- name: master
description: 2.x
- name: 1.x

template:
name: dotnet-windows # only for building documentation
jobs:
# The main build happens on a Mac host
- circleCI:
mac:
xcode: "12.4.0"
context: org-global
steps:
- step: prepare
- step: build
- step: test
- step: publish

# Documentation is built in a Linux container
- template:
name: dotnet-linux
skip:
- test
- publish
- publish-dry-run
env:
BUILDFRAMEWORKS: netstandard2.0
LD_RELEASE_DOCS_TARGET_FRAMEWORK: netstandard2.0
LD_RELEASE_DOCS_ASSEMBLIES: LaunchDarkly.ClientSdk LaunchDarkly.CommonSdk

publications:
- url: https://www.nuget.org/packages/LaunchDarkly.XamarinSdk
- url: https://www.nuget.org/packages/LaunchDarkly.ClientSdk
description: NuGet

documentation:
title: LaunchDarkly Client-Side SDK for Xamarin
githubPages: true
title: LaunchDarkly Client-Side SDK for .NET
gitHubPages: true

sdk:
displayName: "Xamarin"
displayName: ".NET (client-side)"
35 changes: 32 additions & 3 deletions .ldrelease/mac-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,36 @@

set -eu

# Build the project for all target frameworks. This includes building the .nupkg, because of
# the <GeneratePackageOnBuild> directive in our project file.
PROJECT_FILE=src/LaunchDarkly.ClientSdk/LaunchDarkly.ClientSdk.csproj

msbuild /restore /p:Configuration=Debug src/LaunchDarkly.XamarinSdk/LaunchDarkly.XamarinSdk.csproj
# Build the project for all target frameworks. This does not include building the
# .nupkg, because we didn't set <GeneratePackageOnBuild> in our project file; we
# don't want to create the package until we've signed the assemblies.

msbuild /restore /p:Configuration=Release "${PROJECT_FILE}"

# Sign the code with osslsigncode (which was installed in mac-prepare.sh)

SIGNCODE_DIR="${LD_RELEASE_TEMP_DIR}/osslsigncode"
SIGNCODE="${SIGNCODE_DIR}/osslsigncode"

echo ""
echo "Signing assemblies..."
for dll in $(find ./src/LaunchDarkly.ClientSdk/bin/Release -name LaunchDarkly.ClientSdk.dll); do
echo -n "${dll}: "
${SIGNCODE} sign \
-certs "${LD_RELEASE_SECRETS_DIR}/dotnet_code_signing_certificate" \
-key "${LD_RELEASE_SECRETS_DIR}/dotnet_code_signing_private_key" \
-readpass "${LD_RELEASE_SECRETS_DIR}/dotnet_code_signing_private_key_passphrase" \
-h sha1 \
-n "LaunchDarkly" \
-i "https://www.launchdarkly.com/" \
-t "http://timestamp.comodoca.com/authenticode" \
-in "${dll}" \
-out "${dll}.signed" || (echo "Signing failed; see log for error" >&2; exit 1)
mv ${dll}.signed ${dll}
done

echo ""
echo "Creating NuGet package"
msbuild /t:pack /p:NoBuild=true /p:Configuration=Release "${PROJECT_FILE}"
36 changes: 32 additions & 4 deletions .ldrelease/mac-prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,36 @@
set -eu
set +o pipefail

./scripts/macos-install-xamarin.sh android ios
./scripts/macos-install-android-sdk.sh 25 26 27
./.circleci/scripts/macos-install-xamarin.sh android ios
./.circleci/scripts/macos-install-android-sdk.sh 25 26 27

export HOMEBREW_NO_AUTO_UPDATE=1
brew install awscli
# Download and build the osslsigncode tool. In our other .NET projects, code signing
# is handled by our standard project template scripts for .NET, which use a Docker
# image that already has osslsigncode installed. But here we're using a CircleCI job
# to do the build, so we need to do the code-signing in the same place and download
# the tool as needed. Unfortunately it has to be built from source.

SIGNCODE_DOWNLOAD_URL=https://github.com/mtrojnar/osslsigncode/releases/download/2.1/osslsigncode-2.1.0.tar.gz
SIGNCODE_ARCHIVE="${LD_RELEASE_TEMP_DIR}/osslsigncode-2.1.0.tar.gz"
SIGNCODE_DIR="${LD_RELEASE_TEMP_DIR}/osslsigncode"
SIGNCODE="${SIGNCODE_DIR}/osslsigncode"

echo ""
echo "Downloading osslsigncode..."
curl --fail --silent -L "${SIGNCODE_DOWNLOAD_URL}" >"${SIGNCODE_ARCHIVE}"
mkdir -p "${SIGNCODE_DIR}"
tar xfz "${SIGNCODE_ARCHIVE}" -C "${SIGNCODE_DIR}"

echo ""
echo "Building osslsigncode..."
HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config
export PKG_CONFIG=$(which pkg-config)
export PKG_CONFIG_PATH=/usr/local/Cellar/openssl@1.1/1.1.1i/lib/pkgconfig
pushd "${SIGNCODE_DIR}/osslsigncode-2.1.0"
./configure
make
cp osslsigncode ..
popd

# Copy the strong-naming key that was downloaded due to our secrets.properties declaration
cp "${LD_RELEASE_SECRETS_DIR}/LaunchDarkly.ClientSdk.snk" .
7 changes: 7 additions & 0 deletions .ldrelease/mac-publish-dry-run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

set -eu

for pkg in $(find ./src/LaunchDarkly.ClientSdk/bin/Release -name '*.nupkg' -o -name '*.snupkg'); do
cp "$pkg" "${LD_RELEASE_ARTIFACTS_DIR}"
done
12 changes: 6 additions & 6 deletions .ldrelease/mac-publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

set -eu

# Since we are currently publishing in Debug configuration, we can push the .nupkg that build.sh already built.
NUGET_KEY=$(cat "${LD_RELEASE_SECRETS_DIR}/dotnet_nuget_api_key")

export AWS_DEFAULT_REGION=us-east-1
NUGET_KEY=$(aws ssm get-parameter --name /production/common/services/nuget/api_key --with-decryption --query "Parameter.Value" --output text)

nuget push "./src/LaunchDarkly.XamarinSdk/bin/Debug/LaunchDarkly.XamarinSdk.${LD_RELEASE_VERSION}.nupkg" \
-ApiKey "${NUGET_KEY}" -Source https://www.nuget.org
for pkg in $(find ./src/LaunchDarkly.ClientSdk/bin/Release -name '*.nupkg' -o -name '*.snupkg'); do
echo "publishing $pkg"
nuget push "$pkg" -ApiKey "${NUGET_KEY}" -Source https://www.nuget.org
echo "published $pkg"
done
2 changes: 1 addition & 1 deletion .ldrelease/mac-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ set -eu

# Run the .NET Standard 2.0 unit tests. (Android and iOS tests are run by regular CI jobs)

dotnet test tests/LaunchDarkly.XamarinSdk.Tests/LaunchDarkly.XamarinSdk.Tests.csproj -f netcoreapp2.0
dotnet test tests/LaunchDarkly.ClientSdk.Tests/LaunchDarkly.ClientSdk.Tests.csproj -f net5.0
15 changes: 15 additions & 0 deletions .ldrelease/secrets.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

# Authenticode certificate. This is a "blob:" rather than a "param:" because it's several K of binary data.
dotnet_code_signing_certificate=blob:/code-signing/catamorphic_code_signing_certificate.pem

# Private key for the certificate.
dotnet_code_signing_private_key=blob:/code-signing/catamorphic_code_signing_private_key.pem

# Passphrase for the private key.
dotnet_code_signing_private_key_passphrase=param:/production/common/releasing/code_signing/private_key_passphrase

# NuGet API key for publishing packages.
dotnet_nuget_api_key=param:/production/common/services/nuget/api_key

# Strong-naming key.
LaunchDarkly.ClientSdk.snk=blob:/dotnet/LaunchDarkly.ClientSdk.snk
11 changes: 0 additions & 11 deletions .ldrelease/update-version.sh

This file was deleted.

11 changes: 0 additions & 11 deletions .ldrelease/windows-build.ps1

This file was deleted.

2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Change log

All notable changes to the LaunchDarkly Client-Side SDK for Xamarin will be documented in this file.
All notable changes to the LaunchDarkly Client-Side SDK for .NET will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org).

## [1.2.2] - 2021-04-06
Expand Down
Loading