specter/CHANGES.md

75 lines
3.3 KiB
Markdown
Raw Normal View History

2016-01-10 15:35:47 +00:00
## 0.9.2 (unreleased)
* Added VOID selector which navigates nowhere
* Better syntax checking for defpath
2016-01-11 15:25:03 +00:00
* Fixed bug in protocol paths (#48)
2016-01-13 06:46:26 +00:00
* Protocol paths now error when extension has invalid number of needed parameters
* Fix replace-in to work with value collection
2016-01-14 18:15:54 +00:00
* Added STAY selector
* Added stay-then-continue and continue-then-stay selectors which enable pre-order/post-order traversals
2016-01-14 22:36:49 +00:00
* Added declarepath and providepath, which enable arbitrary recursive or mutually recursive paths
2016-01-10 15:35:47 +00:00
2016-01-05 14:02:20 +00:00
## 0.9.1
2015-12-16 06:05:27 +00:00
* Fixed reflection in protocol path code
* Optimized late-bound parameterization for JVM implementation by directly creating the object array rather than use object-array
2016-01-05 13:57:55 +00:00
* Incorrectly specified function names in defpath will now throw error
2015-12-16 06:05:27 +00:00
2015-12-12 17:52:27 +00:00
## 0.9.0
2015-11-03 15:52:17 +00:00
* Fixed bug where comp-paths wouldn't work on lazy seqs in cljs
2015-12-12 17:38:28 +00:00
* Renamed defparamspath and defparamscollector to defpath and defcollector
* For Clojure version only, implemented protocol paths (see #38)
2015-11-03 15:52:17 +00:00
2015-10-11 14:45:01 +00:00
## 0.8.0
2015-10-10 15:21:13 +00:00
* Now compatible with Clojure 1.6.0 and 1.5.1 by switching build to cljx (thanks @MerelyAPseudonym)
2015-10-10 15:56:02 +00:00
* Added subset selector (like srange but for sets)
2015-10-11 14:46:26 +00:00
* Added nil->val, NIL->SET, NIL->LIST, and NIL->VECTOR selectors to make it easier to manipulate maps (e.g. (setval [:akey NIL->VECTOR END] [:a :b] amap) to append that vector into that value for the map, even if nothing was at that value at the start)
2015-10-10 15:21:13 +00:00
2015-09-24 17:02:58 +00:00
## 0.7.1
2015-09-12 18:16:35 +00:00
* view can now be late-bound parameterized
* Added a late-bound parameterized version of using a function as a selector called "pred"
* Added paramsfn helper macro for defining filter functions that take late-bound parameters
* walker and codewalker can now be late-bound parameterized
2015-09-12 18:16:35 +00:00
2015-09-11 21:36:16 +00:00
## 0.7.0
2015-12-16 06:06:36 +00:00
* Added late-bound parameterization feature: allows selectors that require params to be precompiled without the parameters, and the parameters are supplied later in bulk. This effectively enables Specter to be used in any situation with very high performance.
2015-09-11 21:36:16 +00:00
* Converted Specter built-in selectors to use late-bound parameterization when appropriate
* ALL, FIRST, and LAST are now precompiled
2015-07-03 21:46:23 +00:00
## 0.6.2
2015-07-02 21:25:00 +00:00
* Added not-selected? selector
* Added transformed selector
2015-07-03 21:46:23 +00:00
* Sped up CLJS implementation for comp-paths by replacing obj-extends? call with satisfies?
* Fixed CLJS implementation to extend core types appropriately
* Used not-native hint to enable direct method invocation to speed up CLJS implementation
2015-07-02 21:25:00 +00:00
2015-07-01 14:36:21 +00:00
## 0.6.1
* Huge speedup to ClojureScript implementation by optimizing field access
2015-07-01 00:09:09 +00:00
## 0.6.0
* Added ClojureScript compatibility
2015-06-30 03:44:18 +00:00
## 0.5.7
* Fix bug in select-one! which wouldn't allow nil result
## 0.5.6
* Add multi-path implementation
* change FIRST/LAST to select nothing on an empty sequence
2015-06-29 22:31:03 +00:00
* Allow sets to be used directly as selectors (acts as filter)
2015-06-22 18:38:34 +00:00
## 0.5.5
* Change filterer to accept a selector (that acts like selected? to determine whether or not to select value)
2015-06-19 18:19:16 +00:00
## 0.5.4
* Change cond-path and if-path to take in a selector for conditionals (same idea as selected?)
2015-06-18 04:56:17 +00:00
## 0.5.3
* Added cond-path and if-path selectors for choosing paths depending on value of structure at that location
2015-06-01 18:22:44 +00:00
## 0.5.2
* Fix error for selectors with one element defined using comp-paths, e.g. [:a (comp-paths :b)]
2015-05-31 12:54:30 +00:00
## 0.5.1
* Added putval for adding external values to collected values list
* nil is now interpreted as identity selector
* empty selector is now interpreted as identity selector instead of producing error