Skip to content

Commit

Permalink
Update to .NET Standard 1.2
Browse files Browse the repository at this point in the history
Closes #21
  • Loading branch information
kamranayub committed May 26, 2017
2 parents 1fc40cb + 5fa007e commit 2e47736
Show file tree
Hide file tree
Showing 34 changed files with 921 additions and 1,301 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
*.DS_Store

#Visual Studio files
.vs/
*.[Oo]bj
bin*/*.exe
*.pdb
Expand Down
165 changes: 73 additions & 92 deletions GiantBomb.Api/readme.txt → CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,92 +1,73 @@
GiantBomb C#
------------

[![Build status](https://ci.appveyor.com/api/projects/status/hh268dmpd08qfjqt?svg=true)](https://ci.appveyor.com/project/kamranayub/giantbomb-csharp)

## 2.3.0

- **BUG:** Fixed deserialization exception for single resource errors (e.g. Object Not Found)
- **BUG:** Fixed synchronous API to not deadlock
- Removed fastJSON DLL since it wasn't *actually* being used
- Upgrade to RestSharp 105.2.3
- Added .NET 4.6 and 4.6.1 support

## 2.2.1

- Better error handling for API exceptions

## 2.2.0

- Upgrade to .NET 4.5.2 (you should too!)
- Upgrade RestSharp to 105.1
- `async/await` support for all methods
- Better fatal error handling
- If GiantBomb returns a non-JSON response, the library will throw a `GiantBombHttpException`
containing the raw response body
- **FIX:** Issue with searches returning duplicate games from GiantBomb

## 2.1.0

- Add new fields:
- `Platform.Aliases`
- `Platform.InstallBase`
- `Platform.OnlineOnly`
- `Platform.OriginalPrice`
- `Game.Franchises`
- `Release.Game`
- Add exception handling and wrapping for GiantBomb API errors (`GiantBombApiException` class)
- For example, exceeding the 400 requests in 15 minutes rate limit
- Allow overriding `Execute` methods
- Update RestSharp to 105 (fixes #13)

## 2.0.3

- Fixes issue with search paging (`offset` vs. `page` parameter)

## API v2 Support

GiantBomb-C# 2.0+ is only compatible with GiantBomb APIv2. Keep using the old packages if you need v1 support, as there are breaking changes in v2!

### Notable Changes

* Search is now MUCH better in GiantBomb's v2 API, there's little to no need for `SearchAllGames` now unless you expect/want more than 100 results
* List resources support new `sort` and `filter` options
* All single resource requests must use a resource ID, e.g. "game/3030-33394", which GBCS implements transparently for you
* `Game` and `Release` now have `ExpectedReleaseDay`
* Search results now include platforms
* `Game` has two new fields:
- `Aliases` - newline delimited aliases
- `OriginalGameRating`
* You can now use `GetReleasesForGame()` to directly retrieve releases for a game in one request
* Using [FastJSON](http://www.codeproject.com/Articles/159450/fastJSON) to deserialize, which is... fast, obviously

## Readme

This library aims to wrap the GiantBomb REST API in C# with strongly-typed models and is built on top of [RestSharp](https://github.com/johnsheehan/RestSharp).

It also helps make your life easier when dealing with searching because it recursively fetches your search results all at once to enable better sorting.

**Note: This is not really needed anymore due to search improvements in APIv2**

var giantBomb = new GiantBombRestClient();

// Get all search results
var results = giantBomb.SearchForAllGames("assassin's creed");

// Display
return results.OrderByDescending(g => g.DateAdded)


## Nuget
Download and install the GiantBomb.Api Nuget package:

PM> Install-Package GiantBomb.Api

## Contributing
Read about [contributing on the wiki](https://github.com/kamranayub/GiantBomb-CSharp/wiki). If you plan to contribute, you **must** read this.

## Examples
Read about [examples on the wiki](https://github.com/kamranayub/GiantBomb-CSharp/wiki).

## License
Dual-licensed on MIT & GPL
# Changelog

## 2.4.0

- Switch to [.NET Standard 1.2](https://docs.microsoft.com/en-us/dotnet/standard/library). Adds support for:
- .NET Core 1.0+
- .NET 4.5.1+
- Mono 4.6+
- Xamarin.iOS 10.0+
- Xamarin.Android 7.0+
- UWP 10.0+
- Windows 8.1
- Windows Phone 8.1
- Switch to [Fubar.RestSharp.Portable](https://github.com/FubarDevelopment/restsharp.portable)
- More descriptive error handling
- **Temporary:** Remove `Game.ProductCodeType` because API returns incorrect response

## 2.3.0

- **BUG:** Fixed deserialization exception for single resource errors (e.g. Object Not Found)
- **BUG:** Fixed synchronous API to not deadlock
- Removed fastJSON DLL since it wasn't *actually* being used
- Upgrade to RestSharp 105.2.3
- Added .NET 4.6 and 4.6.1 support

## 2.2.1

- Better error handling for API exceptions

## 2.2.0

- Upgrade to .NET 4.5.2 (you should too!)
- Upgrade RestSharp to 105.1
- `async/await` support for all methods
- Better fatal error handling
- If GiantBomb returns a non-JSON response, the library will throw a `GiantBombHttpException`
containing the raw response body
- **FIX:** Issue with searches returning duplicate games from GiantBomb

## 2.1.0

- Add new fields:
- `Platform.Aliases`
- `Platform.InstallBase`
- `Platform.OnlineOnly`
- `Platform.OriginalPrice`
- `Game.Franchises`
- `Release.Game`
- Add exception handling and wrapping for GiantBomb API errors (`GiantBombApiException` class)
- For example, exceeding the 400 requests in 15 minutes rate limit
- Allow overriding `Execute` methods
- Update RestSharp to 105 (fixes #13)

## 2.0.3

- Fixes issue with search paging (`offset` vs. `page` parameter)

## API v2 Support

GiantBomb-C# 2.0+ is only compatible with GiantBomb APIv2. Keep using the old packages if you need v1 support, as there are breaking changes in v2!

### Notable Changes

* Search is now MUCH better in GiantBomb's v2 API, there's little to no need for `SearchAllGames` now unless you expect/want more than 100 results
* List resources support new `sort` and `filter` options
* All single resource requests must use a resource ID, e.g. "game/3030-33394", which GBCS implements transparently for you
* `Game` and `Release` now have `ExpectedReleaseDay`
* Search results now include platforms
* `Game` has two new fields:
- `Aliases` - newline delimited aliases
- `OriginalGameRating`
* You can now use `GetReleasesForGame()` to directly retrieve releases for a game in one request
* Using [FastJSON](http://www.codeproject.com/Articles/159450/fastJSON) to deserialize, which is... fast, obviously
Binary file removed Dependencies/fastJSON.dll
Binary file not shown.
127 changes: 0 additions & 127 deletions GiantBomb.Api.Net46/GiantBomb.Api.Net46.csproj

This file was deleted.

3 changes: 0 additions & 3 deletions GiantBomb.Api.Net46/Properties/AssemblyInfo.cs

This file was deleted.

4 changes: 0 additions & 4 deletions GiantBomb.Api.Net46/packages.config

This file was deleted.

Loading

0 comments on commit 2e47736

Please sign in to comment.