Skip to content

Releases: libAthena/athena

latest

02 Jan 10:21

Choose a tag to compare

What's Changed

  • General: Minor general cleanup by @lioncash in #42
  • IStreamReader/IStreamWriter: Simplify buffer functions where applicable by @lioncash in #44
  • Revert "General: Minor general cleanup" by @Antidote in #45
  • General: Minor general cleanup by @lioncash in #46
  • Global: Change include into by @lioncash in #47
  • LZBase/LZLookupTable: Minor cleanup by @lioncash in #48
  • General: Silence -Wdocumentation warnings by @lioncash in #49
  • Types: Tidy up header by @lioncash in #50
  • General: Include headers that are necessary by @lioncash in #51
  • General: Remove unused macros by @lioncash in #52
  • General: Make constructors explicit where applicable by @lioncash in #53
  • atdna/main: Avoid unnecessary string churn by @lioncash in #56
  • MemoryWriter: Initialize member variables to deterministic values by @lioncash in #57
  • MemoryWriter: Prevent potential leak within save() by @lioncash in #58
  • Compression/LZ77: Remove unnecessary pointer casts by @lioncash in #59
  • Checksums: Correct null check within crc16() by @lioncash in #60
  • CMakeLists: Append sources to athena-core directly by @lioncash in #62
  • FileWriterWin32: Handle large files within writeUBytes by @lioncash in #61
  • CMakeLists: Define -DNOMINMAX and -DWIN32_LEAN_AND_MEAN on Windows by @lioncash in #63
  • Global: Make operator|= and &= for enums constexpr by @lioncash in #64
  • General: Be explicit about SeekOrigin and Endian types by @lioncash in #66
  • Global: Make SeekOrigin an enum class by @lioncash in #67
  • General: Make Endian an enum class by @lioncash in #68
  • Global: Remove compatibility formatting define for size_t by @lioncash in #71
  • IStream: Remove unimplemented operator<< prototype by @lioncash in #70
  • IStreamWriter: Eliminate several casts by @lioncash in #69
  • Fix build error in MemoryReader.cpp by @encounter in #73

New Contributors

Full Changelog: 2.3.0...latest

Version 2.3.0 Release

04 Aug 03:50

Choose a tag to compare

YAML Serialization Comes to Athena!!

New DNAYaml Subclass

This subclass provides all functions of the base DNA class with additional support for YAML serialization and deserialization.

ATDNA YAML Generation

ATDNA is now able to generate type-sensitive code to automate the YAML emission/parsing process.

libyaml Embedded

Athena now includes libyaml as an embedded repository. Just clone Athena and you'll get a full YAML implementation.

Version 2.2.0 Release

24 Jul 05:40

Choose a tag to compare

Even More Stability Improvements in 2.2.0

Removal of Exception Throws

Athena now places error handling in the hands of the app where it belongs. Exceptions have been replaced by a global error hook.

Visual Studio 2015 Support

Athena and atdna now integrate with MS' latest v140 CRT and language features of MSVC 2015. From this release on, v140 is the preferred linking runtime on Windows.

Version 2.1.0 Release

21 Jul 19:43

Choose a tag to compare

Athena and ATDNA get even more flexible

Better ISO C++11 Adherence in DNA Headers

Some hacky tricks have been replaced with standards-compliant declarations, making Athena more solid across compilers and development environments.

ATDNA Enhancements

Compiler defines (as well as includes) are automatically supplied to ATDNA when invoked via CMake. -D flag is now available through the atdna command-line. __atdna__ macro is defined to 1 within ATDNA, so preprocessor guards may be used to isolate headers and add special ATDNA logic.

Renamed Unicode Methods

Methods previously named IStreamReader::readUnicode() and IStreamWriter::writeUnicode() are now named as IStreamReader::readWStringAsString() and IStreamWriter::writeStringAsWString() respectively.

Version 2.0.0 Release

11 Jul 02:34

Choose a tag to compare

Version 2.0.0 ushers in several improvements to Athena

Codebase Refinements

Athena has undergone numerous refactors and a rebalancing of the codebase. Athena is ~30% smaller as a result. Streaming I/O performance is noticeably better.

Removal Of All Qt Requirements

As of this release Athena now uses CMake. This allows clean integration of Athena into external projects using CMake. Using find_package(Athena REQUIRED) is all that's necessary to import Athena's libraries and headers into a CMake project.

New Vector Data Types

atVec2f, atVec3 and atVec4 have been added to help communicate 2, 3 and 4 component vectors in a transparent manner. These types are SSE compatible and are POD types, allowing quick memcpy or even straight assignment of the __m128 value to your custom vector classes.

Companion ATDNA Generator

As of this release Athena is partnered with an extremely powerful, automated reader/writer authoring tool, ATDNA. This is a source-to-source tool for generating complete implementations of streaming reader/writer classes based on C++ records in header files.

Version 1.1.0 Release

18 May 03:02

Choose a tag to compare

Version 1.1.0 ushers in several improvements to Athena

Additional Data-Types

Now you can easily work with a wider variety of data formats thanks to new string and byte-buffer methods.

Modularized Qmake Build-System

Qt creator and Qmake users can now select portions of Athena à la carte; integrating only the parts your project needs.

Self-Sufficient Build Dependencies

Data compression/decompression libraries like zlib and lzo are now part of Athena's repository, so you can simply clone-n-go!

Version 1

29 Sep 06:38

Choose a tag to compare

First official release.