Skip to content

chore: Updated change log and readme #194

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 12 commits into from
Sep 26, 2019
Merged

Conversation

mnoman09
Copy link
Contributor

Summary

  • Added event processor changes in change log and updated readme

@mnoman09 mnoman09 requested a review from a team as a code owner August 21, 2019 10:51
CHANGELOG.md Outdated
@@ -1,3 +1,20 @@
# Optimizely Csharp SDK Changelog

## 3.2.0
Copy link
Contributor

Choose a reason for hiding this comment

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

Version should be 3.3.3 and the date August 22 (aiming to release tomorrow)

Copy link

Choose a reason for hiding this comment

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

Should be 3.3.0, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

yeah 3.3.0.

CHANGELOG.md Outdated
August 19th, 2019

### New Features:
- Introduced `UserEventFactory` which will return impression and conversion event.
Copy link
Contributor

Choose a reason for hiding this comment

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

Should be in sync with the release notes from the JS SDK: optimizely/javascript-sdk#354

Copy link

Choose a reason for hiding this comment

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

We could align on the style of these changelogs. JS's is verbose and reads like a summary/guide, but Java and this one are spartan.

README.md Outdated
@@ -68,7 +68,7 @@ The Optimizely client object accepts the following plug-ins:
2. `ILogger` exposes a single method, Log, to record activity in the SDK. An example of a class to bridge the SDK's Log to Log4Net is provided in the Demo Application.
3. `IErrorHandler` allows you to implement custom logic when Exceptions are thrown. Note that Exception information is already included in the Log.
4. `ProjectConfigManager` exposes method for retrieving ProjectConfig instance. Examples include `FallbackProjectConfigManager` and `HttpProjectConfigManager`.

5. `EventProcessor` provide an intermediary processing stage within event production. It's assumed that the EventProcessor dispatches events via a provided EventDispatcher. Examples include `ForwardingEventProcessor` and `BatchEventProcessor`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: provides an intermediary...

CHANGELOG.md Outdated
### Deprecated
- `EventBuilder` was deprecated and now we will be using `UserEventFactory` and `EventFactory` to create logEvents.
- `LogEvent` was deprecated from `TrackNotification` and `ActivateNotification` notifications in favor of explicit `LogEvent` notification.
- New features will no longer be supported on `.net framework 1.6`
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this synonymous with .net core 1.6? Should we can it that instead?

Copy link
Contributor

@msohailhussain msohailhussain left a comment

Choose a reason for hiding this comment

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

please make the changes except one where I need to confirm with matt. This PR need to be rebased as well.

CHANGELOG.md Outdated
- Events generated by methods like `activate`, `track`, and `isFeatureEnabled` will be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be combined into a request and sent to the event dispatcher.
- To configure event batching, set the `eventBatchSize` and `eventFlushInterval` properties in the `OptimizelyFactory` using `OptimizelyFactory.SetBatchSize(int batchSize)` and `OptimizelyFactory.SetFlushInterval(TimeSpan flushInterval)` and then create `OptimizelyFactory.NewDefaultInstance`.
- Event batching is enabled by default. `eventBatchSize` defaults to `10`. `eventFlushInterval` defaults to `30000` Milliseconds.
- Updated the `dispose` method representing the process of closing the instance. When `dispose` is called, any events waiting to be sent as part of a batched event request will be immediately batched and sent to the event dispatcher.
Copy link
Contributor

Choose a reason for hiding this comment

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

will be immediately batched or timed out depending on the timed out interval @mikeng13 @mjc1283 is this suggestion look OK?

Copy link

@mjc1283 mjc1283 Aug 22, 2019

Choose a reason for hiding this comment

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

I suggest saying immediately batched and sent to event dispatcher, then describe the timeout functionality in another bullet point.

CHANGELOG.md Outdated
- To configure event batching, set the `eventBatchSize` and `eventFlushInterval` properties in the `OptimizelyFactory` using `OptimizelyFactory.SetBatchSize(int batchSize)` and `OptimizelyFactory.SetFlushInterval(TimeSpan flushInterval)` and then create `OptimizelyFactory.NewDefaultInstance`.
- Event batching is enabled by default. `eventBatchSize` defaults to `10`. `eventFlushInterval` defaults to `30000` Milliseconds.
- Updated the `dispose` method representing the process of closing the instance. When `dispose` is called, any events waiting to be sent as part of a batched event request will be immediately batched and sent to the event dispatcher.
- If any such requests were sent to the event dispatcher, `close` returns a `Promise` that fulfills after the event dispatcher calls the response callback for each request. Otherwise, `close` returns an immediately-fulfilled `Promise`.
Copy link
Contributor

Choose a reason for hiding this comment

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

looks like this is more relevant to javascript. we don't return any promise. Dispose is called that's it.

CHANGELOG.md Outdated
- If any such requests were sent to the event dispatcher, `close` returns a `Promise` that fulfills after the event dispatcher calls the response callback for each request. Otherwise, `close` returns an immediately-fulfilled `Promise`.

### Deprecated
- `EventBuilder` was deprecated and now we will be using `UserEventFactory` and `EventFactory` to create logEvents.
Copy link
Contributor

Choose a reason for hiding this comment

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

have we added warning for eventbuilder ?

Copy link
Contributor

Choose a reason for hiding this comment

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

LogEvents, referring to class.

CHANGELOG.md Outdated
### Deprecated
- `EventBuilder` was deprecated and now we will be using `UserEventFactory` and `EventFactory` to create logEvents.
- `LogEvent` was deprecated from `TrackNotification` and `ActivateNotification` notifications in favor of explicit `LogEvent` notification.
- New features will no longer be supported on `.net standard 1.6`
Copy link
Contributor

Choose a reason for hiding this comment

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

Please add we have deprecated .net standard 1.6 and .net 3.5.

@msohailhussain
Copy link
Contributor

as soon as #195 is merged, please rebase with master.

Copy link
Contributor

@mikeproeng37 mikeproeng37 left a comment

Choose a reason for hiding this comment

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

Also, please merge latest master in here

CHANGELOG.md Outdated
# Optimizely Csharp SDK Changelog

## 3.3.0
August 22nd, 2019
Copy link
Contributor

Choose a reason for hiding this comment

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

Probably update this to Sept 3rd :)

@mikeproeng37
Copy link
Contributor

Ping on changes here

@mikeproeng37
Copy link
Contributor

We've decided to postpone the release until Sept 16th. Let's move it there and also include the app config support.

@msohailhussain
Copy link
Contributor

@mnoman09 Please add config support change log and polling start by default in change log. Also update this branch.
Change the release date to 19th September.

Copy link
Contributor

@msohailhussain msohailhussain left a comment

Choose a reason for hiding this comment

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

please address the requested changes.

CHANGELOG.md Outdated

### New Features:
- Added support for event batching via the event processor.
- Events generated by methods like `activate`, `track`, and `isFeatureEnabled` will be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be combined into a request and sent to the event dispatcher.
Copy link
Contributor

Choose a reason for hiding this comment

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

Activate, Track, IsFeatureEnabled typo.

CHANGELOG.md Outdated
### New Features:
- Added support for event batching via the event processor.
- Events generated by methods like `activate`, `track`, and `isFeatureEnabled` will be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be combined into a request and sent to the event dispatcher.
- To configure event batching, set the `eventBatchSize` and `eventFlushInterval` properties in the `OptimizelyFactory` using `OptimizelyFactory.SetBatchSize(int batchSize)` and `OptimizelyFactory.SetFlushInterval(TimeSpan flushInterval)` and then create `OptimizelyFactory.NewDefaultInstance`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Please use the correct property names. @mnoman09

CHANGELOG.md Outdated
- To configure event batching, set the `eventBatchSize` and `eventFlushInterval` properties in the `OptimizelyFactory` using `OptimizelyFactory.SetBatchSize(int batchSize)` and `OptimizelyFactory.SetFlushInterval(TimeSpan flushInterval)` and then create `OptimizelyFactory.NewDefaultInstance`.
- Event batching is enabled by default. `eventBatchSize` defaults to `10`. `eventFlushInterval` defaults to `30000` Milliseconds.
- Updated the `dispose` method representing the process of closing the instance. When `dispose` is called, any events waiting to be sent as part of a batched event request will be immediately batched and sent to the event dispatcher.
- If any such requests were sent to the event dispatcher, `close` waits for provided `TimeoutInterval` before closing, so that events get successfully dispatched.
Copy link
Contributor

Choose a reason for hiding this comment

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

Close?

CHANGELOG.md Outdated
- If any such requests were sent to the event dispatcher, `close` returns a `Promise` that fulfills after the event dispatcher calls the response callback for each request. Otherwise, `close` returns an immediately-fulfilled `Promise`.

### Deprecated
- `EventBuilder` was deprecated and now we will be using `UserEventFactory` and `EventFactory` to create logEvents.
Copy link
Contributor

Choose a reason for hiding this comment

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

LogEvents, referring to class.

CHANGELOG.md Outdated

### Deprecated
- `EventBuilder` was deprecated and now we will be using `UserEventFactory` and `EventFactory` to create logEvents.
- `LogEvent` was deprecated from `TrackNotification` and `ActivateNotification` notifications in favor of explicit `LogEvent` notification.
Copy link
Contributor

Choose a reason for hiding this comment

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

looks bit confusing. We are talking about notification and above this point, we are talking about class. Need to distinguish clearly between these two points.

CHANGELOG.md Outdated
# Optimizely Csharp SDK Changelog

## 3.3.0
September 3rd, 2019
Copy link
Contributor

Choose a reason for hiding this comment

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

date change to 19th september.

CHANGELOG.md Outdated
@@ -1,3 +1,23 @@
# Optimizely Csharp SDK Changelog

Choose a reason for hiding this comment

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

nit. Let's say C# and not Csharp.

CHANGELOG.md Outdated
September 19th, 2019

### New Features:
- Configuration manager is set to PollingProjectConfigManager and polling will be started by default.

Choose a reason for hiding this comment

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

nit. Make it more descriptive.

... polling for datafile will be started by default ...

CHANGELOG.md Outdated
- Configuration manager is set to PollingProjectConfigManager and polling will be started by default.
- Added support for event batching via the event processor.
- Events generated by methods like `Activate`, `Track`, and `IsFeatureEnabled` will be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be combined into a request and sent to the event dispatcher.
- To configure event batching, set the `MaxEventBatchSize` and `MaxEventFlushInterval` properties in the `OptimizelyFactory` using `OptimizelyFactory.SetBatchSize(int batchSize)` and `OptimizelyFactory.SetFlushInterval(TimeSpan flushInterval)` and then create `OptimizelyFactory.NewDefaultInstance`.

Choose a reason for hiding this comment

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

nit. and then creating using ...

CHANGELOG.md Outdated
- Added support for event batching via the event processor.
- Events generated by methods like `Activate`, `Track`, and `IsFeatureEnabled` will be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be combined into a request and sent to the event dispatcher.
- To configure event batching, set the `MaxEventBatchSize` and `MaxEventFlushInterval` properties in the `OptimizelyFactory` using `OptimizelyFactory.SetBatchSize(int batchSize)` and `OptimizelyFactory.SetFlushInterval(TimeSpan flushInterval)` and then create `OptimizelyFactory.NewDefaultInstance`.
- Event batching is enabled by default. `eventBatchSize` defaults to `10`. `eventFlushInterval` defaults to `30000` Milliseconds.

Choose a reason for hiding this comment

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

nit. milliseconds (small m)

CHANGELOG.md Outdated

### Deprecated
- `EventBuilder` was deprecated and now we will be using `UserEventFactory` and `EventFactory` to create LogEvent Object.
- Deprecated `Activate` and `Track` notifications in favor of explicit `LogEvent` notification.

Choose a reason for hiding this comment

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

We should only mention Track notification listener here as Activate was already marked as deprecated previously.

CHANGELOG.md Outdated
# Optimizely Csharp SDK Changelog

## 3.3.0
September 19th, 2019

Choose a reason for hiding this comment

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

You will need to update date.

Copy link

@aliabbasrizvi aliabbasrizvi left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@msohailhussain msohailhussain left a comment

Choose a reason for hiding this comment

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

lgtm.
flakiness issue is coming up but it's related to testapp.

@mikeproeng37 mikeproeng37 merged commit f1fe877 into master Sep 26, 2019
@mnoman09 mnoman09 deleted the mnoman/EPChangeLogUpdate branch January 6, 2021 16:11
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.

5 participants