Commit graph

77 commits

Author SHA1 Message Date
Aleksey Kladov
e3313ff995 Publish v0.16.1
- #259 salsa's `debug!` logs now include query dependencies in
  human-readable format, which helps with debugging unwanted
  dependencies.
2021-05-05 18:32:23 +03:00
Aleksey Kladov
9e6adc9900 Publish v0.16.0
- #242 allow `dyn Database` to be non-'static
- #248 allow using borrowed keys for invalidation
- #250 upgrade crossbeam_utils
2020-10-14 12:33:39 +02:00
Aleksey Kladov
6b96a1e22f Leverage Cargo defaults 2020-10-14 12:29:29 +02:00
Aleksey Kladov
1917a2a37b Pubish 0.15.3 2020-10-13 17:24:58 +02:00
Aleksey Kladov
15e5fa0112 ⬆️ crossbeam-utils 2020-10-13 17:24:58 +02:00
Aleksey Kladov
590c037323 Release v0.15.2
* #243, better error message from proc macro
* #240, purge method for cleaning the database completely
2020-08-05 13:55:12 +02:00
Aleksey Kladov
a760f9e3c9 Release v0.15.1
- replace `rand` with `oorandom` (#241)
2020-07-29 19:25:13 +02:00
Aleksey Kladov
b460db700a Switch from rand to oorandom
The primary motivation here is reducing dependencies. rand has quite a
few of them, and many come from `getrandom` crate (bindings to system
APIs to get true randomness). Some of `getrandom` crates don't have
Apache 2.0 OR MIT license, and it probably doesn't make sense to make
salsa's licensing situation more complicated for feature we don't even
use.

There's a number of small&fast random crates there:

* randomize
* oorandom
* fastrand

I've picked oorandom because it was the simplest & smallest (doesn't
have a thread_local RNG, for example).
2020-07-23 11:30:23 +02:00
Aleksey Kladov
380c4c1dc8 Release v0.15.0
The single (but big) change is Dynamic Database RFC implementation:

https://github.com/salsa-rs/salsa/pull/231
2020-07-07 15:45:39 +02:00
Aleksey Kladov
0442f628cd release v0.14.4
Significantly amount of memory used to store dependency information
2020-07-06 11:31:42 +02:00
Aleksey Kladov
43f6a82153 release v0.14.3
Support for targets without AtomicU64
2020-07-03 16:28:26 +02:00
Markus Westerlind
380306930b feat: Prune unnecessary dependencies
Only AtomicCell is used from crossbeam and SmallRng from rand so we can
easily disable the default features
2020-07-01 22:42:07 +02:00
Laurențiu Nicola
cfb4e18eba Remove workaround for parking_lot#101 2020-06-27 13:59:29 +03:00
Aleksey Kladov
335e92e547 release v0.14.2
Upgrades parking lot (private dependency) to the next major version
2020-06-27 12:49:08 +02:00
Laurențiu Nicola
ff3fc2f406 Bump env_logger and parking_lot 2020-06-27 12:46:24 +02:00
Laurențiu Nicola
bb1c308380 Revert "Bump parking_lot and remove workaround"
This reverts commit 025c882cbb.
2020-06-27 12:46:24 +02:00
Laurențiu Nicola
c627cda525 Bump parking_lot and remove workaround 2020-06-27 12:46:24 +02:00
Aleksey Kladov
37a3650aef Publish 0.14.1
0.14.0 is broken, as it didn't bump salsa-macros crate.
2019-11-26 11:24:23 +03:00
Aleksey Kladov
c16cd3df4d Publish v0.14.0
- use `&mut self` to increment revision
  https://github.com/salsa-rs/salsa/pull/197

- update dependencies
2019-11-26 11:21:07 +03:00
Jeremy A. Kolb
daecfae90d parking_lot 0.10 and smallvec 1.0 2019-11-25 16:41:38 -05:00
Laurențiu Nicola
c99580ba14 implement QueryTable constructor manually 2019-10-03 19:26:20 +03:00
Aleksey Kladov
5c27b734cf ⬆️ parking_lot 2019-07-15 19:43:39 +03:00
Aleksey Kladov
89237e85f7 ⬆️ rand 2019-07-02 14:40:43 +03:00
Niko Matsakis
50cb001b41 introduce slots to the interner 2019-07-02 06:49:24 -04:00
Niko Matsakis
7988b5e295 switch to the "random LRU" strategy 2019-07-02 06:49:22 -04:00
Niko Matsakis
e9f91f03a5 roll our own lru list
We could use e.g. intrusive-collections but from reading the docs and
surveying the source it wasn't *obvious* to me that it had the right
semantics.
2019-07-02 06:48:59 -04:00
Aleksey Kladov
6d60798eb8 Replace volatile query type with report_untracked_read fn 2019-06-26 13:10:44 +03:00
Aleksey Kladov
10500c8a24 Change authors to Salsa developers
Salsa is a team effort, and builds on a mountain of pre-existing
knowledge!
2019-06-25 13:49:20 +03:00
Aleksey Kladov
f34ae2dd0a publish v0.12.3
- Allow to limit the number of values in a table by using LRU (#171).
  RFC: https://github.com/salsa-rs/salsa-rfcs/pull/5
2019-06-12 12:57:04 +03:00
Aleksey Kladov
3d89c0d817 Add LRU to derived storage
LRU allows to bound the maximum number of *values* that are present in
the table.
2019-06-07 14:26:21 +03:00
Aleksey Kladov
bbae342b14 publish v0.12.2
- Don't remove query from storage if its dependency panics (#169)
2019-06-06 18:34:12 +03:00
Aleksey Kladov
df92fb794e publish v0.12.1
- Introduce `salsa::transparent` query type(#163)
- Improve salsa proc macro (#160, #162)
- Update parking lot to 0.8.0 (#166)
2019-05-30 11:45:56 +03:00
Aleksey Kladov
e1792463f4 ⬆️ parking_lot 2019-05-30 11:36:03 +03:00
Niko Matsakis
30b95dcc24 publish v0.12.0
- Introduce `InternId` as the basis for interned keys, replacing
  `u32` (#157, #158)
- Support keys/values that are not `Send/Sync` (#153)
2019-04-03 16:03:41 -03:00
Niko Matsakis
4b976166fd release 0.11.1
- Includes a fix so that interned keys can be send (#155)
2019-03-27 09:24:55 -04:00
Niko Matsakis
31235aaa96 release 0.11.0
Changes:

- Add interned keys to salsa (#150) -- see salsa-rs/salsa-rfcs#2
  for more details.
- Fix bugs re: GC and volatile queries
- Optimization for GC (#144), though I think this later got undone
  as part of the bug fixes =)
2019-03-27 05:37:26 -04:00
Niko Matsakis
1736115d9f release 0.10.0
- GC API now more orthogonal + flexible (#138)
- Removed `set_unchecked` testing mechanism (#141)
- Generated enums now squelch `non_camel_case_types` lint (#135)
- Tests now using `set_foo` (#139)
- `Query::group_storage` now called `Query::query_storage` (#142)

Contributors to this release:

- @matklad
- @memoryruins
- @nikomatsakis
2019-01-28 05:06:54 -05:00
Niko Matsakis
682c29e777 publish v0.10.0-alpha5
- Make `dyn Trait` implementations work

Contributors to this release:

- @nikomatsakis
2019-01-25 19:09:10 -05:00
Niko Matsakis
77c3a72cea Release salsa-0.10.0-alpha4
- Introduce requirement for group storage structs (#130)
- Manually implement Default (#131)

Contributors to this release:

- @cormacrelf
- @nikomatsakis
2019-01-25 11:01:15 -05:00
Aleksey Kladov
4f3b730572 fix alpha 2019-01-25 14:30:03 +03:00
Niko Matsakis
6c5575d9f2 release 0.10.0-alpha2
- You now write `#[salsa::database(query_groups...)]` instead of
  `database_storage!`, and you don't ned to list individual
  queries (#123, #124, #125)
- We now generate `set_foo` methods for inputs (#126)
- We can now peek at values using debug query interface (#122)
- Local handles recover from unwinds better (#114)
- We don't issue docs for `__SalsaQueryDescriptor` (#116)
- The unwind safety impls were moved about (internal refactoring, #115)

Contributors (since I've not been citing these in the past, this
includes all contributors to salsa to date):

- @cormacrelf
- @fabianschuiki
- @jrmuizel
- @kleimkuhler
- @matklad
- @memoryruins
- @nikomatsakis
2019-01-25 05:33:24 -05:00
Niko Matsakis
2c3450c885 bump release number to 0.10.0-alpha1 2019-01-17 05:41:07 -05:00
Niko Matsakis
85a637eb4f rename salsa_macros to salsa-macros 2019-01-17 05:28:42 -05:00
Niko Matsakis
8affc724c9 make the compile-fail test work 2019-01-17 05:27:20 -05:00
Fabian Schuiki
93c30a953d make query_group macro procedural
Switch to a procedural implementation of the `query_group!` macro,
residing in the `components/salsa_macros` subcrate.

Allow the user to override the invoked function via `salsa::invoke(...)`
and the name of the generated query type via `salsa::query_type(...)`.

In all tests, replace the `salsa::query_group! { ... }` invocations with
the new attribute-style `#[salsa::query_group]` macro, and change them
to the new naming scheme for query types (`...Query`).

Update README, examples, and documentation.
2019-01-17 07:24:18 +01:00
Niko Matsakis
15fc110dff release 0.9.2
- Introduces the `propagated_panic` hook and specify that the
  salsa storage types are unwind safe (#107).
2019-01-15 05:06:54 -05:00
Niko Matsakis
2af8cb3004 release 0.9.1
- Includes fix to a subtle cancellation bug (#66)
2019-01-04 13:57:37 -05:00
Niko Matsakis
beff7adbc4 release 0.9.0
- Panic safety improvements (#81)
- We build on stable now (#94)
- Removed use of dynamic dispatch for constructing query
  descriptors (#95)
  - Technically a breaking change, though unlikely to affect clients
- Removed use of upgradable reads to avoid Amanieu/parking-lot#101 (#75)
- Upgraded parking lot (#100)
- Improved Debug output (#98)
- Snapshot implements Debug (#85)
2018-12-28 10:26:27 -05:00
Aleksey Kladov
f9610df77e upgrade parking lot 2018-12-27 16:09:47 +03:00
Niko Matsakis
174e0edece kill toolchain
We now build on stable.
2018-12-13 05:13:31 -05:00