Skip to content
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

prepare 2.0.0-beta.3 release #9

Merged
merged 126 commits into from
Aug 6, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
75f29a1
implement Value type for arbitrary JSON values
eli-darkly Dec 12, 2019
14cea8b
force CI rebuild
eli-darkly Dec 12, 2019
529f2a1
add go get
eli-darkly Dec 12, 2019
25fdf9e
fix go get
eli-darkly Dec 13, 2019
7478aa3
fix lint in CI
eli-darkly Dec 13, 2019
845020e
add Equal()
eli-darkly Dec 13, 2019
30fcb62
add EvaluationDetail and EvaluationReason
eli-darkly Dec 13, 2019
82923f6
fix import path
eli-darkly Dec 13, 2019
141acc1
readme fixes
eli-darkly Dec 13, 2019
0f673b0
update for v2
eli-darkly Dec 13, 2019
0342b4b
Merge branch 'v2' into eb/ch49035/detail-reason
eli-darkly Dec 13, 2019
d327ff8
fix doc comments
eli-darkly Dec 13, 2019
681a43d
add OptionalString
eli-darkly Dec 17, 2019
3220b69
misc cleanup, method renaming, better test coverage
eli-darkly Jan 23, 2020
44328ab
package comments
eli-darkly Jan 23, 2020
4cfc041
changed repo name
eli-darkly Jan 23, 2020
62437a9
numbers can't have leading decimal point
eli-darkly Jan 23, 2020
4dd29c8
Merge pull request #1 from launchdarkly/eb/ch49035/value-type
eli-darkly Jan 24, 2020
fd5ee91
actually we decided on go-sdk-common, not go-sdk-core
eli-darkly Jan 24, 2020
4a686f5
add license file
eli-darkly Jan 24, 2020
293c8b2
Merge branch 'public-v1' into v1
eli-darkly Jan 24, 2020
16fc315
OptionalString improvements + misc fixes
eli-darkly Jan 24, 2020
412e802
add OrElse
eli-darkly Jan 24, 2020
5e07050
add tests
eli-darkly Jan 24, 2020
7f9a2eb
comment
eli-darkly Jan 24, 2020
871db18
Merge branch 'v2' of github.com:launchdarkly/go-sdk-common-private in…
eli-darkly Jan 24, 2020
ec60b93
remove unsafe interface{} usage
eli-darkly Jan 24, 2020
bfb9c44
copy User and related types from go-server-sdk
eli-darkly Jan 24, 2020
7a88acd
OptionalString improvements + misc fixes (#2)
eli-darkly Jan 24, 2020
a626c5e
(common v2/SDK v5) don't use pointers or interface{}s in User
eli-darkly Jan 28, 2020
b57319b
lint
eli-darkly Jan 28, 2020
e5a23b3
lint
eli-darkly Jan 28, 2020
16c7079
Merge branch 'eb/ch58941/copy-user' into eb/ch58941/common-v2-user
eli-darkly Jan 28, 2020
312476d
rm references to obsolete function
eli-darkly Jan 28, 2020
87d4910
Merge branch 'eb/ch58941/copy-user' into eb/ch58941/common-v2-user
eli-darkly Jan 28, 2020
576fd88
(v2 - #1) copy User and related types from go-server-sdk (#3)
eli-darkly Jan 28, 2020
558a682
Merge branch 'v2' into eb/ch58941/common-v2-user
eli-darkly Jan 28, 2020
e63561b
Merge pull request #4 from launchdarkly/eb/ch58941/common-v2-user
eli-darkly Jan 28, 2020
88414be
hide all User fields, improve internal structure, add getters
eli-darkly Jan 28, 2020
b0924fd
lint
eli-darkly Jan 28, 2020
67e75cc
Merge pull request #5 from launchdarkly/eb/ch58941/hide-user-fields
eli-darkly Jan 28, 2020
a9f1f8a
Merge branch 'v1' into v2
eli-darkly Jan 29, 2020
7ccd883
Merge branch 'eb/ch63370/remove-unsafe' into eb/ch58941/user-accessors
eli-darkly Jan 29, 2020
7a480b8
add convenience methods for enumerable types
eli-darkly Jan 29, 2020
4058727
User model improvements related to custom/private attributes
eli-darkly Jan 29, 2020
6ad0ad0
lint
eli-darkly Jan 29, 2020
5db5e14
Merge branch 'v2' into eb/ch63370/remove-unsafe
eli-darkly Jan 29, 2020
8459cbe
Merge branch 'eb/ch63370/remove-unsafe' into eb/ch58941/value-enumera…
eli-darkly Jan 29, 2020
4df7f25
Merge branch 'eb/ch58941/value-enumeration' into eb/ch58941/user-acce…
eli-darkly Jan 29, 2020
2284162
Merge pull request #6 from launchdarkly/eb/ch63370/remove-unsafe
eli-darkly Jan 30, 2020
ec4cad1
Merge pull request #7 from launchdarkly/eb/ch58941/value-enumeration
eli-darkly Jan 30, 2020
3e63beb
Merge pull request #8 from launchdarkly/eb/ch58941/user-accessors
eli-darkly Jan 30, 2020
e588112
Merge branch 'public-v1' into v1
eli-darkly Feb 1, 2020
b1956fd
update release config
eli-darkly Feb 1, 2020
3f638e7
Merge branch 'public-v1' into v1
eli-darkly Feb 1, 2020
50130e8
Merge branch 'v1' into v2
eli-darkly Feb 1, 2020
7688db6
update release config
eli-darkly Feb 1, 2020
aece760
Merge branch 'public-v1' into v1
eli-darkly Feb 1, 2020
4ef5401
Merge branch 'v2' into eb/ch63866/detail-reason
eli-darkly Feb 1, 2020
256b653
fix package references
eli-darkly Feb 1, 2020
0b761e2
Merge pull request #9 from launchdarkly/eb/ch63866/detail-reason
eli-darkly Feb 3, 2020
547cd23
Merge branch 'v1' of github.com:launchdarkly/go-sdk-common into v1
eli-darkly Feb 4, 2020
065bb63
Merge branch 'v1' into v2
eli-darkly Feb 4, 2020
357513b
add ldlog package to go-sdk-common
eli-darkly Feb 4, 2020
1f08c69
lint
eli-darkly Feb 4, 2020
f7d094e
drop Go 1.8-1.11 and update linter
eli-darkly Feb 4, 2020
fb76722
gitignore
eli-darkly Feb 4, 2020
085fb8b
Merge pull request #11 from launchdarkly/eb/ch62105/drop-old-go
eli-darkly Feb 4, 2020
ebb06d6
Merge branch 'v2' into eb/ch64207/ldlog-common
eli-darkly Feb 4, 2020
0490d52
lint
eli-darkly Feb 4, 2020
08c2cf5
Merge pull request #10 from launchdarkly/eb/ch64207/ldlog-common
eli-darkly Feb 4, 2020
0e5056e
add ldtime package for time helpers
eli-darkly Feb 23, 2020
9ce753b
Merge pull request #12 from launchdarkly/eb/ch64206/time-type
eli-darkly Feb 24, 2020
ecc98c6
add Go 1.14 in CI
eli-darkly Mar 2, 2020
d551adb
Merge pull request #13 from launchdarkly/eb/ch67936/go-1.14
eli-darkly Mar 2, 2020
e9701ec
Merge branch 'v1' into v2
eli-darkly Mar 2, 2020
24c7e66
desupport Go 1.12
eli-darkly Mar 2, 2020
bdf9ef7
makefile improvement
eli-darkly Mar 2, 2020
82ce336
Merge pull request #14 from launchdarkly/eb/ch67936/no-go-1.12
eli-darkly Mar 2, 2020
e085a3a
Merge branch 'public-v2' into v2
eli-darkly Apr 1, 2020
7b18d72
make repo a module
eli-darkly Jun 4, 2020
343917d
don't install dep
eli-darkly Jun 4, 2020
6798fbe
yaml fix
eli-darkly Jun 4, 2020
0e0d49f
update golangci-lint + misc code cleanup
eli-darkly Jun 4, 2020
a9985bd
Merge branch 'eb/ch78747/linter-update' into eb/ch78731/modules
eli-darkly Jun 4, 2020
79fddc6
add methods for detecting current log level
eli-darkly Jun 4, 2020
a4bcae8
enforce consistent import groups
eli-darkly Jun 4, 2020
37676bf
enable stylecheck, fix comment
eli-darkly Jun 4, 2020
c1a52d2
add prerelease readme note
eli-darkly Jun 4, 2020
8e0ba06
Merge pull request #17 from launchdarkly/eb/ch77304/detect-debug-level
eli-darkly Jun 4, 2020
9bca369
Merge pull request #15 from launchdarkly/eb/ch78747/linter-update
eli-darkly Jun 4, 2020
09af655
Merge pull request #16 from launchdarkly/eb/ch78731/modules
eli-darkly Jun 4, 2020
3252370
Merge branch 'v2' of github.com:launchdarkly/go-sdk-common into v2
eli-darkly Jun 4, 2020
4547f29
improve test coverage and enforce coverage goals (#18)
eli-darkly Jun 11, 2020
306b165
update readme note about import path, add godoc badge
eli-darkly Jun 12, 2020
78993dd
better badge
eli-darkly Jun 12, 2020
d882b28
omit unset properties in user JSON instead of serializing null value
eli-darkly Jun 16, 2020
4c03ea3
don't allocate extra objects when setting user builder properties
eli-darkly Jun 16, 2020
5dbe2b1
Merge pull request #19 from launchdarkly/eb/ch79884/compact-user-json
eli-darkly Jun 16, 2020
c3da53a
Merge pull request #20 from launchdarkly/eb/ch77304/single-user-build…
eli-darkly Jun 16, 2020
2608fda
add generic user attr setter and more Value helper methods
eli-darkly Jun 16, 2020
d61956f
add benchmarks and enforce zero-allocation goals
eli-darkly Jun 16, 2020
5065348
Merge pull request #21 from launchdarkly/eb/ch79888/set-any-user-attr
eli-darkly Jun 16, 2020
fbe1e72
Merge pull request #22 from launchdarkly/eb/ch77270/benchmarks
eli-darkly Jun 16, 2020
467c837
implement streaming JSON serialization (#23)
eli-darkly Jun 17, 2020
ea7567b
fix bug in JSONBuffer state when writing zeroes
eli-darkly Jun 17, 2020
201d583
Merge pull request #24 from launchdarkly/eb/ch79944/jsonstream-zero-bug
eli-darkly Jun 17, 2020
503da9b
fix note about import path
eli-darkly Jun 18, 2020
2422e4e
go mod tidy
eli-darkly Jun 18, 2020
50ddf12
fix JSONBuffer string escaping, + slight refactor
eli-darkly Jun 18, 2020
0e2db4d
remove accidental inclusions from another branch
eli-darkly Jun 18, 2020
b33a319
lint
eli-darkly Jun 18, 2020
cc049b5
remove inapplicable comments
eli-darkly Jun 18, 2020
454b10c
add ability to send buffered JSON output to another writer
eli-darkly Jun 18, 2020
7aec220
Merge pull request #25 from launchdarkly/eb/ch79944/json-string-escaping
eli-darkly Jun 19, 2020
660a5ba
Merge pull request #26 from launchdarkly/eb/ch79944/stream-to-writer
eli-darkly Jun 19, 2020
2d6f974
Merge branch 'v2' of github.com:launchdarkly/go-sdk-common into v2
eli-darkly Jun 24, 2020
1bfadb3
Merge branch 'v2' of github.com:launchdarkly/go-sdk-common into v2
eli-darkly Jun 24, 2020
cc24b10
add log test helper package
eli-darkly Jun 25, 2020
2360388
Merge branch 'v2' of github.com:launchdarkly/go-sdk-common into v2
eli-darkly Jul 1, 2020
d755157
Merge pull request #27 from launchdarkly/eb/ch80986/mock-log
eli-darkly Jul 6, 2020
68c56ca
add UnmarshalText and other helper methods to OptionalString
eli-darkly Jul 6, 2020
e4e7b0f
Merge pull request #29 from launchdarkly/eb/ch81912/opt-string-parsing
eli-darkly Jul 6, 2020
290b7ab
use go-test-helpers v2 (removes unwanted eventsource dependency) (#28)
eli-darkly Jul 6, 2020
70fdf76
Merge branch 'v2' of github.com:launchdarkly/go-sdk-common into v2
eli-darkly Jul 6, 2020
cb3c12e
user unmarshaling should fail if key is missing (#30)
eli-darkly Aug 6, 2020
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
Next Next commit
implement Value type for arbitrary JSON values
  • Loading branch information
eli-darkly committed Dec 12, 2019
commit 75f29a173be46a703636bff353e741f345a1f2d8
95 changes: 95 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
version: 2.1

orbs:
win: circleci/windows@1.0.0

workflows:
workflow:
jobs:
- go-test:
name: Go 1.13
docker-image: circleci/golang:1.13
- go-test:
name: Go 1.12
docker-image: circleci/golang:1.12
- go-test:
name: Go 1.11
docker-image: circleci/golang:1.11
- go-test:
name: Go 1.10
docker-image: circleci/golang:1.10
- go-test:
name: Go 1.9
docker-image: circleci/golang:1.9
- go-test:
name: Go 1.8
docker-image: circleci/golang:1.8
- go-test-windows:
name: Windows

jobs:
go-test:
parameters:
run-lint:
type: boolean
default: true
docker-image:
type: string

docker:
- image: <<parameters.docker-image>>
environment:
CIRCLE_TEST_REPORTS: /tmp/circle-reports
CIRCLE_ARTIFACTS: /tmp/circle-artifacts
COMMON_GO_PACKAGES: >
github.com/golang/dep/cmd/dep
github.com/jstemmer/go-junit-report

working_directory: /go/src/gopkg.in/launchdarkly/go-server-sdk-core.v1

steps:
- checkout
- run: go get -u $COMMON_GO_PACKAGES
- when:
condition: <<parameters.run-lint>>
steps:
- run: make lint
- run: go build ./...

- run:
name: Run tests
command: |
mkdir -p $CIRCLE_TEST_REPORTS
mkdir -p $CIRCLE_ARTIFACTS
trap "go-junit-report < $CIRCLE_ARTIFACTS/report.txt > $CIRCLE_TEST_REPORTS/junit.xml" EXIT
make test | tee $CIRCLE_ARTIFACTS/report.txt

- store_test_results:
path: /tmp/circle-reports

- store_artifacts:
path: /tmp/circle-artifacts

go-test-windows:
executor:
name: win/vs2019
shell: powershell.exe

environment:
GOPATH: C:\Users\VssAdministrator\go
PACKAGE_PATH: gopkg.in\launchdarkly\go-server-sdk-core.v1

steps:
- checkout
- run: go version
- run:
name: move source
command: |
go env GOPATH
mkdir ${env:GOPATH}\src\${env:PACKAGE_PATH}
mv * ${env:GOPATH}\src\${env:PACKAGE_PATH}\
- run:
name: build and test
command: |
cd ${env:GOPATH}\src\${env:PACKAGE_PATH}
go test -race ./...
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Is this a support request?**
This issue tracker is maintained by LaunchDarkly SDK developers and is intended for feedback on the SDK code. If you're not sure whether the problem you are having is specifically related to the SDK, or to the LaunchDarkly service overall, it may be more appropriate to contact the LaunchDarkly support team; they can help to investigate the problem and will consult the SDK team if necessary. You can submit a support request by going [here](https://support.launchdarkly.com/) and clicking "submit a request", or by emailing support@launchdarkly.com.

Note that issues filed on this issue tracker are publicly accessible. Do not provide any private account information on your issues. If your problem is specific to your account, you should submit a support request as described above.

**Describe the bug**
A clear and concise description of what the bug is.

**To reproduce**
Steps to reproduce the behavior.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Logs**
If applicable, add any log output related to your problem.

**SDK version**
The version of this SDK that you are using.

**Language version, developer tools**
For instance, Go 1.11 or Ruby 2.5.3. If you are using a language that requires a separate compiler, such as C, please include the name and version of the compiler too.

**OS/platform**
For instance, Ubuntu 16.04, Windows 10, or Android 4.0.3. If your code is running in a browser, please also include the browser type and version.

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I would love to see the SDK [...does something new...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context about the feature request here.
21 changes: 21 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
**Requirements**

- [ ] I have added test coverage for new or changed functionality
- [ ] I have followed the repository's [pull request submission guidelines](../blob/master/CONTRIBUTING.md#submitting-pull-requests)
- [ ] I have validated my changes against all supported platform versions

**Related issues**

Provide links to any issues in this repository or elsewhere relating to this pull request.

**Describe the solution you've provided**

Provide a clear and concise description of what you expect to happen.

**Describe alternatives you've considered**

Provide a clear and concise description of any alternative solutions or features you've considered.

**Additional context**

Add any other context about the pull request here.
18 changes: 18 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
run:
deadline: 120s
tests: false

linters:
enable-all: true
disable:
- goconst
fast: false

linter-settings:
gofmt:
simplify: false

issues:
exclude-use-default: false
max-same-issues: 1000
max-per-linter: 1000
10 changes: 10 additions & 0 deletions .ldrelease/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
repo:
public: go-server-sdk-core
private: go-server-sdk-core-private

releasableBranches:
- name: v1

publications:
- url: https://godoc.org/github.com/launchdarkly/go-server-sdk-core
description: documentation
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Change log

All notable changes to the project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
43 changes: 43 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Contributing to this project

LaunchDarkly has published an [SDK contributor's guide](https://docs.launchdarkly.com/docs/sdk-contributors-guide) that provides a detailed explanation of how our SDKs work. See below for additional information on how to contribute to this project.

## Submitting bug reports and feature requests

The LaunchDarkly SDK team monitors the [issue tracker](https://github.com/launchdarkly/go-server-sdk-core/issues) in tis repository. Bug reports and feature requests specific to this project should be filed in this issue tracker. The SDK team will respond to all newly filed issues within two business days. For issues or requests that are more generally related to the LaunchDarkly Go SDK, rather than specifically for the code in this repository, please use the [`go-server-sdk`](https://github.com/launchdarkly/go-server-sdk) repository.

## Submitting pull requests

We encourage pull requests and other contributions from the community. Before submitting pull requests, ensure that all temporary or unintended code is removed. Don't worry about adding reviewers to the pull request; the LaunchDarkly SDK team will add themselves. The SDK team will acknowledge all pull requests within two business days.

## Build instructions

### Prerequisites

This project should be built against Go 1.8 or newer.

Note that the public import path is `gopkg.in/launchdarkly/go-server-sdk-core.v1` (using the [`gopkg.in`](https://labix.org/gopkg.in) service as a simple way to pin to a major version). Since it does not use Go modules, and it references its own import path in imports between packages, this means that in order to build it you must check it out at `$GOPATH/src/gopkg.in/launchdarkly/go-server-sdk-core.v1`-- not `$GOPATH/src/github.com/launchdarkly/go-server-sdk-core`.

### Building

To build the project without running any tests:
```
make
```

If you wish to clean your working directory between builds, you can clean it by running:
```
make clean
```

To run the linter:
```
make lint
```

### Testing

To build and run all unit tests:
```
make test
```
22 changes: 22 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

GOLANGCI_LINT_VERSION=v1.10.2

LINTER=./bin/golangci-lint

.PHONY: build clean test lint

build:
go build ./...

clean:
go clean

test:
@# Note, we need to specify all these packages individually for go test in order to remain 1.8-compatible
go test -race -v ./ldvalue

$(LINTER):
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s $(GOLANGCI_LINT_VERSION)

lint: $(LINTER)
$(LINTER) run ./...
39 changes: 39 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# LaunchDarkly Go SDK Core Packages
===================================

[![Circle CI](https://circleci.com/gh/launchdarkly/go-server-sdk-core.svg?style=svg)](https://circleci.com/gh/launchdarkly/go-server-sdk-core)

## Overview

This repository contains packages that are shared between the [LaunchDarkly Go SDK](https://github.com/launchdarkly/go-server-sdk) and other LaunchDarkly Go components.

Applications using the LaunchDarkly Go SDK will usually not need to reference these packages directly. If you do (for instance, if you are using the SDK's JSONVariation method, which returns the type `Value` from the `ldvalue` package), you should import the same major version of the package that is imported by the SDK. See the SDK documentation for more details.

Note that the base import path is `gopkg.in/launchdarkly/go-server-sdk-core.v1` (to ensure that you receive the latest release of major version 1.x), not `github.com/launchdarkly/go-server-sdk`.

## Supported Go versions

This version of the project has been tested with Go 1.8 through 1.13.

## Learn more

Check out our [documentation](http://docs.launchdarkly.com) for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the [complete reference guide for the Go SDK](http://docs.launchdarkly.com/docs/go-sdk-reference), or the [generated API documentation](https://godoc.org/gopkg.in/launchdarkly/go-server-sdk-core.v1) for this project.

## Contributing

We encourage pull requests and other contributions from the community. Check out our [contributing guidelines](CONTRIBUTING.md) for instructions on how to contribute to this SDK.

## About LaunchDarkly

* LaunchDarkly is a continuous delivery platform that provides feature flags as a service and allows developers to iterate quickly and safely. We allow you to easily flag your features and manage them from the LaunchDarkly dashboard. With LaunchDarkly, you can:
* Roll out a new feature to a subset of your users (like a group of users who opt-in to a beta tester group), gathering feedback and bug reports from real-world use cases.
* Gradually roll out a feature to an increasing percentage of users, and track the effect that the feature has on key metrics (for instance, how likely is a user to complete a purchase if they have feature A versus feature B?).
* Turn off a feature that you realize is causing performance problems in production, without needing to re-deploy, or even restart the application with a changed configuration file.
* Grant access to certain features based on user attributes, like payment plan (eg: users on the ‘gold’ plan get access to more features than users in the ‘silver’ plan). Disable parts of your application to facilitate maintenance, without taking everything offline.
* LaunchDarkly provides feature flag SDKs for a wide variety of languages and technologies. Check out [our documentation](https://docs.launchdarkly.com/docs) for a complete list.
* Explore LaunchDarkly
* [launchdarkly.com](https://www.launchdarkly.com/ "LaunchDarkly Main Website") for more information
* [docs.launchdarkly.com](https://docs.launchdarkly.com/ "LaunchDarkly Documentation") for our documentation and SDK reference guides
* [apidocs.launchdarkly.com](https://apidocs.launchdarkly.com/ "LaunchDarkly API Documentation") for our API documentation
* [blog.launchdarkly.com](https://blog.launchdarkly.com/ "LaunchDarkly Blog Documentation") for the latest product updates
* [Feature Flagging Guide](https://github.com/launchdarkly/featureflags/ "Feature Flagging Guide") for best practices and strategies
Loading