Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5.0.0-dev branch (unstable) #514

Merged
merged 29 commits into from
Jan 29, 2017
Merged

5.0.0-dev branch (unstable) #514

merged 29 commits into from
Jan 29, 2017

Conversation

joernhees
Copy link
Member

meta pull request to track and build 5.0.0-dev branch.

Changes that would break backwards compatibility (http://semver.org) will be merged in here to keep track of them.

this branch is not stable (can and probably will be rebased)

@joernhees joernhees added the meta Relates primarily to the project and not users of the project. label Aug 25, 2015
@joernhees joernhees self-assigned this Aug 25, 2015
@joernhees joernhees added this to the rdflib 5.0.0 milestone Aug 25, 2015
@joernhees joernhees changed the title 5.0.0-dev branch (instable) 5.0.0-dev branch (unstable) Aug 26, 2015
* master:
  test changed to use _node_from_result instead of CastToTerm
  PEP8: code cleanup
  SPARQLStore: fixed dangling { in regexp
  SPARQLStore deprecated unused bNodeAsURI arg
  SPARQLStore: added node_to_sparql and node_from_result args, closes #512
  PEP8 deprecated sparqlstore.CastToTerm, TraverseSPARQLResultDOM and localName methods
  sparqlstore: Optionally support blank nodes as <bnode:> URIs
* sparqlstore_drop_deprecated:
  drop deprecated SPARQLStore(..., bNodeAsURI) arg
  drop deprecated sparqlstore.localName
  drop deprecated sparqlstore.TraverseSPARQLResultDOM
  drop deprecated sparqlstore.CastToTerm
* master:
  enable all warnings during travis nosetests
* master: (49 commits)
  Update reference to "Emulating container types"
  Avoid class reference to imported function
  Prevent RDFa parser from failing on time elements with child nodes
  Second proposed fix for the broken top_level.txt
  make Prologue and Query new style classes
  DOC: minor typo in paramater
  DOC: unamed -> unnamed
  AuditableStore.commit does not call self.store.commit anymore
  ignore operations with no effect
  fixed trivial copy-paste bug
  added test cases for AuditableStore
  expanded path comparison ops in order to keep py2.6 support and not use total_ordering
  let paths be comparable against all nodes. Fixes #545
  re-introduces special handling for DCTERMS.title and test for it
  Fix initBindings handling. Fixes #294
  added .n3 methods for path objects
  Made ClosedNamespace (and _RDFNamespace) inherit from Namespace
  cleaned up trailing whitespace
  Small but nice SPARQL Optimisation fix
  test for #546 from_n3 trailing backslash
  ...
…587, #443, #444, #445

* microdata-to-rdf-third-edition:
  some whitespace cleanup
  updated microdata test for #375 wrt. #587 (microdata-rdf 2014)
  modified microdata test for #375 wrt. isomorphism and better output
  updated MicrodataParser to reflect that pyMicrodata no longer has vocab expansion and cache args
  syncing changes from pyMicrodata rev c760db0e77c13c4e80fdef675f3c65497f8d08bf
joernhees and others added 4 commits January 30, 2016 15:29
* master:
  indicate that original_args are private
  Use find_packages for package discovery instead of writing manual metadata.
  prepared quey now carry the original (unparsed) parameters
* master:
  Revert "Made ClosedNamespace (and _RDFNamespace) inherit from Namespace"
  Revert "re-introduces special handling for DCTERMS.title and test for it"
  Read and discard server response for update queries, otherwise the socket will eventually block
  Remove an unused import
  sparql select nothing doesn't return a row anymore, fixes #554
  test for #554
  minor: isinstance instead of type-equals
  adapted agg_Sample to return None instead of 0 if no binding is found
  SAMPLE may return None if no binding is found
  made test_issue563 py26 compatible
  fixing issue #563
* master:
  travis also builds release branches
* master:
  travis really also build release branches
…vw' into 5.0.0-dev

* upstream/update-rdfa-initial-context-csvw:
  Added the csvw prefix to the RDFa initial context.
* master: (38 commits)
  hardening + warning for serializing invalid numericals (e.g., '"xy.z"^^xsd:float')
  make sure inf/Infinity and nan from numerical types are serialized as INF/NaN
  except inf/nan from plain serialization
  more tests for float and decimal inf/nan serialization (ensures datatypes)
  Only doubles can be infinity or NaN
  Serialisation of nan is "NaN"
  Remove test on serialisation (order is not fixed)
  Add tests requested by @joernhees
  change xxx to issue number (655)
  Test serialisation of infinite values
  Serialisation of infinity is "INF"
  Update requirements files for html5lib version
  Support newer transport_encoding parameter in html5lib parser call
  Set identifier of the parser sink to target graph. Fixes #432.
  Fix TurtleSerializer.isValidList failure on falsy values
  only run flake8 in latest py2 and py3 version
  pinning html5lib to 1.0b8 for now
  removed now unnecessary version restriction from SPARQLWrapper
  updated fuseki used in travis tests to 2.4.0
  travis updates setuptools and pip before installing
  ...
* master:
  make test 375 more portable (use sys.executable rather than python), thanks to @chrysn, fixes #664
  re-add logger version output: INFO for interactive session, DEBUG for others
  Remove logger output
@niklasl
Copy link
Member

niklasl commented Jan 12, 2017

Would it be interesting to reinvestigate using the git flow practices going forward? It's quite nice for keeping a consistent order of pending features, release patches (hotfixes) and maintenance branches for old releases (for 4.x.x fixes once 5.0.0 is out).

@joernhees
Copy link
Member Author

hmm, i thought we're not that far from git flow and picked the parts that make sense for us in the combination of http://semver.org, github forks, pull requests and dev / maintenance power...

I have to say that github (in comparison to gitlab) does a pretty bad job at visualizing the repo history, but with gitk --all i don't find what we do complicated / far from git flow. Also i see it of the way of least surprise for quick contributors. Currently we use:

  • tags as "releases"
  • master is our "stable develop" branch (no rebases, tests should pass) (can be seen as a simplification of git flow, where master does nothing but "jump". Also we never really had the need / manpower for hotfixes.)
  • features branch from the dev branch (master) (very common in github fork/PRs)
  • currently master is also 4.2.2-dev (the python version and semver pre-release of 4.2.2)
  • 5.0.0-dev (the one this PR tracks) is probably the most confusing:
    • the name comes from semver pre-release / python version...
    • adding to the confusion is that i made this a PR even though it's not a feature, but just a place to see the state of CI tests
    • as can be seen in gitk --all this branch simply merges master + 4.2.2 incompatible things
    • master is meant to merge this branch after the 4.2.2 release (which i agree takes a lot longer than expected) with the benefit of having done some of the work for 5.0.0 already
    • if i had to classify this in git flow, i'd say it's a future develop line (which git flow lacks but http://semver.org somewhat mandates)

That said, if there's any way to simplify this, i'm the last to object.

@gromgull
Copy link
Member

I agree with @joernhees - we don't have exactly the naming of gitflow, but most of it's features. The one things we do lack is indeed right here. This is 5.0, which is master + some incompatible fixes.

But it's not master any more, since I've added lots of stuff to master since it was branched. My plan would be to rebase it back onto master once in a while and finally when 4.2.2 is released. But then history is changed and people who made PRs onto 5.0 are doomed.

The alternative is to apply any changes now both here and to master, then we get two commits with the same content but different SHAs.

@gromgull
Copy link
Member

I also agree that thinking will do maintenance releases for 4.X once 5.0 is out is probably wishful thinking :)

* master: (44 commits)
  quote cleanup OCD
  serializer/parser alias for 'ntriples'
  serializer/parser alias for 'ttl'
  cleanup
  remove outdated always skipped test
  a bit of changelog
  add a NTSerializer sub-class for nt11 (#700)
  Restrict normalization to unicode-compatible values (#674)
  fixes for turtle/trig namespace handling
  skip serialising empty default graph
  skip round-trip test, unfixable until 5.0
  prefix test for #428
  Added additional trig unit tests to highlight some currently occurring issues.
  remove ancient and broken 2.3 support code. (#681)
  updating deprecated testing syntax (#697)
  docs: clarify the use of an identifier when persisting a triplestore (#654)
  removing pyparsing version requirement (#696)
  made min/max aggregate functions support all literals (#694)
  actually fix projection from sub-queries
  added dawg tests for #607
  ...
@joernhees
Copy link
Member Author

reverting 7bec219 (meaning actually executing the test for trig round trips) doesn't seem to work...

will outsource into separate PR against this branch and revert the revert by rebasing on the merge...

also weird: travis seems to run tests twice (PR and PUSH), PUSH worked, PR seems to have been confused as it ran a weird commit 8927eb0 (seems to be a double merge that i never pushed...)

anyhow, will hope this magically goes away on rebasing to 4204d6b

@niklasl
Copy link
Member

niklasl commented Jan 26, 2017

Sounds fair enough. I like git-flow for distinctly documenting each step, but the outline @joernhees wrote looks good. Perhaps adding that to the developers guide would be nice?

As for maintenance releases, @gromgull is probably right. It would be good to be somewhat prepared for it anyway though, since performance or security related bugs might crop up. Given that 5.0.0 might break things for someone depending on intricate parts of the internals, the need for a maintenance release could come up. Not likely, but possible.

@joernhees
Copy link
Member Author

hmm, seems travis is still confused by this, above changes work fine.

@gromgull
Copy link
Member

@joernhees yeah - I don't know why it's confused here. I got an email saying the build was fixed.

@joernhees
Copy link
Member Author

i think the job running on the release branch 5.0.0-dev (PUSH) is fine, but the one running on this PR might be running with the travis config from master? I think i fixed travis config in a PR before though... weird.

@joernhees joernhees merged commit 87435c0 into master Jan 29, 2017
@gromgull gromgull deleted the 5.0.0-dev branch January 30, 2017 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix-in-progress meta Relates primarily to the project and not users of the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants