Comments (3)
@AlexKnauth - Can you think of anything else that's required before 1.0?
from lens.
@AlexKnauth This is what I'm thinking with regards to versioning post-1.0:
- Nothing in the
lens
or alens/*
collection should break backwards compatibility. Non exhaustive list of backwards-incompatible changes:- Renaming or removing an export
- Renaming or removing a subcollection
- Changing the behavior of an export in any way such that what used to be valid non-error-ing uses of the export would behave differently
- Moving an export from one subcollection to another (it should be re-provided instead)
- New features should bump the major version. Once a new feature makes it into the main collection, it must commit to backwards compatibility. To add a new feature that you wish to allow backwards incompatible changes to, add it to
unstable/lens
instead oflens
. This should bump the minor version. - Bugfixes and other minor behavioral changes to existing code that are visible to users of the package should bump the minor version.
- Documentation changes, refactoring, added tests, reorganizations, etc. etc. do not need to bump the version provided it isn't practically possible for a user of the collection to tell the change happened.
This would lead to a pattern where new exports would get added in "batches", as they are iterated on in the unstable collection until it's decided there's enough new stable features to justify bumping the major version.
from lens.
Bumping the version to 1.0 now.
from lens.
Related Issues (20)
- struct->vector isomorphism HOT 5
- lens-zoom examples shouldn't use isomoprhism lenses
- Add digit->char isomorphism
- There should be a test for the cond-lens error case.
- There should be a test for the string-split-lens case where the input violates the lens laws HOT 2
- struct->struct lens? HOT 1
- Rethink unstable collection? HOT 2
- Test `lens-compose` / `compose` relationship HOT 1
- using append* n times vs. flattening a nested list of a given depth HOT 9
- Matrix lenses? HOT 2
- Disarm and re-arm syntax objects within srcloc-lens setters HOT 1
- Modulo lens HOT 3
- Struct inheritence and lenses HOT 32
- How should we name lenses for improper syntax lists? HOT 6
- separate tests into `lens-test` repository HOT 13
- Add prisms or other functionality that tests a lens's applicability HOT 4
- lens-join/* functions produce non-lenses when views overlap HOT 2
- Docs: Is the "last set wins" law right (strong enough)? HOT 3
- Waffle.io has closed HOT 1
- Add seemingly missing (list-filtered-lens) function. HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lens.