Sunday, October 8, 2017

Jsonics 0.2.0-alpha Released

Jsonics 0.2.0-alpha Release

Jsonics 0.2.0-alpha contains a bunch of new features and gets us a lot closer to being ready for our first release.

New Features

The following new features are present in Jsonics 0.2.0-alpha

Ignore Support

.net properties and fields can be excluded from Json serialisation or deserialisation using the new Ignore attribute. Simply decorate the property with the Ignore attribute as follows:
public Person
{
    [Ignore]
    public int Age
    {
        get;
        set;
    }
}

Property Name Support

.net properties and fields can now have different names from their json counterparts to achieve this use the new Name attribute as follows:
public Person
{
    [Name("experience"]
    public int Age
    {
        get;
        set;
    }
}

.net Standard 2.0

Jsonics has been moved to .net Standard 2.0. This allows for a much broader api space and will be supported everywhere .net is.

.net Field support

Jsonics now supports .net fields as well as .net properties.
public Person
{
    public int Age;
}

Char support

Char support was missing in the last release and has now been added.

Decimal support

Decimal support was missing in the last release and has now been added.

Nuget Changes

The Jsonics.StrongName packages has been unlisted and will not get any further updates. The Jsonics package is now StrongNamed. However the assembly version will be frozen to the major version in order to remove the need for Binding redirects. The File Version and Package version will now follow SemVer 2.0 rules. It was necessary to remove the Jsonics.StrongName package to avoid the situation where two libraries have a dependency on on Jsonics one using the StrongName version and one using the standard version.

Bug Fixes

  • Fixed support from primitive list and array types other than int and string

Whats Next?

The road to 1.0 will continue with the addition of the following features which will be included in the 0.3 release:
  • Custom converter support
  • IList support

How do I get it?

Jsonics is available on Nuget in here

The code is available on github here under the MIT license.

Jsonics is currently in alpha quality and should not be used for production code. However feel free to try it out and report any issues you have with it.

Friday, September 15, 2017

Introducing Jsonics

Introducing Jsonics

Over the past months I have been working on a new opensource Json library for .net called Jsonics.
I am now pleased to announce its first release 0.1.0-alpha.

What is Jsonics?

Jsonics is a high performance Json Library for c#. Jsonics stands for JSON In C Sharp. Jsonics aims to be as fast as is possible in scenarios where the same type will be serialised or deserialised many times. Jsonics uses runtime code generation and other advanced techniques to create an optimal serialiser and deserialiser based on the supplied type.

How do I use it?


//create an optimised Json converter for type Person
var jsonConverter = JsonicFactory.Compile();

//serilize a person instance 
string jsonstring = jsonCoverter.ToJson(new Person(){"FirstName"="Luke", "LastName"="Skywalker"});

//deserialise a person json string
Person person = jsonCoverter.FromJson(jsonString);


How fast is it?

Nearlly all Json parsers claim to be the fast. Here are some claims by popular .net Json libraries.

Newtonsoft (Json.net):

  • high-performance JSON framework for .NET
  • 50% faster than DataContractJsonSerializer, and 250% faster than JavaScriptSerializer.
NetJson
  • Faster than Any Binary?
JIL
  • Jil aims to be the fastest general purpose JSON (de)serializer for .NET.

I don't want to make any claims about speed. These tend to either be proven wrong or to fail to age well. However Jsonics does have a focus on speed and currently performs well in relation to other .net Json libraries. The following is a benchmark created using the awesome BenchmarkDotNet  library.


I have uploaded the benchmark code to github here if you are interested in details.

Please bare in mind that performance is very dependent on your use case, so it is best to benchmark with your own workload before choosing a library.

Features

Jsonics has support for most commonly used .net types. If you find a type you need is missing please raise an issue and I will add it.

Limitations

Jsonics is a pre 1.0 alpha release and as such is missing some features, these will be added before Jsonics will be deemed production ready. These include:
  • Ignore support for properties
  • Custom ToJson/FromJson converters
  • Decimal and char type support

How do I get it?

Jsonics is available on Nuget in both Signed and Unsigned versions.

The code is available on github here under the MIT license.

Jsonics is currently in alpha quality and should not be used for production code. However feel free to try it out and report any issues you have with it.

Wednesday, February 19, 2014

Wide Margin 1.2.17 Release Candidate

I am pleased to announce the release of Wide Margin 1.2.17 Release Candidate 

New Features include:
  • New history bible book category and missing books from poetry section.
  • Added bible module copyright to about info.
  • Improved error handling and retry on bible module install.

Right now we need lots of testing done to ensure that this release candidate is ready for release. I want to say a big thank you to all the people who contributed to this release to make it possible. Wide Margin is free and opensource and is produced entirely by volunteers. Wide Margin is available for Ubuntu and Windows destkop.

To download or help out Wide Margin visit our website widemargin.org

Tuesday, September 10, 2013

Wide Margin 1.2.13 Beta

I am pleased to announce the release of Wide Margin 1.2.13 Beta 

New Features include:
  • Browse button for passage navigation added to the top bar.
  • Menu icon updated to be more recognizable.
  • Fixed menu placement on dual monitor when maximized.

 
Right now we need lots of testing done to ensure that it is ready for release. I want to say a big thank you to all the people who contributed to this release to make it possible.

Wide Margin is free and opensource and is produced entirely by volunteers. Wide Margin is available for Ubuntu and Windows destkop.

To download or help out Wide Margin visit our website widemargin.org

Sunday, July 28, 2013

Wide Margin 1.2.11 Beta


I am pleased to announce the release of Wide Margin 1.2.11 Beta the free and opensource bible application for Ubuntu and Windows.

Wide Margin 1.2.11 Beta include bugs fixes as well as a 'Open Link in New Tab' menu item for those times you don't have a mouse.
New Features include:
  •  'Open Link in New Tab' menu item.
  •  Improved auto complete list.


Right now we need lots of testing done to ensure that it is ready for release. I will be organizing a testing evening in the next few weeks. I want to say a big thank you to all the people who contributed to this release to make it possible.

Wide Margin is free and opensource and is produced entirely by volunteers. If you would like to help or contribute please visit our contribute page:

Monday, July 1, 2013

Wide Margin 1.2.9 Beta

I am pleased to announce the release of Wide Margin 1.2.9 Beta 

Wide Margin 1.2.9 Beta includes search and passage rendering improvements as well as bug fixes for the windows version. 
New Features include:
  •  Show search results for book names which also match passage content.
  •  Highlight search terms in search results.
  •  Better reference rendering
  •  Improved poetry layout



Right now we need lots of testing done to ensure that it is ready for release. I will be organizing a testing evening in the next few weeks. I want to say a big thank you to all the people who contributed to this release to make it possible.

Wide Margin is free and opensource and is produced entirely by volunteers. If you would like to try it or help contribute please visit our website at http://widemargin.org

Friday, June 14, 2013

Wide Margin 1.2.7 Alpha 2

I am pleased to announce the release of Wide Margin 1.2.7 Alpha 2 

Wide Margin 1.2.7 Alpha 2 includes a much improved passage text layout with headings, module references and note support. On windows the GTK UI has been replaced with a native windows user interface using WPF. 



New Features include:
  •  Section headings
  •  Improved text layout.
  •  References/notes in bible passages
  •  Native UI on Windows

I want to say a big thank you to all the people who contributed to this release to make it possible.

Wide Margin is free and opensource and is produced entirely by volunteers. New contributions are welcome. Even if you can't code you can contribute by testing, raising bug reports, contributing artwork and mock-ups.

You can download it from our website widemargin.org