Skip to content

Commit

Permalink
Build: Released 1.0.0 [skip ci]
Browse files Browse the repository at this point in the history
# 1.0.0 (2024-02-06)

### Add

* `_sz_find_3byte_serial` ([d542c4b](https://github.com/ashvardanian/stringzilla/commit/d542c4b3a7430efb0dc5745ee390921b385fec13)), closes [#70](https://github.com/ashvardanian/stringzilla/issues/70)
* `begin`, `size` and other utility C++ functions ([5378a6c](https://github.com/ashvardanian/stringzilla/commit/5378a6c869f0b84b50dd5cd02654b0c9ad476dcd))
* `memmem` to benchmarks ([aa14ac8](https://github.com/ashvardanian/stringzilla/commit/aa14ac8370066b1c48eca4aec2412e3df8230962))
* `MemoryMappedFile` ([28638f8](https://github.com/ashvardanian/stringzilla/commit/28638f85ab8887b036859adc44897bc6d85b3b2e))
* `partition` method in Python ([257ac6c](https://github.com/ashvardanian/stringzilla/commit/257ac6cff6860b2893f939bd16cef97cf9420853))
* `qsort_r` benchmarks for Linux ([e31127a](https://github.com/ashvardanian/stringzilla/commit/e31127a7969bbf3336cbb499504a4fe290c14db1))
* `sort()` and `order()` efficient Py methods ([dd4f57f](https://github.com/ashvardanian/stringzilla/commit/dd4f57f95d239492bc21bf76bcee8dc0b1642d08))
* `sort()` interface for Python ([e657baf](https://github.com/ashvardanian/stringzilla/commit/e657bafa5d709a853b9aeb684bfdec5e37924c65))
* `startswith` & `endswith` ([c1cbb77](https://github.com/ashvardanian/stringzilla/commit/c1cbb77fc29382f04d8ad36de2a28d448a8806e5))
* `Str` concatenation ([1d7fed2](https://github.com/ashvardanian/stringzilla/commit/1d7fed2ee4abf4763cc3d9b21d9515a1beb16cf6))
* `Strs` structure in CPython ([4841a54](https://github.com/ashvardanian/stringzilla/commit/4841a541d327c07305fd3d2ceb7a289a6269116e))
* `sz_copy_serial` implementation ([d47fa1c](https://github.com/ashvardanian/stringzilla/commit/d47fa1c3493013b058b10b7387a4895cf2129fb4))
* `sz_move_serial` implementation (#60) ([1342711](https://github.com/ashvardanian/stringzilla/commit/1342711db45bda465b80b36ff98a058a349adcf1)), closes [#60](https://github.com/ashvardanian/stringzilla/issues/60)
* `sz_string_erase` implementation ([a64e091](https://github.com/ashvardanian/stringzilla/commit/a64e091247da3799fbbed129b95607c639e5ccac))
* Arm Neon character counter ([db2f523](https://github.com/ashvardanian/stringzilla/commit/db2f52388a973f1fbddb14913f8ae273adfc33d2))
* Arm NEON Raita search ([7a085e6](https://github.com/ashvardanian/stringzilla/commit/7a085e61af38a1f28e0b2c7faf13c203eff4bf0a))
* Auto-fetching Google Benchmark ([28311f3](https://github.com/ashvardanian/stringzilla/commit/28311f3fa808c6b42de0959bd59297b493418664))
* AVX-512 for `character_set` search ([543a942](https://github.com/ashvardanian/stringzilla/commit/543a94299a47dc16f64374d10217cf544fe346b2))
* AVX-512 functionality ([cca3d19](https://github.com/ashvardanian/stringzilla/commit/cca3d19ccc5cc72b0e08cd81a8955b79b31dc548))
* AVX-512 implementations for similarity scores ([e205c7a](https://github.com/ashvardanian/stringzilla/commit/e205c7a0ea9534732403d8e24990b74a1803b2ae))
* AVX-512 implementations for substring search ([35f7a11](https://github.com/ashvardanian/stringzilla/commit/35f7a11568b09c5b7e3966139b4935fd95caf1fc))
* AVX-512 Levenshtein distance for longer strings ([2b33e61](https://github.com/ashvardanian/stringzilla/commit/2b33e618e76ca6ffc151adf1f54294f62701374a))
* AVX2 baseline implementation ([a99dd56](https://github.com/ashvardanian/stringzilla/commit/a99dd5672f5b92384fa2645a1c81267c8400ec0f))
* Baseline C++ class ([979bf56](https://github.com/ashvardanian/stringzilla/commit/979bf56b02a13e782a757b5f54324883ed7265cf))
* Baseline NodeJS binding ([7abc456](https://github.com/ashvardanian/stringzilla/commit/7abc456ca8ea5bf494b9a975f14b909cebba5c53))
* Baseline NodeJS binding ([611c2c1](https://github.com/ashvardanian/stringzilla/commit/611c2c12ce16625cfbb0af30ab5dd41f80098e6a))
* Benchmark for [<>] search ([e8dd299](https://github.com/ashvardanian/stringzilla/commit/e8dd29902c5488226d771902f1383625b5f277c4))
* Benchmarks notebook ([317fd7f](https://github.com/ashvardanian/stringzilla/commit/317fd7ff8a949f029d58fd8bedc29d53faafef2f))
* Benchmarks on synthetic strings ([f6d8522](https://github.com/ashvardanian/stringzilla/commit/f6d852213c7c35d38145596c7376a761ee59ac92))
* Buffer protocol support ([f4c17b9](https://github.com/ashvardanian/stringzilla/commit/f4c17b91f17e34fa58b391fc0191c9fdb6588757))
* C++ API for scores and fingerprints ([b8778d0](https://github.com/ashvardanian/stringzilla/commit/b8778d035debb494485974ffe80049ddde268f8f))
* char-set, reverse order, and scoring in Py ([563f264](https://github.com/ashvardanian/stringzilla/commit/563f2647722a386ecd46b00b9c85affe9eb1a759)), closes [#23](https://github.com/ashvardanian/stringzilla/issues/23) [#12](https://github.com/ashvardanian/stringzilla/issues/12)
* Collection-level `append`, `extend` ([5066505](https://github.com/ashvardanian/stringzilla/commit/506650585bbb20c0cdf40ac40db6f65c52187ce6))
* Commonly used character sets ([00cc2f3](https://github.com/ashvardanian/stringzilla/commit/00cc2f3b6ef600559db7e57ec51ca3447af8501d))
* comparsion operators ([abe63e4](https://github.com/ashvardanian/stringzilla/commit/abe63e4a7e89dd02e526ecdb1a7f0505dcbd925d))
* compile-time dispatch for fill/move/copy ([9cb00fc](https://github.com/ashvardanian/stringzilla/commit/9cb00fc154643d2fabec451819ee3a18950ddb9e))
* Counting specific characters or subtrings ([67e71d8](https://github.com/ashvardanian/stringzilla/commit/67e71d8647a8a722cac2e3e7f0385f3f9759e9c0))
* Diagonal order Levenshtein distance computation ([d1ac8e3](https://github.com/ashvardanian/stringzilla/commit/d1ac8e3d1905463beef858b45306e02fe881a7ab))
* Dynamic dispatch ([2059c87](https://github.com/ashvardanian/stringzilla/commit/2059c87c9e5b3150c5b45b1161dd405b6707ee85))
* evals for hash quality ([20b4db0](https://github.com/ashvardanian/stringzilla/commit/20b4db091972a0c797495e1db901f0abb0fc250a))
* Examples of lcoating unique strings ([8f5a09b](https://github.com/ashvardanian/stringzilla/commit/8f5a09bdfd61f9d6d59ada8c1511c0658252e21f))
* Exception-throwing cases for STL strings ([8318b32](https://github.com/ashvardanian/stringzilla/commit/8318b32a72be92adc9cc80ee0b03ec73e62eea17))
* Experimental rolling hashes on NEON ([571d1b2](https://github.com/ashvardanian/stringzilla/commit/571d1b27ed34a76e3070b5bb95049a8347ddfc4d))
* Fast integer division for random generator ([c0cc8ba](https://github.com/ashvardanian/stringzilla/commit/c0cc8ba35349f32cb8220388c03dd6b1b6a27177))
* Fast replacements and alloc-free concat ([3720cd0](https://github.com/ashvardanian/stringzilla/commit/3720cd0309761aecfeb16414995e0f29195a8ce0))
* Full line search benchmarks ([9db22d5](https://github.com/ashvardanian/stringzilla/commit/9db22d544475989a703501392c82dbceae0acf84))
* get item with slice ([ab5e5ac](https://github.com/ashvardanian/stringzilla/commit/ab5e5ac868dce0727858d55315e2f3bcafe20e3b))
* Horspool algorithm for longer patterns ([19ed36c](https://github.com/ashvardanian/stringzilla/commit/19ed36c7fb747b6a6c72572733b74b7efdb75890))
* Hybrid sorting with Radix and Quick Sorts ([e6e532c](https://github.com/ashvardanian/stringzilla/commit/e6e532c79f1f662516c98639cb92c6765ab9edf8))
* Initial Arm Neon support ([9d38c7d](https://github.com/ashvardanian/stringzilla/commit/9d38c7d467f8c6ca3a2c7b82b29cb86bb921f9e6))
* Initial Levenstein distance ([9093983](https://github.com/ashvardanian/stringzilla/commit/9093983b7751480fe999d0b374699c7ff11a056c))
* Levenshtein distance benchmarks ([19f5dd5](https://github.com/ashvardanian/stringzilla/commit/19f5dd59111e4d24d29dac24dc4fd5ec5369048e))
* Levenshtein distance tests in C++ ([1efccd9](https://github.com/ashvardanian/stringzilla/commit/1efccd9dd5a466e5e575ff84136d4e1c5f294015))
* Levenstein distance ([7723703](https://github.com/ashvardanian/stringzilla/commit/7723703295d1bdf22c45176b30e9fdf2c643d9fb))
* Merge-, Insertion-, Quick-sorting algos ([061d523](https://github.com/ashvardanian/stringzilla/commit/061d523b370d63ea9b3a0d0652c1bd7132ca82dd))
* Merge-sort for strings ([60e683b](https://github.com/ashvardanian/stringzilla/commit/60e683ba6d611d037eb49a4aa818a7af424f4cbf))
* Micro-benchmarking notebook ([c70e811](https://github.com/ashvardanian/stringzilla/commit/c70e811c81a1e76ce19a321b0ceeb6886f36fa5f))
* misaligned tests ([1e94b7d](https://github.com/ashvardanian/stringzilla/commit/1e94b7d15f81440392016c169b22b24f36eb0888))
* missing `append`, `assign` STL APIs ([b28136a](https://github.com/ashvardanian/stringzilla/commit/b28136aace2fda73544d9194ccfbf693e2d643c6))
* Mutable string slices ([009080b](https://github.com/ashvardanian/stringzilla/commit/009080b118064186fb6ced5aa76e9229ca3c34df))
* Non-STL Pythonic slicing ([8ca6f03](https://github.com/ashvardanian/stringzilla/commit/8ca6f03bb20be543ea8ea122f36863bdf64bb656))
* Purely `qsort`-based hybrid sort benchmark ([eaef636](https://github.com/ashvardanian/stringzilla/commit/eaef636ff64ef0b9f730f739cb57771f776f4826))
* Python bindings ([1c759c2](https://github.com/ashvardanian/stringzilla/commit/1c759c257afe048026bc89d0a8478067b2e43b0f))
* random `shuffle` for strings collections ([6e3309c](https://github.com/ashvardanian/stringzilla/commit/6e3309c00d75326ed87caaa5673fcd6296b68c7d))
* Random strings generator ([eafaba0](https://github.com/ashvardanian/stringzilla/commit/eafaba00315e553f30b1b6e77d5fdc19b6378341))
* Randomize non-owning ranges ([71890ac](https://github.com/ashvardanian/stringzilla/commit/71890acc26926274b56cf22c94e5d977bc007191))
* Range matchers for charsets ([207d1de](https://github.com/ashvardanian/stringzilla/commit/207d1de4fe99b5b1d0a9c6ddf154f7ca27b32f65))
* read-only operations for `string` ([df10847](https://github.com/ashvardanian/stringzilla/commit/df10847c8b5c4ca29e0ca71b9227fb1f8f33897d))
* reverse order AVX2 & benchmarks ([ac05a39](https://github.com/ashvardanian/stringzilla/commit/ac05a39ba22afe02864da2f9c8bfdd3d8a854a97))
* Reverse order iterator ([2931be7](https://github.com/ashvardanian/stringzilla/commit/2931be77445b2a5b3c37f6a961fb10b1f22825d8))
* Rust bindings ([5d75ccf](https://github.com/ashvardanian/stringzilla/commit/5d75ccfe82cd676cc36653e79872a5b1fc2ad659)), closes [#66](https://github.com/ashvardanian/stringzilla/issues/66)
* Search benchmark ([f257df6](https://github.com/ashvardanian/stringzilla/commit/f257df671418f8276e98394bc9e709962987d761))
* Separate notebook for similarity benchmarks ([f3f2ae6](https://github.com/ashvardanian/stringzilla/commit/f3f2ae6c394922278484bda1e99b226a6d4ff5b1))
* Shuffling method in Python ([6b82311](https://github.com/ashvardanian/stringzilla/commit/6b82311f8c12afe731eccab36642fabe6c327cde))
* Slices and rich comparisons ([d2d8de9](https://github.com/ashvardanian/stringzilla/commit/d2d8de9707ebd659fd425efd89bd25f7f4c74c1c))
* small string optimization in C & Cpp ([a0986e9](https://github.com/ashvardanian/stringzilla/commit/a0986e92c24248410e68aadb367af51a590fdee1))
* Sorting functionality for C++ ([39cc4d4](https://github.com/ashvardanian/stringzilla/commit/39cc4d40e6faf7628d2df34f7a1d99723b9bdec5))
* Split functionality ([c3e28c9](https://github.com/ashvardanian/stringzilla/commit/c3e28c954174c5d48337f78c5dda635d9af8c9cb))
* Split into consecutive slices ([f984397](https://github.com/ashvardanian/stringzilla/commit/f984397d16f3640bf212431af09a93ad81180f9c))
* Split ranges ([c591599](https://github.com/ashvardanian/stringzilla/commit/c5915999f08b69931c9249718b49e0666fc41842))
* Split ranges ([ca5e95b](https://github.com/ashvardanian/stringzilla/commit/ca5e95b1ef0f3ce9263b632372fd901539eb9055))
* SSE and Arm variants of CRC32 ([674da60](https://github.com/ashvardanian/stringzilla/commit/674da60244e283845453a874b44d19e8cf7c4369))
* STL compatibility tests ([5281628](https://github.com/ashvardanian/stringzilla/commit/52816283ec98d84b44f8c4ea7af76e076a237d91))
* String conversion functionality ([46ef2b7](https://github.com/ashvardanian/stringzilla/commit/46ef2b708de98ac7c17ef5aa0a5771f5520ca1aa))
* String literals, reverse iterators ([9a48ba2](https://github.com/ashvardanian/stringzilla/commit/9a48ba24dc87ac98553d599c929e62f30fd16a55))
* strippers on both sides ([782cffb](https://github.com/ashvardanian/stringzilla/commit/782cffb4c5e6b72cc566726b576fcfdb707e5c10))
* Subscript methods ([8c6ae0a](https://github.com/ashvardanian/stringzilla/commit/8c6ae0a8c2599ce33b94ef77e6101b6e8ef2a513))
* support of negative slices ([76ebcc4](https://github.com/ashvardanian/stringzilla/commit/76ebcc483605a0ce2312804abc6ad0732b248e3c))
* SwiftPM binding to C ([3940549](https://github.com/ashvardanian/stringzilla/commit/39405490c834677647c94172fb62414dae7bdfa6))
* test for slice operator ([70edef1](https://github.com/ashvardanian/stringzilla/commit/70edef1fe6ef906ef5df2032d4d4fc4dcde8ab92))
* tests for slices ([374fc0b](https://github.com/ashvardanian/stringzilla/commit/374fc0b7d3df8e2630d887b760f0463e750e5a43))
* tests for Slices ([a103c27](https://github.com/ashvardanian/stringzilla/commit/a103c27c61b9679a037fc3324aa6e4569a61b1ea))
* Vectorized `count` ([ef067d8](https://github.com/ashvardanian/stringzilla/commit/ef067d805b7678f1db84ebd55ab4994bb0e351df))
* Vectorized `split` for Python ([69b1e1a](https://github.com/ashvardanian/stringzilla/commit/69b1e1a53d69e00ece4922feb7c0bce9971c94be))
* Windows support ([79e0f47](https://github.com/ashvardanian/stringzilla/commit/79e0f476ef8637c54f52f7ef05e5b6772b4d4582))

### Break

* `sz_string_erase` to return delta ([7f01630](https://github.com/ashvardanian/stringzilla/commit/7f01630fbb9079adebea876a02e3b8408bf70d48))
* Avoiding LibC and new API ([efafbbf](https://github.com/ashvardanian/stringzilla/commit/efafbbf0687f1d315c94b54b08e5b93f91e88be0))
* Deprecate multi-source `Strs`; split tests ([1e09400](https://github.com/ashvardanian/stringzilla/commit/1e09400fe6e07936b9679a35731ab87819c5f8ac))
* New testing suite ([927bff1](https://github.com/ashvardanian/stringzilla/commit/927bff1f372da6702242fea871a5cb1142221a92))
* r-prefixed names for reverse order ([7f1e8c4](https://github.com/ashvardanian/stringzilla/commit/7f1e8c4a4fdb104a51ef97b37a5a5bfa21950265))
* rename C++ `split` to `partition` for consistency ([d8f1940](https://github.com/ashvardanian/stringzilla/commit/d8f194024169ee7d1362a3a7d5461329890d5311))
* Replace `append` -> `expand` ([bb02881](https://github.com/ashvardanian/stringzilla/commit/bb02881979e8ab1e8009b0bdbdeecfe278016165))
* Shorter function prefixes ([c0e129d](https://github.com/ashvardanian/stringzilla/commit/c0e129d8289d5df6ec65b29d2f90ec55d8a19ca5))
* Use two Rabin rolling hashes ([f4980d9](https://github.com/ashvardanian/stringzilla/commit/f4980d915d1f5b567cdef564a384fc6ab471e83f))

### Build

* Released 1.0.0 [skip ci] ([1e6b0f6](https://github.com/ashvardanian/stringzilla/commit/1e6b0f675c1b749024ee3ae2ab364672cd0016f7))
* Released 1.0.1 [skip ci] ([ab185a6](https://github.com/ashvardanian/stringzilla/commit/ab185a6dc01b4ebe69c0d54a7989b54b39f969f6))
* Released 1.0.2 [skip ci] ([dc4ce27](https://github.com/ashvardanian/stringzilla/commit/dc4ce2740e57e5ede6478f2637faa8cdc5f345e1))
* Released 1.0.3 [skip ci] ([0280ca6](https://github.com/ashvardanian/stringzilla/commit/0280ca60abeab793ee97d8778e201b3ac95dd11b))
* Released 1.1.0 [skip ci] ([22682e7](https://github.com/ashvardanian/stringzilla/commit/22682e732beafb5430b1186da9b6474ee37949b5))
* Released 1.1.1 [skip ci] ([ff64dcc](https://github.com/ashvardanian/stringzilla/commit/ff64dcc7207375416da3ec5b9e9fc15c1177bc8d))
* Released 1.1.2 [skip ci] ([8d2436d](https://github.com/ashvardanian/stringzilla/commit/8d2436dfeb8c62ff2aece8d9cc3650990aba1c1f))
* Released 1.1.3 [skip ci] ([3136ac8](https://github.com/ashvardanian/stringzilla/commit/3136ac868cdee2e529e6f4888c611eab3fe9bd3c))
* Released 1.2.0 [skip ci] ([085b89b](https://github.com/ashvardanian/stringzilla/commit/085b89ba046f7abf0552e770071a859d95d10b1c))
* Released 1.2.1 [skip ci] ([075ce13](https://github.com/ashvardanian/stringzilla/commit/075ce1385aef1b4a781716c85e4b36c9e91fe6cf))
* Released 1.2.2 [skip ci] ([ddac709](https://github.com/ashvardanian/stringzilla/commit/ddac7099cf50a21a99b1a432ec2dab1c09ef80df))
* Released 2.0.0 [skip ci] ([bc30dcf](https://github.com/ashvardanian/stringzilla/commit/bc30dcfdfa480bafde28264f1958cd8e7bd1d91e))
* Released 2.0.1 [skip ci] ([e44faed](https://github.com/ashvardanian/stringzilla/commit/e44faed6fffa8175b2ed4afb262efd6672f1ee08))
* Released 2.0.2 [skip ci] ([74bce88](https://github.com/ashvardanian/stringzilla/commit/74bce88200a6119cc43a9bd4e32f5b0b1328cf21))
* Released 2.0.3 [skip ci] ([d728848](https://github.com/ashvardanian/stringzilla/commit/d728848723ecbe5cec8fd47ce5e45fad7f2bd0ff))
* Released 2.0.4 [skip ci] ([7d0de91](https://github.com/ashvardanian/stringzilla/commit/7d0de911fd9a851175be5e8ea247d79df0dfe198))

### Docs

* Add Apache 2.0 LICENSE ([d9a52df](https://github.com/ashvardanian/stringzilla/commit/d9a52df7b256283105bc5381e566d61761be7e17))
* Add development plans ([cf81e41](https://github.com/ashvardanian/stringzilla/commit/cf81e413075560b43f34173deca9473db222e931))
* Annotate SWAR methods ([8bd2c20](https://github.com/ashvardanian/stringzilla/commit/8bd2c20c0859b0e80cf3302d3385963c002faadc))
* benchmark against BioPython ([c1b85bd](https://github.com/ashvardanian/stringzilla/commit/c1b85bdf90054278e525a97d6e633eb0d6c00c3a))
* Build instructions and contribution guide ([a7883aa](https://github.com/ashvardanian/stringzilla/commit/a7883aaa151a9dd87be196968a1f6d0bb9202d2d))
* correct SSO size in `libc++` ([86ba553](https://github.com/ashvardanian/stringzilla/commit/86ba5533db7bd0cc302050d568c38d77410ba172))
* Extend algorithms ([266c017](https://github.com/ashvardanian/stringzilla/commit/266c01710dddf71fc44800f36c2f992ca9735f87))
* Improved intro ([034260b](https://github.com/ashvardanian/stringzilla/commit/034260b1b6fec373cec3e101cb1aaa0c28b0d868))
* Less sections ([371c24f](https://github.com/ashvardanian/stringzilla/commit/371c24f65c5d1867a8cc417d0c51264da8e17d79))
* Library description ([40dd6f5](https://github.com/ashvardanian/stringzilla/commit/40dd6f56b37b56aad4d47ca73a52735070af9782))
* Linking issues and refreshing C part ([84bc1f5](https://github.com/ashvardanian/stringzilla/commit/84bc1f55b4f161e1b76b4969d8eb6867ce289c26))
* list performance considerations ([0b61591](https://github.com/ashvardanian/stringzilla/commit/0b61591bec153361aa1dff9139b0c940dbf1baae))
* Major improvements for hashing ([c6110b5](https://github.com/ashvardanian/stringzilla/commit/c6110b5890fa6de023c0d5fc7d39c3aa0e921293))
* Make front page easier on the eye ([edc6763](https://github.com/ashvardanian/stringzilla/commit/edc67632f126b691699351b4f208803642933cdf))
* More benchmarking instructions ([4ef7d64](https://github.com/ashvardanian/stringzilla/commit/4ef7d6477841ac0b6991642f27ace05f5b636906))
* More datasets for benchmarks ([87d1973](https://github.com/ashvardanian/stringzilla/commit/87d1973e6f7a05b8540fdfe3e9db0fd03b753c67))
* README and warnings ([f4348e4](https://github.com/ashvardanian/stringzilla/commit/f4348e48b8a5971c2dc16decf74b7cd77cea1c86))
* recommending VSCode extensions ([b19a186](https://github.com/ashvardanian/stringzilla/commit/b19a186897ca3802f7f4fe2c64aac252be803875))
* Refined README ([3caf621](https://github.com/ashvardanian/stringzilla/commit/3caf621596aa070f8720a315d9c07536ecd39d17))
* Refresh intro ([445f292](https://github.com/ashvardanian/stringzilla/commit/445f292ac17a4b935203d7fea3aa7a42c2d7e8d7))
* Restructure groups ([87c55b7](https://github.com/ashvardanian/stringzilla/commit/87c55b7b753145ad27c7f3083280bed787f66d1f))
* Sections on random strings ([067ef21](https://github.com/ashvardanian/stringzilla/commit/067ef21aebb3d828f77e135745d79840e726b516))
* Sorting and PRNG benchmarks ([d7a6e33](https://github.com/ashvardanian/stringzilla/commit/d7a6e33a8ea1ba68242ef4513171499bbbcc3c13))
* spelling ([49b70e8](https://github.com/ashvardanian/stringzilla/commit/49b70e8f9c1f090b85791107da4c24f0f5ee2f19))
* Spelling ([95c9fcf](https://github.com/ashvardanian/stringzilla/commit/95c9fcf8d507eea15fe5ba2450ac942ba764fa6d))
* Suggesting STL API extensions ([6094006](https://github.com/ashvardanian/stringzilla/commit/60940064aeeabfe60cc6e6a62e00f38b9e03668a))
* Update [skip release] ([1b336ee](https://github.com/ashvardanian/stringzilla/commit/1b336eee886c84d6afda9519f493432f3a4cfe47))
* Update LICENSE and table ([76d0c1f](https://github.com/ashvardanian/stringzilla/commit/76d0c1f8b48a983baa9cd70fc63656da19284755))
* Update README.md ([20de986](https://github.com/ashvardanian/stringzilla/commit/20de986212b2afda9f89958f0114ecba1a79c019))
* Update table [skip release] ([cdf425a](https://github.com/ashvardanian/stringzilla/commit/cdf425aa6161fb3c8be8160be4ddcf6e5c0d1a5e))

### Fix

* `comparator` function signature ([635ce6e](https://github.com/ashvardanian/stringzilla/commit/635ce6e1894ec12fa68e6333b32f4f7adfb6c315))
* `length` location assuming little-endian hardware ([e584f8b](https://github.com/ashvardanian/stringzilla/commit/e584f8bf79e363668afb30724451e099622604bb))
* `misaligned_len` estimate ([90ea05d](https://github.com/ashvardanian/stringzilla/commit/90ea05d217ebb7f7662a5a532c4196a70e8b7404))
* `qsort_r` argument order ([eb7c8f8](https://github.com/ashvardanian/stringzilla/commit/eb7c8f891a84e77294f27781cff360c2fb87b1ec))
* `qsort_s` vs `qsort_r` on MacOS ([7aaf624](https://github.com/ashvardanian/stringzilla/commit/7aaf624343008f2d862dc5f12110a32a1a20f534))
* `static_cast` for Clang builds ([246d79d](https://github.com/ashvardanian/stringzilla/commit/246d79dd0229bd655d4724c366695c93d2c27f40))
* `strzl_sort_config_t` symbol ([0e6cda7](https://github.com/ashvardanian/stringzilla/commit/0e6cda78755b57b23064aa5533a367e7546c8c52))
* `sz_move_serial` in reverse order ([6bbc963](https://github.com/ashvardanian/stringzilla/commit/6bbc9636ff5d10cfbe31509bf211151a3c6fe74b))
* `sz_size_bit_ceil(1)` == 1 ([5f19a16](https://github.com/ashvardanian/stringzilla/commit/5f19a164cd103be5aab436bddebb0183ea15200d))
* `sz_size_bit_ceil` and missing constructors ([174fc15](https://github.com/ashvardanian/stringzilla/commit/174fc150e2cc68925a4720e42e3540457c9ed979))
* `sz_size_t` size in MSVC ([d0ad4aa](https://github.com/ashvardanian/stringzilla/commit/d0ad4aa1deedf963ba836b662a2a18eda40b01f4))
* `sz::string` constructors ([805b99a](https://github.com/ashvardanian/stringzilla/commit/805b99a72c8cde876de60fba38d63ddcf74f0e96))
* 32-bit integer overflow in `sz_rfind_avx512` ([2833707](https://github.com/ashvardanian/stringzilla/commit/283370738d715a6fdd03acdb35eecb454492bf1f))
* Alignment score Py test ([3521a8f](https://github.com/ashvardanian/stringzilla/commit/3521a8f160792bbc7a40a69bdafae8ed9ffb14e8))
* Allow no args to `split` ([dd5dd1c](https://github.com/ashvardanian/stringzilla/commit/dd5dd1c11f61f69031412d86f14967b60baa750f))
* Applying sort order in Python ([73e1fc7](https://github.com/ashvardanian/stringzilla/commit/73e1fc7eaca606badcf8f94dcfe77d8fb1a3c90d))
* assertion logging condition ([1c1f4f7](https://github.com/ashvardanian/stringzilla/commit/1c1f4f75dff2c5c2472c9ca6e03d7d1a266d8c70))
* AVX-512 compilation and naming ([82820d4](https://github.com/ashvardanian/stringzilla/commit/82820d459c28aac5c7433a0f81fd9234ce265122))
* AVX-512 tests and cheaper copy construction ([08810e9](https://github.com/ashvardanian/stringzilla/commit/08810e961e04215dfc95630f977daa7b3260417d))
* AVX2 compilation ([3f32d89](https://github.com/ashvardanian/stringzilla/commit/3f32d890a8e561d864152f6e1a65f1ecafad06a1))
* Benchmarks compilation ([204444f](https://github.com/ashvardanian/stringzilla/commit/204444ff9befb044d74d0d6fc7446e0ec11f282a))
* Boundary condition with misaligned loads ([0d39e81](https://github.com/ashvardanian/stringzilla/commit/0d39e81f9c1f65748250371363bdec0925840636))
* Bounded Levenstein distance ([a875b4a](https://github.com/ashvardanian/stringzilla/commit/a875b4a3c70a1556646a7b167506715bd70eae66))
* Buffer width for NodeJS bindings ([3871bbf](https://github.com/ashvardanian/stringzilla/commit/3871bbf3b0f60b783fa0a7656d3804df849710c0))
* bugs in assignment, initialization, ... (#63) ([b234e7c](https://github.com/ashvardanian/stringzilla/commit/b234e7cf61ae8302e15bb234dc702992de1ced15)), closes [#63](https://github.com/ashvardanian/stringzilla/issues/63)
* C++ `rfind` second argument of two ([a243ef1](https://github.com/ashvardanian/stringzilla/commit/a243ef1c9958e0fd2f8f13b822f7dd400b868846))
* Cast to `UInt64` in Swift ([2a78408](https://github.com/ashvardanian/stringzilla/commit/2a78408a99f11fa4b20962323e6994f7b2f5cf68))
* Comparator ([c64dafa](https://github.com/ashvardanian/stringzilla/commit/c64dafa348a58695c10ae314435df76b5bda1650))
* Compilation ([b896f77](https://github.com/ashvardanian/stringzilla/commit/b896f77672c4a6c6c0a666493508f6dbca8771c8))
* Compilation ([71ff4df](https://github.com/ashvardanian/stringzilla/commit/71ff4dfbc0bbace33dfed9234c71ebd1d96b14d4))
* Compilation and warnings ([df47d8a](https://github.com/ashvardanian/stringzilla/commit/df47d8aa57047ebbb657cb3ca5caf831c118ab5c))
* Compilation for older C++ standards ([5629c0b](https://github.com/ashvardanian/stringzilla/commit/5629c0b42a1d32b40bec450751693abd78f265be))
* Compilation on GCC11 ([4da34a8](https://github.com/ashvardanian/stringzilla/commit/4da34a8a132ad7de31cf3fcc696044334cc20da3))
* Compilation on MacOS ([c1d138c](https://github.com/ashvardanian/stringzilla/commit/c1d138ca5f5fb43e3da2953291562b3c44fcbb1d))
* Constructing from string and moves ([9e3aa95](https://github.com/ashvardanian/stringzilla/commit/9e3aa952d8f296b1a3776fd860b6f18749aa45ce))
* Counting substrings with `allowoverlap` ([8f35f54](https://github.com/ashvardanian/stringzilla/commit/8f35f54d8ebc3d552e82a3bad8dbdbb8c1b3903a))
* Cpp20-only constructor ([62e6788](https://github.com/ashvardanian/stringzilla/commit/62e678854acdef2b01efe411765082d7f1e4440a))
* Default argument sign for NW. scores ([3cb1f7a](https://github.com/ashvardanian/stringzilla/commit/3cb1f7a0daf3475ef9507c7d1895d6f7ca83c958))
* Exit search loop in benchmarks ([875200e](https://github.com/ashvardanian/stringzilla/commit/875200edae8279dc668bd21136df580dff271bfd))
* Experimental hashes names ([ff6a660](https://github.com/ashvardanian/stringzilla/commit/ff6a660ceb7bd14e1b0cdc05b20dd3601d4f4b53))
* Global `rsplit` return type ([e00963e](https://github.com/ashvardanian/stringzilla/commit/e00963e38192714253c88b7e2b823da86e216990))
* Identical overlapping semantics to Python ([f1ffe51](https://github.com/ashvardanian/stringzilla/commit/f1ffe518ffa3c67567d27c6d78ae22f7fefd98b3))
* include <stdexcept> for `out_of_range` ([0e5b85b](https://github.com/ashvardanian/stringzilla/commit/0e5b85b671917a8cb84ca29d22fb5a1ccdf9f3f6))
* Invoking the wrong constructor in tests ([8d450f5](https://github.com/ashvardanian/stringzilla/commit/8d450f574330d4753f4d3f2b6304c57a8eb8aa04))
* JS compilation and missing symbols ([582d5ab](https://github.com/ashvardanian/stringzilla/commit/582d5ab41046e02839880d663dca81eeac27e280))
* JS compilation and missing symbols ([61ed1a1](https://github.com/ashvardanian/stringzilla/commit/61ed1a14e3d517f753384add47f25c07ba86a82f))
* leaks and semantics, testing for memory leaks ([e7f0858](https://github.com/ashvardanian/stringzilla/commit/e7f0858e8bf9d716461aaee8751aec257078792e))
* Masking last comparisons in AVX-512 ([d5f6338](https://github.com/ashvardanian/stringzilla/commit/d5f6338539de3c3253bf65f976953b7f89cc7594))
* Matching Python string semantics ([1067090](https://github.com/ashvardanian/stringzilla/commit/10670905d1abd930ab0798045aa8140e95a44aab))
* memory access after `free` ([ec2e9b2](https://github.com/ashvardanian/stringzilla/commit/ec2e9b2f74373c403423b34574d58128d34d1c5b))
* Memory CPython memory allocations ([49030d4](https://github.com/ashvardanian/stringzilla/commit/49030d4af00b7eb48daa07ae8d7e6c3baeefb231))
* Memory leak and extra `strlen` calls ([a013147](https://github.com/ashvardanian/stringzilla/commit/a0131470ef77f40b1820124d7bef59d05624beda))
* Minor merge issues ([cfa540b](https://github.com/ashvardanian/stringzilla/commit/cfa540b638d2ac4ed415d8f7ccd146f3ce8567bf))
* Misaligned count and non C99 features ([1efd896](https://github.com/ashvardanian/stringzilla/commit/1efd8961d4ae1207058acbd407fcfed21bcb9e3b))
* Missing `__builtin_clzll` symbol ([bd4496a](https://github.com/ashvardanian/stringzilla/commit/bd4496a405823b687f43a7b093f180ba2e3cfc14))
* Missing header and test path ([303390e](https://github.com/ashvardanian/stringzilla/commit/303390e4b56f3acadd1d8d797b7b883cf2a2867b))
* Missing initialization for on-stack string ([5d85174](https://github.com/ashvardanian/stringzilla/commit/5d85174e8aef79d8390a137324e1da82c544be02))
* MSVC-compliant initialization ([ef2d66c](https://github.com/ashvardanian/stringzilla/commit/ef2d66c4fcbe5e56e29c5b16f3d2f420542c2185))
* Normalizing offsets in Py ([351567f](https://github.com/ashvardanian/stringzilla/commit/351567f44e0fb59f307710463acac1ed922dcb87))
* NPM build warnings ([da72015](https://github.com/ashvardanian/stringzilla/commit/da72015dbfcae4bae63176e616dda64d1db108c5))
* NPM build warnings ([b2e4b3e](https://github.com/ashvardanian/stringzilla/commit/b2e4b3e0bccbe1a413d6b6c73c8064ae5e3bd69b))
* Overflow bug in Arm NEON ([cdcc3b7](https://github.com/ashvardanian/stringzilla/commit/cdcc3b7e82f6b77cbdc344f12f1ee2c834048435))
* Overflow on consecutive matches ([f4ab1ea](https://github.com/ashvardanian/stringzilla/commit/f4ab1eab2cb8686c8a146414a5c1d6a5d7427100))
* Passing builds with strictest settings ([629a280](https://github.com/ashvardanian/stringzilla/commit/629a280c7ec1df9737ef85ba7a2785f453f00dda))
* Propagating definitions ([847763f](https://github.com/ashvardanian/stringzilla/commit/847763f7b47cb3de35ceac14db91021ecd8cb740))
* Python bindings passing tests ([e995121](https://github.com/ashvardanian/stringzilla/commit/e995121ca5c4d420cea2b8742338a79ef309eac0))
* python slices of splits used incorrect offsets. ([c7e54e4](https://github.com/ashvardanian/stringzilla/commit/c7e54e4bc123938575a105dbf38d427223c6cd03))
* Python sort ([a1d32d8](https://github.com/ashvardanian/stringzilla/commit/a1d32d8cfd7d40e19e2f6a4c8cb7a1b5c0f0750b))
* Python tests passing ([9cd14ab](https://github.com/ashvardanian/stringzilla/commit/9cd14abdeeb0b666618de58340a8e9667f601b1b))
* Random generator type resolution ([16da145](https://github.com/ashvardanian/stringzilla/commit/16da1451823815b3cbe1471ee055609917583e19))
* remove unnecessary include ([1f863e7](https://github.com/ashvardanian/stringzilla/commit/1f863e7b8c6736a4f976e13297aad5d070f4c8b2))
* reporting if step defined ([6af744c](https://github.com/ashvardanian/stringzilla/commit/6af744cbc3edef0a7cd06f95a64e4c01876a2a92))
* Returning `NULL` without setting the error ([cfffaeb](https://github.com/ashvardanian/stringzilla/commit/cfffaeb3734be9c9d914a58f1ed7f8e348f1046d))
* Reverse order ([250a97e](https://github.com/ashvardanian/stringzilla/commit/250a97ea1da53f8d2ca4f03dd28f67575971b01c))
* Sime constructors in C++11 can't be `constexpr` ([9fbbeb8](https://github.com/ashvardanian/stringzilla/commit/9fbbeb8e720cb2d85bdb341bd16a25e49ec0bd18))
* Skipping `misaligned` region twice ([2457915](https://github.com/ashvardanian/stringzilla/commit/2457915d8b2825b1be85b0a7bd5627d3a4f8c638))
* slice function logic ([a48609b](https://github.com/ashvardanian/stringzilla/commit/a48609bb926f3284bfd33fd52976b30561bb26f3))
* Slices ([8449dda](https://github.com/ashvardanian/stringzilla/commit/8449ddaf695d01aa033af6c81c04af80c894c17d))
* Sort in ascending order ([d049043](https://github.com/ashvardanian/stringzilla/commit/d049043ccb230a29f51e219058755a6927aaf3b3))
* Sort test ([7aa2c0b](https://github.com/ashvardanian/stringzilla/commit/7aa2c0b7315ccdfd9cee84be6d331714ba751691))
* speculative_neon_t count ([571e0a5](https://github.com/ashvardanian/stringzilla/commit/571e0a5269f15c339e176d43f1d7c6e439d8ff8c))
* strzl_sort ([612373b](https://github.com/ashvardanian/stringzilla/commit/612373ba85eec048a8b376d9247470574acc616c))
* SWAR search bug ([b62b9c6](https://github.com/ashvardanian/stringzilla/commit/b62b9c666c8970bb4219f1227b225ecb44a0d707))
* Swift build in Xcode ([3321c85](https://github.com/ashvardanian/stringzilla/commit/3321c8530406f816f2ee7f1f5077855f60a663aa))
* Switch to shared mappings to reduce RAM use ([07bc055](https://github.com/ashvardanian/stringzilla/commit/07bc05532f91dbb49c0b3dd350701fa70fe337a9))
* Throughput calculation for rfind ([1c48a42](https://github.com/ashvardanian/stringzilla/commit/1c48a42f44bd01a833712df893d9e5e3d2cb55d6))
* Use different functions depending on arch ([2ad5790](https://github.com/ashvardanian/stringzilla/commit/2ad5790c20cdf83afc7ab766f9267bd3b2c853f7))
* Use different functions depending on arch ([327a149](https://github.com/ashvardanian/stringzilla/commit/327a149037782df6c07d44974b31009dbfa63727))
* Using the right pragma for GCC ivdep ([ca3b62d](https://github.com/ashvardanian/stringzilla/commit/ca3b62defe47994cd2ce574ffd7bc310a02a5ae3))
* wrong intrinsic for non-AVX512 x86 ([550fb38](https://github.com/ashvardanian/stringzilla/commit/550fb38593c637cf6faf2cb743641d91a4394964))

### Fixes

* RNG instantiation UB, reducing avoiding compiler optimization for the callback. ([1ae31a0](https://github.com/ashvardanian/stringzilla/commit/1ae31a0c37447f55b48ed779e530452af4f14813))

### Format

* Compact code style ([4ddee17](https://github.com/ashvardanian/stringzilla/commit/4ddee17153d07e9381619f6a34c05e5e78d0292b))

### Improve

* `_sz_locate_needle_anomalies` for Arm ([a8df0f9](https://github.com/ashvardanian/stringzilla/commit/a8df0f991644d033250184619f8747fe051a437b))
* `_sz_locate_needle_anomalies` for AVX ([e453ab8](https://github.com/ashvardanian/stringzilla/commit/e453ab86745277ad9c8a3decc0065845e5fc3e80))
* `sz::` and `std::string` are mostly compatible ([41570d6](https://github.com/ashvardanian/stringzilla/commit/41570d6e57b9f62c849c452640383eefd6fcb561))
* `vtbl`-based charset search for NEON ([8ed148e](https://github.com/ashvardanian/stringzilla/commit/8ed148e7d126bae25240aa6637b607d66ae4d263))
* Apply Swift API to both strings and buffers ([d52bdb3](https://github.com/ashvardanian/stringzilla/commit/d52bdb389546e8f4ae459196670977013a321420))
* Avoid inner `for`-loop on Arm NEON ([eafe41c](https://github.com/ashvardanian/stringzilla/commit/eafe41cba0b227395f311be676413f39c15efb42))
* avoiding nested loop in AVX2 ([ac7012a](https://github.com/ashvardanian/stringzilla/commit/ac7012a2796e613af75fde91e205ef55fb84944b))
* AVX2 and AVX512 backends ([462a426](https://github.com/ashvardanian/stringzilla/commit/462a4264863fd9e9899276a124c704ede1add4d3))
* BitScan dispatch on Windows ([7e2ca96](https://github.com/ashvardanian/stringzilla/commit/7e2ca96b76db453fca2601a2b72c2d57153e18b1))
* Broader benchmarks ([4014af9](https://github.com/ashvardanian/stringzilla/commit/4014af9f74f0f7e1a0ca6daec7638fd93e7b742d))
* Bypass GIL on long tasks ([59f41f9](https://github.com/ashvardanian/stringzilla/commit/59f41f9a25f2ec364974cef2f72e9273787f3d61))
* C++ tests structure ([f6bec48](https://github.com/ashvardanian/stringzilla/commit/f6bec488380f489fd99872f817f6d39d9504bd94))
* Compatibility with STL strings ([deafa73](https://github.com/ashvardanian/stringzilla/commit/deafa732080d965ba1774ed3747c1693fdf79f06))
* Deduplicate charset-matching on NEON ([7c4e169](https://github.com/ashvardanian/stringzilla/commit/7c4e16928f722e8110804816b55a879fcc31c277))
* drop `ctype`, `stddef`, `stdint` headers ([245da6d](https://github.com/ashvardanian/stringzilla/commit/245da6df67df2a51cca453ff8fd5dd48f20f5994))
* Drop useless AVX-512 parts ([7c104ec](https://github.com/ashvardanian/stringzilla/commit/7c104ec02a943cd0029bc6aac04960e1975f69f4))
* Extend benchmarks ([3838a85](https://github.com/ashvardanian/stringzilla/commit/3838a857d5d8c2eeebc09d787672d57ddbc02662))
* Faster `Str` constructor ([4796afb](https://github.com/ashvardanian/stringzilla/commit/4796afb21b7dfdc3efa4b3f4adfc60bb69013dd4))
* Faster Horspool initialization ([156b814](https://github.com/ashvardanian/stringzilla/commit/156b814848fa5ead86d11889c6bc2e3c15870bdf))
* Identical bit-counting intrinsics ([c934fb5](https://github.com/ashvardanian/stringzilla/commit/c934fb5af3c260aef4c530cb62e7f47a2bb02e35))
* Intro-sort ([644630b](https://github.com/ashvardanian/stringzilla/commit/644630b852ad43be6ba092c3091b458446688c4c))
* Less overhead per benchmark cycle ([6f1bde6](https://github.com/ashvardanian/stringzilla/commit/6f1bde6273ee821d5eea457ece517908385f7a01))
* Loading large files into memory ([c041962](https://github.com/ashvardanian/stringzilla/commit/c041962df9cd9994a0217c9d1d69b40da82db3d8))
* Mimic hyper-scalar code ([21f143c](https://github.com/ashvardanian/stringzilla/commit/21f143c5cf5e337245bee2bb72a1104983570858))
* Missing CPUID checks ([139e4fd](https://github.com/ashvardanian/stringzilla/commit/139e4fd52c115224606b05e62ec675eb56cded61))
* move `skip_length` into the matcher ([8905a56](https://github.com/ashvardanian/stringzilla/commit/8905a5671035a22bfc8f11856de7840c2359afd0))
* NW AVX-512 alignment ([e49cacb](https://github.com/ashvardanian/stringzilla/commit/e49cacbdb4762d06b636d836bc12d825b17b3c13))
* parity between `std` and `sz` string views ([487edd3](https://github.com/ashvardanian/stringzilla/commit/487edd32a8e99dcc6bb077ba8dfc944ab92f189d))
* Passing basic tests ([ee0ab2d](https://github.com/ashvardanian/stringzilla/commit/ee0ab2d138a4c127f7af6a9d2716dc04040791ea))
* Poison ranges with ASAN ([4703fad](https://github.com/ashvardanian/stringzilla/commit/4703fad44d7f2bfcebec8603c6ccf1763ff0317e))
* Polish xxHash ([ca085df](https://github.com/ashvardanian/stringzilla/commit/ca085df4436a87ae3dfc5fd8ba0a7d0a8116a04e))
* Preserving failed tests to disks ([9cd5c21](https://github.com/ashvardanian/stringzilla/commit/9cd5c218a64c052fbd8ccef6306f5c1be1d5a54b))
* Raita-style midpoint check in AVX-512 ([df683d9](https://github.com/ashvardanian/stringzilla/commit/df683d905e3adcc8f16b8e358235f57ec8f78d14))
* random generation and token-level benchmarks ([be54519](https://github.com/ashvardanian/stringzilla/commit/be545196bcac13e7c1fd353b1fa85b3d0d52306b))
* Rearrange tests and benchmarks ([8564852](https://github.com/ashvardanian/stringzilla/commit/856485223075872743cbf6d521c6a09bb0dbe601))
* Reduce `vmaxvq_u8` usage ([982ca69](https://github.com/ashvardanian/stringzilla/commit/982ca6929f0ebce52e0749bb869a1f7d451aec14))
* Reduce `vmaxvq_u8` usage ([53cb5ce](https://github.com/ashvardanian/stringzilla/commit/53cb5ce8b65f7e28e73643ee84e39f8150ee7d0d))
* Reduce number of loads/stores in scoring ([0c860c8](https://github.com/ashvardanian/stringzilla/commit/0c860c834f5d0c528ecdc95f58b72402e2b7d765))
* Reducing swaps in Radix sort ([3eac160](https://github.com/ashvardanian/stringzilla/commit/3eac1601a1d8cb88db9f6e7863c90f53bdf98ca1)), closes [#45](https://github.com/ashvardanian/stringzilla/issues/45)
* Refactoring AVX-512 control-flow for simplicity ([b42394c](https://github.com/ashvardanian/stringzilla/commit/b42394cce6e26b461134898442653bd15b94c71f))
* Remove deprecated code ([e3adaa4](https://github.com/ashvardanian/stringzilla/commit/e3adaa44f98df0127072f00724ae07500a1b46fb))
* Reorganizing for readability ([9dd1f8c](https://github.com/ashvardanian/stringzilla/commit/9dd1f8cdf3ef5c79caf4a0ff3309a9b53e2091ed))
* Reuse the C shared lib for Swift ([bd1686d](https://github.com/ashvardanian/stringzilla/commit/bd1686da68e0550567663d9b2e7db01bbb339ce4))
* Rust Bindings (#74) ([8200ca3](https://github.com/ashvardanian/stringzilla/commit/8200ca3894f575d772754c261b769d5852295877)), closes [#74](https://github.com/ashvardanian/stringzilla/issues/74)
* Same functions as global and members ([4a22ea8](https://github.com/ashvardanian/stringzilla/commit/4a22ea8984173a3f71704e47a8b8dd31213f3808))
* serial move implementation ([9173ca0](https://github.com/ashvardanian/stringzilla/commit/9173ca0f55c61cb1221bc783138185f4a62c443d))
* shorter tests with `std::string_view` ([d9977b0](https://github.com/ashvardanian/stringzilla/commit/d9977b0d07d4a3a776fb39011a31e0f71976a005))
* Silence type-casting warnings ([dbe4db3](https://github.com/ashvardanian/stringzilla/commit/dbe4db30845df932e34b5518133916bd094a14b3))
* Similarity search benchmarks ([d2e8da2](https://github.com/ashvardanian/stringzilla/commit/d2e8da242b43846a34bf4ebd7518ded0a6c10549))
* SWAR search for normal order search ([6669b1e](https://github.com/ashvardanian/stringzilla/commit/6669b1e3f38b921aedaa4af01571fbddabb2fbc9))
* Test coverage ([c967582](https://github.com/ashvardanian/stringzilla/commit/c9675825d71592dec075f40633967bd833f99c72))
* Test reproducibility of the `shuffle` ([ce888cc](https://github.com/ashvardanian/stringzilla/commit/ce888ccaadd89b247d3f549d8590837c0b1fe52d))
* Testing suite ([50a2a2f](https://github.com/ashvardanian/stringzilla/commit/50a2a2fc159f36972423590cf4ba5865dc0a3775))
* Tests against Raita ([6a5b18b](https://github.com/ashvardanian/stringzilla/commit/6a5b18b7de77a518cba80d70a3c90e78e81a32c4))
* Use less temp. variables to count matches ([3245330](https://github.com/ashvardanian/stringzilla/commit/32453305cb9d7b84090a8a17979aafd8d82f9c08))
* Using Clang `modulemap`-s ([05d21c5](https://github.com/ashvardanian/stringzilla/commit/05d21c52661138201d7e3b519b75c7c0f9d16aa5))
* Vectorized function calls ([6cd5a69](https://github.com/ashvardanian/stringzilla/commit/6cd5a69096982d2b2c7761063f6e265260f5fac5))
* Window width as runtime argument ([3bd29ae](https://github.com/ashvardanian/stringzilla/commit/3bd29ae5dee4586ed174be8f4f4fda19a2e057d0))

### Make

* `AlwaysBreakBeforeMultilineStrings` ([1dabc3b](https://github.com/ashvardanian/stringzilla/commit/1dabc3ba77e62a1732b6d83d2aa286273118218c))
* `numpy` dependency ([2d825ba](https://github.com/ashvardanian/stringzilla/commit/2d825ba2cfca86ef3c906cfa25a612ba820d0068))
* Add GitHub CI ([ba333db](https://github.com/ashvardanian/stringzilla/commit/ba333dbcf5d432fa27e2c1f4f917eb28dd68977a))
* Add NumPy dependency ([2e928ba](https://github.com/ashvardanian/stringzilla/commit/2e928bab7421ded7b5f4bec7fbcb6679bdde7b6d))
* Adding `.npmignore` ([cf93dfd](https://github.com/ashvardanian/stringzilla/commit/cf93dfd60e0cdc69a93bff848794cb62bc53d184))
* Automate major releases ([987475e](https://github.com/ashvardanian/stringzilla/commit/987475e20edbcaa8c78afaac413a5d62ce453215))
* Build with different compilers at once ([0580219](https://github.com/ashvardanian/stringzilla/commit/05802192a563bcf752be13830de76ce3b2a6f049))
* Bump VERSION ([f221874](https://github.com/ashvardanian/stringzilla/commit/f2218744a370549fe14eaa888c2124db22359f96))
* Bump VERSION ([bebda9f](https://github.com/ashvardanian/stringzilla/commit/bebda9ff05848495d2ab3dad9de3a2d20ac1febd))
* C++17 default, build 11/14/17/20 ([156afae](https://github.com/ashvardanian/stringzilla/commit/156afae9a5a3f7a7302414782cd3493609989e12))
* Change CXX standard ([4f4e69b](https://github.com/ashvardanian/stringzilla/commit/4f4e69b5ed163c44de177c66030cf7f64e12475e))
* CI for Clang and MacOS ([3162760](https://github.com/ashvardanian/stringzilla/commit/31627607d3c39f745fa11d65eb57e0a50f2efbb5))
* Cleaning build caches on Windows ([01d209f](https://github.com/ashvardanian/stringzilla/commit/01d209f6f2ce87f429c22a7c8f2ccde86ebd199c))
* Colorful diagnostics ([0b8d9cd](https://github.com/ashvardanian/stringzilla/commit/0b8d9cdd6d424fa540c04ecb8441a856a1065363))
* Compile for different x86 generations ([ae7b119](https://github.com/ashvardanian/stringzilla/commit/ae7b11934c298e80072edb2b21f9001ceed1c0dc))
* Consistent compilation settings ([6f930ea](https://github.com/ashvardanian/stringzilla/commit/6f930ea703edddef9308e713a70b213631e91496))
* Deduplicate `.clang-format` settings ([3db6845](https://github.com/ashvardanian/stringzilla/commit/3db684571ffa93f8420d5bc62b7285bf10aa07f4))
* Define default build type ([4ce3d64](https://github.com/ashvardanian/stringzilla/commit/4ce3d641943c571a6434687ec46261eb33eaef0e))
* Dependencies for testing ([253a26d](https://github.com/ashvardanian/stringzilla/commit/253a26de2c1c70d69196833b62893eb58d5a8230))
* Deprecate old benchmarks ([b5b1f83](https://github.com/ashvardanian/stringzilla/commit/b5b1f833fd2dfe6e60db01217dcb025df9fdc98e))
* Don't build the library every time ([daaa93b](https://github.com/ashvardanian/stringzilla/commit/daaa93b8a1591f9fca2d3589383be24729c5f7eb))
* Enable DQ extensions for `sz_hashes_avx512` ([26e54c9](https://github.com/ashvardanian/stringzilla/commit/26e54c9cdd604c3fe8cd136e581163e034f8e182))
* Explicitly mark AVX sections ([53a4ef1](https://github.com/ashvardanian/stringzilla/commit/53a4ef1b69a65d36f0f82aef70fa84965938f279))
* Explicitly UTF-8 encoding on Windows ([6c323ea](https://github.com/ashvardanian/stringzilla/commit/6c323ea19ab813d93124ce1d0bfed0832693f7ff))
* Exporting lite builds without LibC ([a5ece39](https://github.com/ashvardanian/stringzilla/commit/a5ece39df940137a402ad282d631b0716d5d8876))
* Exporting lite builds without LibC ([dfba995](https://github.com/ashvardanian/stringzilla/commit/dfba99533f4ef7c9d4277352e82460d2dc546f1a))
* Fetch before rebase ([fda58df](https://github.com/ashvardanian/stringzilla/commit/fda58dfe268bec7f4279c9d607551cde1eb39a5c))
* Fix include paths ([d3c9025](https://github.com/ashvardanian/stringzilla/commit/d3c90255efc4948c17bcf7f84bd54b9fae77004f))
* Fix Windows PyPi releases ([0efaad1](https://github.com/ashvardanian/stringzilla/commit/0efaad194b1228dbc68eebc5eb2393ef701d1365))
* Formatting and docs ([416b885](https://github.com/ashvardanian/stringzilla/commit/416b885429d2eb97e6c677eaac0eba6de5ff9fc4))
* GitHub CI for tests with recent GCC ([48869d3](https://github.com/ashvardanian/stringzilla/commit/48869d3f62dc226a20aa690cbe7eae4787a8a9ae))
* Linking the standard libs in Swift ([6a25a8e](https://github.com/ashvardanian/stringzilla/commit/6a25a8e3c5a10716b7c0cb51a3f2a0bd5c03c5ee))
* Log ENV details if build fails ([8527f38](https://github.com/ashvardanian/stringzilla/commit/8527f386770eb8ee635395338adc6ecc47b35e51))
* Match directory structure of SimSIMD ([afac999](https://github.com/ashvardanian/stringzilla/commit/afac999380220b6d6c9ec0f191f339f29ed30cf0))
* Match directory structure of SimSIMD ([679f9e7](https://github.com/ashvardanian/stringzilla/commit/679f9e758ba181765a5473f7d5264d2c1372ec81))
* Matching only `version` at line start ([bb56b00](https://github.com/ashvardanian/stringzilla/commit/bb56b0079aceb491ee3a39330401b24519434a06))
* Move Python bindings ([e9ac4cb](https://github.com/ashvardanian/stringzilla/commit/e9ac4cb2e516c0b48f1f0e5f43c207b1359913b6))
* MSVC compatibility ([f776087](https://github.com/ashvardanian/stringzilla/commit/f776087ce005b4ecc2f21a5be4c9ce99976af77c))
* NumPy test dependencies ([53481a9](https://github.com/ashvardanian/stringzilla/commit/53481a9fa4b98b7ac7ac61dda5e2bfc719804f2e))
* Optimize `RelWithDebInfo` builds ([0ec4b0d](https://github.com/ashvardanian/stringzilla/commit/0ec4b0d8dce059528d4e4b5a47c7a0fdd1e81e72))
* Pass compilation flags depending on which architecture and compiler ([23846ef](https://github.com/ashvardanian/stringzilla/commit/23846ef733f6463fbb94a4d11296014e2e870662))
* passing empty C++ standard version ([6abf8b6](https://github.com/ashvardanian/stringzilla/commit/6abf8b61bf351aacde639b0a56ba68b9101bbd23))
* Position Independent Code ([2638c66](https://github.com/ashvardanian/stringzilla/commit/2638c66ae92cdd3076720b47be4b73930d7a54e5))
* PR head autoresolution ([b483e59](https://github.com/ashvardanian/stringzilla/commit/b483e595796cd61ff61d1726320f0c7abcc14d7a))
* Pre-set target hardware generation ([a9fe148](https://github.com/ashvardanian/stringzilla/commit/a9fe14806337d90b5e6c23a1183bd58a8f2d6f94))
* Publish Rust crates ([b954a55](https://github.com/ashvardanian/stringzilla/commit/b954a556b1d188003a63b70b5e6594a47e6d33ac))
* Publish StringZilla to NPM ([ff2e85b](https://github.com/ashvardanian/stringzilla/commit/ff2e85b94bc0943910254ba8a676fee22a563315))
* Remove `fuzz.py` ([50ab905](https://github.com/ashvardanian/stringzilla/commit/50ab905ae95ecdaeaeeea818879f72d1980d1a41))
* Remove PyBind11 dependency ([971890c](https://github.com/ashvardanian/stringzilla/commit/971890cd8c53f04ae56f823f8784bba04928a77e))
* sanitizers and silencing false warnings ([6f7d5c1](https://github.com/ashvardanian/stringzilla/commit/6f7d5c1e415055d1069472d262fc0f63e60427ff))
* Semantic Versioning ([4a21db7](https://github.com/ashvardanian/stringzilla/commit/4a21db78774fd391d798822b0162bb5583305dba))
* Separate source files ([9e75d04](https://github.com/ashvardanian/stringzilla/commit/9e75d04a585a56213adaf361d8296d4b6bbee5f7))
* Shift JavaScript CI ([534291f](https://github.com/ashvardanian/stringzilla/commit/534291f13021f6ebcbcca11ab6d2b820aa78dbe1))
* Swift CI and MacOS PyPa image ([9184a42](https://github.com/ashvardanian/stringzilla/commit/9184a42f01be208aca733d30f1bec02eacd432a9))
* Switch to pure C ([e8f7249](https://github.com/ashvardanian/stringzilla/commit/e8f724941136453586a88e862c3f0ab135b34f0f))
* Test cpp ([b4a89c5](https://github.com/ashvardanian/stringzilla/commit/b4a89c534776f86acb8b63c5b4c7c68ea487fc00))
* Update release tasks ([bc938c1](https://github.com/ashvardanian/stringzilla/commit/bc938c158b1bdce175bb28c08f36842018100675))
* Upload versioned files ([5e254b0](https://github.com/ashvardanian/stringzilla/commit/5e254b036fdceda7d777e627be5cdc03a8f4172c))
* Use Clang attribute pragmas ([33ba031](https://github.com/ashvardanian/stringzilla/commit/33ba031e7b470fdfba46826f919f2188cd3f536c))
* use newest SIMD for Python builds ([62c0012](https://github.com/ashvardanian/stringzilla/commit/62c0012e7e1e96ff773d0072592bd520a6fc61f8))
* VSCode launchers for any C++ benchmark ([6f0d799](https://github.com/ashvardanian/stringzilla/commit/6f0d79975ef0b46803cb4c7fc17392f943ca2361))
* Workaround for Swift CI ([bc1869a](https://github.com/ashvardanian/stringzilla/commit/bc1869a85293ff5aa6e5075475263002c43648eb)), closes [/github.com/swift-actions/setup-swift/issues/591#issuecomment-1685710678](https://github.com//github.com/swift-actions/setup-swift/issues/591/issues/issuecomment-1685710678)

### Refacot

* Styling ([e4177b2](https://github.com/ashvardanian/stringzilla/commit/e4177b291db6fbbe7c69cec40e3d7b092ed7488a))

### Refactor

* `on_stack`/`on_heap` to `internal`/`external` ([69e8b70](https://github.com/ashvardanian/stringzilla/commit/69e8b70273a022f4249b45c5d526823f9944bdd4))
* `start` and `length` common member names ([cff3a38](https://github.com/ashvardanian/stringzilla/commit/cff3a38fd6f2b5e06e71567c2ccd30bcfccb00cc))
* args checking ([9395a6b](https://github.com/ashvardanian/stringzilla/commit/9395a6b390e43fa567c29ceb442d972df8f70dc3))
* C++17 -> C99 ([e4429ef](https://github.com/ashvardanian/stringzilla/commit/e4429ef976ab176e8700dddc8eb155680fcef547))
* comparsion operators ([5883633](https://github.com/ashvardanian/stringzilla/commit/5883633bdc6fa4a2bf18cfb97b76a4e1fd7fc537))
* Deprecating C++ version in favor of C99 ([042e59e](https://github.com/ashvardanian/stringzilla/commit/042e59e32d89313ffa56b74ea6984fd74e82dd86))
* Directory structure ([c36bd68](https://github.com/ashvardanian/stringzilla/commit/c36bd685a1b3dac3dc188f2e500fc39999e3a95f))
* Drop slow sorts ([15f1b30](https://github.com/ashvardanian/stringzilla/commit/15f1b30b28f44f4bd1ee6bb3b666db978366d67e))
* Larger arrays for modern CPUs ([96e7234](https://github.com/ashvardanian/stringzilla/commit/96e7234ae990d4d664e47adb4cecfa8340766b23))
* Layout and spelling ([08cc0c7](https://github.com/ashvardanian/stringzilla/commit/08cc0c79de61348650e81eb597d0d1a8d0a833e1))
* Moving constants to the top ([b3c2da2](https://github.com/ashvardanian/stringzilla/commit/b3c2da2ad53bf4426d9c522e20008b7473a6affa))
* New C API for JS ([05a409c](https://github.com/ashvardanian/stringzilla/commit/05a409ce7ab1f76582c7936d2a4d2d6c99e7b3ed))
* no need to cast to string ([ec1744a](https://github.com/ashvardanian/stringzilla/commit/ec1744a7ffaf00d67cb224409aa802c9160fce88))
* Ops order and style ([3a18292](https://github.com/ashvardanian/stringzilla/commit/3a182922c6aec90a3b836bca96471c8810642e7d))
* Regrouping folders ([d9fb16d](https://github.com/ashvardanian/stringzilla/commit/d9fb16d7bab046abbe7a990b52172f98f99b4b17))
* rename `Slices` to `Strs` ([ed8f360](https://github.com/ashvardanian/stringzilla/commit/ed8f3608735c00636aa58c4b811de30b08b5c423))
* Rename bindings file ([f54b791](https://github.com/ashvardanian/stringzilla/commit/f54b791d7f6899023c5b05338287470459dcfee5))
* Restarting CPython bindings ([9fef6d8](https://github.com/ashvardanian/stringzilla/commit/9fef6d8cb32ae4966f46944add18f0017c5288a6))
* Swift bindings ([1c4ffda](https://github.com/ashvardanian/stringzilla/commit/1c4ffda9dbf923ff4a888d8637f603ed171b2894))
* Sync up Py and JS bindings ([cffae4a](https://github.com/ashvardanian/stringzilla/commit/cffae4a684437eafe3ed75299d2fb8c82baa1019))
* Tests, docs ([50adb32](https://github.com/ashvardanian/stringzilla/commit/50adb32ef6b4127ac49db418ae15051267aea405))
* Using `strzl_array_t` structure ([a1249a7](https://github.com/ashvardanian/stringzilla/commit/a1249a710a107e4040dc826e40f70a03b3b29952))

### Test

* Printing failed cases ([10068f6](https://github.com/ashvardanian/stringzilla/commit/10068f617b26bc47e88600ac33573a5d417aa695))
  • Loading branch information
semantic-release-bot committed Feb 6, 2024
1 parent 9fde435 commit ac6afd5
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.1)
project(
stringzilla
VERSION 2.0.4
VERSION 1.0.0
LANGUAGES C CXX
DESCRIPTION "SIMD-accelerated string search, sort, hashes, fingerprints, & edit distances"
HOMEPAGE_URL "https://github.com/ashvardanian/stringzilla")
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "stringzilla"
version = "2.0.4"
version = "1.0.0"
authors = ["Ash Vardanian <[email protected]>"]
description = "Faster SIMD-accelerated string search, sorting, fingerprints, and edit distances"
edition = "2021"
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0.4
1.0.0
4 changes: 2 additions & 2 deletions include/stringzilla/stringzilla.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
#ifndef STRINGZILLA_H_
#define STRINGZILLA_H_

#define STRINGZILLA_VERSION_MAJOR 2
#define STRINGZILLA_VERSION_MAJOR 1
#define STRINGZILLA_VERSION_MINOR 0
#define STRINGZILLA_VERSION_PATCH 4
#define STRINGZILLA_VERSION_PATCH 0

/**
* @brief When set to 1, the library will include the following LibC headers: <stddef.h> and <stdint.h>.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "stringzilla",
"version": "2.0.4",
"version": "1.0.0",
"description": "SIMD-accelerated string search, sort, hashes, fingerprints, & edit distances",
"author": "Ash Vardanian",
"license": "Apache 2.0",
Expand Down

0 comments on commit ac6afd5

Please sign in to comment.