Skip to content

Commit

Permalink
Updated README, changelog, version numbers, license years, links, nuspec
Browse files Browse the repository at this point in the history
  • Loading branch information
mstefarov committed Jul 6, 2018
1 parent a02f33f commit bf8fbb6
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 39 deletions.
30 changes: 17 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
fNbt is a small library, written in C# for .NET 3.5+. It provides functionality
to create, load, traverse, modify, and save NBT files and streams.

Current released version is 0.6.3 (12 April 2015).
Current released version is 0.6.4 (6 July 2018).

fNbt is based in part on Erik Davidson's (aphistic's) original LibNbt library,
now completely rewritten by Matvei Stefarov (fragmer).
Expand All @@ -31,11 +31,15 @@ Latest version of fNbt requires .NET Framework 3.5+ (client or full profile).

- **Package @ NuGet:** https://www.nuget.org/packages/fNbt/

- **Compiled binary:** https://fcraft.net/fnbt/fNbt_v0.6.3.zip<br><sup>SHA1: c743b4e8af649af75d7ab097dfec2bc897a70689</sup>
- **Compiled binary:** https://fcraft.net/fnbt/fNbt_v0.6.4.zip
<br><sup>SHA1: 600853530fd538e614b6cb4722ced81917e9615d</sup>

- **Amalgamation** (single source file):
* Non-annotated: https://fcraft.net/fnbt/fNbt_v0.6.3.cs<br><sup>SHA1: 2a2cd74bee0bab765d9647e0cc048927248d0142</sup>
* Annotated (using [JetBrains.Annotations](https://blog.jetbrains.com/dotnet/2018/05/03/what-are-jetbrains-annotations/)): https://fcraft.net/fnbt/fNbt_v0.6.3_Annotated.cs<br><sup>SHA1: 66ab908708678272a58d9e71f1615f68caba79d7</sup>
* Non-annotated: https://fcraft.net/fnbt/fNbt_v0.6.4.cs
<br><sup>SHA1: 9298dbe00d080bcf5d32299415aaf856590ba3bf</sup>
* Annotated (using [JetBrains.Annotations](https://blog.jetbrains.com/dotnet/2018/05/03/what-are-jetbrains-annotations/)):
https://fcraft.net/fnbt/fNbt_v0.6.4_Annotated.cs
<br><sup>SHA1: ae096d83b57bf59c708ad66168d45c1ea9b58175</sup>


## EXAMPLES
Expand Down Expand Up @@ -70,11 +74,11 @@ Latest version of fNbt requires .NET Framework 3.5+ (client or full profile).
foreach( string tagName in myCompoundTag.Names ){
Console.WriteLine( tagName );
}
for( int i=0; i<myListTag.Count; i++ ){
for( int i = 0; i < myListTag.Count; i++ ){
Console.WriteLine( myListTag[i] );
}
foreach( NbtInt intListItem in myIntList.ToArray<NbtInt>() ){
Console.WriteLine( listIntItem.Value );
foreach( NbtInt intItem in myIntList.ToArray<NbtInt>() ){
Console.WriteLine( intItem.Value );
}
```

Expand Down Expand Up @@ -105,25 +109,25 @@ Latest version of fNbt requires .NET Framework 3.5+ (client or full profile).

#### Pretty-printing file structure
```cs
Console.WriteLine( myFile.ToString("\t") );
Console.WriteLine( myRandomTag.ToString(" ") );
Console.WriteLine( myFile.ToString("\t") ); // tabs
Console.WriteLine( myRandomTag.ToString(" ") ); // spaces
```

#### Check out unit tests in fNbt.Test for more examples.


## API REFERENCE
Online reference can be found at http://www.fcraft.net/fnbt/v0.6.3/
Online reference can be found at http://www.fcraft.net/fnbt/v0.6.4/


## LICENSING
fNbt v0.5.0+ is licensed under 3-Clause BSD license. See ./docs/LICENSE
fNbt v0.5.0+ is licensed under 3-Clause BSD license;
see [docs/LICENSE](docs/LICENSE).
LibNbt2012 up to and including v0.4.1 kept LibNbt's original license (LGPLv3).
fNbt makes use of the NUnit testing framework (www.nunit.org)


## VERSION HISTORY
See ./docs/Changelog
See [docs/Changelog.md](docs/Changelog.md)


## OLD VERSIONS
Expand Down
42 changes: 24 additions & 18 deletions docs/Changelog → docs/Changelog.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
0.6.3 (fNbt)
- Empty NbtLists now allow "TAG_End" as its ListType.
## 0.6.4 (fNbt)
- Fixed a case where NbtBinaryReader.ReadString read too many bytes (#26).
- Fixed NbtList.Contains(null) throwing exception instead of returning false.
- Reduced NbtBinaryReader's maximum chunk size to 4 MB. This reduces peak
memory use when reading huge files without affecting performance.

0.6.2 (fNbt)
- NbtTags now implement ICloneable and provide copy constructors.
## 0.6.3 (fNbt)
- Empty NbtLists now allow "TAG_End" as its ListType (#12).

## 0.6.2 (fNbt)
- NbtTags now implement ICloneable and provide copy constructors (#10).
- fNbt is now compatible with /checked compiler option.
- Fixed an OverflowException in .NET 4.0+ when writing arrays of size 1 GiB
(or larger) to a BufferedStream.
- Fixed a few edge cases in NbtReader when reading corrupt files.
- Minor optimizations and documentation fixes.

0.6.1 (fNbt)
## 0.6.1 (fNbt)
- NbtReader now supports non-seekable streams.
- Fixed issues loading from/saving to non-seekable steams in NbtFile.
- NbtFile.LoadFromStream/SaveToStream now accurately report bytes read/written
for NBT data over 2 GiB in size.
- API change:
All NbtFile loading/saving methods now return long instead of int.

0.6.0 (fNbt)
## 0.6.0 (fNbt)
- Raised .NET framework requirements from 2.0+ to 3.5+
- Added NbtWriter, for linearly writing NBT streams, similarly to XmlWriter.
It enables high-performance writing, without creating temp NbtTag objects.
Expand All @@ -29,7 +35,7 @@
- Improved tag reading and writing performance.
- Expanded unit test coverage.

0.5.1 (fNbt)
## 0.5.1 (fNbt)
- Fixed ToString() methods of NbtReader and some NbtTags not respecting the
NbtTag.DefaultIndentString setting.
- Fixed being able to add a Compound tag to itself.
Expand All @@ -40,7 +46,7 @@
New NbtReader overload: string ToString(bool,string)
- Expanded unit test coverage.

0.5.0 (fNbt)
## 0.5.0 (fNbt)
- Added NbtReader, for linearly reading NBT streams, similarly to XmlReader.
- API additions:
New NbtCompound method: bool TryGet(string,out NbtTag)
Expand All @@ -49,7 +55,7 @@
- License changed from LGPL to to 3-Clause BSD, since none of the original
libnbt source code remains.

0.4.1 (LibNbt2012)
## 0.4.1 (LibNbt2012)
- Added a way to set up default indent for NbtTag.ToString() methods, using
NbtTag.DefaultIndentString static property.
- Added a way to control/disable buffering when reading tags, using properties
Expand All @@ -61,7 +67,7 @@
- NbtFile() constructor now initializes RootTag to an empty NbtCompound("").
- Added LoadFro* overloads that do not require a TagSelector parameter.

0.4.0 (LibNbt2012)
## 0.4.0 (LibNbt2012)
- Changed the way NbtFiles are constructed. Data is not loaded in the
constructor itself any more, use LoadFrom* method.
- Added a way to load NBT data directly from byte arrays, and to save them to
Expand All @@ -71,19 +77,19 @@
- Updated NbtFile to override ToString.
- Added a way to control endianness when reading/writing NBT files.

0.3.4 (LibNbt2012)
## 0.3.4 (LibNbt2012)
- Added a way to rename tags inside NbtCompound and NbtFile.

0.3.3 (LibNbt2012)
## 0.3.3 (LibNbt2012)
- Added a way to skip certain tags at load-time, using a TagSelector callback.

0.3.2 (LibNbt2012)
## 0.3.2 (LibNbt2012)
- Added a way to easily identify files, using static NbtFile.ReadRootTagName.
- Added NbtTag.Parent (automatically set/reset by NbtList and NbtCompound).
- Added NbtTag.Path (which includes parents' names, and list indices).
- Added NbtCompound.Names and NbtCompound.Values enumerators.

0.3.1 (LibNbt2012)
## 0.3.1 (LibNbt2012)
- Added indexers to NbtTag base class, to make nested compound/list tags easier
to work with.
- Added shortcut properties for getting tag values.
Expand All @@ -92,7 +98,7 @@
- Improved .ToString() pretty-printing, now with consistent and configurable
indentation.

0.3.0 (LibNbt2012)
## 0.3.0 (LibNbt2012)
- Auto-detection of NBT file compression.
- Loading and saving of ZLib (RFC-1950) compresessed NBT files.
- Reduced loading/saving CPU use by 15%, and memory use by 40%
Expand All @@ -106,17 +112,17 @@
- Made tag names immutable.
- Removed tag queries.

0.2.0 (libnbt)
## 0.2.0 (libnbt)
- Implemented tag queries.
- Created unit tests for the larger portions of the code.
- Marked tag constructors that take only tag values as obsolete, use the
constructor that has name and value instead.

0.1.2 (libnbt)
## 0.1.2 (libnbt)
- Added a GetTagType() function to the tag classes.
- Fixed saving NbtList tags.

0.1.1 (libnbt)
## 0.1.1 (libnbt)
- Initial release.
- Modified the tag constructors to be consistant with each other.
- Changed NbtFile to allow some functions to be overridden.
2 changes: 1 addition & 1 deletion docs/LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2012-2015, Matvei "fragmer" Stefarov <me@matvei.org>
Copyright (c) 2012-2018, Matvei "fragmer" Stefarov <me@matvei.org>
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
6 changes: 3 additions & 3 deletions fNbt.Test/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("github.com/fragmer/fNbt")]
[assembly: AssemblyProduct("fNbt.Test")]
[assembly: AssemblyCopyright("2012-2015 Matvei Stefarov")]
[assembly: AssemblyCopyright("2012-2018 Matvei Stefarov")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

Expand All @@ -35,5 +35,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("0.6.3.0")]
[assembly: AssemblyFileVersion("0.6.3.0")]
[assembly: AssemblyVersion("0.6.4.0")]
[assembly: AssemblyFileVersion("0.6.4.0")]
2 changes: 1 addition & 1 deletion fNbt.sln
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ VisualStudioVersion = 15.0.27703.2035
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{83C41F58-F6F7-46F2-85C3-CDD69E7FBEE6}"
ProjectSection(SolutionItems) = preProject
docs\Changelog = docs\Changelog
docs\Changelog.md = docs\Changelog.md
docs\LICENSE = docs\LICENSE
README.md = README.md
EndProjectSection
Expand Down
6 changes: 3 additions & 3 deletions fNbt/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("github.com/fragmer/fNbt")]
[assembly: AssemblyProduct("fNbt")]
[assembly: AssemblyCopyright("2012-2015 Matvei Stefarov")]
[assembly: AssemblyCopyright("2012-2018 Matvei Stefarov")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

Expand All @@ -36,8 +36,8 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("0.6.3.0")]
[assembly: AssemblyFileVersion("0.6.3.0")]
[assembly: AssemblyVersion("0.6.4.0")]
[assembly: AssemblyFileVersion("0.6.4.0")]

// Potentially speed up resource probes

Expand Down
17 changes: 17 additions & 0 deletions fNbt/fNbt.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>Erik Davidson (2010-2011); Matvei Stefarov (2012+)</authors>
<owners>$author$</owners>
<licenseUrl>https://github.com/fragmer/fNbt/blob/v0.6.4/docs/LICENSE</licenseUrl>
<projectUrl>https://github.com/fragmer/fNbt</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<releaseNotes>Bugfixes and performance improvements.</releaseNotes>
<copyright>Copyright 2012-2018 Matvei Stefarov</copyright>
<tags>nbt serialization</tags>
</metadata>
</package>

0 comments on commit bf8fbb6

Please sign in to comment.