From d5a321920c402715188a2e431b1fcdaf46ed38b2 Mon Sep 17 00:00:00 2001 From: Ed Porras Date: Mon, 13 May 2019 21:20:39 +0200 Subject: [PATCH] Version bump 0.6.0 --- CHANGELOG.md | 15 +++++++++++++++ README.md | 30 ++++++++---------------------- lib/edn_turbo/version.rb | 6 ++---- 3 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..c563114 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,15 @@ +# Change Log +All notable changes to this project will be documented in this file. This change log follows the conventions of [keepachangelog.com](http://keepachangelog.com/). + +## 0.6.0 - 2019-05-13 +### Changed +- switched from MiniTest to RSpec. +- replaced `NULL` with `nullptr`. +- replaced old-style casts. +- prohibit Parser copy and move ops. +- assigning a source that does not respond to `read` now throws + `ArgumentError` instead of `RuntimeError`. + +### Added +- initial version of docker configs for testing on Ubuntu. + diff --git a/README.md b/README.md index 767548b..d3fa204 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,13 @@ -edn_turbo 0.5.7 +edn_turbo 0.6.0 =============== -Fast Ragel-based EDN parser for Ruby. +Fast (Ragel)[http://www.colm.net/open-source/ragel/]-based EDN parser for Ruby. -`edn_turbo` is a parser plugin for +`edn_turbo` can be used as a parser plugin for [edn](https://github.com/relevance/edn-ruby). With a few exceptions `edn_turbo` provides the same functionality as the edn gem, but since -the `edn_turbo` parser is implemented in C, it is an order of -magintude faster. - +the `edn_turbo` parser is implemented in C++, it is an order of +magnitude faster. Some quick sample runs comparing time output of file reads using `edn` and `edn_turbo` (see [issue 12](https://github.com/relevance/edn-ruby/issues/12)): @@ -32,27 +31,24 @@ irb(main):008:0> Benchmark.realtime { 100000.times { EDN::read(s) } } => 2.866411 ``` - Dependencies ============ +Ruby 2.4 or greater as `edn_turbo` does not use the deprecated `Fixnum` or `Bignum`. + - ruby gems: - [rake](http://rake.rubyforge.org) - [rake-compiler 1.0](http://rake-compiler.rubyforge.org) - [edn 1.1](https://github.com/relevance/edn-ruby) +- a C++-11 capable compiler. - [icu4c](http://icu-project.org/apiref/icu4c/) - Notes: ------ - `edn_turbo` uses a ragel-based parser but the generated .cc file is bundled so ragel should not need to be installed. -- If the gem fails to install due to a compilation error, make sure you - have `icu4c` installed. The reported gem install error doesn't make - it clear this is the issue. - Usage ===== @@ -110,13 +106,3 @@ Differences with edn gem `edn_turbo` reads `String` and core IO types using C-api calls. However, data from `StringIO` sources is extracted using `read()` calls into the ruby side. - -Known problems -============== - -v0.3.2: - -- Some unhandled corner cases with operators and spacing - remain. `edn_turbo` handles things like `1 / 12` and `1/ 12` but - parse errors occur with `1/12` and `1 /12` because it treats `/12` - as an invalid symbol. diff --git a/lib/edn_turbo/version.rb b/lib/edn_turbo/version.rb index 6b680b5..44e405c 100644 --- a/lib/edn_turbo/version.rb +++ b/lib/edn_turbo/version.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - # The MIT License (MIT) # # Copyright (c) 2015-2019 Ed Porras @@ -23,6 +21,6 @@ # THE SOFTWARE. module EDNT - VERSION = '0.5.7' - RELEASE_DATE = '2019-01-30' + VERSION = '0.6.0'.freeze + RELEASE_DATE = '2019-05-13'.freeze end