Skip to content

Releases: bazaarvoice/jolt

Bunch o Fixes

31 Dec 03:00
Compare
Choose a tag to compare
  • ArrayOrderObliviousDiffy works better now
  • "@" Transpose / Lookup logic now works from inside an Array reference
  • Shiftr Array logic handles negative numbers better
  • Shfrt can now pass input "null"s thru to the output

Two new features and one backwards incompatible name change (typo fix)

28 Dec 05:07
Compare
Choose a tag to compare

The "remove" transform can now fully handle arrays.

  • As top level inputs
  • Recursing thru Arrays
  • Removing specific array indices

Shift specs can now have "." in the output path if escaped

So that you can have output paths like "ref.local" that do not have that be nested maps.

Example: RHS Shiftr values and how they would manifest in the ouput tree

  • "data.ref.local" --> { "data" : { "ref" : { "local" : X } } }
  • "data.ref.local" --> { "data" : { "ref.local" : X } }

Additional Fixes

  • Performance fix to ArrayOrderObliviousDiffy
  • Updated dependency versions
  • Fixed issue with Travis CI

Backwards incompatible Change

The class ChainrFactory was in the wrong package; "bazarvoice" instead of "bazaarvoice".
If you were referencing that class, you will need to fix you imports.

Bug fixed in Shiftr

27 Apr 19:12
Compare
Choose a tag to compare

You should be able to reuse Chainr instances to perform multiple transforms. There was a bug in the "shift" operation where "per run" information was leaking into the reusable spec.

Updates : Java 1.7 and Dependencies

09 Mar 02:39
Compare
Choose a tag to compare

Compiles with Java 1.7

Updated Dependencies

  • Jackson 2.2.3 -> 2.5.0
  • commons-lang 2.6 -> commons-lang3 3.3.2
  • Guava 16.0.1 -> 18.0
  • TestNG 6.8.7 -> 6.8.21
  • ArgParse 0.4.2 -> 0.4.4

Code Cleanup based on Intellij inspections

Major new features in Shiftr

13 Oct 05:56
Compare
Choose a tag to compare

Ability to transpose data / do rudimentary filtering -> new '@' logic

  • long standing issue with Shiftr.

Ability to "hardcode" a value in the spec file to get placed in the output -> new '#' logic

  • created to handle a use-case of processing a Boolean value.

More Utilities and Bug Fix

21 Aug 17:31
Compare
Choose a tag to compare
  • Fixed Bug in Removr/StarDoublePathElement
    • StarDoublePathElement was throwing StringOutOfBoundExceptions when the spec is of format abc-$ and the key to match was abc-1.
    • Added more boundary condition test cases.
  • Added more utility functions in StringUtils and JsonUtils
  • Bumped the Guava version to 16.0.1
  • Fixed minor typos.

JsonUtils refactoring, bug fix, and Fancy Jackson Annotations

14 Feb 20:24
Compare
Choose a tag to compare

New JsonUtil interface "extracted" from existing JsonUtils class static methods

  • Interface and Impl will allow clients to specify their own pre-configured ObjectMapper
  • JsonUtils static methods refactored to use a "stock" JsonUtil instance.
  • Two JsonUtils methods deprecated

Fixed bug in JsonUtils

  • The problem was that JsonUtils static methods were using Object.class.getResourceAsStream() which can behave oddly.
  • Now that the static methods in JsonUtils are backed by a real instance of JsonUtil, that JsonUtil can use itself to load resources.

Fancy Jackson Annotations

  • Unit test of new JsonUtilImpl ability to take in a preconfigured Jackson Module
  • Unit test demonstrates recursive polymorphic JSON deserialization in Jackson 2.2

Bumped Dependency Versions

  • Jackson, Guava, TestNg, ArgParse versions.

Wildcard logic in Removr

20 Nov 18:01
Compare
Choose a tag to compare

The * wildcard can now be used in Removr specs.
The reason for this is, we needed to remove extraneous keys before a Shiftr operation. The extraneous keys were being matched and pass thru to the output by Shiftr wildcards.

Additionally, there was a bug fix in Sortr, when sorting input arrays that are "unmodifiable".

Command Line Tools!

05 Sep 19:51
Compare
Choose a tag to compare

Command Line

  • Diff Json
  • Sort Json
  • Transform Json

New Maven "convenience" artifact

  • New "jolt-complete" artifact combines "jolt-core" and "json-utils" artifacts and provides a ChainrFactory that can create Chainr instances from the classpath, file paths, and Java File objects.

Dead Version - Ignore

05 Sep 19:44
Compare
Choose a tag to compare

Pom build issues...